Merge branch 'feature-5920/Personalmeldung_Berechnung_VZAE_JVZAE'

This commit is contained in:
Andreas Österreicher
2020-03-17 16:27:40 +01:00
12 changed files with 1567 additions and 506 deletions
+41
View File
@@ -208,4 +208,45 @@ define('DVB_PASSWORD','passwort');
define('CI_ENVIRONMENT', 'development'); // Code igniter environment variable
// BIS Personalmeldung
// Studiengaenge, die nicht gemeldet werden
define('BIS_EXCLUDE_STG', array());
// Basis Vollzeit Arbeitsstunden für Berechnung von Jahresvollzeitaequivalenz JVZAE (echte Dienstverträge)
define('BIS_VOLLZEIT_ARBEITSSTUNDEN', '40');
// Basis Vollzeit Semesterwochenstunden für Berechnung von Jahresvollzeitaequivalenz JVZAE auf Stundenbasis (freie Dienstverträge)
define('BIS_VOLLZEIT_SWS_EINZELSTUNDENBASIS', '15');
// Basis Vollzeit Semesterwochenstunden für Berechnung von Jahresvollzeitaequivalenz JVZAE für inkludierte Lehre bei echten Dienstverträgen
define('BIS_VOLLZEIT_SWS_INKLUDIERTE_LEHRE', '25');
// Semester Gewichtung für Berechnung von Jahresvollzeitaequivalenz JVZAE
define('BIS_HALBJAHRES_GEWICHTUNG_SWS', 0.5);
// Jahrespauschale fuer studentische Hilfskraefte (in Stunden)
define('BIS_PAUSCHALE_STUDENTISCHE_HILFSKRAFT', 0);
// Jahrespauschale fuer sonstige Dienstverhaeltnisse, zb Werkvertrag (in Stunden)
define('BIS_PAUSCHALE_SONSTIGES_DIENSTVERHAELTNIS', 0);
define('BIS_FUNKTIONSCODE_1234_ARR', array(
'vertrBefugter' => 1, // Vertretungsbefugte/r des Erhalters (GF, Prokura)
'kollegium_Ltg' => 2, // Leiter/in des Kollegiums
'kollegium_Ltg' => 2, // Leiter/in des Kollegiums
'kollegium_stvLtg' => 3, // stellv. Leiter/In des Kollegiums
'kollegium' => 4 // Mitglied des Kollegiums
));
// Liste der Leitungsfunktionen
define('BIS_FUNKTIONSCODE_5_ARR', array(
'Leitung'
));
// Organisationseinheitstypen bei denen KEINE Leiter gemeldet werden
define('BIS_FUNKTIONSCODE_6_ARR', array(
'Team'
));
?>
@@ -179,7 +179,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</hbox>
<groupbox id="mitarbeiter-detail-groupbox-funktion">
<groupbox id="mitarbeiter-detail-groupbox-funktion" hidden="true">
<caption label="Funktion" />
<hbox>
<tree id="mitarbeiter-tree-funktion" seltype="single" hidecolumnpicker="false" flex="1"
@@ -392,4 +392,4 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</hbox>
</groupbox>
</vbox>
</overlay>
</overlay>
@@ -87,12 +87,12 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
var predicateNS = "http://www.technikum-wien.at/mitarbeiter/rdf";
fixangestellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fixangestellt" ));
//neuer Datensatz wird angelegt
MitarbeiterVerwendungDetailNeu='true';
//Defaultwerte
ba1code=3; //fixer Dienstvertrag
ba1code=103; //fixer Dienstvertrag
ba2code=1; //unbefristet
beschausmasscode=1; //Vollzeit
verwendung_code=1; //Lehr- und Forschungspersonal
+92
View File
@@ -587,5 +587,97 @@ class bisverwendung extends basis_db
return false;
}
}
/**
* Prueft, ob Mitarbeiter habilitiert ist
* @param $uid UID des Mitarbeiters
* @return bool
*/
public function isHabilitiert($uid)
{
$qry = '
SELECT
*
FROM
bis.tbl_bisverwendung
WHERE
mitarbeiter_uid = '. $this->db_add_param($uid). '
AND
habilitation = true;
';
if ($this->db_query($qry))
{
return $this->db_num_rows() > 0;
}
}
/**
* Holt alle Verwendungen eines Mitarbeiters innerhalb des BIS Meldungszeitraums
* @param $uid UID des Mitarbeiters
* @param $stichtag
* @return bool
*/
public function getVerwendungenBISMeldung($uid, $stichtag)
{
$datetime = new DateTime($stichtag);
$stichtag = $datetime->format('Y-m-d');
$bismeldung_jahr = $datetime->format('Y');
$qry = '
SELECT
*,
CASE
WHEN (beginn is null OR beginn < make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1))
THEN make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1)
ELSE beginn
END as beginn_imBISMeldungsJahr,
CASE
WHEN (ende is null OR ende > make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 12, 31))
THEN make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 12, 31)
ELSE ende
END as ende_imBISMeldungsJahr
FROM
bis.tbl_bisverwendung
JOIN bis.tbl_beschaeftigungsart1 USING (ba1code)
WHERE
mitarbeiter_uid = '. $this->db_add_param($uid).'
AND (beginn <= '. $this->db_add_param($stichtag).' OR beginn is null)
AND (ende >= make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1) OR ende is null)
ORDER BY ende
';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new StdClass();
$obj->bisverwendung_id = $row->bisverwendung_id;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->vertragsstunden = $row->vertragsstunden;
$obj->ba1code = $row->ba1code_bis;
$obj->ba2code = $row->ba2code;
$obj->verwendung_code = $row->verwendung_code;
$obj->beschausmasscode = $row->beschausmasscode;
$obj->hauptberufcode = $row->hauptberufcode;
$obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->beginn_imBISMeldungsJahr = $row->beginn_imbismeldungsjahr;
$obj->ende_imBISMeldungsJahr = $row->ende_imbismeldungsjahr;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
}
?>
+112
View File
@@ -44,6 +44,8 @@ class lehreinheitmitarbeiter extends basis_db
public $ext_id; // bigint
public $vertrag_id;
public $result = array();
/**
* Konstruktor - Laedt optional einee LEMitarbeiterzuordnung
* @param $lehreinheit_id
@@ -495,6 +497,116 @@ class lehreinheitmitarbeiter extends basis_db
return $ret;
}
/**
* Ladet Semesterwochenstunden-Summe eines Mitarbeiters eines Semesters.
* Nur bisrelevante SWS.
* @param String $uid
* @param String $studiensemester
* @return bool
*/
public function getLehreinheiten_SWS_BISMeldung($uid, $studiensemester)
{
$qry = '
SELECT
round(sum(semesterstunden) / 15) AS sws
FROM (
SELECT DISTINCT lehreinheit_id, studiensemester_kurzbz, mitarbeiter_uid, semesterstunden
FROM lehre.tbl_lehreinheitmitarbeiter lema
JOIN public.tbl_mitarbeiter ma USING (mitarbeiter_uid)
JOIN public.tbl_benutzer ON (mitarbeiter_uid = uid)
JOIN public.tbl_person USING (person_id)
JOIN bis.tbl_bisverwendung USING (mitarbeiter_uid)
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
JOIN public.tbl_studiensemester ss USING (studiensemester_kurzbz)
WHERE mitarbeiter_uid = '. $this->db_add_param($uid).'
AND lema.bismelden
AND studiensemester_kurzbz = '. $this->db_add_param($studiensemester).'
) tbl_semesterstunden
';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$this->result[] = $row->sws;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/**
* Ladet Semesterwochenstunden-Summe gruppiert nach Studiengang und Studiensemester.
* Es werden die Studiensemester herangezogen, die im Zeitraum zwischen beginn und ende beginnen.
* @param String $uid
* @param String $beginn
* @param String $ende
* @return bool
*/
public function get_SWS_groupByStg($uid, $beginn, $ende)
{
$beginn = new DateTime($beginn);
$ende = new DateTime($ende);
$qry = '
WITH semester_sws_tbl AS (
SELECT DISTINCT lehreinheit_id, studiensemester_kurzbz, lema.semesterstunden, stg.studiengang_kz
FROM lehre.tbl_lehreinheitmitarbeiter lema
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
JOIN lehre.tbl_studienplan_lehrveranstaltung USING (lehrveranstaltung_id)
JOIN lehre.tbl_studienplan USING (studienplan_id)
JOIN lehre.tbl_studienordnung sto USING (studienordnung_id)
JOIN public.tbl_studiengang stg ON stg.studiengang_kz = sto.studiengang_kz
JOIN public.tbl_studiensemester ss USING (studiensemester_kurzbz)
WHERE mitarbeiter_uid = '. $this->db_add_param($uid). '
AND (
ss.start BETWEEN
'. $this->db_add_param($beginn->format('Y-m-d')). ' AND
'. $this->db_add_param($ende->format('Y-m-d')). ')
-- nur lehre, die bisgemeldet wird
AND lema.bismelden
-- keine lehreinheiten ohne semesterstunden
AND lema.semesterstunden != 0
)
SELECT
studiengang_kz,
studiensemester_kurzbz,
sum(semesterstunden) AS summe,
round(sum(semesterstunden) / 15, 2) AS sws
FROM
semester_sws_tbl
GROUP BY
studiengang_kz,
studiensemester_kurzbz
ORDER BY
studiengang_kz;
';
if ($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new StdClass();
$obj->studiengang_kz = $row->studiengang_kz;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->sws = $row->sws;
$this->result []= $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/**
* Laedt die Lektoren einer Lehrveranstaltung in einem Studiensemester
* @param lehrveranstaltung_id
+51
View File
@@ -1539,5 +1539,56 @@ class mitarbeiter extends benutzer
}
}
/**
* Gibt alle Mitarbeiter zurück, die im BIS Meldungszeitraum bisgemeldet sind
* @param String $stichtag BIS Meldung Stichtag
* @return boolean
*/
public function getMitarbeiterBISMeldung($stichtag)
{
$datetime = new DateTime($stichtag);
$bismeldung_jahr = $datetime->format('Y');
$qry = '
SELECT DISTINCT ON (UID) *,
transform_geschlecht(tbl_person.geschlecht, tbl_person.gebdatum) as geschlecht_imputiert
FROM
public.tbl_mitarbeiter
JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
JOIN public.tbl_person USING(person_id)
JOIN bis.tbl_bisverwendung USING(mitarbeiter_uid)
JOIN bis.tbl_beschaeftigungsausmass USING(beschausmasscode)
WHERE
bismelden
AND personalnummer > 0
AND (beginn <= make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 12, 31) OR beginn is null)
AND (tbl_bisverwendung.ende is NULL OR tbl_bisverwendung.ende >= make_date('. $this->db_add_param($bismeldung_jahr). '::INTEGER, 1, 1))
ORDER BY uid, nachname, vorname
';
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new StdClass();
$obj->uid = $row->uid;
$obj->vorname = $row->vorname;
$obj->vornamen = $row->vornamen;
$obj->nachname = $row->nachname;
$obj->gebdatum = $row->gebdatum;
$obj->geschlecht = $row->geschlecht;
$obj->geschlechtX = $row->geschlecht_imputiert;
$obj->staatsbuergerschaft = $row->staatsbuergerschaft;
$obj->personalnummer = $row->personalnummer;
$obj->ausbildungcode = $row->ausbildungcode;
$this->result []= $obj;
}
return true;
}
return false;
}
}
?>
+2 -2
View File
@@ -43,7 +43,7 @@ echo '
<RDF:Seq about="'.$rdf_url.'/liste">
';
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1 ORDER BY ba1code";
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1 ORDER BY ba1kurzbz";
$db = new basis_db();
if($db->db_query($qry))
@@ -62,4 +62,4 @@ if($db->db_query($qry))
}
?>
</RDF:Seq>
</RDF:RDF>
</RDF:RDF>
+103 -1
View File
@@ -3842,6 +3842,108 @@ if ($result = $db->db_query("SELECT 1 FROM pg_class WHERE relname = 'unq_idx_abl
}
}
/**
* Anpassungen fuer BIS Personalmeldung 6.8
*/
if (!$result = @$db->db_query("SELECT ba1code_bis FROM bis.tbl_beschaeftigungsart1 LIMIT 1"))
{
/*
Beschaeftigungsausmass Kodextabelle aktualisieren
BA1Code alt 1 => BA1Code neu 1
BA1Code alt 2 => BA1Code neu 2
BA1Code alt 3 => BA1Code neu 3 (Echter DV)
BA1Code alt 4 => BA1Code neu 5 (Freier DV -> Sonstiges)
BA1Code alt 5 => BA1Code neu 4
BA1Code alt 6 => BA1Code neu 5 (Werkvertrag -> Sonstiges)
BA1Code ist nicht mehr der Code der gemeldet wird.
BA1code wird um 100 erhöht damit klar ist, dass es sich um einen anderen Code handelt.
*/
$qry = "
ALTER TABLE bis.tbl_beschaeftigungsart1 ADD COLUMN ba1code_bis smallint;
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=1, ba1code=101 WHERE ba1code=1;
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=2, ba1code=102 WHERE ba1code=2;
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=3, ba1code=103 WHERE ba1code=3;
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=5, ba1code=105 WHERE ba1code=4;
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=4, ba1code=104 WHERE ba1code=5;
UPDATE bis.tbl_beschaeftigungsart1 SET ba1code_bis=6, ba1code=106 WHERE ba1code=6;
";
/*
Für Werkvertraege wird eine eigene Beschaeftigungsart erstellt.
Die alten Eintraege für "Sonstiges (Werkvertrag)" werden auf diese neue Beschaeftigungsart umgehaengt
da diese bei uns alles Werkvertraege sind.
Fuer Studentische Hilfskraefte wird ebenfalls eine eigene Beschaeftigungsart erstellt.
Diese werden als Echter DV gemeldet aber getrennt verwaltet.
Alle Personen mit einer Funktion als Hilfskraft werden auf diese Beschaeftigungsart geaendert.
*/
$qry .= "
INSERT INTO bis.tbl_beschaeftigungsart1(ba1code, ba1bez, ba1kurzbz, ba1code_bis) VALUES(107,'Werkvertrag (Sonstiges)','Werkvertrag (Sonstiges)', 5);
INSERT INTO bis.tbl_beschaeftigungsart1(ba1code, ba1bez, ba1kurzbz, ba1code_bis) VALUES(108,'Studentische Hilfskraft (Echter DV)','Stud. Hilfskraft (Echter DV)', 3);
UPDATE bis.tbl_bisverwendung SET ba1code=107 WHERE ba1code=106;
UPDATE bis.tbl_bisverwendung SET ba1code=108 WHERE ba1code=103 AND EXISTS(
SELECT 1 FROM public.tbl_benutzerfunktion
WHERE uid=tbl_bisverwendung.mitarbeiter_uid AND funktion_kurzbz='hilfskraft' AND
(
datum_von BETWEEN tbl_bisverwendung.beginn AND tbl_bisverwendung.ende
OR
datum_bis BETWEEN tbl_bisverwendung.beginn AND tbl_bisverwendung.ende
)
);
";
$qry .= "
UPDATE bis.tbl_beschaeftigungsart1 SET ba1bez='Dienstverhältnis zur postsekundären Bildungseinrichtung oder deren Träger' WHERE ba1code=103;
UPDATE bis.tbl_beschaeftigungsart1 SET ba1kurzbz='Lehr- oder Ausbildungsverhältnis', ba1bez='Lehr- oder Ausbildungsverhältnis' WHERE ba1code=104;
UPDATE bis.tbl_beschaeftigungsart1 SET ba1kurzbz='Freier Dienstvertrag (Sonstiges)', ba1bez='Sonstiges Beschäftigungsverhältnis' WHERE ba1code=105;
UPDATE bis.tbl_beschaeftigungsart1 SET ba1kurzbz='Andere Bildungseinrichtung', ba1bez='Dienstverhältnis zu einer anderen Bildungseinrichtung oder einem anderen Träger' WHERE ba1code=106;
";
/*
Verwendungs Kodextabelle aktualisieren
VerwendungCode alt 1 => VerwendungsCode neu 1
VerwendungCode alt 2 => VerwendungsCode neu 2
VerwendungCode alt 3 => VerwendungsCode neu 3
VerwendungCode alt 4 => VerwendungsCode neu 4
VerwendungCode alt 5 => VerwendungsCode neu 5
VerwendungCode alt 6 => VerwendungsCode neu 5
VerwendungCode alt 7 => VerwendungsCode neu 5
VerwendungCode alt 8 => VerwendungsCode neu 6
VerwendungCode alt 9 => VerwendungsCode neu 7
*/
$qry .= "
UPDATE bis.tbl_bisverwendung SET verwendung_code=5 WHERE verwendung_code=6;
UPDATE bis.tbl_bisverwendung SET verwendung_code=5 WHERE verwendung_code=7;
UPDATE bis.tbl_bisverwendung SET verwendung_code=6 WHERE verwendung_code=8;
UPDATE bis.tbl_bisverwendung SET verwendung_code=7 WHERE verwendung_code=9;
UPDATE bis.tbl_verwendung SET verwendungbez='wissenschaftliche Lehre und Forschung' WHERE verwendung_code=1;
UPDATE bis.tbl_verwendung SET verwendungbez='wissenschaftliche Mitarbeit in Lehre und Forschung' WHERE verwendung_code=2;
UPDATE bis.tbl_verwendung SET verwendungbez='professionelle Unterstützung der Studierenden in akademischen Belangen' WHERE verwendung_code=3;
UPDATE bis.tbl_verwendung SET verwendungbez='professionelle Unterstützung der Studierenden in Gesundheits- und Sozialbelangen' WHERE verwendung_code=4;
UPDATE bis.tbl_verwendung SET verwendungbez='Management' WHERE verwendung_code=5;
UPDATE bis.tbl_verwendung SET verwendungbez='Verwaltung' WHERE verwendung_code=6;
UPDATE bis.tbl_verwendung SET verwendungbez='Wartung und Betrieb' WHERE verwendung_code=7;
DELETE FROM bis.tbl_verwendung WHERE verwendung_code=8;
DELETE FROM bis.tbl_verwendung WHERE verwendung_code=9;
";
$qry.="
INSERT INTO public.tbl_funktion(funktion_kurzbz, beschreibung, aktiv, fachbereich, semester) VALUES('vertrBefugter','Vertretungsbefugte/r des Erhalters',true,false,false);
INSERT INTO public.tbl_funktion(funktion_kurzbz, beschreibung, aktiv, fachbereich, semester) VALUES('kollegium_Ltg','Leiter/in des Kollegiums',true,false,false);
INSERT INTO public.tbl_funktion(funktion_kurzbz, beschreibung, aktiv, fachbereich, semester) VALUES('kollegium_stvLtg','Stellv. Leiter/in des Kollegiums',true,false,false);
";
if(!$db->db_query($qry))
echo '<strong>bis.tbl_verwendung und bis.tbl_beschaeftigungsart: '.$db->db_last_error().'</strong><br>';
else
echo '<br>Verwendung und Beschaeftigungsart für BIS Version 6.8 aktualisiert.';
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -3852,7 +3954,7 @@ $tabellen=array(
"bis.tbl_bisio_aufenthaltfoerderung" => array("bisio_id","aufenthaltfoerderung_code"),
"bis.tbl_ausbildung" => array("ausbildungcode","ausbildungbez","ausbildungbeschreibung"),
"bis.tbl_berufstaetigkeit" => array("berufstaetigkeit_code","berufstaetigkeit_bez","berufstaetigkeit_kurzbz"),
"bis.tbl_beschaeftigungsart1" => array("ba1code","ba1bez","ba1kurzbz"),
"bis.tbl_beschaeftigungsart1" => array("ba1code","ba1bez","ba1kurzbz","ba1code_bis"),
"bis.tbl_beschaeftigungsart2" => array("ba2code","ba2bez"),
"bis.tbl_beschaeftigungsausmass" => array("beschausmasscode","beschausmassbez","min","max"),
"bis.tbl_besqual" => array("besqualcode","besqualbez"),
+43 -40
View File
@@ -40,19 +40,19 @@ $rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('mitarbeiter/stammdaten', null,'suid'))
die('Sie haben keine Berechtigung für diese Seite');
$error_log='';
$fehler=0;
$error_log = '';
$fehler = 0;
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$ausgabe='';
$error_log_fas='';
$update=false;
$bismeldedatum=date("Y-m-d", mktime(0, 0, 0, 9, 1, date("Y")));
$bismeldedatumvorjahr=date("Y-m-d", mktime(0, 0, 0, 9, 1, date("Y")-1));
$anzahl_quelle = 0;
$anzahl_eingefuegt = 0;
$anzahl_update = 0;
$anzahl_fehler = 0;
$ausgabe = '';
$error_log_fas = '';
$update = false;
$bismeldedatum_start = date("Y-m-d", mktime(0, 0, 0, 1, 1, date("Y")-1));
$bismeldedatum_ende = date("Y-m-d", mktime(0, 0, 0, 12, 31, date("Y")-1));
$ba1_arr = array();
$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1";
@@ -141,14 +141,14 @@ if($resultall = $db->db_query($qryall))
AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)."
ORDER BY beginn";
if($result = $db->db_query($qry))
if ($result = $db->db_query($qry))
{
$num_rows=$db->db_num_rows($result);
if($num_rows>1)
$num_rows = $db->db_num_rows($result);
if ($num_rows > 1)
{
while($row=$db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
if($i==0)
if ($i == 0)
{
echo "
<br>
@@ -165,7 +165,7 @@ if($resultall = $db->db_query($qryall))
$row->beginn." - ".$row->ende."<br>";
}
}
elseif($num_rows==0)
elseif ($num_rows == 0)
echo "<br><u>Aktive(r) Mitarbeiter(in): <b>".$rowall->nachname." ".$rowall->vorname."</b>
hat ".$num_rows." aktuelle Verwendungen:</u><br>";
}
@@ -188,14 +188,14 @@ $qryall = '
)
GROUP BY uid, nachname, vorname
ORDER by nachname, vorname;';
if($resultall = $db->db_query($qryall))
if ($resultall = $db->db_query($qryall))
{
$num_rows_all=$db->db_num_rows($resultall);
$num_rows_all = $db->db_num_rows($resultall);
echo "<br><br><H2>Bei $num_rows_all aktiven Fixangestellten Mitarbeitern sind keine aktuellen Verwendungen eingetragen</H2>";
while($rowall=$db->db_fetch_object($resultall))
while ($rowall = $db->db_fetch_object($resultall))
{
$i=0;
$qry="
$i = 0;
$qry = "
SELECT
*
FROM
@@ -207,12 +207,12 @@ if($resultall = $db->db_query($qryall))
AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)."
ORDER by beginn";
if($result = $db->db_query($qry))
if ($result = $db->db_query($qry))
{
$num_rows=$db->db_num_rows($result);
while($row=$db->db_fetch_object($result))
while ($row=$db->db_fetch_object($result))
{
if($i==0)
if ($i == 0)
{
echo "<br>
<u>
@@ -233,7 +233,7 @@ if($resultall = $db->db_query($qryall))
}
//3 - nicht aktive mitarbeiter mitarbeiter mit aktueller verwendung
$qryall='
$qryall = '
SELECT
uid, nachname, vorname
FROM
@@ -246,14 +246,14 @@ $qryall='
GROUP BY uid, nachname, vorname
ORDER by nachname, vorname;';
if($resultall = $db->db_query($qryall))
if ($resultall = $db->db_query($qryall))
{
$num_rows_all=$db->db_num_rows($resultall);
echo "<br><br><H2>Bei $num_rows_all nicht aktiven Mitarbeitern sind die aktuellen Verwendungen nicht plausibel (inaktiv aber aktuelle Verwendung)</H2>";
while($rowall=$db->db_fetch_object($resultall))
while ($rowall = $db->db_fetch_object($resultall))
{
$i=0;
$qry="
$i = 0;
$qry = "
SELECT
*
FROM
@@ -263,12 +263,12 @@ if($resultall = $db->db_query($qryall))
AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)."
ORDER BY beginn";
if($result = $db->db_query($qry))
if ($result = $db->db_query($qry))
{
$num_rows=$db->db_num_rows($result);
while($row=$db->db_fetch_object($result))
$num_rows = $db->db_num_rows($result);
while ($row = $db->db_fetch_object($result))
{
if($i==0)
if ($i == 0)
{
echo "<br>
<u>
@@ -287,16 +287,17 @@ if($resultall = $db->db_query($qryall))
}
}
}
//4 - wenn hauptberuf=j dann sollte verwendung=1,5,6 sein - check
$qryall="
//4 - wenn hauptberufcode gesetzt ist, muss die Verwendung 1 sein
$qryall = "
SELECT
uid, nachname, vorname
FROM
campus.vw_mitarbeiter
JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid)
WHERE
verwendung_code NOT IN ('1','5','6')
verwendung_code NOT IN ('1')
AND hauptberuflich=true
AND (tbl_bisverwendung.ende>".$db->db_add_param($bismeldedatum_start)." or tbl_bisverwendung.ende is null)
GROUP BY uid, nachname, vorname
ORDER by nachname, vorname, uid;";
@@ -304,8 +305,7 @@ if($resultall = $db->db_query($qryall))
{
$num_rows_all=$db->db_num_rows($resultall);
echo "<br><br><H2>Bei $num_rows_all Mitarbeitern sind die Eintragungen 'hauptberuflich' nicht plausibel</H2>";
echo "hauptberuflich=ja, aber Verwendung nicht ".
$verwendung_arr[1].", ".$verwendung_arr[5]." oder ".$verwendung_arr[6];
echo "hauptberuflich=ja, aber Verwendung nicht ".$verwendung_arr[1];
while($rowall=$db->db_fetch_object($resultall))
{
@@ -316,9 +316,10 @@ if($resultall = $db->db_query($qryall))
FROM
bis.tbl_bisverwendung
WHERE
verwendung_code NOT IN ('1','5','6')
verwendung_code NOT IN ('1')
AND hauptberuflich=true
AND mitarbeiter_uid=".$db->db_add_param($rowall->uid)."
AND (tbl_bisverwendung.ende>".$db->db_add_param($bismeldedatum_start)." or tbl_bisverwendung.ende is null)
ORDER BY beginn";
if($result = $db->db_query($qry))
@@ -342,6 +343,7 @@ if($resultall = $db->db_query($qryall))
}
}
//5 - stimmt beschausmasscode mit vertragsstunden überein?
/* Beschaeftigungsausmass nicht mehr relevant
$qryall="
SELECT
uid, nachname, vorname
@@ -403,6 +405,7 @@ if($resultall = $db->db_query($qryall))
}
}
}
*/
//6 - aktive, freie lektoren auf verwendung 1 oder 2 prüfen
$qryall="
SELECT
@@ -219,7 +219,7 @@ if ($result = $db->db_query($qry))
echo '<br><br>Anzahl:'.$db->db_num_rows($result);
echo '
<div style="float:right" >Beendingungsdatum der Verwendung:
<input class="datepicker_datum" type="text" size="10" value="'.date('Y').'-08-31" id="deaktivierungsdatum"/>
<input class="datepicker_datum" type="text" size="10" value="'.(date('Y')-2).'-12-31" id="deaktivierungsdatum"/>
</div>
<br><br>
<table class="tablesorter" id="t1">
File diff suppressed because it is too large Load Diff
@@ -42,10 +42,6 @@ echo '<!doctype html>
<a href="checkverwendung.php">Plausibilitätsprüfungen Verwendungen</a><br>
Diverse Prüfungen auf inkonsistente Daten<br><br>
</li>
<li>
<a href="checkfunktion.php">Funktionen generieren</a><br>
Funktionen zu den Verwendungen generieren (SWS pro Studiengang)<br><br>
</li>
<li>
<a href="personalmeldung.php">Meldung generieren</a><br>
Abschließende Plausibilitätsprüfungen durchführen und Meldung generieren<br><br>