From d9891e08122ad8219e03025f4b410c184301bb54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 31 Mar 2010 14:26:40 +0000 Subject: [PATCH] --- cis/private/profile/zeitsperre.php | 57 +++--- cis/private/profile/zeitsperre_export.php | 211 +++++++++++----------- include/mitarbeiter.class.php | 2 +- system/checksystem.php | 5 + 4 files changed, 135 insertions(+), 140 deletions(-) diff --git a/cis/private/profile/zeitsperre.php b/cis/private/profile/zeitsperre.php index 22a94725d..637f26cfc 100644 --- a/cis/private/profile/zeitsperre.php +++ b/cis/private/profile/zeitsperre.php @@ -19,9 +19,9 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ -// ** -// * @brief Uebersicht der Zeitsperren fuer Lektorengruppen - +/** + * Uebersicht der Zeitsperren der Mitarbeiter + */ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/globals.inc.php'); require_once('../../../include/functions.inc.php'); @@ -40,7 +40,9 @@ require_once('../../../include/organisationseinheit.class.php'); $lektor=$_GET['lektor']; else $lektor=null; - + if ($lektor=='false') $lektor=false; + if ($lektor=='true' || $lektor=='1') $lektor=true; + if(isset($_GET['fix'])) $fix=$_GET['fix']; else @@ -65,33 +67,30 @@ require_once('../../../include/organisationseinheit.class.php'); $stge[]=$stg_kz; } - if(isset($_GET['studiensemester'])) - $studiensemester=$_GET['studiensemester']; - else - $studiensemester=null; - // Link fuer den Export $export_link='zeitsperre_export.php?'; - + $export_param=''; + if(!is_null($organisationseinheit)) - $export_link.="organisationseinheit=$organisationseinheit"; + $export_param.=($export_param!=''?'&':'')."organisationseinheit=$organisationseinheit"; else { - if ($fix==true) - $export_link.='fix=true'; - //&lektor=$lektor&funktion=$funktion"; + if ($fix) + $export_param.=($export_param!=''?'&':'').'fix=true'; + if($lektor) + $export_param.=($export_param!=''?'&':'').'lektor=true'; + + if(!is_null($funktion)) + $export_param.=($export_param!=''?'&':'').'funktion='.$funktion; + if(isset($stg_kz)) + $export_param.=($export_param!=''?'&':'').'stg_kz='.$stg_kz; + } - + $export_link.=$export_param; + + //Datumsbereich ermitteln $datum_obj = new datum(); - // Studiensemester setzen - $ss=new studiensemester($studiensemester); - if ($studiensemester==null) - { - $studiensemester = $ss->getaktorNext(); - $ss->load($studiensemester); - } - $days=trim((isset($_REQUEST['days']) && is_numeric($_REQUEST['days'])?$_REQUEST['days']:14)); $dTmpAktuellerMontag=date("Y-m-d",strtotime(date('Y')."W".date('W')."1")); // Montag der Aktuellen Woche @@ -100,13 +99,11 @@ require_once('../../../include/organisationseinheit.class.php'); $datum_beginn=$dTmpAktuellerMontag; $datum_ende=$dTmpMontagPlus; - - $ts_beginn=$datum_obj->mktime_fromdate($datum_beginn); $ts_ende=$datum_obj->mktime_fromdate($datum_ende); - // Lektoren holen + // Mitarbeiter laden $ma=new mitarbeiter(); if(!is_null($organisationseinheit)) @@ -122,10 +119,9 @@ require_once('../../../include/organisationseinheit.class.php'); } ?> - - Zeitsperren <?php echo $studiensemester; ?> + Zeitsperren @@ -134,8 +130,7 @@ require_once('../../../include/organisationseinheit.class.php');

- - +
 Zeitsperren  Zeitsperren

@@ -217,4 +212,4 @@ require_once('../../../include/organisationseinheit.class.php'); - + \ No newline at end of file diff --git a/cis/private/profile/zeitsperre_export.php b/cis/private/profile/zeitsperre_export.php index 08c74267c..418ac9c21 100644 --- a/cis/private/profile/zeitsperre_export.php +++ b/cis/private/profile/zeitsperre_export.php @@ -19,127 +19,122 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ -// ** -// * @brief Uebersicht der Zeitsperren fuer Lektorengruppen +/** + * Exportiert die Zeitsperren von Mitarbeitern als CSV File + */ +require_once('../../../config/cis.config.inc.php'); +require_once('../../../include/globals.inc.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/person.class.php'); +require_once('../../../include/benutzer.class.php'); +require_once('../../../include/mitarbeiter.class.php'); +require_once('../../../include/studiensemester.class.php'); +require_once('../../../include/zeitsperre.class.php'); +require_once('../../../include/datum.class.php'); - require_once('../../../config/cis.config.inc.php'); - require_once('../../../include/globals.inc.php'); - require_once('../../../include/functions.inc.php'); - require_once('../../../include/person.class.php'); - require_once('../../../include/benutzer.class.php'); - require_once('../../../include/mitarbeiter.class.php'); - require_once('../../../include/studiensemester.class.php'); - require_once('../../../include/zeitsperre.class.php'); - require_once('../../../include/datum.class.php'); +$crlf=crlf(); +$trenn=";"; - $crlf=crlf(); - $trenn=";"; +$uid = get_uid(); - $uid = get_uid(); - - if(isset($_GET['lektor'])) - $lektor=$_GET['lektor']; +if(isset($_GET['lektor'])) +{ + $lektor=$_GET['lektor']; + if ($lektor=='true' || $lektor=='1') + $lektor=true; else - $lektor=null; - if ($lektor=='true' || $lektor=='1') $lektor=true; - if ($lektor=='false' || $lektor=='') $lektor=false; + $lektor=false; +} +else + $lektor=null; - if(isset($_GET['fix'])) - $fix=$_GET['fix']; + +if(isset($_GET['fix'])) +{ + $fix=$_GET['fix']; + if ($fix=='true' || $fix=='1') + $fix=true; else - $fix=null; - if ($fix=='true' || $fix=='1') $fix=true; - if ($fix=='false' || $fix=='') $fix=false; + $fix=false; +} +else + $fix=null; - if(isset($_GET['funktion'])) - $funktion=$_GET['funktion']; +if(isset($_GET['funktion'])) +{ + $funktion=$_GET['funktion']; +} +else + $funktion=null; + +if(isset($_GET['organisationseinheit'])) + $organisationseinheit = $_GET['organisationseinheit']; +else + $organisationseinheit = null; + +$stge=array(); +if(isset($_GET['stg_kz'])) +{ + $stg_kz=$_GET['stg_kz']; + $stge[]=$stg_kz; +} + +//Datumsbereich ermitteln +$datum_obj = new datum(); +$days=trim((isset($_REQUEST['days']) && is_numeric($_REQUEST['days'])?$_REQUEST['days']:14)); + +$dTmpAktuellerMontag=date("Y-m-d",strtotime(date('Y')."W".date('W')."1")); // Montag der Aktuellen Woche +$dTmpAktuellesDatum=explode("-",$dTmpAktuellerMontag); +$dTmpMontagPlus=date("Y-m-d", mktime(0,0,0,date($dTmpAktuellesDatum[1]),date($dTmpAktuellesDatum[2])+$days,date($dTmpAktuellesDatum[0]))); + +$datum_beginn=$dTmpAktuellerMontag; +$datum_ende=$dTmpMontagPlus; + +$ts_beginn=$datum_obj->mktime_fromdate($datum_beginn); +$ts_ende=$datum_obj->mktime_fromdate($datum_ende); + +// Mitarbeiter laden +$ma=new mitarbeiter(); +if(!is_null($organisationseinheit)) +{ + $mitarbeiter = $ma->getMitarbeiterOrganisationseinheit($organisationseinheit); +} +else +{ + if (is_null($funktion)) + $mitarbeiter=$ma->getMitarbeiter($lektor,$fix); else - $funktion=null; - if ($funktion=='true' || $funktion=='1') $funktion=true; - if ($funktion=='false' || $funktion=='') $funktion=false; - - if(isset($_GET['institut'])) - $institut = $_GET['institut']; - else - $institut = null; - - $stge=array(); - if(isset($_GET['stg_kz'])) - { - $stg_kz=$_GET['stg_kz']; - $stge[]=$stg_kz; - } - - if(isset($_GET['studiensemester'])) - $studiensemester=$_GET['studiensemester']; - else - $studiensemester=null; - - $datum_obj = new datum(); - - // Studiensemester setzen - $ss=new studiensemester($studiensemester); - if ($studiensemester==null) - { - $studiensemester = $ss->getaktorNext(); - $ss->load($studiensemester); - //$studiensemester=$ss->getAktTillNext(); - } - $datum_beginn=$ss->start; - $datum_ende='2008-09-01';//$ss->ende; - $ts_beginn=$datum_obj->mktime_fromdate($datum_beginn); - $ts_ende=$datum_obj->mktime_fromdate($datum_ende); - - // Lektoren holen - $ma=new mitarbeiter(); - if(!is_null($institut)) - { - $mitarbeiter = $ma->getMitarbeiterInstitut($institut); - } - else - { - //if (!is_null($funktion)) - // $mitarbeiter=$ma->getMitarbeiterStg(true,null,$stge,$funktion); - //else - $mitarbeiter=$ma->getMitarbeiter(null,true);//($lektor,$fix); - } + $mitarbeiter=$ma->getMitarbeiterStg(true,null,$stge,$funktion); +} //EXPORT - header("Content-type: application/vnd.ms-excel"); - header('Content-Disposition: attachment; filename="Zeitsperren.csv"'); - header("Expires: 0"); - header("Cache-Control: must-revalidate, post-check=0,pre-check=0"); - header("Pragma: public"); +header("Content-type: application/vnd.ms-excel"); +header('Content-Disposition: attachment; filename="Zeitsperren.csv"'); +header("Expires: 0"); +header("Cache-Control: must-revalidate, post-check=0,pre-check=0"); +header("Pragma: public"); - echo '"Datum"'.$trenn; +echo '"Datum"'.$trenn; +for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day) +{ + $tag=date('d',$ts); + $wt=date('w',$ts); + $monat=date('M',$ts); + echo '"'.$tagbez[$wt].' '.$tag.'.'.$monat.'"'.$trenn; +} +$zs=new zeitsperre(); +foreach ($mitarbeiter as $ma) +{ + $zs->getzeitsperren($ma->uid, false); + echo iconv('UTF8','LATIN9',$crlf.'"'.$ma->nachname.' '.$ma->vorname.'"'.$trenn); for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day) { $tag=date('d',$ts); - $wt=date('w',$ts); $monat=date('M',$ts); - if ($wt==0 || $wt==6) - $class='feiertag'; - else - $class=''; - echo '"'.$tagbez[$wt].' '.$tag.'.'.$monat.'"'.$trenn; + $wt=date('w',$ts); + $grund=$zs->getTyp($ts); + $erbk=$zs->getErreichbarkeit($ts); + echo '"'.$grund.' - '.$erbk.'"'.$trenn; } - $zs=new zeitsperre(); - foreach ($mitarbeiter as $ma) - { - $zs->getzeitsperren($ma->uid, false); - echo $crlf.'"'.$ma->nachname.' '.$ma->vorname.'"'.$trenn; - for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day) - { - $tag=date('d',$ts); - $monat=date('M',$ts); - $wt=date('w',$ts); - if ($wt==0 || $wt==6) - $class='feiertag'; - else - $class=''; - $grund=$zs->getTyp($ts); - $erbk=$zs->getErreichbarkeit($ts); - echo '"'.$grund.' - '.$erbk.'"'.$trenn; - } - } - ?> \ No newline at end of file +} +?> \ No newline at end of file diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php index 20480a661..02ef47f5d 100644 --- a/include/mitarbeiter.class.php +++ b/include/mitarbeiter.class.php @@ -433,7 +433,7 @@ class mitarbeiter extends benutzer } $sql_query.=' ORDER BY studiengang_kz, nachname, vorname, kurzbz'; //echo $sql_query; - + if(!$this->db_query($sql_query)) { $this->errormsg=$this->db_last_error(); diff --git a/system/checksystem.php b/system/checksystem.php index 497736e40..1bf0500d6 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -419,6 +419,11 @@ if(!@$db->db_query("SELECT steuernummer FROM public.tbl_firma LIMIT 1;")) SELECT firma_id, adresse_id, substring(tbl_firma.name for 16), tbl_firma.name FROM public.tbl_firma LEFT JOIN public.tbl_adresse USING(firma_id) WHERE tbl_adresse.person_id is null AND firma_id not in (SELECT firma_id FROM public.tbl_standort); + + INSERT INTO public.tbl_standort(firma_id, adresse_id, kurzbz, bezeichnung) + SELECT firma_id, null, substring(tbl_firma.name for 16), tbl_firma.name + FROM public.tbl_firma + WHERE firma_id not in (SELECT firma_id FROM public.tbl_standort); -- fk zum standort in tbl_mitarbeiter aendern ALTER TABLE public.tbl_mitarbeiter ADD COLUMN standort_id integer;