Compare commits

...

3 Commits

Author SHA1 Message Date
Werner Masik 2114352d82 add missing zeitmodell_id 2026-06-01 12:39:27 +02:00
Werner Masik df6b71b9c4 add zeitmodell_id 2026-05-31 17:05:01 +02:00
Werner Masik 319c9a166c create zeitmodell db tables for zeitaufzeichnung 2026-05-31 16:21:05 +02:00
4 changed files with 79 additions and 2 deletions
@@ -9,6 +9,7 @@ class VertragsbestandteilZeitaufzeichnung extends Vertragsbestandteil
protected $zeitaufzeichnung;
protected $azgrelevant;
protected $homeoffice;
protected $zeitmodell_id;
public function __construct()
{
@@ -24,6 +25,7 @@ class VertragsbestandteilZeitaufzeichnung extends Vertragsbestandteil
isset($data->zeitaufzeichnung) && $this->setZeitaufzeichnung($data->zeitaufzeichnung);
isset($data->azgrelevant) && $this->setAzgrelevant($data->azgrelevant);
isset($data->homeoffice) && $this->setHomeoffice($data->homeoffice);
isset($data->zeitmodell_id) && $this->setZeitmodell_id($data->zeitmodell_id);
$this->fromdb = false;
}
@@ -83,6 +85,25 @@ class VertragsbestandteilZeitaufzeichnung extends Vertragsbestandteil
return $this;
}
/**
* Get the value of zeitmodell_id
*/
public function getZeitmodell_id()
{
return $this->zeitmodell_id;
}
/**
* Set the value of zeitmodell_id
*/
public function setZeitmodell_id($zeitmodell_id): self
{
$this->markDirty('zeitmodell_id', $this->zeitmodell_id, $zeitmodell_id);
$this->zeitmodell_id = $zeitmodell_id;
return $this;
}
public function toStdClass(): \stdClass
{
@@ -90,7 +111,8 @@ class VertragsbestandteilZeitaufzeichnung extends Vertragsbestandteil
'vertragsbestandteil_id' => $this->getVertragsbestandteil_id(),
'zeitaufzeichnung' => $this->getZeitaufzeichnung(),
'azgrelevant' => $this->getAzgrelevant(),
'homeoffice' => $this->getHomeoffice()
'homeoffice' => $this->getHomeoffice(),
'zeitmodell_id' => $this->getZeitmodell_id()
);
$tmp = array_filter($tmp, function($k) {
@@ -106,6 +128,7 @@ class VertragsbestandteilZeitaufzeichnung extends Vertragsbestandteil
zeitaufzeichnung: {$this->getZeitaufzeichnung()}
azgrelevant: {$this->getAzgrelevant()}
homeoffice: {$this->getHomeoffice()}
zeitmodell_id: {$this->getZeitmodell_id()}
EOTXT;
return parent::__toString() . $txt;
@@ -37,7 +37,7 @@ class Vertragsbestandteil_model extends DB_Model
kf.arbeitgeber_frist, kf.arbeitnehmer_frist,
s.wochenstunden, s.teilzeittyp_kurzbz,
u.tage,
z.zeitaufzeichnung, z.azgrelevant, z.homeoffice,
z.zeitaufzeichnung, z.azgrelevant, z.homeoffice, z.zeitmodell_id,
lg.stellenbezeichnung, lg.vordienstzeit, lg.fachrichtung_kurzbz, lg.modellstelle_kurzbz, lg.kommentar_person, lg.kommentar_modellstelle
FROM
hr.tbl_vertragsbestandteil v
+2
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/76677_zeitaufzeichnung_zeitmodell.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -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"),
@@ -0,0 +1,52 @@
<?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_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 '<strong>Zeitmodell: ' . $db->db_last_error() . '</strong><br>';
else
echo 'hr.tbl_zeitmodell wurde neu erstellt<br>';
}
}
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 '<strong>Zeitmodell: ' . $db->db_last_error() . '</strong><br>';
else
echo 'Spalte zeitmodell_id wurde in hr.tbl_vertragsbestandteil_zeitaufzeichnung neu erstellt<br>';
}
}