diff --git a/vilesci/bis/personalmeldung.php b/vilesci/bis/personalmeldung.php index 6f1d0aacb..8aa3a54c9 100644 --- a/vilesci/bis/personalmeldung.php +++ b/vilesci/bis/personalmeldung.php @@ -21,16 +21,167 @@ $error_log_all=""; $stgart=''; $fehler=''; $v=''; +$erhalter=''; +$eteam=array(); +$studiensemester=new studiensemester($conn); +$ssem=$studiensemester->getaktorNext(); +if(strstr($ssem,"WS")) +{ + $bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y"))); + $bisprevious=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); +} +elseif(strstr($ssem,"SS")) +{ + $bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); + $bisprevious=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")-1)); +} +else +{ + echo "Ungültiges Semester!"; +} + +$qry="SELECT * FROM public.tbl_erhalter"; +if($result = pg_query($conn, $qry)) +{ + if($row = pg_fetch_object($result)) + { + if(strlen(trim($row->erhalter_kz))==1) + { + $erhalter='00'.trim($row->erhalter_kz); + } + elseif(strlen(trim($row->erhalter_kz))==2) + { + $erhalter='0'.trim($row->erhalter_kz); + } + else + { + $erhalter=$row->erhalter_kz; + } + } +} $qry="SELECT * FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid) - JOIN public.tbl_person USING(person_id) - JOIN bis.tbl_bisverwendung USING (mitarbeiter_uid) + JOIN public.tbl_person USING(person_id) WHERE aktiv AND bismelden AND (ende>now() OR ende IS NULL) "; /* + bis.tbl_bisverwendung USING (mitarbeiter_uid) bis.tbl_bisfunktion USING(bisverwendung_id) bis.tbl_entwicklungsteam USING(mitarbeiter_uid) public.tbl_benutzerfunktion */ +if($result = pg_query($conn, $qry)) +{ + + $datei.=" + + ".$erhalter." + ".$bisdatum." + "; + while($row = pg_fetch_object($result)) + { + $qryet="SELECT * FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid='".$row->mitarbeiter_uid."';"; + if($resultet=pg_query($conn,$qryet)) + { + while($rowet=pg_fetch_object($resultet)) + { + $eteam[$rowet->studiengang_kz]=$rowet->besqualcode; + } + } + $datei.=" + ".sprintf("%15s",$row->personalnummer)." + ".$row->gebdatum." + ".$row->geschlecht." + ".$row->ausbildungcode.""; + $qryvw="SELECT * FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid='".$row->mitarbeiter_uid."' WHERE habilitation=true;"; + if($resultvw=pg_query($conn,$qryvw)) + { + if(pg_num_rows($result_vw)>0) + { + $datei.=" + J"; + } + else + { + $datei.=" + N"; + } + } + $qryvw="SELECT * FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid='".$row->mitarbeiter_uid."';"; + if($resultvw=pg_query($conn,$qryvw)) + { + while($rowvw=pg_fetch_object($resultvw)) + { + $datei.=" + + ".$rowvw->bacode1." + ".$rowvw->bacode2." + ".$rowvw->beschausmasscode." + ".$row->verwendung_code.""; + //Studiengangsleiter + $qryslt="SELECT * FROM public.tbl_benutzerfunktion WHERE uid='".$row->mitarbeiter_uid."' AND funktion_kurzbz='stgl';"; + if($resultslt=pg_query($conn,$qryslt)) + { + while($rowslt=pg_fetch_object($resultslt)) + { + $datei.=" + + ".sprintf("%04s",$rowslt->studiengang_kz)." + "; + } + } + //Funktionen + $qryfkt="SELECT * FROM bis.tbl_bisfunktion WHERE bisverwendung_id='".$rowvw->bisverwendung_id."' ;"; + if($resultfkt=pg_query($conn,$qryfkt)) + { + while($rowfkt=pg_fetch_object($resultfkt)) + { + $datei.=" + + ".sprintf("%04s",$rowfkt->studiengang_kz)." + $rowfkt->sws + $rowvw->hauptberuflich=='t'?'J':'N'"; + if(isset($eteam[$rowfkt->studiengang_kz])) + { + $datei.=" + J + ".$eteam[$rowfkt->studiengang_kz].""; + } + else + { + $datei.=" + N"; + } + $datei.=" + "; + } + } + $datei." + "; + } + } + $datei.=" + "; + } + $datei.=" + +"; +} +echo ' BIS - Meldung Mitarbeiter + + + '; +echo "

BIS - Mitarbeiterdaten werden überprüft!

\n"; +//echo "

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


"; +echo nl2br($v."\n\n"); + +//Tabelle mit Ergebnissen ausgeben + + +$ddd='bisdaten/bismeldung_mitarbeiter.xml'; + $dateiausgabe=fopen($ddd,'w'); + fwrite($dateiausgabe,$datei); + fclose($dateiausgabe); +echo "XML-Datei für Mitarbeiter-BIS-Meldung

"; ?> \ No newline at end of file