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