diff --git a/include/entwicklungsteam.class.php b/include/entwicklungsteam.class.php
index 3ca886b28..f9d0a3718 100644
--- a/include/entwicklungsteam.class.php
+++ b/include/entwicklungsteam.class.php
@@ -368,7 +368,7 @@ class entwicklungsteam extends basis_db
FROM bis.tbl_entwicklungsteam
JOIN bis.tbl_besqual USING(besqualcode)
WHERE mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)."
- AND (beginn <= make_date(". $this->db_add_param($bismeldung_jahr). "::INTEGER, 12, 31))
+ AND (beginn is NULL OR beginn <= make_date(". $this->db_add_param($bismeldung_jahr). "::INTEGER, 12, 31))
AND (ende is NULL OR ende >= make_date(". $this->db_add_param($bismeldung_jahr). "::INTEGER, 1, 1))";
if($studiengang_kz!=null)
diff --git a/vilesci/bis/personalmeldung.php b/vilesci/bis/personalmeldung.php
index d8e3df9f7..02057a899 100644
--- a/vilesci/bis/personalmeldung.php
+++ b/vilesci/bis/personalmeldung.php
@@ -138,12 +138,7 @@ foreach($verwendungcodex->result as $row)
// Prüfe Zeitraum zur Erstellung einer BIS-Meldung
$studiensemester = new studiensemester();
-
-//Test
-//$stsem = (isset($_GET['stsem'])) ? $_GET['stsem'] : $studiensemester->getaktorNext(); // aktuelles Studiensemester
-$stsem = 'SS2022';
-
-
+$stsem = (isset($_GET['stsem'])) ? $_GET['stsem'] : $studiensemester->getaktorNext(); // aktuelles Studiensemester
$datum_obj = new datum();
if(mb_strstr($stsem, 'SS'))
@@ -151,8 +146,6 @@ if(mb_strstr($stsem, 'SS'))
$studiensemester->load($stsem);
$jahr = $datum_obj->formatDatum($studiensemester->start, 'Y');
$stichtag = date("Y-m-d", mktime(0, 0, 0, 12, 31, $jahr - 1)); // 31.12. des vorangehenden Kalenderjahres zur BIS Meldung TODO: oder Abfragetag mitgeben?
- //Test Stichtag
- echo $stichtag;
}
else
{
@@ -174,8 +167,6 @@ $ws = new studiensemester($ws_kurzbz);
// Alle gemeldeten Mitarbeiter holen
$mitarbeiter = new mitarbeiter();
-//Test Stichtag1
-echo "stichtag" . $beginn_imJahr->format('Y-m-d');
$mitarbeiter->getMitarbeiterBISMeldung($beginn_imJahr->format('Y-m-d'));
$mitarbeiter_arr = $mitarbeiter->result;
@@ -341,9 +332,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
* Exkludiert Funktionen, die einem Lehrgang bzw. STG, die nicht BIS-gemeldet werden, zugeordnet sind.
*/
// -------------------------------------------------------------------------------------------------------------
- //Test
- //$funktion_arr = _addFunktionscontainer_Funktionscode7($person_obj->uid, $funktion_arr); //VARIANTE1
- $funktion_arr = _addFunktionscontainer_Funktionscode7($person_obj->uid, $funktion_arr, $stichtag); //VARIANTE2
+ $funktion_arr = _addFunktionscontainer_Funktionscode7($person_obj->uid, $funktion_arr, $stichtag);
// Container Funktion dem Container Person anhaengen
// -----------------------------------------------------------------------------------------------------------------
@@ -821,24 +810,21 @@ function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
* @return array
*
*/
- //Test
-//function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr) //Variante1
-function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr, $stichtag) //Variante2
+function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr, $stichtag)
{
$entwicklungsteam = new Entwicklungsteam();
- //$entwicklungsteam->getEntwicklungsteam($uid, null); //Variante1
- $entwicklungsteam->getEntwicklungsteamBis($uid, $stichtag); //Variante2
+ //nur aktuelle bzw EW-Teameinträge ohne Datumseinträgen werden berücksichtigt
+ $entwicklungsteam->getEntwicklungsteamBis($uid, $stichtag);
$entwicklungsteam_arr = $entwicklungsteam->result;
if (!empty($entwicklungsteam_arr))
{
// Lehrgaenge und STG, die nicht BIS gemeldet werden, extrahieren
- $entwicklungsteam_arr = array_filter($entwicklungsteam_arr, function ($obj)
- {
+ $entwicklungsteam_arr = array_filter($entwicklungsteam_arr, function ($obj) {
return
- !in_array($obj->studiengang_kz, BIS_EXCLUDE_STG) &&
- $obj->studiengang_kz > 0 &&
- $obj->studiengang_kz < 10000;
+ !in_array($obj->studiengang_kz, BIS_EXCLUDE_STG) &&
+ $obj->studiengang_kz > 0 &&
+ $obj->studiengang_kz < 10000;
});
}
@@ -846,29 +832,27 @@ function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr, $stichtag) /
{
// Hoechste besondere Qualifikation
$besondere_qualifikation_code_arr = array();
- foreach($entwicklungsteam_arr as $row_entw)
- $besondere_qualifikation_code_arr[] = $row_entw->besqualcode;
-
- $besondere_qualifikation_code = max($besondere_qualifikation_code_arr);
-
- // alle Studiengaenge mit Person als Teil des Entwicklungsteams um Start- und Ende-Datum ergaenzen
+ // Studiengaenge, wo Person Teil des Entwicklungsteams gewesen ist
$studiengang_kz_arr = array();
foreach($entwicklungsteam_arr as $row_entw)
{
- $stgkz = $row_entw->studiengang_kz;
- $studiengang_kz_arr[$row_entw->entwicklungsteam_id]["studieng_kz"] = setLeadingZero(intval($stgkz), 4);
- $studiengang_kz_arr[$row_entw->entwicklungsteam_id]["start"] = $row_entw->beginn;
- $studiengang_kz_arr[$row_entw->entwicklungsteam_id]["ende"]= $row_entw->ende;
+ $besondere_qualifikation_code_arr[] = $row_entw->besqualcode;
+ $studiengang_kz_arr[] = $row_entw->studiengang_kz;
}
- sort($studiengang_kz_arr); // sortieren
+ $besondere_qualifikation_code = max($besondere_qualifikation_code_arr);
+ sort($studiengang_kz_arr); // sortieren
+ foreach($studiengang_kz_arr as &$studiengang_kz) // fuehrende Nullen fuer STG
+ {
+ $studiengang_kz = setLeadingZero(intval($studiengang_kz), 4);
+ }
// Funktionsobjekt generieren und dem Funktionscontainer anhaengen
$funktion_obj = new StdClass();
$funktion_obj->funktionscode = 7;
$funktion_obj->besondereQualifikationCode = $besondere_qualifikation_code;
$funktion_obj->studiengang = $studiengang_kz_arr;
- $funktion_arr[]= $funktion_obj;
+ $funktion_arr[] = $funktion_obj;
}
return $funktion_arr;
@@ -886,8 +870,7 @@ function _getLehrecontainer($sws_proStg_arr)
if (!empty($sws_proStg_arr))
{
// Lehrgaenge und STG, die nicht BIS gemeldet werden, extrahieren
- $sws_proStg_arr = array_filter($sws_proStg_arr, function ($obj)
- {
+ $sws_proStg_arr = array_filter($sws_proStg_arr, function ($obj) {
return
!in_array($obj->studiengang_kz, BIS_EXCLUDE_STG) &&
$obj->studiengang_kz > 0 &&
@@ -992,7 +975,7 @@ function _generateXML($person_arr)
? '