From 7a6d095b780e426bc3fefda216317d8a740e6c2e Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Thu, 29 Feb 2024 17:09:59 +0100 Subject: [PATCH 01/21] create db tables for fristenmanagement --- .../dbupdate_3.4/37107_fristenmanagement.php | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 system/dbupdate_3.4/37107_fristenmanagement.php diff --git a/system/dbupdate_3.4/37107_fristenmanagement.php b/system/dbupdate_3.4/37107_fristenmanagement.php new file mode 100644 index 000000000..84b828008 --- /dev/null +++ b/system/dbupdate_3.4/37107_fristenmanagement.php @@ -0,0 +1,62 @@ +db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_dienstverhaeltnis' AND table_schema='hr'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = " + CREATE TABLE IF NOT EXISTS hr.tbl_frist ( + frist_id bigserial NOT NULL, + mitarbeiter_uid character varying(32) NOT NULL, + ereignis_kurzbz character varying(32) NOT NULL, + bezeichnung varchar(255), + datum date, + status_kurzbz character varying(32) NOT NULL, + parameter jsonb NOT NULL, + insertvon character varying(32) NOT NULL, + insertamum timestamp without time zone DEFAULT now() NOT NULL, + updatevon character varying(32), + updateamum timestamp without time zone, + CONSTRAINT tbl_frist_pkey PRIMARY KEY (frist_id) + ); + + CREATE TABLE IF NOT EXISTS hr.tbl_frist_ereignis ( + ereignis_kurzbz character varying(32) NOT NULL, + bezeichnung varchar(32) NOT NULL, + manuell boolean DEFAULT FALSE, + CONSTRAINT tbl_ereignis_pkey PRIMARY KEY (ereignis_kurzbz) + ); + + COMMENT ON TABLE hr.tbl_frist_status IS E'Key-Table of fristen (deadline) events'; + + CREATE TABLE IF NOT EXISTS hr.tbl_frist_status + status_kurzbz character varying(32) NOT NULL, + bezeichnung varchar(32), + CONSTRAINT tbl_frist_status_pk PRIMARY KEY (status_kurzbz) + ); + + COMMENT ON TABLE hr.tbl_frist_status IS E'Key-Table of fristen status (new, done)'; + + ALTER TABLE hr.tbl_frist ADD CONSTRAINT hr.tbl_frist_mitarbeiter_uid_fk FOREIGN KEY (mitarbeiter_uid) + REFERENCES public.tbl_mitarbeiter (mitarbeiter_uid) MATCH FULL + ON DELETE SET NULL ON UPDATE CASCADE; + + ALTER TABLE hr.tbl_frist ADD CONSTRAINT hr.tbl_frist_ereignis_kurzbz_fk FOREIGN KEY (ereignis_kurzbz) + REFERENCES hr.tbl_frist_ereignis (ereignis_kurzbz) MATCH FULL + ON DELETE SET NULL ON UPDATE CASCADE; + + ALTER TABLE hr.tbl_frist ADD CONSTRAINT hr.tbl_frist_status_kurzbz_fk FOREIGN KEY (status_kurzbz) + REFERENCES hr.tbl_frist_status (status_kurzbz) MATCH FULL + ON DELETE SET NULL ON UPDATE CASCADE; + + + + "; + + if (! $db->db_query($qry)) + echo 'Fristenmanagement: ' . $db->db_last_error() . '
'; + else + echo 'Fristenmanagementtabellen wurden neu erstellt'; + } +} From c60f7ed8b0e467644299be9233cf8e8adee1cf3a Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Fri, 1 Mar 2024 15:43:15 +0100 Subject: [PATCH 02/21] dbUpdate for fristenmanagement completed --- system/dbupdate_3.4.php | 4 ++++ .../dbupdate_3.4/37107_fristenmanagement.php | 20 ++++++++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index c8669de28..d32185c6e 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -49,6 +49,7 @@ require_once('dbupdate_3.4/30181_tabelle_anrechnung_neue_attribute_fuer_begruend require_once('dbupdate_3.4/29529_infocenter_anpassungen.php'); require_once('dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php'); require_once('dbupdate_3.4/33714_erhoehter_studienbeitrag_fuer_drittsaatenangehoerig.php'); +require_once('dbupdate_3.4/37107_fristenmanagement.php'); // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen @@ -176,6 +177,9 @@ $tabellen=array( "hr.tbl_gehaltsbestandteil" => array("gehaltsbestandteil_id","dienstverhaeltnis_id","vertragsbestandteil_id","gehaltstyp_kurzbz","von","bis","anmerkung","grundbetrag","betrag_valorisiert","valorisierungssperre","insertamum", "insertvon","updateamum","updatevon","valorisierung","auszahlungen"), "hr.tbl_gehaltshistorie" => array("gehaltshistorie_id", "datum","betrag","gehaltsbestandteil_id","mitarbeiter_uid"), "hr.tbl_gehaltstyp" => array("gehaltstyp_kurzbz","bezeichnung","valorisierung","sort","aktiv"), + "hr.tbl_frist" => array("frist_id","mitarbeiter_uid","ereignis_kurzbz","bezeichnung","datum","status_kurzbz","parameter","insertvon","insertamum","updatevon","updateamum"), + "hr.tbl_frist_ereignis" => array("ereignis_kurzbz","bezeichnung","manuell"), + "hr.tbl_frist_status" => array("status_kurzbz", "bezeichnung"), "lehre.tbl_abschlussbeurteilung" => array("abschlussbeurteilung_kurzbz","bezeichnung","bezeichnung_english","sort"), "lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","uhrzeit","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note","protokoll","endezeit","pruefungsantritt_kurzbz","freigabedatum"), "lehre.tbl_abschlusspruefung_antritt" => array("pruefungsantritt_kurzbz","bezeichnung","bezeichnung_english","sort"), diff --git a/system/dbupdate_3.4/37107_fristenmanagement.php b/system/dbupdate_3.4/37107_fristenmanagement.php index 84b828008..678f41d67 100644 --- a/system/dbupdate_3.4/37107_fristenmanagement.php +++ b/system/dbupdate_3.4/37107_fristenmanagement.php @@ -28,9 +28,9 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table CONSTRAINT tbl_ereignis_pkey PRIMARY KEY (ereignis_kurzbz) ); - COMMENT ON TABLE hr.tbl_frist_status IS E'Key-Table of fristen (deadline) events'; + COMMENT ON TABLE hr.tbl_frist_ereignis IS E'Key-Table of fristen (deadline) events'; - CREATE TABLE IF NOT EXISTS hr.tbl_frist_status + CREATE TABLE IF NOT EXISTS hr.tbl_frist_status ( status_kurzbz character varying(32) NOT NULL, bezeichnung varchar(32), CONSTRAINT tbl_frist_status_pk PRIMARY KEY (status_kurzbz) @@ -38,18 +38,28 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table COMMENT ON TABLE hr.tbl_frist_status IS E'Key-Table of fristen status (new, done)'; - ALTER TABLE hr.tbl_frist ADD CONSTRAINT hr.tbl_frist_mitarbeiter_uid_fk FOREIGN KEY (mitarbeiter_uid) + ALTER TABLE hr.tbl_frist ADD CONSTRAINT tbl_frist_mitarbeiter_uid_fk FOREIGN KEY (mitarbeiter_uid) REFERENCES public.tbl_mitarbeiter (mitarbeiter_uid) MATCH FULL ON DELETE SET NULL ON UPDATE CASCADE; - ALTER TABLE hr.tbl_frist ADD CONSTRAINT hr.tbl_frist_ereignis_kurzbz_fk FOREIGN KEY (ereignis_kurzbz) + ALTER TABLE hr.tbl_frist ADD CONSTRAINT tbl_frist_ereignis_kurzbz_fk FOREIGN KEY (ereignis_kurzbz) REFERENCES hr.tbl_frist_ereignis (ereignis_kurzbz) MATCH FULL ON DELETE SET NULL ON UPDATE CASCADE; - ALTER TABLE hr.tbl_frist ADD CONSTRAINT hr.tbl_frist_status_kurzbz_fk FOREIGN KEY (status_kurzbz) + ALTER TABLE hr.tbl_frist ADD CONSTRAINT tbl_frist_status_kurzbz_fk FOREIGN KEY (status_kurzbz) REFERENCES hr.tbl_frist_status (status_kurzbz) MATCH FULL ON DELETE SET NULL ON UPDATE CASCADE; + GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_frist TO vilesci; + GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_frist_status TO vilesci; + GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_frist_ereignis TO vilesci; + + INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung) VALUES('neu','Neu'); + INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung) VALUES('erledigt','Erledigt'); + + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung) VALUES('dv_beginn','DV Beginn'); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung) VALUES('dv_ende','DV Ende'); + "; From 77666e5210d7616453bd69390b5a2183f4b169c0 Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Wed, 6 Mar 2024 08:27:39 +0100 Subject: [PATCH 03/21] added column verantwortlich_uid --- system/dbupdate_3.4/37107_fristenmanagement.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/system/dbupdate_3.4/37107_fristenmanagement.php b/system/dbupdate_3.4/37107_fristenmanagement.php index 678f41d67..d63bae80d 100644 --- a/system/dbupdate_3.4/37107_fristenmanagement.php +++ b/system/dbupdate_3.4/37107_fristenmanagement.php @@ -8,7 +8,8 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table $qry = " CREATE TABLE IF NOT EXISTS hr.tbl_frist ( frist_id bigserial NOT NULL, - mitarbeiter_uid character varying(32) NOT NULL, + mitarbeiter_uid character varying(32), + verantwortlich_uid character varying(32), ereignis_kurzbz character varying(32) NOT NULL, bezeichnung varchar(255), datum date, @@ -42,6 +43,10 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table REFERENCES public.tbl_mitarbeiter (mitarbeiter_uid) MATCH FULL ON DELETE SET NULL ON UPDATE CASCADE; + ALTER TABLE hr.tbl_frist ADD CONSTRAINT tbl_frist_verantwortlich_uid_fk FOREIGN KEY (verantwortlich_uid) + REFERENCES public.tbl_mitarbeiter (mitarbeiter_uid) MATCH FULL + ON DELETE SET NULL ON UPDATE CASCADE; + ALTER TABLE hr.tbl_frist ADD CONSTRAINT tbl_frist_ereignis_kurzbz_fk FOREIGN KEY (ereignis_kurzbz) REFERENCES hr.tbl_frist_ereignis (ereignis_kurzbz) MATCH FULL ON DELETE SET NULL ON UPDATE CASCADE; @@ -55,6 +60,7 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_frist_ereignis TO vilesci; INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung) VALUES('neu','Neu'); + INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung) VALUES('in_bearbeitung','In Bearbeitung'); INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung) VALUES('erledigt','Erledigt'); INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung) VALUES('dv_beginn','DV Beginn'); From e28627a676d78bfc25ba0b82a55db1c5e9deddb7 Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Tue, 12 Mar 2024 17:34:13 +0100 Subject: [PATCH 04/21] removed verantwortlich column from tbl_frist --- system/dbupdate_3.4/37107_fristenmanagement.php | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/system/dbupdate_3.4/37107_fristenmanagement.php b/system/dbupdate_3.4/37107_fristenmanagement.php index d63bae80d..68811fd18 100644 --- a/system/dbupdate_3.4/37107_fristenmanagement.php +++ b/system/dbupdate_3.4/37107_fristenmanagement.php @@ -1,15 +1,14 @@ db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_dienstverhaeltnis' AND table_schema='hr'")) +if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_frist' AND table_schema='hr'")) { if ($db->db_num_rows($result) == 0) { $qry = " CREATE TABLE IF NOT EXISTS hr.tbl_frist ( frist_id bigserial NOT NULL, - mitarbeiter_uid character varying(32), - verantwortlich_uid character varying(32), + mitarbeiter_uid character varying(32), ereignis_kurzbz character varying(32) NOT NULL, bezeichnung varchar(255), datum date, @@ -43,10 +42,6 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table REFERENCES public.tbl_mitarbeiter (mitarbeiter_uid) MATCH FULL ON DELETE SET NULL ON UPDATE CASCADE; - ALTER TABLE hr.tbl_frist ADD CONSTRAINT tbl_frist_verantwortlich_uid_fk FOREIGN KEY (verantwortlich_uid) - REFERENCES public.tbl_mitarbeiter (mitarbeiter_uid) MATCH FULL - ON DELETE SET NULL ON UPDATE CASCADE; - ALTER TABLE hr.tbl_frist ADD CONSTRAINT tbl_frist_ereignis_kurzbz_fk FOREIGN KEY (ereignis_kurzbz) REFERENCES hr.tbl_frist_ereignis (ereignis_kurzbz) MATCH FULL ON DELETE SET NULL ON UPDATE CASCADE; From 426a43955247d8b7e3ad1ae09881186886b75608 Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Wed, 20 Mar 2024 00:13:55 +0100 Subject: [PATCH 05/21] added sort column to frist --- .../dbupdate_3.4/37107_fristenmanagement.php | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/system/dbupdate_3.4/37107_fristenmanagement.php b/system/dbupdate_3.4/37107_fristenmanagement.php index 68811fd18..eeb32380e 100644 --- a/system/dbupdate_3.4/37107_fristenmanagement.php +++ b/system/dbupdate_3.4/37107_fristenmanagement.php @@ -25,6 +25,7 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table ereignis_kurzbz character varying(32) NOT NULL, bezeichnung varchar(32) NOT NULL, manuell boolean DEFAULT FALSE, + sort smallint, CONSTRAINT tbl_ereignis_pkey PRIMARY KEY (ereignis_kurzbz) ); @@ -33,6 +34,7 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table CREATE TABLE IF NOT EXISTS hr.tbl_frist_status ( status_kurzbz character varying(32) NOT NULL, bezeichnung varchar(32), + sort smallint, CONSTRAINT tbl_frist_status_pk PRIMARY KEY (status_kurzbz) ); @@ -54,13 +56,19 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_frist_status TO vilesci; GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_frist_ereignis TO vilesci; - INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung) VALUES('neu','Neu'); - INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung) VALUES('in_bearbeitung','In Bearbeitung'); - INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung) VALUES('erledigt','Erledigt'); - - INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung) VALUES('dv_beginn','DV Beginn'); - INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung) VALUES('dv_ende','DV Ende'); + INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung, sort) VALUES('neu','Neu', 1); + INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung, sort) VALUES('in_bearbeitung','In Bearbeitung', 2); + INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung, sort) VALUES('erledigt','Erledigt', 3); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('dv_beginn','DV Beginn', 1); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('dv_ende','DV Ende', 2); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('stunden_beginn','Stunden Beginn', 3); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('stunden_ende','Stunden Ende', 4); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('karenz_beginn','Karenz Beginn', 5); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('karenz_ende','Karenz Ende', 6); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('zeitaufzeichnung_beginn','Zeitaufzeichnung Beginn', 7); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('zeitaufzeichnung_ende','Zeitaufzeichnung Ende', 8); + INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell','Manuell', true, 9); "; From 5cabac62d7ce7b58f5d669f6e6fc242e962909ae Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Tue, 2 Apr 2024 18:33:37 +0200 Subject: [PATCH 06/21] add frist events for befristung --- system/dbupdate_3.4/37107_fristenmanagement.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/system/dbupdate_3.4/37107_fristenmanagement.php b/system/dbupdate_3.4/37107_fristenmanagement.php index eeb32380e..c1b465107 100644 --- a/system/dbupdate_3.4/37107_fristenmanagement.php +++ b/system/dbupdate_3.4/37107_fristenmanagement.php @@ -68,7 +68,9 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('karenz_ende','Karenz Ende', 6); INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('zeitaufzeichnung_beginn','Zeitaufzeichnung Beginn', 7); INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('zeitaufzeichnung_ende','Zeitaufzeichnung Ende', 8); - INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell','Manuell', true, 9); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('befristung_beginn','Befristung Beginn', 9); + INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('befristung_ende','Befristung Ende', 10); + INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell','Manuell', true, 11); "; From f2ba0fd4694fb212fe3eb7293125aa7a61c0865f Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Sun, 7 Apr 2024 00:33:25 +0200 Subject: [PATCH 07/21] update phrases and added events for fristenmanagement --- .../dbupdate_3.4/37107_fristenmanagement.php | 5 +- system/phrasesupdate.php | 202 +++++++++++++++++- 2 files changed, 205 insertions(+), 2 deletions(-) diff --git a/system/dbupdate_3.4/37107_fristenmanagement.php b/system/dbupdate_3.4/37107_fristenmanagement.php index c1b465107..68eda70b0 100644 --- a/system/dbupdate_3.4/37107_fristenmanagement.php +++ b/system/dbupdate_3.4/37107_fristenmanagement.php @@ -70,7 +70,10 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('zeitaufzeichnung_ende','Zeitaufzeichnung Ende', 8); INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('befristung_beginn','Befristung Beginn', 9); INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('befristung_ende','Befristung Ende', 10); - INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell','Manuell', true, 11); + INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell1','Manuell 1', true, 11); + INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell2','Manuell 2', true, 12); + INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell3','Manuell 3', true, 13); + INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell4','Manuell 4', true, 14); "; diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 631ca9627..52c0dd758 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -24074,7 +24074,207 @@ array( 'insertvon' => 'system' ) ) - ), + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'frist', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Frist', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Deadline', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'todo', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'To Do', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'To Do', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'fristStatusGespeichert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Status gespeichert.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Status saved.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'fristGespeichert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Frist gespeichert.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Deadline saved.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'fristGeloescht', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Frist gelöscht.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Deadline deleted.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'fristenAktualisiert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Fristen aktualisiert.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Deadlines updated.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'termin_frist', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Termin/Frist', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Date/Deadline', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'ereignis', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Ereignis', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Event', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'status', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Status', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Status', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'fristenmanagement', + 'phrase' => 'mitarbeiterin', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'MitarbeiterIn', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Employee', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), // Personalverwaltung end array( 'app' => 'core', From 026a276c020486ad89913dcd24dcbf8971993ec4 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Tue, 9 Apr 2024 11:11:03 +0200 Subject: [PATCH 08/21] add grant on frist_id sequence --- system/dbupdate_3.4/37107_fristenmanagement.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/system/dbupdate_3.4/37107_fristenmanagement.php b/system/dbupdate_3.4/37107_fristenmanagement.php index 68eda70b0..ee023b13e 100644 --- a/system/dbupdate_3.4/37107_fristenmanagement.php +++ b/system/dbupdate_3.4/37107_fristenmanagement.php @@ -56,6 +56,8 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_frist_status TO vilesci; GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_frist_ereignis TO vilesci; + GRANT USAGE ON hr.tbl_frist_frist_id_seq TO vilesci; + INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung, sort) VALUES('neu','Neu', 1); INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung, sort) VALUES('in_bearbeitung','In Bearbeitung', 2); INSERT INTO hr.tbl_frist_status(status_kurzbz, bezeichnung, sort) VALUES('erledigt','Erledigt', 3); From 56900e31dbb326acdbb3f961a6b02ed9fd9508c3 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Tue, 9 Apr 2024 15:08:32 +0200 Subject: [PATCH 09/21] add table hr.tbl_dvendegrund, add columns dvendegrund_kurzbz and dvendegrund_anmerkung to hr.tbl_dienstverhaeltnis --- system/dbupdate_3.4/28260_vertraege.php | 64 +++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/system/dbupdate_3.4/28260_vertraege.php b/system/dbupdate_3.4/28260_vertraege.php index 91a9e2cc9..73ff02608 100644 --- a/system/dbupdate_3.4/28260_vertraege.php +++ b/system/dbupdate_3.4/28260_vertraege.php @@ -440,3 +440,67 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table echo 'HR Schema und Vertagstabellen wurden neu erstellt'; } } + +if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_dvendegrund' AND table_schema='hr'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = " + CREATE TABLE hr.tbl_dvendegrund ( + dvendegrund_kurzbz character varying(32) NOT NULL , + bezeichnung character varying(255) NOT NULL, + bezeichnung_mehrsprachig character varying(255)[] NOT NULL, + aktiv boolean DEFAULT true NOT NULL, + sort integer DEFAULT 1 NOT NULL, + PRIMARY KEY (dvendegrund_kurzbz), + CONSTRAINT tbl_dvendegrund_bezeichnung_key UNIQUE (bezeichnung) + ); + "; + if (! $db->db_query($qry)) + echo 'Vertraege: ' . $db->db_last_error() . '
'; + else + echo 'Tabelle tbl_dvendegrund wurde im HR Schema neu erstellt'; + } +} + +if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE column_name='dvendegrund_kurzbz' AND table_name='tbl_dienstverhaeltnis' AND table_schema='hr'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = " + ALTER TABLE + hr.tbl_dienstverhaeltnis + ADD COLUMN + dvendegrund_kurzbz character varying(255) + CONSTRAINT + tbl_dvendegrund_fk + REFERENCES + hr.tbl_dvendegrund(dvendegrund_kurzbz) + ON UPDATE + cascade + ON DELETE + restrict + "; + if (! $db->db_query($qry)) + echo 'Vertraege: ' . $db->db_last_error() . '
'; + else + echo 'Spalte dvendegrund_kurzbz wurde in hr.tbl_dienstverhaeltnis neu erstellt'; + } +} + +if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE column_name='dvendegrund_anmerkung' AND table_name='tbl_dienstverhaeltnis' AND table_schema='hr'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = " + ALTER TABLE + hr.tbl_dienstverhaeltnis + ADD COLUMN + dvendegrund_anmerkung character varying(255) + "; + if (! $db->db_query($qry)) + echo 'Vertraege: ' . $db->db_last_error() . '
'; + else + echo 'Spalte dvendegrund_anmerkung wurde in hr.tbl_dienstverhaeltnis neu erstellt'; + } +} \ No newline at end of file From a9818e1f63720838918f493a7cf002d4a8bec3d6 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Tue, 9 Apr 2024 15:27:47 +0200 Subject: [PATCH 10/21] add initial values to hr.tbl_dvendegrund --- system/dbupdate_3.4/28260_vertraege.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/system/dbupdate_3.4/28260_vertraege.php b/system/dbupdate_3.4/28260_vertraege.php index 73ff02608..8f1b81290 100644 --- a/system/dbupdate_3.4/28260_vertraege.php +++ b/system/dbupdate_3.4/28260_vertraege.php @@ -437,7 +437,7 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table if (! $db->db_query($qry)) echo 'Vertraege: ' . $db->db_last_error() . '
'; else - echo 'HR Schema und Vertagstabellen wurden neu erstellt'; + echo 'HR Schema und Vertagstabellen wurden neu erstellt
'; } } @@ -455,11 +455,20 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table PRIMARY KEY (dvendegrund_kurzbz), CONSTRAINT tbl_dvendegrund_bezeichnung_key UNIQUE (bezeichnung) ); + + INSERT INTO + hr.tbl_dvendegrund (dvendegrund_kurzbz, bezeichnung, bezeichnung_mehrsprachig) + VALUES + ('kuendigung_arbeitnehmer', 'Kündigung durch Arbeitnehmer', ARRAY['Kündigung durch Arbeitnehmer', 'Cancellation by Employee']), + ('kuendigung_arbeitgeber', 'Kündigung durch Arbeitgeber', ARRAY['Kündigung durch Arbeitgeber', 'Cancellation by Employer']), + ('entlassung', 'Entlassung', ARRAY['Entlassung', 'Dismissal']), + ('sonstige', 'Sonstige', ARRAY['Sonstige', 'Miscellaneous']), + ('einvernehmlich', 'Einvernehmliche Auflösung', ARRAY['Einvernehmliche Auflösung', 'Rescission']); "; if (! $db->db_query($qry)) echo 'Vertraege: ' . $db->db_last_error() . '
'; else - echo 'Tabelle tbl_dvendegrund wurde im HR Schema neu erstellt'; + echo 'Tabelle tbl_dvendegrund wurde im HR Schema neu erstellt
'; } } @@ -484,7 +493,7 @@ if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE colu if (! $db->db_query($qry)) echo 'Vertraege: ' . $db->db_last_error() . '
'; else - echo 'Spalte dvendegrund_kurzbz wurde in hr.tbl_dienstverhaeltnis neu erstellt'; + echo 'Spalte dvendegrund_kurzbz wurde in hr.tbl_dienstverhaeltnis neu erstellt
'; } } @@ -501,6 +510,6 @@ if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE colu if (! $db->db_query($qry)) echo 'Vertraege: ' . $db->db_last_error() . '
'; else - echo 'Spalte dvendegrund_anmerkung wurde in hr.tbl_dienstverhaeltnis neu erstellt'; + echo 'Spalte dvendegrund_anmerkung wurde in hr.tbl_dienstverhaeltnis neu erstellt
'; } } \ No newline at end of file From 1a1cd76bc4fb6f882c6d9eac527577badd93b8c5 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Tue, 9 Apr 2024 15:42:00 +0200 Subject: [PATCH 11/21] add grant on hr.tbl_dvendegrund to user vilesci --- system/dbupdate_3.4/28260_vertraege.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/system/dbupdate_3.4/28260_vertraege.php b/system/dbupdate_3.4/28260_vertraege.php index 8f1b81290..58a895483 100644 --- a/system/dbupdate_3.4/28260_vertraege.php +++ b/system/dbupdate_3.4/28260_vertraege.php @@ -455,7 +455,9 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table PRIMARY KEY (dvendegrund_kurzbz), CONSTRAINT tbl_dvendegrund_bezeichnung_key UNIQUE (bezeichnung) ); - + + GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_dvendegrund TO vilesci; + INSERT INTO hr.tbl_dvendegrund (dvendegrund_kurzbz, bezeichnung, bezeichnung_mehrsprachig) VALUES From e11dd21a1e43fe019772f72c7028049bd5fcb394 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Tue, 9 Apr 2024 16:35:00 +0200 Subject: [PATCH 12/21] add parameter dvendegrund_kurzbz and dvendegrund_anmerkung --- .../vertragsbestandteil/Dienstverhaeltnis.php | 33 ++++++++++++++++++- .../VertragsbestandteilLib.php | 10 +++++- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/application/libraries/vertragsbestandteil/Dienstverhaeltnis.php b/application/libraries/vertragsbestandteil/Dienstverhaeltnis.php index 309d3dfdc..07c417077 100644 --- a/application/libraries/vertragsbestandteil/Dienstverhaeltnis.php +++ b/application/libraries/vertragsbestandteil/Dienstverhaeltnis.php @@ -29,6 +29,9 @@ class Dienstverhaeltnis extends AbstractBestandteil { protected $updateamum; protected $updatevon; + protected $dvendegrund_kurzbz; + protected $dvendegrund_anmerkung; + public function __construct() { parent::__construct(); @@ -49,6 +52,8 @@ class Dienstverhaeltnis extends AbstractBestandteil { isset($data->insertvon) && $this->setInsertvon($data->insertvon); isset($data->updateamum) && $this->setUpdateamum($data->updateamum); isset($data->updatevon) && $this->setUpdatevon($data->updatevon); + isset($data->dvendegrund_kurzbz) && $this->setDvendegrund_kurzbz($data->dvendegrund_kurzbz); + isset($data->dvendegrund_anmerkung) && $this->setDvendegrund_anmerkung($data->dvendegrund_anmerkung); $this->fromdb = false; } @@ -64,7 +69,9 @@ class Dienstverhaeltnis extends AbstractBestandteil { 'insertamum' => $this->getInsertamum(), 'insertvon' => $this->getInsertvon(), 'updateamum' => $this->getUpdateamum(), - 'updatevon' => $this->getUpdatevon() + 'updatevon' => $this->getUpdatevon(), + 'dvendegrund_kurzbz' => $this->getDvendegrund_kurzbz(), + 'dvendegrund_anmerkung' => $this->getDvendegrund_anmerkung() ); $tmp = array_filter($tmp, function($k) { @@ -139,6 +146,16 @@ EOTXT; return $this->updatevon; } + public function getDvendegrund_kurzbz() + { + return $this->dvendegrund_kurzbz; + } + + public function getDvendegrund_anmerkung() + { + return $this->dvendegrund_anmerkung; + } + public function setDienstverhaeltnis_id($dienstverhaeltnis_id) { $this->markDirty('dienstverhaeltnis_id', $this->dienstverhaeltnis_id, $dienstverhaeltnis_id); @@ -214,6 +231,20 @@ EOTXT; return $this; } + public function setDvendegrund_kurzbz($dvendegrund_kurzbz) + { + $this->markDirty('dvendegrund_kurzbz', $this->dvendegrund_kurzbz, $dvendegrund_kurzbz); + $this->dvendegrund_kurzbz = $dvendegrund_kurzbz; + return $this; + } + + public function setDvendegrund_anmerkung($dvendegrund_anmerkung) + { + $this->markDirty('dvendegrund_anmerkung', $this->dvendegrund_anmerkung, $dvendegrund_anmerkung); + $this->dvendegrund_anmerkung = $dvendegrund_anmerkung; + return $this; + } + public function validate() { //do Validation here $ci = get_instance(); diff --git a/application/libraries/vertragsbestandteil/VertragsbestandteilLib.php b/application/libraries/vertragsbestandteil/VertragsbestandteilLib.php index 297896a02..b58c514e1 100644 --- a/application/libraries/vertragsbestandteil/VertragsbestandteilLib.php +++ b/application/libraries/vertragsbestandteil/VertragsbestandteilLib.php @@ -435,7 +435,7 @@ class VertragsbestandteilLib return $result; } - public function endDienstverhaeltnis(Dienstverhaeltnis $dv, $enddate) + public function endDienstverhaeltnis(Dienstverhaeltnis $dv, $enddate, $dvendegrund_kurzbz=null, $dvendegrund_anmerkung=null) { if( $dv->getBis() !== null && $dv->getBis() < $enddate ) { @@ -460,6 +460,14 @@ class VertragsbestandteilLib $this->endVertragsbestandteil($vb, $enddate); } + if( $dvendegrund_kurzbz !== null ) + { + $dv->setDvendegrund_kurzbz($dvendegrund_kurzbz); + } + if( $dvendegrund_anmerkung !== null ) + { + $dv->setDvendegrund_anmerkung($dvendegrund_anmerkung); + } $dv->setBis($enddate); $this->updateDienstverhaeltnis($dv); From 94224f7ef753d5f52911d3079617325957f4a6d9 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Wed, 10 Apr 2024 14:28:07 +0200 Subject: [PATCH 13/21] dvendegrund Ablauf durch Zeit added --- system/dbupdate_3.4/28260_vertraege.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/system/dbupdate_3.4/28260_vertraege.php b/system/dbupdate_3.4/28260_vertraege.php index 58a895483..d6729f7e3 100644 --- a/system/dbupdate_3.4/28260_vertraege.php +++ b/system/dbupdate_3.4/28260_vertraege.php @@ -465,7 +465,8 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table ('kuendigung_arbeitgeber', 'Kündigung durch Arbeitgeber', ARRAY['Kündigung durch Arbeitgeber', 'Cancellation by Employer']), ('entlassung', 'Entlassung', ARRAY['Entlassung', 'Dismissal']), ('sonstige', 'Sonstige', ARRAY['Sonstige', 'Miscellaneous']), - ('einvernehmlich', 'Einvernehmliche Auflösung', ARRAY['Einvernehmliche Auflösung', 'Rescission']); + ('einvernehmlich', 'Einvernehmliche Auflösung', ARRAY['Einvernehmliche Auflösung', 'Rescission']), + ('ablaufzeit', 'Ablauf durch Zeit', ARRAY['Ablauf durch Zeit', 'Expired by lapse of time']); "; if (! $db->db_query($qry)) echo 'Vertraege: ' . $db->db_last_error() . '
'; @@ -514,4 +515,4 @@ if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE colu else echo 'Spalte dvendegrund_anmerkung wurde in hr.tbl_dienstverhaeltnis neu erstellt
'; } -} \ No newline at end of file +} From b2deea69623674030a71c1dbbdf471857d592943 Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Wed, 17 Apr 2024 16:40:12 +0200 Subject: [PATCH 14/21] added db schema for Gehaltsbaender --- system/dbupdate_3.4/37133_gehaltsbaender.php | 85 ++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 system/dbupdate_3.4/37133_gehaltsbaender.php diff --git a/system/dbupdate_3.4/37133_gehaltsbaender.php b/system/dbupdate_3.4/37133_gehaltsbaender.php new file mode 100644 index 000000000..3c34883f6 --- /dev/null +++ b/system/dbupdate_3.4/37133_gehaltsbaender.php @@ -0,0 +1,85 @@ +db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_frist' AND table_schema='hr'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = " + + CREATE TABLE IF NOT EXISTS hr.tbl_gehaltsband ( + gehaltsband_kurzbz character varying(32) NOT NULL, + bezeichnung varchar(32) NOT NULL, + aktiv boolean DEFAULT FALSE, + sort smallint, + insertvon character varying(32) NOT NULL, + insertamum timestamp without time zone DEFAULT now() NOT NULL, + updatevon character varying(32), + updateamum timestamp without time zone, + CONSTRAINT tbl_gehaltsband_pkey PRIMARY KEY (gehaltsband_kurzbz) + ); + + CREATE TABLE IF NOT EXISTS hr.tbl_gehaltsband_funktion ( + gehaltsband_funktion_id bigserial NOT NULL, + gehaltsband_kurzbz varchar(32) NOT NULL, + funktion_kurzbz varchar(32) NOT NULL, + oe_kurzbz varchar(32), + organisationseinheittyp_kurzbz varchar(32), + insertvon character varying(32) NOT NULL, + insertamum timestamp without time zone DEFAULT now() NOT NULL, + updatevon character varying(32), + updateamum timestamp without time zone + ); + + CREATE TABLE IF NOT EXISTS hr.tbl_gehaltsband_betrag ( + gehaltsband_betrag_id bigserial NOT NULL, + gehaltsband_kurzbz character varying(32) NOT NULL, + von date, + bis date, + betrag_von numeric(9,5), + betrag_bis numeric(9,5), + insertvon character varying(32) NOT NULL, + insertamum timestamp without time zone DEFAULT now() NOT NULL, + updatevon character varying(32), + updateamum timestamp without time zone, + CONSTRAINT tbl_gehaltsband_betrag_pkey PRIMARY KEY (gehaltsband_betrag_id) + ); + + ALTER TABLE hr.tbl_gehaltsband_betrag ADD CONSTRAINT tbl_gehaltsband_betrag_gehaltsband_kurzbz_fk FOREIGN KEY (gehaltsband_kurzbz) + REFERENCES hr.tbl_gehaltsband (gehaltsband_kurzbz) MATCH FULL + ON DELETE SET NULL ON UPDATE CASCADE; + + ALTER TABLE hr.tbl_gehaltsband_funktion ADD CONSTRAINT tbl_gehaltsband_funktion_oe_kurzbz_fk FOREIGN KEY (oe_kurzbz) + REFERENCES public.tbl_organisationseinheit (oe_kurzbz) MATCH FULL + ON DELETE SET NULL ON UPDATE CASCADE; + + ALTER TABLE hr.tbl_gehaltsband_funktion ADD CONSTRAINT tbl_gehaltsband_funktion_organisationseinheittyp_kurzbz_fk FOREIGN KEY (organisationseinheittyp_kurzbz) + REFERENCES public.tbl_organisationseinheittyp (organisationseinheittyp_kurzbz) MATCH FULL + ON DELETE SET NULL ON UPDATE CASCADE; + + COMMENT ON TABLE hr.tbl_gehaltsband IS E'Definition of salary range types'; + COMMENT ON TABLE hr.tbl_gehaltsband_funktion IS E'job functions assigned to salary range'; + COMMENT ON TABLE hr.tbl_gehaltsband_betrag IS E'salary range (time dependend)'; + + GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_gehaltsband TO vilesci; + GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_gehaltsband_betrag TO vilesci; + GRANT USAGE ON hr.tbl_gehaltsband_betrag_gehaltsband_betrag_id_seq TO vilesci; + GRANT USAGE ON hr.tbl_gehaltsband_funktion_gehaltsband_funktion_id_seq TO vilesci; + + INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('ASSISTENTIN','AssistentIn', 't', 1, 'system'); + INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('JUNIOR_LECTURER_RESEARCHER','Junior Lecturer/Researcher', 't', 2, 'system'); + INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('LECTURER_RESEARCHER','Lecturer/Researcher', 't', 3, 'system'); + INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('SENIOR_LECTURER_RESEARCHER','Senior Lecturer/Researcher', 't', 4, 'system'); + INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('STUDIENGANGSLEITERIN','StudiengangsleiterIn', 't', 5, 'system'); + INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('KOMPETENZFELDLEITERIN','KompetanzfeldleiterIn', 't', 6, 'system'); + INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('DEPARTMENTLEITERIN','DepartmentleiterIn', 't', 7, 'system'); + INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('FAKULTAETSLEITERIN','FakultätsleiterIn', 't', 8, 'system'); + + "; + + if (! $db->db_query($qry)) + echo 'Fristenmanagement: ' . $db->db_last_error() . '
'; + else + echo 'Fristenmanagementtabellen wurden neu erstellt'; + } +} From c15a350392d9801cc4eb9156b652ef881e8a2da0 Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Wed, 24 Apr 2024 14:55:22 +0200 Subject: [PATCH 15/21] moved dbUpdate for gehaltsband to extension --- system/dbupdate_3.4/37133_gehaltsbaender.php | 85 -------------------- 1 file changed, 85 deletions(-) delete mode 100644 system/dbupdate_3.4/37133_gehaltsbaender.php diff --git a/system/dbupdate_3.4/37133_gehaltsbaender.php b/system/dbupdate_3.4/37133_gehaltsbaender.php deleted file mode 100644 index 3c34883f6..000000000 --- a/system/dbupdate_3.4/37133_gehaltsbaender.php +++ /dev/null @@ -1,85 +0,0 @@ -db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_frist' AND table_schema='hr'")) -{ - if ($db->db_num_rows($result) == 0) - { - $qry = " - - CREATE TABLE IF NOT EXISTS hr.tbl_gehaltsband ( - gehaltsband_kurzbz character varying(32) NOT NULL, - bezeichnung varchar(32) NOT NULL, - aktiv boolean DEFAULT FALSE, - sort smallint, - insertvon character varying(32) NOT NULL, - insertamum timestamp without time zone DEFAULT now() NOT NULL, - updatevon character varying(32), - updateamum timestamp without time zone, - CONSTRAINT tbl_gehaltsband_pkey PRIMARY KEY (gehaltsband_kurzbz) - ); - - CREATE TABLE IF NOT EXISTS hr.tbl_gehaltsband_funktion ( - gehaltsband_funktion_id bigserial NOT NULL, - gehaltsband_kurzbz varchar(32) NOT NULL, - funktion_kurzbz varchar(32) NOT NULL, - oe_kurzbz varchar(32), - organisationseinheittyp_kurzbz varchar(32), - insertvon character varying(32) NOT NULL, - insertamum timestamp without time zone DEFAULT now() NOT NULL, - updatevon character varying(32), - updateamum timestamp without time zone - ); - - CREATE TABLE IF NOT EXISTS hr.tbl_gehaltsband_betrag ( - gehaltsband_betrag_id bigserial NOT NULL, - gehaltsband_kurzbz character varying(32) NOT NULL, - von date, - bis date, - betrag_von numeric(9,5), - betrag_bis numeric(9,5), - insertvon character varying(32) NOT NULL, - insertamum timestamp without time zone DEFAULT now() NOT NULL, - updatevon character varying(32), - updateamum timestamp without time zone, - CONSTRAINT tbl_gehaltsband_betrag_pkey PRIMARY KEY (gehaltsband_betrag_id) - ); - - ALTER TABLE hr.tbl_gehaltsband_betrag ADD CONSTRAINT tbl_gehaltsband_betrag_gehaltsband_kurzbz_fk FOREIGN KEY (gehaltsband_kurzbz) - REFERENCES hr.tbl_gehaltsband (gehaltsband_kurzbz) MATCH FULL - ON DELETE SET NULL ON UPDATE CASCADE; - - ALTER TABLE hr.tbl_gehaltsband_funktion ADD CONSTRAINT tbl_gehaltsband_funktion_oe_kurzbz_fk FOREIGN KEY (oe_kurzbz) - REFERENCES public.tbl_organisationseinheit (oe_kurzbz) MATCH FULL - ON DELETE SET NULL ON UPDATE CASCADE; - - ALTER TABLE hr.tbl_gehaltsband_funktion ADD CONSTRAINT tbl_gehaltsband_funktion_organisationseinheittyp_kurzbz_fk FOREIGN KEY (organisationseinheittyp_kurzbz) - REFERENCES public.tbl_organisationseinheittyp (organisationseinheittyp_kurzbz) MATCH FULL - ON DELETE SET NULL ON UPDATE CASCADE; - - COMMENT ON TABLE hr.tbl_gehaltsband IS E'Definition of salary range types'; - COMMENT ON TABLE hr.tbl_gehaltsband_funktion IS E'job functions assigned to salary range'; - COMMENT ON TABLE hr.tbl_gehaltsband_betrag IS E'salary range (time dependend)'; - - GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_gehaltsband TO vilesci; - GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_gehaltsband_betrag TO vilesci; - GRANT USAGE ON hr.tbl_gehaltsband_betrag_gehaltsband_betrag_id_seq TO vilesci; - GRANT USAGE ON hr.tbl_gehaltsband_funktion_gehaltsband_funktion_id_seq TO vilesci; - - INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('ASSISTENTIN','AssistentIn', 't', 1, 'system'); - INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('JUNIOR_LECTURER_RESEARCHER','Junior Lecturer/Researcher', 't', 2, 'system'); - INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('LECTURER_RESEARCHER','Lecturer/Researcher', 't', 3, 'system'); - INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('SENIOR_LECTURER_RESEARCHER','Senior Lecturer/Researcher', 't', 4, 'system'); - INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('STUDIENGANGSLEITERIN','StudiengangsleiterIn', 't', 5, 'system'); - INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('KOMPETENZFELDLEITERIN','KompetanzfeldleiterIn', 't', 6, 'system'); - INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('DEPARTMENTLEITERIN','DepartmentleiterIn', 't', 7, 'system'); - INSERT INTO hr.tbl_gehaltsband(gehaltsband_kurzbz, bezeichnung, aktiv, sort, insertvon) VALUES('FAKULTAETSLEITERIN','FakultätsleiterIn', 't', 8, 'system'); - - "; - - if (! $db->db_query($qry)) - echo 'Fristenmanagement: ' . $db->db_last_error() . '
'; - else - echo 'Fristenmanagementtabellen wurden neu erstellt'; - } -} From 3b06519f2f62ee496a9c998edf87474d24913b0c Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Wed, 24 Apr 2024 15:25:42 +0200 Subject: [PATCH 16/21] updated phrases for salary range --- system/phrasesupdate.php | 161 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index a0fd65819..38f42e6b8 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -24337,7 +24337,168 @@ array( 'insertvon' => 'system' ) ) + ), + // Gehaltsband + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gehaltsband', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gehaltsband', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Salary Range', + 'description' => '', + 'insertvon' => 'system' + ) + ) ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gueltig_von', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gültig von', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Valid from', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gueltig_bis', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gültig bis', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Valid to', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'betrag_von', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Betrag von', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Amount from', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'betrag_bis', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gültig bis', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Valid to', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gehaltsband_gespeichert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gehaltsband gespeichert.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Salary range saved.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gehaltsband_erstellt', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gehaltsband hinzugefügt.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Salary range created.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'personalverwaltung', + 'category' => 'gehaltsband', + 'phrase' => 'gehaltsband_geloescht', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gehaltsband gelöscht.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Salary range deleted.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), // Personalverwaltung end array( 'app' => 'core', From 08dd6a7783f29b43061acd7ccfce87a348e0fb79 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Thu, 25 Apr 2024 15:11:16 +0200 Subject: [PATCH 17/21] add dvendegrund_kurzbz and dvendegrund_anmerkung when reading dvs from db --- .../models/vertragsbestandteil/Dienstverhaeltnis_model.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php b/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php index 2fdfcffe2..12f7af220 100644 --- a/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php +++ b/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php @@ -31,6 +31,8 @@ class Dienstverhaeltnis_model extends DB_Model org.bezeichnung oe_bezeichnung, dv.von, dv.bis, + dv.dvendegrund_kurzbz, + dv.dvendegrund_anmerkung, dv.vertragsart_kurzbz, dv.updateamum, dv.updatevon From 706dad6df6878c1b3b3dcdb2345b76124bd632a1 Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Thu, 16 May 2024 21:58:34 +0200 Subject: [PATCH 18/21] added DV Ende --- .../models/vertragsbestandteil/Dienstverhaeltnis_model.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php b/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php index 2fdfcffe2..d9fa4a6cd 100644 --- a/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php +++ b/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php @@ -33,7 +33,9 @@ class Dienstverhaeltnis_model extends DB_Model dv.bis, dv.vertragsart_kurzbz, dv.updateamum, - dv.updatevon + dv.updatevon, + dv.dvendegrund_kurzbz, + dv.dvendegrund_anmerkung FROM tbl_mitarbeiter JOIN tbl_benutzer ON tbl_mitarbeiter.mitarbeiter_uid::text = tbl_benutzer.uid::text JOIN tbl_person USING (person_id) From 93d0f88b0dc77654a1827c8e9a7a317fbf862f1b Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Fri, 14 Jun 2024 10:48:43 +0200 Subject: [PATCH 19/21] function getDVByPersonUID: add dvendegrund_kurzbz and dvendegrund_anmerkung to select --- .../models/vertragsbestandteil/Dienstverhaeltnis_model.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php b/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php index 12f7af220..6827beaa4 100644 --- a/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php +++ b/application/models/vertragsbestandteil/Dienstverhaeltnis_model.php @@ -35,7 +35,9 @@ class Dienstverhaeltnis_model extends DB_Model dv.dvendegrund_anmerkung, dv.vertragsart_kurzbz, dv.updateamum, - dv.updatevon + dv.updatevon, + dv.dvendegrund_kurzbz, + dv.dvendegrund_anmerkung FROM tbl_mitarbeiter JOIN tbl_benutzer ON tbl_mitarbeiter.mitarbeiter_uid::text = tbl_benutzer.uid::text JOIN tbl_person USING (person_id) From 0aa53f64ff5646997b021fe8bfb945cb61e2cc33 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Wed, 19 Jun 2024 08:51:34 +0200 Subject: [PATCH 20/21] db Aenderungen Gegenpruefung hinzugefuegt --- system/dbupdate_3.4.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index 3a3f0be78..144ea1d44 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -171,7 +171,8 @@ $tabellen=array( "hr.tbl_sachaufwandtyp" => array("sachaufwandtyp_kurzbz","bezeichnung","sort", "aktiv"), "hr.tbl_stundensatz" => array("stundensatz_id","uid","stundensatztyp","stundensatz","oe_kurzbz","gueltig_von","gueltig_bis","insertamum","insertvon","updateamum","updatevon"), "hr.tbl_stundensatztyp" => array("stundensatztyp","bezeichnung","aktiv","insertamum","insertvon","updateamum","updatevon"), - "hr.tbl_dienstverhaeltnis" => array("dienstverhaeltnis_id","mitarbeiter_uid","vertragsart_kurzbz","oe_kurzbz","von","bis","insertamum","insertvon","updateamum","updatevon"), + "hr.tbl_dienstverhaeltnis" => array("dienstverhaeltnis_id","mitarbeiter_uid","vertragsart_kurzbz","oe_kurzbz","von","bis","insertamum","insertvon","updateamum","updatevon","dvendegrund_kurzbz","dvendegrund_anmerkung"), + "hr.tbl_dvendegrund" => array("dvendegrund_kurzbz", "bezeichnung", "bezeichnung_mehrsprachig", "aktiv", "sort"), "hr.tbl_vertragsart" => array("vertragsart_kurzbz","bezeichnung","anmerkung","dienstverhaeltnis","vertragsart_kurzbz_parent","aktiv","sort"), "hr.tbl_vertragsbestandteil" => array("vertragsbestandteil_id","dienstverhaeltnis_id","vertragsbestandteiltyp_kurzbz","von", "bis","insertamum", "insertvon","updateamum","updatevon"), "hr.tbl_vertragsbestandteiltyp" => array("vertragsbestandteiltyp_kurzbz","bezeichnung","ueberlappend"), From 04c006a733c30444bef80a821cf2a3fbef822b4a Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Wed, 19 Jun 2024 10:28:03 +0200 Subject: [PATCH 21/21] do not create dummy manual events --- system/dbupdate_3.4/37107_fristenmanagement.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/system/dbupdate_3.4/37107_fristenmanagement.php b/system/dbupdate_3.4/37107_fristenmanagement.php index ee023b13e..7d2e8bddb 100644 --- a/system/dbupdate_3.4/37107_fristenmanagement.php +++ b/system/dbupdate_3.4/37107_fristenmanagement.php @@ -72,11 +72,6 @@ if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('zeitaufzeichnung_ende','Zeitaufzeichnung Ende', 8); INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('befristung_beginn','Befristung Beginn', 9); INSERT INTO hr.tbl_frist_ereignis(ereignis_kurzbz, bezeichnung, sort) VALUES('befristung_ende','Befristung Ende', 10); - INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell1','Manuell 1', true, 11); - INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell2','Manuell 2', true, 12); - INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell3','Manuell 3', true, 13); - INSERT INTO hr.tbl_frist_ereignis (ereignis_kurzbz , bezeichnung, manuell, sort) VALUES('manuell4','Manuell 4', true, 14); - ";