Zeitsperren Filter für Assistentinnen

This commit is contained in:
Manfred Kindl
2014-03-26 14:17:15 +00:00
parent 4e85e9f213
commit bd8db6254a
5 changed files with 70 additions and 54 deletions
+61 -52
View File
@@ -134,7 +134,7 @@ require_once('../../../include/Excel/excel.php');
if (is_null($funktion))
$mitarbeiter=$ma->getMitarbeiter($lektor,$fix);
else
$mitarbeiter=$ma->getMitarbeiterStg(true,null,$stge,$funktion);
$mitarbeiter=$ma->getMitarbeiterStg(false,null,$stge,$funktion,'nachname,vorname');
}
}
@@ -199,39 +199,44 @@ if(isset($_REQUEST['format']) && $_REQUEST['format']=='xls')
$zeile=0;
$spalte=0;
$uid='';
$zs=new zeitsperre();
if(is_array($mitarbeiter))
{
foreach ($mitarbeiter as $ma)
{
if($ma->aktiv)
{
$zeile++;
$spalte=0;
$zs->getzeitsperren($ma->uid, false);
$worksheet->write($zeile,$spalte,$ma->nachname.' '.$ma->vorname, $format_namen);
for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day)
{
$wt=date('N',$ts);
$grund=$zs->getTyp($ts);
$erbk=html_entity_decode($zs->getErreichbarkeit($ts));
$vertretung=$zs->getVertretung($ts);
$zelleninhalt = ($grund!=''?(($grund!=''?substr($p->t('zeitsperre/grund'),0,1).': ':'').$grund. "\n"):'');
$zelleninhalt .= ($erbk!=''?(($erbk!=''?substr($p->t('urlaubstool/erreichbarkeit'),0,1).': ':'').$erbk. "\n"):'');
$zelleninhalt .= ($erbk!=''?($erbk!=''?substr($p->t('urlaubstool/vertretung'),0,1).': ':''):'');
$count = 0;
foreach ($vertretung as $vt)
if ($ma->uid!=$uid) //Um doppelte Eintraege rauszufiltern
{
if($ma->aktiv)
{
$zeile++;
$spalte=0;
$zs->getzeitsperren($ma->uid, false);
$worksheet->write($zeile,$spalte,$ma->nachname.' '.$ma->vorname, $format_namen);
for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day)
{
if ($vt!='')
$wt=date('N',$ts);
$grund=$zs->getTyp($ts);
$erbk=html_entity_decode($zs->getErreichbarkeit($ts));
$vertretung=$zs->getVertretung($ts);
$zelleninhalt = ($grund!=''?(($grund!=''?substr($p->t('zeitsperre/grund'),0,1).': ':'').$grund. "\n"):'');
$zelleninhalt .= ($erbk!=''?(($erbk!=''?substr($p->t('urlaubstool/erreichbarkeit'),0,1).': ':'').$erbk. "\n"):'');
$zelleninhalt .= ($erbk!=''?($erbk!=''?substr($p->t('urlaubstool/vertretung'),0,1).': ':''):'');
$count = 0;
foreach ($vertretung as $vt)
{
$ma_kurzbz = new mitarbeiter();
$ma_kurzbz->load($vt);
$zelleninhalt .= ($count!=0?', ':'').$ma_kurzbz->vorname.' '.$ma_kurzbz->nachname.' ('.$ma_kurzbz->telefonklappe.')';
$count++;
if ($vt!='')
{
$ma_kurzbz = new mitarbeiter();
$ma_kurzbz->load($vt);
$zelleninhalt .= ($count!=0?', ':'').$ma_kurzbz->vorname.' '.$ma_kurzbz->nachname.' ('.$ma_kurzbz->telefonklappe.')';
$count++;
}
}
$worksheet->write($zeile,++$spalte,$zelleninhalt,$format_mehrzeilig);
}
$worksheet->write($zeile,++$spalte,$zelleninhalt,$format_mehrzeilig);
}
$uid=$ma->uid;
}
}
}
@@ -309,46 +314,50 @@ else
echo '</TR>';
$uid='';
$zs=new zeitsperre();
if(is_array($mitarbeiter))
{
foreach ($mitarbeiter as $ma)
{
if($ma->aktiv)
if ($ma->uid!=$uid) //Um doppelte Eintraege rauszufiltern
{
$zs->getzeitsperren($ma->uid, false);
echo '<tr>';
echo '<td valign="top">'.trim($ma->nachname).'&nbsp;'.trim($ma->vorname).'</td>';
for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day)
if($ma->aktiv)
{
$tag=date('d',$ts);
$monat=date('M',$ts);
$wt=date('N',$ts);
if ($wt==7 || $wt==6)
$class=' class="feiertag" ';
else
$class='';
$grund=$zs->getTyp($ts);
$erbk=$zs->getErreichbarkeit($ts);
$vertretung=$zs->getVertretung($ts);
echo '<td '.$class.' style="white-space: nowrap;">'.($grund!=''?'<span title="'.$p->t('zeitsperre/grund').'">'.substr($p->t('zeitsperre/grund'),0,1).'</span>: ':'').$grund;
echo '<br>'.($erbk!=''?'<span title="'.$p->t('urlaubstool/erreichbarkeit').'">'.substr($p->t('urlaubstool/erreichbarkeit'),0,1).'</span>: ':'').$erbk;
echo '<br>'.($erbk!=''?'<span title="'.$p->t('urlaubstool/vertretung').'">'.substr($p->t('urlaubstool/vertretung'),0,1).'</span>: ':'');
foreach ($vertretung as $vt)
$zs->getzeitsperren($ma->uid, false);
echo '<tr>';
echo '<td valign="top">'.trim($ma->nachname).'&nbsp;'.trim($ma->vorname).'</td>';
for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day)
{
if ($vt!='')
$tag=date('d',$ts);
$monat=date('M',$ts);
$wt=date('N',$ts);
if ($wt==7 || $wt==6)
$class=' class="feiertag" ';
else
$class='';
$grund=$zs->getTyp($ts);
$erbk=$zs->getErreichbarkeit($ts);
$vertretung=$zs->getVertretung($ts);
echo '<td '.$class.' style="white-space: nowrap;">'.($grund!=''?'<span title="'.$p->t('zeitsperre/grund').'">'.substr($p->t('zeitsperre/grund'),0,1).'</span>: ':'').$grund;
echo '<br>'.($erbk!=''?'<span title="'.$p->t('urlaubstool/erreichbarkeit').'">'.substr($p->t('urlaubstool/erreichbarkeit'),0,1).'</span>: ':'').$erbk;
echo '<br>'.($erbk!=''?'<span title="'.$p->t('urlaubstool/vertretung').'">'.substr($p->t('urlaubstool/vertretung'),0,1).'</span>: ':'');
foreach ($vertretung as $vt)
{
$ma_kurzbz = new mitarbeiter();
$ma_kurzbz->load($vt);
echo '<a href="index.php?uid='.$ma_kurzbz->uid.'">'.$ma_kurzbz->kurzbz.'</a>&nbsp;';
if ($vt!='')
{
$ma_kurzbz = new mitarbeiter();
$ma_kurzbz->load($vt);
echo '<a href="index.php?uid='.$ma_kurzbz->uid.'">'.$ma_kurzbz->kurzbz.'</a>&nbsp;';
}
}
echo '</td>';
}
echo '</td>';
echo '</tr>';
}
echo '</tr>';
}
$uid=$ma->uid;
}
}
}
+5
View File
@@ -79,6 +79,11 @@ class menu_addon_zeitsperren extends menu_addon
'link' => 'private/profile/zeitsperre.php?organisationseinheit=',
'name' => $p->t('menu/organisationseinheit')
);
$this->items[] = array('title' => $p->t('menu/assistenz'),
'target'=> 'content',
'link' => 'private/profile/zeitsperre.php?funktion=ass',
'name' => $p->t('menu/assistenz')
);
}
$stg_obj = new studiengang();
+2 -2
View File
@@ -396,7 +396,7 @@ class mitarbeiter extends benutzer
* @param $fkt_kurzbz
* @return boolean
*/
public function getMitarbeiterStg($lektor=true,$fixangestellt, $stge, $fkt_kurzbz)
public function getMitarbeiterStg($lektor=true,$fixangestellt, $stge, $fkt_kurzbz, $order='studiengang_kz, nachname, vorname, kurzbz')
{
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.*, studiengang_kz FROM campus.vw_mitarbeiter
JOIN public.tbl_benutzerfunktion USING (uid) JOIN public.tbl_studiengang USING(oe_kurzbz)
@@ -435,7 +435,7 @@ class mitarbeiter extends benutzer
if($in!='')
$sql_query.=' AND studiengang_kz in (-1'.$in.')';
}
$sql_query.=' ORDER BY studiengang_kz, nachname, vorname, kurzbz;';
$sql_query.=' ORDER BY '.$order.';';
//echo $sql_query;
if(!$this->db_query($sql_query))
+1
View File
@@ -4,6 +4,7 @@ $this->phrasen['menu/resturlaub']='Resturlaubstage';
$this->phrasen['menu/fixangestellte']='Zeitsperren aller Fixangestellten';
$this->phrasen['menu/fixelektoren']='Zeitsperren aller fixen LektorInnen';
$this->phrasen['menu/organisationseinheit']='Zeitsperren nach Organisationseinheit';
$this->phrasen['menu/assistenz']='Zeitsperren aller AssistentInnen';
$this->phrasen['menu/lektoren']='Lektoren';
$this->phrasen['menu/urlaubAlle']='Alle';
$this->phrasen['menu/suchePersonOrtDokumentInhalt']='Suche Person / Ort / Dokument / Inhalt / Durchwahl';
+1
View File
@@ -4,6 +4,7 @@ $this->phrasen['menu/resturlaub']='Remaining leave';
$this->phrasen['menu/fixangestellte']='Salaried';
$this->phrasen['menu/fixelektoren']='salaried Lector';
$this->phrasen['menu/organisationseinheit']='Organization Units';
$this->phrasen['menu/assistenz']='Assistants';
$this->phrasen['menu/lektoren']='Lector';
$this->phrasen['menu/urlaubAlle']='All';
$this->phrasen['menu/suchePersonOrtDokumentInhalt']='Search Person / Room / Document / Content / Extension';