From 72210867a59bdb2c8409b34a0c846b45b6954b12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 17 Nov 2023 14:43:23 +0100 Subject: [PATCH] =?UTF-8?q?Suche=20an=20neue=20Vertragsstruktur=20angepass?= =?UTF-8?q?t=20und=20Feature-Toggle=20Config=20hinzugef=C3=BCgt=20zum=20Um?= =?UTF-8?q?schalten=20zwischen=20alter=20und=20neuer=20Vertragsstruktur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/suche.php | 52 +++++++++++++++++++++---- config/global.config-default.inc.php | 5 +++ system/dbupdate_3.4/28260_vertraege.php | 1 + 3 files changed, 50 insertions(+), 8 deletions(-) diff --git a/cis/private/tools/suche.php b/cis/private/tools/suche.php index 52dbc2385..54c912ae5 100644 --- a/cis/private/tools/suche.php +++ b/cis/private/tools/suche.php @@ -172,9 +172,6 @@ function searchPerson($searchItems) '; foreach($bn->result as $row) { - $bisverwendung = new bisverwendung(); - $bisverwendung->getLastAktVerwendung($row->uid); - echo ''; //echo '',$row->titelpre,''; echo '',$row->anrede,''; @@ -199,7 +196,7 @@ function searchPerson($searchItems) echo '',$row->nachname,''; if($row->aktiv==false) echo ' (ausgeschieden)'; - elseif($bisverwendung->beschausmasscode=='5') + elseif(isKarenziert($row->uid)) echo ' (karenziert)'; echo ''; //echo '',$row->titelpost,''; @@ -262,6 +259,47 @@ function searchPerson($searchItems) else return false; } + +function isKarenziert($uid) +{ + global $db; + + if(defined('DIENSTVERHAELTNIS_SUPPORT') && DIENSTVERHAELTNIS_SUPPORT) + { + $qry =" + SELECT + 1 + FROM + hr.tbl_dienstverhaeltnis + JOIN hr.tbl_vertragsbestandteil USING(dienstverhaeltnis_id) + JOIN hr.tbl_vertragsbestandteil_karenz USING(vertragsbestandteil_id) + WHERE + tbl_dienstverhaeltnis.mitarbeiter_uid=".$db->db_add_param($uid)." + AND tbl_vertragsbestandteil.von<=now() AND tbl_vertragsbestandteil.bis>=now() + "; + + if($result = $db->db_query($qry)) + { + if($db->db_num_rows($result)>0) + return true; + else + return false; + } + else + return false; + } + else + { + $bisverwendung = new bisverwendung(); + $bisverwendung->getLastAktVerwendung($uid); + + if($bisverwendung->beschausmasscode=='5') + return true; + else + return false; + } +} + function searchOE($searchItems) { global $db, $p, $noalias; @@ -332,8 +370,6 @@ function searchOE($searchItems) $mitarbeiter->load($bf->uid); $kontakt = new kontakt(); $kontakt->loadFirmaKontakttyp($mitarbeiter->standort_id,'telefon'); - $bisverwendung = new bisverwendung(); - $bisverwendung->getLastAktVerwendung($bf->uid); $benutzer = new benutzer($bf->uid); if ($benutzer->bnaktiv) { @@ -341,8 +377,8 @@ function searchOE($searchItems) echo ''.$person->vorname.''; echo '',$person->nachname,''; echo ''.$bf->bezeichnung; - if($bisverwendung->beschausmasscode=='5') - echo ' (karenziert)'; + if( isKarenziert($bf->uid)) + echo ' (karenziert)'; echo ''; // Display phone number diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index c4da2f6e3..370299d8b 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -322,4 +322,9 @@ define ('ZAHLUNGSBESTAETIGUNG_ZAHLUNGSREFERENZ_ANZEIGEN', false); define('DOCSBOX_ENABLED', false); +// Aktiviert Abfragen auf die Dienstverhaeltnisse im HR Schema anstatt auf die BIS-Verwendung +// Uebergangsphase bis zur entfernung der BIS-Verwendungen +// (true | false) +define('DIENSTVERHAELTNIS_SUPPORT', false); + ?> diff --git a/system/dbupdate_3.4/28260_vertraege.php b/system/dbupdate_3.4/28260_vertraege.php index f685f9385..81c96c6b8 100644 --- a/system/dbupdate_3.4/28260_vertraege.php +++ b/system/dbupdate_3.4/28260_vertraege.php @@ -350,6 +350,7 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_vertragsbestandteil_urlaubsanspruch TO vilesci; GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_vertragsbestandteil_kuendigungsfrist TO vilesci; GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_vertragsbestandteil_karenz TO vilesci; + GRANT SELECT ON hr.tbl_vertragsbestandteil_karenz TO web; GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_karenztyp TO vilesci; GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_teilzeittyp TO vilesci;