mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge branch 'feature-76554/Personalmeldung_alt_bei_Lehre_nicht_melderelevant_rausfiltern'
This commit is contained in:
@@ -364,9 +364,10 @@ class entwicklungsteam extends basis_db
|
|||||||
$bismeldung_jahr = $datetime->format('Y');
|
$bismeldung_jahr = $datetime->format('Y');
|
||||||
|
|
||||||
//laden des Datensatzes
|
//laden des Datensatzes
|
||||||
$qry = "SELECT *
|
$qry = "SELECT tbl_entwicklungsteam.*, tbl_besqual.*, tbl_studiengang.studiengang_kz, tbl_studiengang.melderelevant
|
||||||
FROM bis.tbl_entwicklungsteam
|
FROM bis.tbl_entwicklungsteam
|
||||||
JOIN bis.tbl_besqual USING(besqualcode)
|
JOIN bis.tbl_besqual USING(besqualcode)
|
||||||
|
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||||
WHERE mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)."
|
WHERE mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)."
|
||||||
AND (beginn is NULL OR 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))";
|
AND (ende is NULL OR ende >= make_date(". $this->db_add_param($bismeldung_jahr). "::INTEGER, 1, 1))";
|
||||||
@@ -394,6 +395,7 @@ class entwicklungsteam extends basis_db
|
|||||||
$obj->insertvon = $row->insertvon;
|
$obj->insertvon = $row->insertvon;
|
||||||
$obj->ext_id = $row->ext_id;
|
$obj->ext_id = $row->ext_id;
|
||||||
$obj->besqual = $row->besqualbez;
|
$obj->besqual = $row->besqualbez;
|
||||||
|
$obj->melderelevant = $this->db_parse_bool($row->melderelevant);
|
||||||
|
|
||||||
$this->result[] = $obj;
|
$this->result[] = $obj;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -584,8 +584,9 @@ class lehreinheitmitarbeiter extends basis_db
|
|||||||
|
|
||||||
$qry = '
|
$qry = '
|
||||||
WITH semester_sws_tbl AS (
|
WITH semester_sws_tbl AS (
|
||||||
SELECT DISTINCT lehreinheit_id, studiensemester_kurzbz, lema.semesterstunden,
|
SELECT
|
||||||
stg.studiengang_kz, stg.melde_studiengang_kz, stg.lgartcode
|
DISTINCT lehreinheit_id, studiensemester_kurzbz, lema.semesterstunden,
|
||||||
|
stg.studiengang_kz, stg.melde_studiengang_kz, stg.lgartcode, stg.melderelevant
|
||||||
FROM lehre.tbl_lehreinheitmitarbeiter lema
|
FROM lehre.tbl_lehreinheitmitarbeiter lema
|
||||||
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
|
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
|
||||||
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
||||||
@@ -598,6 +599,7 @@ class lehreinheitmitarbeiter extends basis_db
|
|||||||
AND ss.studiensemester_kurzbz IN ('.$this->implode4SQL($studiensemester_kurzbz_arr).')
|
AND ss.studiensemester_kurzbz IN ('.$this->implode4SQL($studiensemester_kurzbz_arr).')
|
||||||
-- nur lehre, die bisgemeldet wird
|
-- nur lehre, die bisgemeldet wird
|
||||||
AND lema.bismelden
|
AND lema.bismelden
|
||||||
|
AND stg.melderelevant
|
||||||
-- keine lehreinheiten ohne semesterstunden
|
-- keine lehreinheiten ohne semesterstunden
|
||||||
AND lema.semesterstunden != 0
|
AND lema.semesterstunden != 0
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -742,7 +742,7 @@ function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
|
|||||||
$has_oe_lehrgang = !($studiengang->studiengang_kz > 0 && $studiengang->studiengang_kz < 10000);
|
$has_oe_lehrgang = !($studiengang->studiengang_kz > 0 && $studiengang->studiengang_kz < 10000);
|
||||||
|
|
||||||
// STG, die nicht BIS-bemeldet werden, ueberspringen
|
// STG, die nicht BIS-bemeldet werden, ueberspringen
|
||||||
if (in_array($studiengang->studiengang_kz, BIS_EXCLUDE_STG))
|
if (in_array($studiengang->studiengang_kz, BIS_EXCLUDE_STG) || !$studiengang->melderelevant)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -825,6 +825,7 @@ function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr, $stichtag)
|
|||||||
$entwicklungsteam_arr = array_filter($entwicklungsteam_arr, function ($obj) {
|
$entwicklungsteam_arr = array_filter($entwicklungsteam_arr, function ($obj) {
|
||||||
return
|
return
|
||||||
!in_array($obj->studiengang_kz, BIS_EXCLUDE_STG) &&
|
!in_array($obj->studiengang_kz, BIS_EXCLUDE_STG) &&
|
||||||
|
$obj->melderelevant &&
|
||||||
$obj->studiengang_kz > 0 &&
|
$obj->studiengang_kz > 0 &&
|
||||||
$obj->studiengang_kz < 10000;
|
$obj->studiengang_kz < 10000;
|
||||||
});
|
});
|
||||||
@@ -889,7 +890,7 @@ function _getLehrecontainer($sws_proStg_arr)
|
|||||||
$kennzeichen_name = $is_lehrgang ? 'LehrgangNr' : 'StgKz';
|
$kennzeichen_name = $is_lehrgang ? 'LehrgangNr' : 'StgKz';
|
||||||
|
|
||||||
// Lehreobjekt generieren
|
// Lehreobjekt generieren
|
||||||
if (empty($lehre_arr) || !lehre_stg_exists($sws_proStg->studiengang_kz, $lehre_arr))
|
if (empty($lehre_arr) || !lehre_stg_exists($sws_proStg->melde_studiengang_kz, $lehre_arr))
|
||||||
{
|
{
|
||||||
$lehre_obj = new StdClass();
|
$lehre_obj = new StdClass();
|
||||||
|
|
||||||
@@ -904,8 +905,8 @@ function _getLehrecontainer($sws_proStg_arr)
|
|||||||
}
|
}
|
||||||
else // Lehrecontainer mit STG schon vorhanden
|
else // Lehrecontainer mit STG schon vorhanden
|
||||||
{
|
{
|
||||||
$lehre_obj_arr = array_filter($lehre_arr, function (&$obj) use ($sws_proStg) {
|
$lehre_obj_arr = array_filter($lehre_arr, function (&$obj) use ($sws_proStg, $kennzeichen_name) {
|
||||||
return $obj->StgKz == $sws_proStg->studiengang_kz;
|
return isset($obj->{$kennzeichen_name}) && $obj->{$kennzeichen_name} == $sws_proStg->melde_studiengang_kz;
|
||||||
});
|
});
|
||||||
|
|
||||||
// SWS ergaenzen
|
// SWS ergaenzen
|
||||||
@@ -1359,15 +1360,15 @@ function verwendung_exists($bisverwendung, $verwendung_arr)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Prueft ob ein Studiengang bereits im Lehre Container vorhanden ist
|
* Prueft ob ein Studiengang bereits im Lehre Container vorhanden ist
|
||||||
* @param $studiengang_kz Studiengangskennzahl
|
* @param $melde_studiengang_kz Studiengangskennzahl
|
||||||
* @param $lehre_arr Array mit Lehre Objekten
|
* @param $lehre_arr Array mit Lehre Objekten
|
||||||
* @return true wenn der Studiengang bereits existiert
|
* @return true wenn der Studiengang bereits existiert
|
||||||
*/
|
*/
|
||||||
function lehre_stg_exists($studiengang_kz, $lehre_arr)
|
function lehre_stg_exists($melde_studiengang_kz, $lehre_arr)
|
||||||
{
|
{
|
||||||
foreach($lehre_arr as $row)
|
foreach($lehre_arr as $row)
|
||||||
{
|
{
|
||||||
$kennzeichenName = $row->LehrgangNr ?? $row->StgKz;
|
$kennzeichenName = isset($row->LehrgangNr) ? 'LehrgangNr' : 'StgKz';
|
||||||
if(isset($row->{$kennzeichenName}) && $row->{$kennzeichenName} == $melde_studiengang_kz)
|
if(isset($row->{$kennzeichenName}) && $row->{$kennzeichenName} == $melde_studiengang_kz)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user