From d1e47ad73e4e5a52183f1a246316cea0982b67cf Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 12 Mar 2020 18:55:28 +0100 Subject: [PATCH] Corrected: erste Korrekturen nach BIS Uplaod und Validierung, -- ACHTUNG: TODO ! - . kleine Korrekturen (Typen-, Semantikecheck) . TODO!!!: Meldedatum und ErhKz ersetzen! --- vilesci/bis/personalmeldung.php | 62 +++++++++++++++++++++------------ 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/vilesci/bis/personalmeldung.php b/vilesci/bis/personalmeldung.php index 61f59b603..9d0f92894 100644 --- a/vilesci/bis/personalmeldung.php +++ b/vilesci/bis/personalmeldung.php @@ -12,6 +12,7 @@ require_once('../../include/lehreinheitmitarbeiter.class.php'); require_once('../../include/benutzerfunktion.class.php'); require_once('../../include/organisationseinheit.class.php'); require_once('../../include/entwicklungsteam.class.php'); +require_once('../../include/erhalter.class.php'); $uid = get_uid(); @@ -118,7 +119,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter) { $person_obj = new StdClass(); - $person_obj->personalnummer = $mitarbeiter->personalnummer; + $person_obj->personalnummer = setLeadingZero(intval($mitarbeiter->personalnummer), 15); $person_obj->uid = $mitarbeiter->uid; $person_obj->geschlecht = $mitarbeiter->geschlecht; $person_obj->geschlechtX = $mitarbeiter->geschlechtX; @@ -191,7 +192,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter) $verwendung_obj->ba1code = $bisverwendung->ba1code; $verwendung_obj->ba2code = $bisverwendung->ba2code; $verwendung_obj->verwendung_code = $bisverwendung->verwendung_code; - $verwendung_obj->jvzae = 0; + $verwendung_obj->jvzae = 0.00; $verwendung_obj->vzae = -1; // default // Loop innerhalb Verwendungen mit selben Beschaeftigungsverhaeltnissen und Verwendung_codes @@ -204,7 +205,9 @@ foreach ($mitarbeiter_arr as $mitarbeiter) * Berechnung: * JVZAE wird aus der Summe aller anteiligen JVZE gebildet. */ - $verwendung_obj->jvzae += (isset($verwendung_tmp->jvzae_anteilig)) ? $verwendung_tmp->jvzae_anteilig * 100 : NULL; // TODO: not null... + $verwendung_obj->jvzae += (isset($verwendung_tmp->jvzae_anteilig)) + ? number_format($verwendung_tmp->jvzae_anteilig * 100, 2) + : NULL; // TODO: not null... // Vollzeitaequivalenz VZAE ermitteln (Beschaeftigungsausmass zum Stichtag 31.12) @@ -785,9 +788,9 @@ function _getLehrecontainer($sws_proStg_arr) { $lehre_obj = new StdClass(); - $lehre_obj->StgKz = $sws_proStg->studiengang_kz; - $lehre_obj->SommersemesterSWS = $is_sommersemester ? $sws_proStg->sws : NULL; - $lehre_obj->WintersemesterSWS = $is_wintersemester ? $sws_proStg->sws : NULL; + $lehre_obj->StgKz = setLeadingZero(intval($sws_proStg->studiengang_kz), 4); + $lehre_obj->SommersemesterSWS = $is_sommersemester ? $sws_proStg->sws : 0.00; + $lehre_obj->WintersemesterSWS = $is_wintersemester ? $sws_proStg->sws : 0.00; // Lehreobjekt dem Lehrecontainer anhaengen $lehre_arr []= $lehre_obj; @@ -820,6 +823,10 @@ function _generateXML($person_arr) $xml = ''; $xml .= ''; +// TODO: ErhKz und Meldedatum aendern + $xml .= ''; + $xml .= '005'; + $xml .= '15042020'; $xml .= ''; foreach ($person_arr as $person) @@ -830,15 +837,17 @@ function _generateXML($person_arr) $xml .= 'geschlecht. ']]>'; $xml .= 'geschlechtX. ']]>'; $xml .= 'geburtsjahr. ']]>'; - $xml .= 'staatsangehoerigkeit. ']]>'; + $xml .= 'staatsangehoerigkeit. ']]>'; $xml .= 'hoechste_abgeschlossene_ausbildung. ']]>'; $xml .= 'habilitation. ']]>'; - $xml .= 'hauptberufcode. ']]>'; + $xml .= (!is_null($person->hauptberufcode)) + ? 'hauptberufcode. ']]>' + : ''; foreach ($person->verwendung_arr as $verwendung) { $xml .= ''; - $xml .= 'verwendung_code. ']]>'; + $xml .= 'verwendung_code. ']]>'; $xml .= 'ba1code. ']]>'; $xml .= 'ba2code. ']]>'; $xml .= 'vzae. ']]>'; @@ -850,21 +859,29 @@ function _generateXML($person_arr) { $xml .= ''; $xml .= 'funktionscode. ']]>'; - $xml .= 'besondereQualifikationCode. ']]>'; - $xml .= ''; - if (is_array($funktion->studiengang)) - { - foreach ($funktion->studiengang as $studiengang) - { - $xml .= ''; - } - } - else if (!is_null($funktion->studiengang)) - { - $xml .= 'studiengang. ']]>'; + $xml .= (!is_null($funktion->besondereQualifikationCode)) + ? 'besondereQualifikationCode. ']]>' + : ''; + if ($funktion->funktionscode == 5 || $funktion->funktionscode == 7) + { + $xml .= ''; + + if (is_array($funktion->studiengang)) + { + foreach ($funktion->studiengang as $studiengang) + { + $xml .= ''; + } + } + else if (!is_null($funktion->studiengang)) + { + $xml .= 'studiengang. ']]>'; + + } + $xml .= ''; } - $xml .= ''; + $xml .= ''; } @@ -881,6 +898,7 @@ function _generateXML($person_arr) } $xml .= ''; + $xml .= ''; return $xml; }