diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php
index bb619586d..7c9d7b1c0 100644
--- a/config/global.config-default.inc.php
+++ b/config/global.config-default.inc.php
@@ -251,6 +251,10 @@ define('FAS_KONTO_SHOW_CREDIT_POINTS','false');
// Bei "default" wird der Standard-Stundensatz des Lektors (aus tbl_mitarbeiter) ermittelt, und dieser eingetragen.
// Wenn numerisch, wird dieser Wert bei allen LektorInnen eingetragen.
// Wenn nicht definiert, wird der Stundensatz des Vorjahres übernommen.
+// Bei "nachbeschaeftigungsart" wird
+// bei echten Dienstvertraegen mit voller inkludierter Lehre (-1) der Stundensatz auf null gesetzt
+// bei echten Dienstvertraegen mit teilweise oder nicht inkludierter Lehre der Default Stundensatz gesetzt
+// bei sonstigen Dienstvertraegen der Default Stundensatz gesetzt
define('VILESCI_STUNDENSATZ_VORRUECKUNG', '');
// Wenn true, werden die Content-Aufrufe des CIS in der tbl_webservicelog mitgeloggt. Zuvor manuell einen neuen Webservicetyp "content" anlegen!
diff --git a/vilesci/lehre/lehreinheiten_vorrueckung.php b/vilesci/lehre/lehreinheiten_vorrueckung.php
index af12376ae..31a51c003 100644
--- a/vilesci/lehre/lehreinheiten_vorrueckung.php
+++ b/vilesci/lehre/lehreinheiten_vorrueckung.php
@@ -32,6 +32,7 @@ require_once('../../include/lehreinheitgruppe.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/mitarbeiter.class.php');
require_once('../../include/gruppe.class.php');
+require_once('../../include/bisverwendung.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -162,6 +163,14 @@ elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
Alle Lehraufträge werden mit dem aktuell hinterlegten Standard-Stundensatz der/des Lehrenden vorgerückt
';
}
+elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
+ && VILESCI_STUNDENSATZ_VORRUECKUNG != ''
+ && VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart')
+{
+ echo '
+ Stundensätze werden abhängig von der Beschaeftigungsart aktualisiert.
+ ';
+}
else
{
echo '
@@ -219,6 +228,9 @@ if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '')
}
}
+ $stsem_nach_obj = new studiensemester();
+ $stsem_nach_obj->load($stsem_nach);
+
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
@@ -314,6 +326,38 @@ if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '')
$stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid);
$lem_obj->stundensatz = $stundensatz->stundensatz;
}
+ // Wenn VILESCI_STUNDENSATZ_VORRUECKUNG nachbeschaeftigungsart ist, wird
+ // bei echten Dienstvertraegen mit voller inkludierter Lehre (-1) der Stundensatz auf null gesetzt
+ // bei echten Dienstvertraegen mit teilweise oder nicht inkludierter Lehre der Default Stundensatz gesetzt
+ // bei sonstigen Dienstvertraegen der Default Stundensatz gesetzt
+ elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
+ && VILESCI_STUNDENSATZ_VORRUECKUNG != ''
+ && VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart')
+ {
+ if ($lem_obj->stundensatz != '0')
+ {
+ $stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid);
+ $lem_obj->stundensatz = $stundensatz->stundensatz;
+
+ $bisverwendung = new bisverwendung();
+ if(!$bisverwendung->getVerwendungRange($row_lem->mitarbeiter_uid, $stsem_nach_obj->start, $stsem_nach_obj->ende))
+ {
+ $bisverwendung->getLastAktVerwendung($row_lem->mitarbeiter_uid);
+ $bisverwendung->result[] = $bisverwendung;
+ }
+
+ foreach($bisverwendung->result as $row_verwendung)
+ {
+ // Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
+ // geliefert da dies im Vertrag inkludiert ist.
+ if ($row_verwendung->ba1code == 3 && $row_verwendung->inkludierte_lehre == -1)
+ {
+ $lem_obj->stundensatz = '';
+ break;
+ }
+ }
+ }
+ }
$lem_obj->insertamum = date('Y-m-d H:i:s');
$lem_obj->insertvon = 'Vorrueckung_'.$user;
$lem_obj->ext_id = '';