From 3528ca6f70b68b4d947f7cd7f7d2ec65649e33a4 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 15 Dec 2016 11:25:31 +0100 Subject: [PATCH] Bei der Erstellung der Personalmeldung werden jetzt mehr Details zu den gemeldetn Personen angezeigt --- vilesci/bis/personalmeldung.php | 159 ++++++++++++++++++++++++++------ 1 file changed, 130 insertions(+), 29 deletions(-) diff --git a/vilesci/bis/personalmeldung.php b/vilesci/bis/personalmeldung.php index f278f18f6..1ed40dc97 100644 --- a/vilesci/bis/personalmeldung.php +++ b/vilesci/bis/personalmeldung.php @@ -26,6 +26,7 @@ require_once('../../include/studiensemester.class.php'); require_once('../../include/datum.class.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/functions.inc.php'); +require_once('../../include/studiengang.class.php'); $uid = get_uid(); @@ -86,23 +87,50 @@ if($result = $db->db_query($qry)) } } +$ba1_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ba1_arr[$row->ba1code]=$row->ba1kurzbz; + +$ba2_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsart2"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ba2_arr[$row->ba2code]=$row->ba2bez; + +$verwendung_arr = array(); +$qry = "SELECT * FROM bis.tbl_verwendung"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $verwendung_arr[$row->verwendung_code]=$row->verwendungbez; + +$ausmass_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsausmass"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ausmass_arr[$row->beschausmasscode]=$row->beschausmassbez; + +$stg_obj = new studiengang(); +$stg_obj->getAll(null,false); + $qry=" - SELECT DISTINCT ON (UID) * - FROM - public.tbl_mitarbeiter + SELECT DISTINCT ON (UID) * + 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) - WHERE - bismelden - AND personalnummer>0 + WHERE + bismelden + AND personalnummer>0 AND (tbl_bisverwendung.ende is NULL OR tbl_bisverwendung.ende>".$db->db_add_param($bisprevious).") ORDER BY uid, nachname,vorname "; if($result = $db->db_query($qry)) { - + $datei.=" ".$erhalter." @@ -111,7 +139,7 @@ if($result = $db->db_query($qry)) while($row = $db->db_fetch_object($result)) { $mitarbeiter_data=array(); - + $error_person = false; $person_content=''; $qryet="SELECT * FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid).";"; @@ -123,7 +151,7 @@ if($result = $db->db_query($qry)) } } $error_log=''; - + if($row->gebdatum=='' || $row->gebdatum==NULL) { $error_log.=($error_log!=''?', ':'')."Geburtsdatum ('".$row->gebdatum."')"; @@ -140,7 +168,9 @@ if($result = $db->db_query($qry)) $mitarbeiter_data['personalnummer']=sprintf("%015s",$row->personalnummer); $mitarbeiter_data['vorname']=$row->vorname; $mitarbeiter_data['nachname']=$row->nachname; - + $mitarbeiter_data['fixangestellt']=($row->fixangestellt=='t'?true:false); + $mitarbeiter_data['lektor']=($row->lektor=='t'?true:false); + $person_content.=" ".sprintf("%015s",$row->personalnummer)." @@ -202,17 +232,17 @@ if($result = $db->db_query($qry)) $verwendung_data[$key]['ba2code']=$rowvw->ba2code; $verwendung_data[$key]['beschausmasscode']=$rowvw->beschausmasscode; $verwendung_data[$key]['verwendung_code']=$rowvw->verwendung_code; - - - + + + //Studiengangsleiter - $qryslt="SELECT - tbl_benutzerfunktion.*, tbl_studiengang.studiengang_kz - FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz) - WHERE - uid=".$db->db_add_param($row->mitarbeiter_uid)." - AND funktion_kurzbz='Leitung' - AND (datum_von<".$db->db_add_param($bisdatum)." OR datum_von is null) + $qryslt="SELECT + tbl_benutzerfunktion.*, tbl_studiengang.studiengang_kz + FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz) + WHERE + uid=".$db->db_add_param($row->mitarbeiter_uid)." + AND funktion_kurzbz='Leitung' + AND (datum_von<".$db->db_add_param($bisdatum)." OR datum_von is null) AND (datum_bis>".$db->db_add_param($bisprevious)." OR datum_bis is NULL) AND studiengang_kz>0 AND studiengang_kz<10000;"; @@ -259,7 +289,7 @@ if($result = $db->db_query($qry)) $error_log.=($error_log!=''?', ':'')."BesondereQualifikationCode ('".$eteam[$rowfkt->studiengang_kz]."')"; } } - + $verwfkt_found=false; // Wenn mehrere Verwendungen vorhanden sind fuer und funktionen fuer die gleichen Studiengaenge @@ -287,7 +317,7 @@ if($result = $db->db_query($qry)) } } } - + $mitarbeiter_data['verwendung']=$verwendung_data; //Verwendungen ausgeben foreach($verwendung_data as $row_verwendung) { @@ -297,7 +327,7 @@ if($result = $db->db_query($qry)) ".$row_verwendung['ba2code']." ".$row_verwendung['beschausmasscode']." ".$row_verwendung['verwendung_code'].""; - + if(isset($row_verwendung['stgltg'])) { foreach($row_verwendung['stgltg'] as $row_stgl) @@ -340,14 +370,14 @@ if($result = $db->db_query($qry)) } $person_content.=" "; - } + } } $person_content.=" "; } - + } - else + else { $qry_count="SELECT 1 FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid); if($result_count=$db->db_query($qry_count)) @@ -384,7 +414,7 @@ if($result = $db->db_query($qry)) if($error_person) $v.=''; } - else + else { if(!$error_person) { @@ -400,7 +430,10 @@ if($result = $db->db_query($qry)) echo ' BIS - Meldung Mitarbeiter - + '; + include('../../include/meta/jquery.php'); + include('../../include/meta/jquery-tablesorter.php'); +echo ' '; echo "

BIS - Mitarbeiterdaten werden überprüft (für Meldung ".$stsem." / $bisprevious - $bisdatum)


"; echo "Anzahl Mitarbeiter: Gesamt: ".$mitarbeiterzahl." / echter Dienstvertrag: ".$echt." / freier Dienstvertrag: ".$frei."

"; @@ -416,13 +449,30 @@ fclose($dateiausgabe); echo '

Folgende Personen werden gemeldet

Anzahl:'.count($mitarbeiter_gesamt).' - + +
+ + + + + + + '; @@ -434,6 +484,57 @@ foreach($mitarbeiter_gesamt as $row) echo ''; echo ''; echo ''; + echo ''; + echo ''; + foreach($row['verwendung'] as $row_verwendung) + { + // Ba1Code + if(isset($ba1_arr[$row_verwendung['ba1code']])) + echo ''; + else + echo ''; + + // Ba2Code + if(isset($ba2_arr[$row_verwendung['ba2code']])) + echo ''; + else + echo ''; + + // Ausmass + if(isset($ausmass_arr[$row_verwendung['beschausmasscode']])) + echo ''; + else + echo ''; + + // Verwendung + if(isset($verwendung_arr[$row_verwendung['verwendung_code']])) + echo ''; + else + echo ''; + + echo ''; + } echo ''; } echo '
UID Vorname Nachname PersonalnummerFixangestelltLektorBeschaeftigungsArt1BeschaeftigungsArt2AusmassVerwendungDetails (Funktion/Lehre)
'.$row['vorname'].''.$row['nachname'].''.$row['personalnummer'].''.($row['fixangestellt']?'Ja':'Nein').''.($row['lektor']?'Ja':'Nein').''.$ba1_arr[$row_verwendung['ba1code']].''.$row_verwendung['ba1code'].''.$ba2_arr[$row_verwendung['ba2code']].''.$row_verwendung['ba2code'].''.$ausmass_arr[$row_verwendung['beschausmasscode']].''.$row_verwendung['beschausmasscode'].''.$verwendung_arr[$row_verwendung['verwendung_code']].''.$row_verwendung['verwendung_code'].''; + // Details + if(isset($row_verwendung['stgltg'])) + { + + foreach($row_verwendung['stgltg'] as $row_stgl) + { + echo 'Leitung:'.$stg_obj->kuerzel_arr[$row_stgl]; + echo '
'; + } + } + + if(isset($row_verwendung['fkt'])) + { + foreach($row_verwendung['fkt'] as $row_fkt) + { + echo $stg_obj->kuerzel_arr[$row_fkt['stgkz']].': '.$row_fkt['sws'].' SWS'; + echo '
'; + } + } + + echo '

';