From 319c9a166c09ed0e6331eedbb1d85157232c6943 Mon Sep 17 00:00:00 2001 From: Werner Masik Date: Sun, 31 May 2026 16:21:05 +0200 Subject: [PATCH] create zeitmodell db tables for zeitaufzeichnung --- system/dbupdate_3.4.php | 2 + .../76677_zeitaufzeichnung_zeitmodell.php | 52 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 system/dbupdate_3.4/76677_zeitaufzeichnung_zeitmodell.php diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index 8b6af9f2d..091ba9e46 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -94,6 +94,7 @@ require_once('dbupdate_3.4/71399_dashboard_update_widget_paths.php'); require_once('dbupdate_3.4/71645_studvw_messagetab_ladezeit.php'); require_once('dbupdate_3.4/71566_studienordnungsdokument_neuer_organisationseinheitstyp_programm.php'); require_once('dbupdate_3.4/70376_lohnguide.php'); +require_once('dbupdate_3.4/76677_zeitaufzeichnung_zeitmodell.php'); // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -246,6 +247,7 @@ $tabellen=array( "hr.tbl_lohnguide_modellstelle" => array("modellstelle_kurzbz", "bezeichnung", "grade", "modellfunktion_kurzbz", "aktiv", "sort", "insertvon", "insertamum", "updatevon", "updateamum"), "hr.tbl_lohnguide_fachrichtung" => array("fachrichtung_kurzbz", "bezeichnung", "aktiv", "insertvon", "insertamum", "updatevon", "updateamum"), "hr.tbl_vertragsbestandteil_lohnguide" => array("vertragsbestandteil_id", "stellenbezeichnung", "vordienstzeit", "fachrichtung_kurzbz", "modellstelle_kurzbz", "kommentar_person", "kommentar_modellstelle"), + "hr.tbl_zeitmodell" => array('zeitmodell_id','bezeichnung','aktiv', 'stundenanzahl','ext_id','sort'), "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/76677_zeitaufzeichnung_zeitmodell.php b/system/dbupdate_3.4/76677_zeitaufzeichnung_zeitmodell.php new file mode 100644 index 000000000..89d9d07a4 --- /dev/null +++ b/system/dbupdate_3.4/76677_zeitaufzeichnung_zeitmodell.php @@ -0,0 +1,52 @@ +db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_zeitmodell' AND table_schema='hr'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = " +CREATE TABLE IF NOT EXISTS hr.tbl_zeitmodell ( + zeitmodell_id serial NOT NULL, + bezeichnung text, + aktiv boolean NOT NULL DEFAULT FALSE, + stundenanzahl numeric(8,2), + ext_id text, + sort smallint, + CONSTRAINT tbl_zeitmodell_pkey PRIMARY KEY (zeitmodell_id) +); + +GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_zeitmodell TO vilesci; + +INSERT INTO hr.tbl_zeitmodell(bezeichnung,aktiv, stundenanzahl, sort) VALUES +('Zeitmodell 1', TRUE, 38.5,1), +('Zeitmodell 2', TRUE, 38.5,2) +ON CONFLICT (zeitmodell_id) DO NOTHING; + "; + + if (! $db->db_query($qry)) + echo 'Zeitmodell: ' . $db->db_last_error() . '
'; + else + echo 'hr.tbl_zeitmodell wurde neu erstellt
'; + } +} + +if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE column_name='zeitmodell_id' AND table_name='tbl_vertragsbestandteil_zeitaufzeichnung' AND table_schema='hr'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = " + ALTER TABLE + hr.tbl_vertragsbestandteil_zeitaufzeichnung + ADD COLUMN + zeitmodell_id int; + ALTER TABLE hr.tbl_vertragsbestandteil_zeitaufzeichnung ADD CONSTRAINT vertragsbestandteil_zeitaufzeichnung_zeitmodell_fk FOREIGN KEY (zeitmodell_id) REFERENCES hr.tbl_zeitmodell (zeitmodell_id) ON DELETE RESTRICT ON UPDATE CASCADE; + + "; + if (! $db->db_query($qry)) + echo 'Zeitmodell: ' . $db->db_last_error() . '
'; + else + echo 'Spalte zeitmodell_id wurde in hr.tbl_vertragsbestandteil_zeitaufzeichnung neu erstellt
'; + + } +}