Adapted anteilige JVZAE for external lectors

Now the 'anteilige JVZAE' of an external lector is calculated
ONLY if the teaching activity happend within the duration of the
contract-duration (BIS-Verwendung).
This avoids multiple calculations (before the jvzae was calculated for
each contract)
This commit is contained in:
Cris
2020-05-13 11:33:09 +02:00
parent 4851471814
commit 8be6ada961
+37 -6
View File
@@ -193,7 +193,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
foreach ($bisverwendung_arr as $bisverwendung)
{
if (empty($verwendung_arr) || // wenn erster Durchlauf ODER
(!(in_array($bisverwendung->ba1code, array_column($verwendung_arr, 'ba1code')) && // im verwendung_arr Beschaeftigungsart1 UND
(!(in_array($bisverwendung->ba1code, array_column($verwendung_arr, 'ba1code')) && // im verwendung_arr Beschaeftigungsart1 UND
in_array($bisverwendung->ba2code, array_column($verwendung_arr, 'ba2code')) && // Beschaeftigungsart2 UND
in_array($bisverwendung->verwendung_code, array_column($verwendung_arr, 'verwendung_code'))))) // Verwendung_code noch NICHT vorhanden
{
@@ -406,7 +406,11 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
$bisverwendung->vertragsstunden = BIS_VOLLZEIT_ARBEITSSTUNDEN;
}
// Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
/**
* Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
* Anteilige JVAE = Vertragsstunden relativ zu VZ Basis / Tage im Jahr * Vertragsdauer
* Bsp Teilzeit 30h, BIS-Verwendungsdauer 120 Tage: 30 / 38,5 / 365 * 120
*/
$bisverwendung->beschaeftigungsausmass_relativ = round($bisverwendung->vertragsstunden / BIS_VOLLZEIT_ARBEITSSTUNDEN, 2);
$bisverwendung->jvzae_anteilig = round($bisverwendung->beschaeftigungsausmass_relativ * $bisverwendung->gewichtung, 2);
@@ -438,7 +442,14 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
// Verwendung erstellen
list($tage_lehre_imSemester, $verwendung_lehre_obj) = _addVerwendung_fuerLehre_inkludiert($studsem, $bisverwendung);
// Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
/*
* Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
* Anteilige JVAE = Lehre relativ zu VZ Basis * gewichtete Lehrtage auf das Halbjahr bezogen
* Bsp: 7 SWS an 90 Tage gelehrt: 7 / 15 * (0,5 /(365 / 2) * 140)
* NOTE: Halbjahr mit 0,5 gewichtet, da ein Studiensemester 50% eines Jahres entspricht;
* Diese 50% werden dann auf die Tage eines Halbjahres heruntergebrochen und mit den Lehrtagen
* multipliziert.
*/
$verwendung_lehre_obj->beschaeftigungsausmass_relativ = round($lehre_sws / BIS_VOLLZEIT_SWS_INKLUDIERTE_LEHRE, 2); // VZ-Basis fuer inkludierte Lehre
$verwendung_lehre_obj->gewichtung = ($tage_lehre_imSemester == 182)
? BIS_HALBJAHRES_GEWICHTUNG_SWS
@@ -472,14 +483,34 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
// -------------------------------------------------------------------------------------------------------------
else if (!$has_vertragsstunden && $has_lehrtaetigkeit)
{
foreach (array($ss_kurzbz => $lehre_ss_sws, $ws_kurzbz => $lehre_ws_sws) as $studsem => $lehre_sws)
/**
* Verwendungen ergänzen, wenn die BIS-Verwendung als externer Mitarbeiter in Sommer- / Wintersemester
* des BIS-Meldungsjahres faellt.
* Es werden die gesamten SWS von SS + WS (d.h. WS jahresuebergreifend) gemeldet.
*/
$bisverwendung_beginn_BIS = new DateTime($bisverwendung->beginn_imBISMeldungsJahr);
$bisverwendung_ende_BIS = new DateTime($bisverwendung->ende_imBISMeldungsJahr);
foreach (array($ss_kurzbz => $lehre_ss_sws, $ws_kurzbz => $lehre_ws_sws) as $studsem_kurzbz => $lehre_sws)
{
if (!is_null($lehre_sws))
$studsem = new studiensemester($studsem_kurzbz);
$studsem_start = new DateTime($studsem->start);
$studsem_ende = new DateTime($studsem->ende);
// Wenn Lehrzeit in die BIS Verwendungszeit hineinfaellt, Verwendung erstellen
if (!is_null($lehre_sws) &&
(!($studsem_start > $bisverwendung_ende_BIS) &&
!($studsem_ende < $bisverwendung_beginn_BIS)))
{
// Verwendungen erstellen
$verwendung_lehre_obj = _addVerwendung_fuerLehre_Stundenbasis($bisverwendung);
// Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
/**
* Relatives Beschaeftigungsausmass / Anteilige JVZAE ermitteln
* Anteilige JVAE = Lehre relativ zu VZ Basis * Halbjahresgewichtung
* Bsp: 7 / 15 * 0,5
* NOTE: Halbjahr mit 0,5 gewichtet, da ein Studiensemester 50% eines Jahres entspricht
*/
$verwendung_lehre_obj->beschaeftigungsausmass_relativ = round($lehre_sws / BIS_VOLLZEIT_SWS_EINZELSTUNDENBASIS, 2); // VZ-Basis nach BIS-Vorgabe fuer Stundenbasis
$verwendung_lehre_obj->gewichtung = BIS_HALBJAHRES_GEWICHTUNG_SWS;
$verwendung_lehre_obj->jvzae_anteilig = round($verwendung_lehre_obj->beschaeftigungsausmass_relativ * $verwendung_lehre_obj->gewichtung, 2);