db init for kollectivvertrag

This commit is contained in:
Werner Masik
2026-05-13 10:55:53 +02:00
parent 1b4f65d65b
commit ca1df4460d
2 changed files with 92 additions and 25 deletions
+1
View File
@@ -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/76781_kollektivvertrag.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
+91 -25
View File
@@ -1,13 +1,14 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_kv_gruppe' AND table_schema='hr'"))
if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_kollektivvertrag' AND table_schema='hr'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "
CREATE TABLE IF NOT EXISTS hr.tbl_kv_gruppe (
kv_gruppe_kurzbz character varying(32) NOT NULL,
CREATE TABLE IF NOT EXISTS hr.tbl_kollektivvertrag (
kollektivvertrag_kurzbz character varying(32) NOT NULL,
bezeichnung varchar(64) NOT NULL,
aktiv boolean DEFAULT FALSE,
sort smallint,
@@ -15,50 +16,86 @@ CREATE TABLE IF NOT EXISTS hr.tbl_kv_gruppe (
insertamum timestamp without time zone DEFAULT now() NOT NULL,
updatevon character varying(32),
updateamum timestamp without time zone,
CONSTRAINT tbl_kv_gruppe_pkey PRIMARY KEY (kv_gruppe_kurzbz)
CONSTRAINT tbl_kollektivvertrag_pkey PRIMARY KEY (kollektivvertrag_kurzbz)
);
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_kv_gruppe TO vilesci;
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_kollektivvertrag TO vilesci;
INSERT INTO hr.tbl_kv_gruppe(kv_gruppe_kurzbz, bezeichnung,aktiv, sort, insertvon, insertamum) VALUES
('VG1','VG 1',true,1,'system',NOW()),
('VG2','VG 2',true,2,'system',NOW()),
('VG3','VG 3',true,3,'system',NOW()),
('VG4','VG 4',true,4,'system',NOW()),
('VG5','VG 5',true,5,'system',NOW()),
('VG6','VG 6',true,6,'system',NOW())
ON CONFLICT (kv_gruppe_kurzbz) DO NOTHING;
INSERT INTO hr.tbl_kollektivvertrag(kollektivvertrag_kurzbz, bezeichnung, aktiv, sort, insertvon, insertamum) VALUES('IT','KV IT',true,1,'system',NOW());
";
if (! $db->db_query($qry))
echo '<strong>Kollektivvertrag: ' . $db->db_last_error() . '</strong><br>';
else
echo 'hr.tbl_kollektivvertrag_verwendungsgruppe wurde neu erstellt<br>';
}
}
if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_kollektivvertrag_verwendungsgruppe' AND table_schema='hr'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "
CREATE TABLE IF NOT EXISTS hr.tbl_kollektivvertrag_verwendungsgruppe (
verwendungsgruppe_kurzbz character varying(32) NOT NULL,
kollektivvertrag_kurzbz character varying(32) NOT NULL,
bezeichnung varchar(64) 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_kollektivvertrag_verwendungsgruppe_pkey PRIMARY KEY (verwendungsgruppe_kurzbz),
CONSTRAINT tbl_kollektivvertrag_kollektivvertrag_kurzbz_fk FOREIGN KEY (kollektivvertrag_kurzbz) REFERENCES hr.tbl_kollektivvertrag (kollektivvertrag_kurzbz) MATCH FULL ON DELETE RESTRICT ON UPDATE CASCADE
);
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_kollektivvertrag_verwendungsgruppe TO vilesci;
INSERT INTO hr.tbl_kollektivvertrag_verwendungsgruppe(verwendungsgruppe_kurzbz, kollektivvertrag_kurzbz, bezeichnung,aktiv, sort, insertvon, insertamum) VALUES
('VG1','IT','VG 1',true,1,'system',NOW()),
('VG2','IT','VG 2',true,2,'system',NOW()),
('VG3','IT','VG 3',true,3,'system',NOW()),
('VG4','IT','VG 4',true,4,'system',NOW()),
('VG5','IT','VG 5',true,5,'system',NOW()),
('VG6','IT','VG 6',true,6,'system',NOW())
ON CONFLICT (verwendungsgruppe_kurzbz) DO NOTHING;
";
if (! $db->db_query($qry))
echo '<strong>KV Gruppe: ' . $db->db_last_error() . '</strong><br>';
else
echo 'hr.tbl_kv_gruppe wurde neu erstellt<br>';
echo 'hr.tbl_kollektivvertrag_verwendungsgruppe wurde neu erstellt<br>';
}
}
if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_kv_stufe' AND table_schema='hr'"))
if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_kollektivvertrag_verwendungsgruppenjahre' AND table_schema='hr'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "
CREATE TABLE IF NOT EXISTS hr.tbl_kv_jahre (
CREATE TABLE IF NOT EXISTS hr.tbl_kollektivvertrag_verwendungsgruppenjahre (
kv_jahre integer NOT NULL,
bezeichnung varchar(64) NOT NULL,
kv_gruppe_kurzbz character varying(32) NOT NULL,
verwendungsgruppe_kurzbz character varying(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_kv_jahre_pkey PRIMARY KEY (kv_jahre),
CONSTRAINT tbl_kv_jahre_kv_gruppe_kurzbz_fk FOREIGN KEY (kv_gruppe_kurzbz) REFERENCES hr.tbl_kv_jahre (kv_gruppe_kurzbz) MATCH FULL ON DELETE RESTRICT ON UPDATE CASCADE
CONSTRAINT tbl_kollektivvertrag_verwendungsgruppenjahre_pkey PRIMARY KEY (kv_jahre),
CONSTRAINT tbl_kollektivvertrag_verwendungsgruppenjahre_vg_kurzbz_fk FOREIGN KEY (verwendungsgruppe_kurzbz) REFERENCES hr.tbl_kollektivvertrag_verwendungsgruppe (verwendungsgruppe_kurzbz) MATCH FULL ON DELETE RESTRICT ON UPDATE CASCADE
);
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_kv_jahre TO vilesci;
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_kollektivvertrag_verwendungsgruppenjahre TO vilesci;
INSERT INTO hr.tbl_kv_jahre(kv_jahre, bezeichnung, kv_gruppe_kurzbz, aktiv, insertvon, insertamum) VALUES
INSERT INTO hr.tbl_kollektivvertrag_verwendungsgruppenjahre(kv_jahre, bezeichnung, verwendungsgruppe_kurzbz, aktiv, insertvon, insertamum) VALUES
('0','nach 0','VG1',true, 'system',NOW()),
('2','nach 2','VG1',true, 'system',NOW()),
('4','nach 4','VG1',true, 'system',NOW()),
@@ -87,7 +124,7 @@ INSERT INTO hr.tbl_kv_jahre(kv_jahre, bezeichnung, kv_gruppe_kurzbz, aktiv, inse
('0','nach 0','VG6',true,'system',NOW()),
('2','nach 2','VG6',true,'system',NOW()),
('4','nach 4','VG6',true,'system',NOW()),
('5','nach 5','VG6',true,'system',NOW()),
('5','nach 5','VG6',true,'system',NOW())
ON CONFLICT (kv_jahre) DO NOTHING;
@@ -96,8 +133,37 @@ ON CONFLICT (kv_jahre) DO NOTHING;
if (! $db->db_query($qry))
echo '<strong>KV-Stufe: ' . $db->db_last_error() . '</strong><br>';
else
echo 'hr.tbl_kv_jahre wurde neu erstellt<br>';
echo 'hr.tbl_kollektivvertrag_verwendungsgruppenjahre wurde neu erstellt<br>';
}
}
if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_vertragsbestandteil_kollektivvertrag' AND table_schema='hr'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "
CREATE TABLE IF NOT EXISTS hr.tbl_vertragsbestandteil_kollektivvertrag (
vertragsbestandteil_id integer NOT NULL,
verwendungsgruppe_kurzbz character varying(32) NOT NULL,
kv_jahre integer NOT NULL,
kommentar varchar(255),
CONSTRAINT tbl_vertragsbestandteil_kollektivvertrag_pk PRIMARY KEY (vertragsbestandteil_id),
CONSTRAINT tbl_vertragsbestandteil_fk FOREIGN KEY (vertragsbestandteil_id) REFERENCES hr.tbl_vertragsbestandteil (vertragsbestandteil_id) MATCH FULL ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT tbl_vertragsbestandteil_kollektivvertrag_vg_kurzbz_fk FOREIGN KEY (verwendungsgruppe_kurzbz) REFERENCES hr.tbl_kollektivvertrag_verwendungsgruppe (verwendungsgruppe_kurzbz) MATCH FULL ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT tbl_vertragsbestandteil_kollektivvertrag_kv_jahre_fk FOREIGN KEY (kv_jahre) REFERENCES hr.tbl_kollektivvertrag_verwendungsgruppenjahre (kv_jahre) MATCH FULL ON DELETE RESTRICT ON UPDATE CASCADE
);
COMMENT ON TABLE hr.tbl_vertragsbestandteil_kollektivvertrag IS E'Zuordnung zur Einstufung im Kollektivvertrag';
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_vertragsbestandteil_kollektivvertrag TO vilesci;
";
if (! $db->db_query($qry))
echo '<strong>Vertragsbestandteil Lohnguide: ' . $db->db_last_error() . '</strong><br>';
else
echo 'hr.tbl_vertragsbestandteil_kollektivvertrag wurde neu erstellt<br>';
}
}