diff --git a/vilesci/bis/bis_datencheck.php b/vilesci/bis/bis_datencheck.php index 29df2390a..6f4dc0d93 100644 --- a/vilesci/bis/bis_datencheck.php +++ b/vilesci/bis/bis_datencheck.php @@ -22,13 +22,25 @@ $v=''; $studiensemester=new studiensemester($conn); $ssem=$studiensemester->getaktorNext(); +if(strstr($ssem,"WS")) +{ + $bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y"))); +} +elseif(strstr($ssem,"SS")) +{ + $bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); +} +else +{ + echo "Ungültiges Semester!"; +} if(isset($_GET['stg_kz'])) { $stg_kz=$_GET['stg_kz']; } else { - $stg_kz=222; + $stg_kz=0; } if(isset($_GET['email'])) { @@ -86,7 +98,7 @@ $qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.pe JOIN public.tbl_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id) JOIN public.tbl_adresse ON(tbl_person.person_id=tbl_adresse.person_id) LEFT JOIN lehre.tbl_abschlusspruefung USING(student_uid) - WHERE heimatadresse IS TRUE + WHERE heimatadresse IS TRUE AND bismelden IS TRUE AND (studiensemester_kurzbz='".$ssem."') AND tbl_student.studiengang_kz='".$stg_kz."' AND (rolle_kurzbz='Student' OR rolle_kurzbz='Incoming' OR rolle_kurzbz='Outgiong' OR rolle_kurzbz='Praktikant' OR rolle_kurzbz='Diplomand' OR rolle_kurzbz='Absolvent') @@ -367,7 +379,7 @@ if($result = pg_query($conn, $qry)) $error_log.="IO - bis ('".$rowio->bis."')"; } } - if($rowio->zweck_code='' || $$rowio->zweck_code=null) + if($rowio->zweck_code='' || $rowio->zweck_code=null) { if($error_log!='') { @@ -414,8 +426,43 @@ if($result = pg_query($conn, $qry)) $error_log1=''; } } +$qrybw="SELECT * FROM public.tbl_prestudent + JOIN public.tbl_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id) + JOIN public.tbl_person USING(person_id) + WHERE bismelden IS TRUE AND (studiensemester_kurzbz='".$ssem."') AND tbl_prestudent.studiengang_kz='".$stg_kz."' + AND rolle_kurzbz='Bewerber'; + "; +if($resultbw = pg_query($conn, $qrybw)) +{ + while($rowbw = pg_fetch_object($resultbw)) + { + if($stgart=='b' || $stgart=='d') + { + if(!($rowbw->zgv_code>=4 && $rowbw->zgv_code<=19) && $rowbw->zgv_code!=99 || $rowbw->zgv_code=='' || $rowbw->zgv_code==NULL) + { + $v.="Bei Bewerber (Vorname, Nachname) '".$rowbw->nachname."', '".$rowbw->vorname."' ($rowbw->rolle_kurzbz) fehlt die Zugangsvoraussetzungsart (".$rowbw->zgv_code.")\n"; + } + } + if($stgart=='m') + { + if(!($rowbw->zgv_code>=4 && $rowbw->zgv_code<=19) && $rowbw->zgv_code!=99) + { + $v.="Bei Bewerber (Vorname, Nachname) '".$rowbw->nachname."', '".$rowbw->vorname."' ($rowbw->rolle_kurzbz) fehlt die Zugangsvoraussetzungsart (".$rowbw->zgv_code.")\n"; + } + if(!($rowbw->zgvmas_code>=1 && $rowbw->zgvmas_code<=11)) + { + $v.="Bei Bewerber (Vorname, Nachname) '".$rowbw->nachname."', '".$rowbw->vorname."' ($rowbw->rolle_kurzbz) fehlt die Mag.-Zugangsvoraussetzungsart (".$rowbw->zgvmas_code.")\n"; + } + } + } +} +else +{ + echo "Bewerber - Leider nein"; +} + echo "

BIS - Studentendaten werden überprüft. Studiengang: ".$stg_kz."

\n"; -echo "

Fehlende BIS-Daten (für Meldung ".$ssem."):


"; +echo "

Fehlende BIS-Daten (für Meldung ".$ssem."/".$bisdatum."):


"; //echo "(Doppelte Zeilen deuten auf mehrere Heimatadressen hin - bitte Kontakte überprüfen)

"; echo nl2br($v."\n"); diff --git a/vilesci/bis/bismeldung_studenten.php b/vilesci/bis/bismeldung_studenten.php index 53c07a058..7d07a04ea 100644 --- a/vilesci/bis/bismeldung_studenten.php +++ b/vilesci/bis/bismeldung_studenten.php @@ -35,6 +35,8 @@ $gast=''; $avon=''; $abis=''; $zweck=''; +$bewerberM=array(); +$bewerberW=array(); $qry="SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='".$ssem."';"; if($result = pg_query($conn, $qry)) @@ -63,9 +65,9 @@ if(isset($_GET['stg_kz'])) } else { - $stg_kz=254; - //echo "

Es wurde keine Studiengangskennzahl übergeben!

"; - //exit; + //$stg_kz=0; + echo "

Es wurde kein Studiengang ausgewählt!

"; + exit; } function myaddslashes($var) { @@ -132,7 +134,7 @@ $qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.pe JOIN public.tbl_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id) JOIN public.tbl_adresse ON(tbl_person.person_id=tbl_adresse.person_id) LEFT JOIN lehre.tbl_abschlusspruefung USING(student_uid) - WHERE heimatadresse IS TRUE + WHERE heimatadresse IS TRUE AND bismelden IS TRUE AND (studiensemester_kurzbz='".$ssem."') AND tbl_student.studiengang_kz='".$stg_kz."' AND (rolle_kurzbz='Student' OR rolle_kurzbz='Incoming' OR rolle_kurzbz='Outgiong' OR rolle_kurzbz='Praktikant' OR rolle_kurzbz='Diplomand' OR rolle_kurzbz='Absolvent' @@ -433,7 +435,7 @@ $datei.=" $datei.=" ".$row->staatsbuergerschaft." ".$row->plz." - ".$row->plz." + ".$row->gemeinde." ".$row->strasse." ".$row->nation." ".$row->zgv_code." @@ -444,7 +446,7 @@ $datei.=" ".$row->zgvmas_code." ".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum)).""; } - $qryad="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='".$row->prestudent_id."' AND rolle_kurzbz='Student' ORDER BY datum desc;"; + $qryad="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='".$row->prestudent_id."' AND rolle_kurzbz='Student' ORDER BY datum asc;"; if($resultad = pg_query($conn, $qryad)) { if($rowad = pg_fetch_object($resultad)) @@ -497,14 +499,110 @@ $datei.=" } } - $datei.=" +} +//Bewerber +$qrybw="SELECT * FROM public.tbl_prestudent + JOIN public.tbl_prestudentrolle ON(tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id) + JOIN public.tbl_person USING(person_id) + WHERE bismelden IS TRUE AND (studiensemester_kurzbz='".$ssem."') AND tbl_prestudent.studiengang_kz='".$stg_kz."' + AND rolle_kurzbz='Bewerber'; + "; +if($resultbw = pg_query($conn, $qrybw)) +{ + while($rowbw = pg_fetch_object($resultbw)) + { + if($stgart==1 || $stgart==3) + { + if(strtoupper($rowbw->geschlecht)=='M') + { + If(!isset($bewerberM[$rowbw->zgv_code])) + { + $bewerberM[$rowbw->zgv_code]=0; + } + $bewerberM[$rowbw->zgv_code]++; + } + else + { + If(!isset($bewerberW[$rowbw->zgv_code])) + { + $bewerberW[$rowbw->zgv_code]=0; + } + $bewerberW[$rowbw->zgv_code]++; + } + } + if($stgart==2) + { + if(strtoupper($rowbw->geschlecht)=='M') + { + If(!isset($bewerberM[$rowbw->zgvmas_code])) + { + $bewerberM[$rowbw->zgvmas_code]=0; + } + $bewerberM[$rowbw->zgvmas_code]++; + } + else + { + If(!isset($bewerberW[$rowbw->zgvmas_code])) + { + $bewerberW[$rowbw->zgvmas_code]=0; + } + $bewerberW[$rowbw->zgvmas_code]++; + } + } + } +} + +if($stgart==1 || $stgart==3) +{ + for($i=4;$i<100;$i++) + { + if(isset($bewerberM[$i]) || isset($bewerberW[$i])) + { + If(!isset($bewerberM[$i])) + { + $bewerberM[$i]=0; + } + If(!isset($bewerberW[$i])) + { + $bewerberW[$i]=0; + } + $datei.=" + + ".$i." + ".$bewerberM[$i]." + ".$bewerberW[$i]." + "; + } + } +} +if($stgart==2) +{ + for($i=1;$i<12;$i++) + { + if(isset($bewerberM[$i]) || isset($bewerberW[$i])) + { + if(!isset($bewerberM[$i])) + { + $bewerberM[$i]=0; + } + if(!isset($bewerberW[$i])) + { + $bewerberW[$i]=0; + } + $datei.=" + + ".$i." + ".$bewerberM[$i]." + ".$bewerberW[$i]." + "; + } + } +} +$datei.=" "; - -} - if(strlen($v)!='') { echo 'BIS - Meldung Student - ('.$stg_kz.') diff --git a/vilesci/bis/checkverwendung.php b/vilesci/bis/checkverwendung.php index 5ef3c846a..697409a7b 100644 --- a/vilesci/bis/checkverwendung.php +++ b/vilesci/bis/checkverwendung.php @@ -12,6 +12,7 @@ //* require('../config.inc.php'); +require('../../include/studiensemester.class.php'); $conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen"); $conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur FAS Datenbank fehlgeschlagen"); @@ -30,6 +31,8 @@ $anzahl_fehler=0; $ausgabe=''; $error_log_fas=''; $update=false; +$studiensemester=new studiensemester($conn); +$ssem=$studiensemester->getaktorNext(); function myaddslashes($var) { @@ -57,7 +60,7 @@ if($result = pg_query($conn, $qry)) $ende[$row->studiensemester_kurzbz]=$row->ende; } } -//1 - aktive mitarbeiter mit keiner verwendung oder mehr als einer aktuellen verwendung +//1 - aktive mitarbeiter und bismelden mit keiner verwendung oder mehr als einer aktuellen verwendung $qryall='SELECT uid,nachname,vorname, count(bisverwendung_id) FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) WHERE aktiv AND (ende>now() OR ende IS NULL) GROUP BY uid,nachname,vorname HAVING count(bisverwendung_id)!=1 ORDER by nachname,vorname;'; if($resultall = pg_query($conn, $qryall)) { @@ -67,7 +70,7 @@ if($resultall = pg_query($conn, $qryall)) { $i=0; $qry="SELECT * FROM bis.tbl_bisverwendung JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid) JOIN public.tbl_person USING(person_id) - WHERE tbl_benutzer.aktiv=TRUE AND (ende>now() OR ende IS NULL) AND mitarbeiter_uid='".$rowall->uid."';"; + WHERE tbl_benutzer.aktiv=TRUE AND bismelden=TRUE AND (ende>now() OR ende IS NULL) AND mitarbeiter_uid='".$rowall->uid."';"; if($result = pg_query($conn, $qry)) { $num_rows=pg_num_rows($result); @@ -253,4 +256,14 @@ if($resultall = pg_query($conn, $qryall)) } } } +//7 - Lehrauftrag aber keine aktuelle Verwendung +$qry_erg="SELECT lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, lehre.tbl_lehrveranstaltung.studiengang_kz, + lehre.tbl_lehreinheit.studiensemester_kurzbz, lehre.tbl_lehreinheitmitarbeiter.semesterstunden, + lehre.tbl_lehrveranstaltung.semester, public.tbl_semesterwochen.wochen + FROM lehre.tbl_lehreinheitmitarbeiter join lehre.tbl_lehreinheit USING (lehreinheit_id) + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + JOIN public.tbl_semesterwochen USING(studiengang_kz, semester) + WHERE lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid='".$row->mitarbeiter_uid."' + AND lehre.tbl_lehreinheit.studiensemester_kurzbz='".$ssem."';"; + ?> \ No newline at end of file