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
+18 -39
View File
@@ -105,45 +105,6 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul
</template>
</tree>
<vbox id="vbox-fachbereich">
<hbox>
<spacer flex="1" />
<toolbarbutton label="Laden/Aktualisieren" image="../skin/images/refresh.png" tooltiptext="Liste neu laden" oncommand="FachbereichTreeRefresh()"/>
<spacer flex="1" />
</hbox>
<tree id="tree-fachbereich" onmouseup="onFachbereichSelect(event);"
seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/fachbereich/liste">
<treecols>
<treecol id="fachbereich-treecol-bezeichnung" label="Bezeichnung" flex="3" primary="true" />
<splitter class="tree-splitter"/>
<treecol id="fachbereich-treecol-kurzbz" label="Kurzbz" flex="2" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="fachbereich-treecol-farbe" label="Farbe" flex="1" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="fachbereich-treecol-stg_kz" label="Stg_kz" flex="1" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="fachbereich-treecol-uid" label="UID" flex="1" hidden="true"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/fachbereich/rdf#bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/fachbereich/rdf#kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/fachbereich/rdf#farbe"/>
<treecell label="rdf:http://www.technikum-wien.at/fachbereich/rdf#studiengang_kz"/>
<treecell label="rdf:http://www.technikum-wien.at/fachbereich/rdf#uid"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
</vbox>
<vbox id="vbox-organisationseinheit">
<tree id="tree-organisationseinheit" onmouseup="onOrganisationseinheitSelect(event);"
seltype="single" hidecolumnpicker="false" flex="1"
@@ -319,6 +280,24 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul
<treecell label="VertragNochNichtRetour"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="Habilitiert"/>
<treecell label="VertragHabilitiert"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="nicht Habilitiert"/>
<treecell label="VertragNichtHabilitiert"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="noch nicht gedruckt"/>
<treecell label="VertragNichtGedruckt"/>
</treerow>
</treeitem>
</treechildren>
</treeitem>
';
@@ -306,6 +306,18 @@ function onMitarbeiterSelect()
{
attributes+="&VertragNochNichtRetour";
}
if(filter=="VertragHabilitiert")
{
attributes+="&VertragHabilitiert";
}
if(filter=="VertragNichtHabilitiert")
{
attributes+="&VertragNichtHabilitiert";
}
if(filter=="VertragNichtGedruckt")
{
attributes+="&VertragNichtGedruckt";
}
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
//Timestamp anhaengen da beim Laden von Zwischengespeicherten Dateien kein
//Observer Event ausgeloest wird.
+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())
+23 -4
View File
@@ -76,14 +76,33 @@ if (isset($_GET['verwendung']))
else
$verwendung=null;
$vertrag=null;
if (isset($_GET['VertragNochNichtRetour']))
{
// Vertraege muessen nur von externen Lektoren retourniert werden
$fix='false';
$vertragnochnichtretour = 'true';
$vertrag = 'VertragNochNichtRetour';
}
else
$vertragnochnichtretour=null;
if (isset($_GET['VertragHabilitiert']))
{
$fix='false';
$vertrag = 'VertragHabilitiert';
}
if (isset($_GET['VertragNichtHabilitiert']))
{
$fix='false';
$vertrag = 'VertragNichtHabilitiert';
}
if (isset($_GET['VertragNichtGedruckt']))
{
$fix='false';
$vertrag = 'VertragNichtGedruckt';
}
if(isset($_GET['filter']))
@@ -111,7 +130,7 @@ if($uid==null)
if($filter!='')
$mitarbeiterDAO->searchPersonal($filter);
else
$mitarbeiterDAO->getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $verwendung, $vertragnochnichtretour);
$mitarbeiterDAO->getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $verwendung, $vertrag);
foreach ($mitarbeiterDAO->result as $mitarbeiter)
draw_row($mitarbeiter);
+28
View File
@@ -3449,6 +3449,34 @@ if(!$result = @$db->db_query("SELECT lehrveranstaltung_id FROM lehre.tbl_vertrag
echo 'Vertrag: Spalte lehrveranstaltung_id hinzugefügt';
}
// Vertragsstatus gedruckt
if($result = $db->db_query("SELECT 1 FROM lehre.tbl_vertragsstatus WHERE vertragsstatus_kurzbz='gedruckt'"))
{
if($db->db_num_rows($result)==0)
{
$qry = "INSERT INTO lehre.tbl_vertragsstatus(vertragsstatus_kurzbz, bezeichnung) VALUES('gedruckt','Gedruckt');";
if(!$db->db_query($qry))
echo '<strong>Vertragsstatus: '.$db->db_last_error().'</strong><br>';
else
echo 'Vertragsstatus gedruckt hinzugefuegt';
}
}
// Vertragsstatus gedruckt
if($result = $db->db_query("SELECT 1 FROM public.tbl_funktion WHERE funktion_kurzbz='awbefreit'"))
{
if($db->db_num_rows($result)==0)
{
$qry = "INSERT INTO public.tbl_funktion(funktion_kurzbz, beschreibung, aktiv, fachbereich, semester) VALUES('awbefreit','Anwesenheitsbefreit',true,false,false);";
if(!$db->db_query($qry))
echo '<strong>Benutzerfunktion: '.$db->db_last_error().'</strong><br>';
else
echo 'Benutzerfunktion awbefreit hinzugefuegt';
}
}
echo '<br><br><br>';
$tabellen=array(