Zusätzliche Filter für Mitarbeiterverträge hinzugefügt

This commit is contained in:
oesi
2015-09-17 07:56:42 +02:00
parent 865a0568cf
commit eb639c1b55
5 changed files with 117 additions and 45 deletions
+36 -2
View File
@@ -643,7 +643,7 @@ class mitarbeiter extends benutzer
* @param $verwendung wenn true werden alle geladen die eine BIS-Verwendung eingetragen haben
* @return boolean
*/
public function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $verwendung, $vertragnochnichtretour=null)
public function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $verwendung, $vertrag=null)
{
$qry = "SELECT distinct on(mitarbeiter_uid) *, tbl_benutzer.aktiv as aktiv, tbl_mitarbeiter.insertamum, tbl_mitarbeiter.insertvon, tbl_mitarbeiter.updateamum, tbl_mitarbeiter.updatevon FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN public.tbl_benutzerfunktion USING(uid) LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid) WHERE true";
@@ -677,7 +677,7 @@ class mitarbeiter extends benutzer
{
$qry.=" AND NOT EXISTS(SELECT * FROM bis.tbl_bisverwendung WHERE (ende>now() or ende is null) AND tbl_bisverwendung.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid)";
}
if($vertragnochnichtretour=='true')
if($vertrag=='VertragNochNichtRetour')
{
$qry.=" AND EXISTS(SELECT * FROM lehre.tbl_vertrag
WHERE person_id=tbl_benutzer.person_id
@@ -685,8 +685,42 @@ class mitarbeiter extends benutzer
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_vertrag_vertragsstatus WHERE vertrag_id=tbl_vertrag.vertrag_id AND vertragsstatus_kurzbz='abgerechnet')
)";
}
elseif($vertrag=='VertragHabilitiert')
{
$qry.=" AND EXISTS(SELECT * FROM lehre.tbl_vertrag
WHERE person_id=tbl_benutzer.person_id
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_vertrag_vertragsstatus WHERE vertrag_id=tbl_vertrag.vertrag_id AND vertragsstatus_kurzbz='abgerechnet')
)
AND EXISTS(SELECT * FROM bis.tbl_bisverwendung
WHERE mitarbeiter_uid=tbl_benutzer.uid
AND habilitation=true
)
";
}
elseif($vertrag=='VertragNichtHabilitiert')
{
$qry.=" AND EXISTS(SELECT * FROM lehre.tbl_vertrag
WHERE person_id=tbl_benutzer.person_id
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_vertrag_vertragsstatus WHERE vertrag_id=tbl_vertrag.vertrag_id AND vertragsstatus_kurzbz='abgerechnet')
)
AND NOT EXISTS(SELECT * FROM bis.tbl_bisverwendung
WHERE mitarbeiter_uid=tbl_benutzer.uid
AND habilitation=true
)
";
}
elseif($vertrag=='VertragNichtGedruckt')
{
$qry.=" AND EXISTS(SELECT * FROM lehre.tbl_vertrag
WHERE person_id=tbl_benutzer.person_id
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_vertrag_vertragsstatus WHERE vertrag_id=tbl_vertrag.vertrag_id AND vertragsstatus_kurzbz='gedruckt')
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_vertrag_vertragsstatus WHERE vertrag_id=tbl_vertrag.vertrag_id AND vertragsstatus_kurzbz='abgerechnet')
)";
}
$qry.=';';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())