From d86b2b02fd433ed4bfd4d0a7ea441b943a5bf0b2 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Mon, 3 Apr 2023 07:47:14 +0200 Subject: [PATCH] =?UTF-8?q?DB=20Update:=20neue=20Aktivit=C3=A4t=20Pflegefs?= =?UTF-8?q?,=20Adaptierungen=20im=20core?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/zeitaufzeichnung.php | 12 ++++---- .../tools/zeitaufzeichnung_projektliste.php | 2 +- include/zeitaufzeichnung.class.php | 4 +-- system/dbupdate_3.4.php | 2 ++ .../27713_PflegeUrlaubStundenweise.php | 29 +++++++++++++++++++ 5 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 system/dbupdate_3.4/27713_PflegeUrlaubStundenweise.php diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 773582177..48ea2ead1 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -105,12 +105,12 @@ $fieldheadings = array( if ($rechte->isBerechtigt('basis/servicezeitaufzeichnung')) { $za_simple = 0; - $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'FuE','FuEallg', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung'); + $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'FuE','FuEallg', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung', 'Pflegefs'); } else { $za_simple = 1; - $activities = array('Admin', 'FuE','FuEallg','Lehre', 'Pause', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung'); + $activities = array('Admin', 'FuE','FuEallg','Lehre', 'Pause', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung', 'Pflegefs'); } $activities_str = "'".implode("','", $activities)."'"; @@ -1720,7 +1720,7 @@ if ($projekt->getProjekteMitarbeiter($user, true)) $pflichtpause = true; } } - elseif ($row->aktivitaet_kurzbz=='Ersatzruhe') + elseif ($row->aktivitaet_kurzbz=='Ersatzruhe' || $row->aktivitaet_kurzbz=='Pflegefs') { $ersumme = $datum_obj->sumZeit($ersumme, $row->diff); $ersumme_woche = $datum_obj->sumZeit($ersumme_woche, $row->diff); @@ -1730,7 +1730,7 @@ if ($projekt->getProjekteMitarbeiter($user, true)) $style = ''; if ($row->zeitaufzeichnung_id == $zeitaufzeichnung_id) $style = 'style="border-top: 3px solid #8DBDD8; border-bottom: 3px solid #8DBDD8"'; - if ($row->aktivitaet_kurzbz=='Pause' || $row->aktivitaet_kurzbz=='LehreExtern'|| $row->aktivitaet_kurzbz=='Ersatzruhe') + if ($row->aktivitaet_kurzbz=='Pause' || $row->aktivitaet_kurzbz=='LehreExtern'|| $row->aktivitaet_kurzbz=='Ersatzruhe' || $row->aktivitaet_kurzbz=='Pflegefs') $style .= ' style="color: grey;"'; if($db->convert_html_chars($row->homeoffice)=='t') { @@ -1779,10 +1779,10 @@ if ($projekt->getProjekteMitarbeiter($user, true)) echo "\n"; echo " \n"; - if (($tagesbeginn=='' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format='Y-m-d H:i:s')) > $datum->mktime_fromtimestamp($datum->formatDatum($row->start, $format='Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe') + if (($tagesbeginn=='' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format='Y-m-d H:i:s')) > $datum->mktime_fromtimestamp($datum->formatDatum($row->start, $format='Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe' && $row->aktivitaet_kurzbz != 'Pflegefs') $tagesbeginn = $row->start; - if (($tagesende=='' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesende, $format='Y-m-d H:i:s')) < $datum->mktime_fromtimestamp($datum->formatDatum($row->ende, $format='Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe') + if (($tagesende=='' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesende, $format='Y-m-d H:i:s')) < $datum->mktime_fromtimestamp($datum->formatDatum($row->ende, $format='Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe' && $row->aktivitaet_kurzbz != 'Pflegefs') $tagesende = $row->ende; if ($row->aktivitaet_kurzbz == 'LehreExtern') $extlehrearr[] = array("start"=>$row->start, "ende"=>$row->ende, "diff"=>$row->diff); diff --git a/cis/private/tools/zeitaufzeichnung_projektliste.php b/cis/private/tools/zeitaufzeichnung_projektliste.php index c96e816df..492d7a74c 100644 --- a/cis/private/tools/zeitaufzeichnung_projektliste.php +++ b/cis/private/tools/zeitaufzeichnung_projektliste.php @@ -96,7 +96,7 @@ $projektlines = array(); $dayStart = $dayEnd = ''; $projektnames = $projektphasenames = $tosubtract = $allpauseranges = array(); $projektTiteles = array(); -$activitiesToSubtract = ['Pause', 'LehreExtern', 'Arztbesuch', 'Behoerde'];//aktivitaetstypen which should be subtracted fromworktime +$activitiesToSubtract = ['Pause', 'LehreExtern', 'Arztbesuch', 'Behoerde', 'Pflegefs'];//aktivitaetstypen which should be subtracted fromworktime $ztaufdata = $ztauf->result; $totalmonthsum = 0.00; $projektmonthsums = array(); diff --git a/include/zeitaufzeichnung.class.php b/include/zeitaufzeichnung.class.php index 4db01ee7d..43af2b34b 100644 --- a/include/zeitaufzeichnung.class.php +++ b/include/zeitaufzeichnung.class.php @@ -901,10 +901,10 @@ or not exists $datumtag = $datum->formatDatum($row->datum, 'Y-m-d'); - if (($tagesbeginn == '' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format = 'Y-m-d H:i:s')) > $datum->mktime_fromtimestamp($datum->formatDatum($row->start, $format = 'Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe') + if (($tagesbeginn == '' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format = 'Y-m-d H:i:s')) > $datum->mktime_fromtimestamp($datum->formatDatum($row->start, $format = 'Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe' && $row->aktivitaet_kurzbz != 'Pflegefs') $tagesbeginn = $datum->formatDatum($row->start, 'H:i'); - if (($tagesende == '' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesende, $format = 'Y-m-d H:i:s')) < $datum->mktime_fromtimestamp($datum->formatDatum($row->ende, $format = 'Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe') + if (($tagesende == '' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesende, $format = 'Y-m-d H:i:s')) < $datum->mktime_fromtimestamp($datum->formatDatum($row->ende, $format = 'Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe' && $row->aktivitaet_kurzbz != 'Pflegefs') $tagesende = $datum->formatDatum($row->ende, 'H:i'); if ($row->aktivitaet_kurzbz == "Pause") diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index bc8152a90..707ef88c5 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -32,6 +32,8 @@ require_once('dbupdate_3.4/26173_index_webservicelog.php'); require_once('dbupdate_3.4/24682_reihungstest_zugangscode_fuer_login.php'); require_once('dbupdate_3.4/17512_fehlercode_constraints.php'); require_once('dbupdate_3.4/19154_beurteilungsformulare_pruefungssenat.php'); +require_once('dbupdate_3.4/27713_PflegeUrlaubStundenweise.php'); + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; diff --git a/system/dbupdate_3.4/27713_PflegeUrlaubStundenweise.php b/system/dbupdate_3.4/27713_PflegeUrlaubStundenweise.php new file mode 100644 index 000000000..e728f7af2 --- /dev/null +++ b/system/dbupdate_3.4/27713_PflegeUrlaubStundenweise.php @@ -0,0 +1,29 @@ +db_query("SELECT statusgrund_id FROM public.tbl_prestudentstatus LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudentstatus ADD COLUMN statusgrund_id integer; + ALTER TABLE public.tbl_prestudentstatus ADD CONSTRAINT fk_prestudentstatus_statusgrund FOREIGN KEY (statusgrund_id) REFERENCES public.tbl_status_grund (statusgrund_id) ON DELETE RESTRICT ON UPDATE CASCADE;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudentstatus: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudentstatus: Spalte statusgrund_id hinzugefuegt'; +} +*/ + +//Neue Aktitvitaet Pflegefreistellung +if($result = $db->db_query("SELECT 1 FROM fue.tbl_aktivitaet WHERE aktivitaet_kurzbz = 'Pflegefs'")) +{ + if($db->db_num_rows($result)==0) + { + $qry = "INSERT INTO fue.tbl_aktivitaet (aktivitaet_kurzbz, beschreibung) VALUES ('Pflegefs', 'Pflegefreistellung');"; + + if(!$db->db_query($qry)) + echo 'fue.tbl_aktivitaet: '.$db->db_last_error().'
'; + else + echo '
Aktivitaet Pflegefreistellung in fue.tbl_aktivitaet hinzugefügt'; + } +}