mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 71a47ee400 | |||
| 024df19a92 | |||
| 8e728b0bfe | |||
| ca1df4460d | |||
| 1b4f65d65b |
@@ -4,6 +4,7 @@ namespace vertragsbestandteil;
|
||||
use Exception;
|
||||
use vertragsbestandteil\VertragsbestandteilStunden;
|
||||
use vertragsbestandteil\VertragsbestandteilLohnguide;
|
||||
use vertragsbestandteil\VertragsbestandteilKollektivvertrag;
|
||||
|
||||
/**
|
||||
* Description of VertragsbestandteilFactory
|
||||
@@ -24,6 +25,7 @@ class VertragsbestandteilFactory
|
||||
const VERTRAGSBESTANDTEIL_ZEITAUFZEICHNUNG = 'zeitaufzeichnung';
|
||||
const VERTRAGSBESTANDTEIL_LEHRE = 'lehre';
|
||||
const VERTRAGSBESTANDTEIL_LOHNGUIDE = 'lohnguide';
|
||||
const VERTRAGSBESTANDTEIL_KOLLEKTIVVERTRAG = 'kollektivvertrag';
|
||||
|
||||
public static function getVertragsbestandteil($data, $fromdb=false)
|
||||
{
|
||||
@@ -76,10 +78,15 @@ class VertragsbestandteilFactory
|
||||
$vertragsbestandteil = new VertragsbestandteilLohnguide();
|
||||
$vertragsbestandteil->hydrateByStdClass($data, $fromdb);
|
||||
break;
|
||||
|
||||
case self::VERTRAGSBESTANDTEIL_KOLLEKTIVVERTRAG:
|
||||
$vertragsbestandteil = new VertragsbestandteilKollektivvertrag();
|
||||
$vertragsbestandteil->hydrateByStdClass($data, $fromdb);
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception('Unknown vertragsbestandteiltyp_kurzbz '
|
||||
. $vertragsbestandteiltyp_kurzbz);
|
||||
. $vertragsbestandteiltyp_kurzbz);
|
||||
}
|
||||
|
||||
return $vertragsbestandteil;
|
||||
@@ -139,6 +146,14 @@ class VertragsbestandteilFactory
|
||||
'VertragsbestandteilLohnguide_model');
|
||||
$vertragsbestandteildbmodel = $CI->VertragsbestandteilLohnguide_model;
|
||||
break;
|
||||
case self::VERTRAGSBESTANDTEIL_KOLLEKTIVVERTRAG:
|
||||
$CI->load->model(
|
||||
'vertragsbestandteil/VertragsbestandteilKollektivvertrag_model',
|
||||
'VertragsbestandteilKollektivvertrag_model'
|
||||
);
|
||||
|
||||
$vertragsbestandteildbmodel = $CI->VertragsbestandteilKollektivvertrag_model;
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception('Unknown vertragsbestandteil_kurzbz '
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
<?php
|
||||
namespace vertragsbestandteil;
|
||||
|
||||
use vertragsbestandteil\Vertragsbestandteil;
|
||||
use vertragsbestandteil\VertragsbestandteilFactory;
|
||||
|
||||
class VertragsbestandteilKollektivvertrag extends Vertragsbestandteil
|
||||
{
|
||||
protected $kv_jahre;
|
||||
protected $verwendungsgruppe_kurzbz;
|
||||
protected $kommentar;
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->setVertragsbestandteiltyp_kurzbz(
|
||||
VertragsbestandteilFactory::VERTRAGSBESTANDTEIL_KOLLEKTIVVERTRAG);
|
||||
}
|
||||
|
||||
public function getKv_jahre()
|
||||
{
|
||||
return $this->kv_jahre;
|
||||
}
|
||||
|
||||
public function setKv_jahre($kv_jahre): self
|
||||
{
|
||||
$this->markDirty('kv_jahre', $this->kv_jahre, $kv_jahre);
|
||||
$this->kv_jahre = $kv_jahre;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getVerwendungsgruppe_kurzbz()
|
||||
{
|
||||
return $this->verwendungsgruppe_kurzbz;
|
||||
}
|
||||
|
||||
public function setVerwendungsgruppe_kurzbz($verwendungsgruppe_kurzbz): self
|
||||
{
|
||||
$this->markDirty('verwendungsgruppe_kurzbz', $this->verwendungsgruppe_kurzbz, $verwendungsgruppe_kurzbz);
|
||||
$this->verwendungsgruppe_kurzbz = $verwendungsgruppe_kurzbz;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getKommentar()
|
||||
{
|
||||
return $this->kommentar;
|
||||
}
|
||||
|
||||
public function setKommentar($kommentar): self
|
||||
{
|
||||
$this->markDirty('kommentar', $this->kommentar, $kommentar);
|
||||
$this->kommentar = $kommentar;
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function hydrateByStdClass($data, $fromdb=false)
|
||||
{
|
||||
parent::hydrateByStdClass($data, $fromdb);
|
||||
$this->fromdb = $fromdb;
|
||||
isset($data->verwendungsgruppe_kurzbz) && $this->setVerwendungsgruppe_kurzbz($data->verwendungsgruppe_kurzbz);
|
||||
isset($data->kv_jahre) && $this->setKv_jahre($data->kv_jahre);
|
||||
isset($data->kommentar) && $this->setKommentar($data->kommentar);
|
||||
$this->fromdb = false;
|
||||
}
|
||||
|
||||
public function toStdClass(): \stdClass
|
||||
{
|
||||
$tmp = array(
|
||||
'vertragsbestandteil_id' => $this->getVertragsbestandteil_id(),
|
||||
'kv_jahre' => $this->getKv_jahre(),
|
||||
'verwendungsgruppe_kurzbz' => $this->getVerwendungsgruppe_kurzbz(),
|
||||
'kommentar' => $this->getKommentar(),
|
||||
);
|
||||
|
||||
$tmp = array_filter($tmp, function($k) {
|
||||
return in_array($k, $this->modifiedcolumns);
|
||||
}, ARRAY_FILTER_USE_KEY);
|
||||
|
||||
return (object) $tmp;
|
||||
}
|
||||
|
||||
public function __toString()
|
||||
{
|
||||
$txt = <<<EOTXT
|
||||
verwendungsgruppe_kurzbz: {$this->getVerwendungsgruppe_kurzbz()}
|
||||
|
||||
EOTXT;
|
||||
return parent::__toString() . $txt;
|
||||
}
|
||||
|
||||
/* public function validate()
|
||||
{
|
||||
if( !(filter_var($this->tage, FILTER_VALIDATE_INT,
|
||||
array(
|
||||
'options' => array(
|
||||
'min_range' => 1,
|
||||
'max_range' => 50
|
||||
)
|
||||
)
|
||||
)) ) {
|
||||
$this->validationerrors[] = 'Urlaubsanspruch muss eine Tagesanzahl im Bereich 1 bis 50 sein.';
|
||||
}
|
||||
|
||||
return parent::validate();
|
||||
} */
|
||||
}
|
||||
@@ -11,6 +11,7 @@ require_once __DIR__ . '/VertragsbestandteilUrlaubsanspruch.php';
|
||||
require_once __DIR__ . '/VertragsbestandteilFreitext.php';
|
||||
require_once __DIR__ . '/VertragsbestandteilKarenz.php';
|
||||
require_once __DIR__ . '/VertragsbestandteilLohnguide.php';
|
||||
require_once __DIR__ . '/VertragsbestandteilKollektivvertrag.php';
|
||||
require_once __DIR__ . '/VertragsbestandteilFactory.php';
|
||||
require_once __DIR__ . '/OverlapChecker.php';
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
class VertragsbestandteilKollektivvertrag_model extends DB_Model
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = 'hr.tbl_vertragsbestandteil_kollektivvertrag';
|
||||
$this->pk = 'vertragsbestandteil_id';
|
||||
}
|
||||
}
|
||||
@@ -38,7 +38,8 @@ class Vertragsbestandteil_model extends DB_Model
|
||||
s.wochenstunden, s.teilzeittyp_kurzbz,
|
||||
u.tage,
|
||||
z.zeitaufzeichnung, z.azgrelevant, z.homeoffice,
|
||||
lg.stellenbezeichnung, lg.vordienstzeit, lg.fachrichtung_kurzbz, lg.modellstelle_kurzbz, lg.kommentar_person, lg.kommentar_modellstelle
|
||||
lg.stellenbezeichnung, lg.vordienstzeit, lg.fachrichtung_kurzbz, lg.modellstelle_kurzbz, lg.kommentar_person, lg.kommentar_modellstelle,
|
||||
kv.verwendungsgruppe_kurzbz, kv.kv_jahre, kv.kommentar
|
||||
FROM
|
||||
hr.tbl_vertragsbestandteil v
|
||||
LEFT JOIN
|
||||
@@ -66,6 +67,8 @@ class Vertragsbestandteil_model extends DB_Model
|
||||
hr.tbl_vertragsbestandteil_zeitaufzeichnung z USING(vertragsbestandteil_id)
|
||||
LEFT JOIN
|
||||
hr.tbl_vertragsbestandteil_lohnguide lg USING(vertragsbestandteil_id)
|
||||
LEFT JOIN
|
||||
hr.tbl_vertragsbestandteil_kollektivvertrag kv USING(vertragsbestandteil_id)
|
||||
EOSQL;
|
||||
return $sql;
|
||||
}
|
||||
|
||||
@@ -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>';
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
<?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_kollektivvertrag' AND table_schema='hr'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
|
||||
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,
|
||||
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_pkey PRIMARY KEY (kollektivvertrag_kurzbz)
|
||||
);
|
||||
|
||||
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_kollektivvertrag TO vilesci;
|
||||
|
||||
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_kollektivvertrag_verwendungsgruppe wurde neu erstellt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
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_kollektivvertrag_verwendungsgruppenjahre (
|
||||
kv_jahre integer NOT NULL,
|
||||
bezeichnung varchar(64) NOT NULL,
|
||||
verwendungsgruppe_kurzbz character varying(32) NOT NULL,
|
||||
aktiv boolean DEFAULT FALSE,
|
||||
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_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_kollektivvertrag_verwendungsgruppenjahre TO vilesci;
|
||||
|
||||
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()),
|
||||
('5','nach 5','VG1',true, 'system',NOW()),
|
||||
|
||||
('0','nach 0','VG2',true,'system',NOW()),
|
||||
('2','nach 2','VG2',true,'system',NOW()),
|
||||
('4','nach 4','VG2',true,'system',NOW()),
|
||||
('5','nach 5','VG2',true,'system',NOW()),
|
||||
|
||||
('0','nach 0','VG3',true,'system',NOW()),
|
||||
('2','nach 2','VG3',true,'system',NOW()),
|
||||
('4','nach 4','VG3',true,'system',NOW()),
|
||||
('5','nach 5','VG3',true,'system',NOW()),
|
||||
|
||||
('0','nach 0','VG4',true,'system',NOW()),
|
||||
('2','nach 2','VG4',true,'system',NOW()),
|
||||
('4','nach 4','VG4',true,'system',NOW()),
|
||||
('5','nach 5','VG4',true,'system',NOW()),
|
||||
|
||||
('0','nach 0','VG5',true,'system',NOW()),
|
||||
('2','nach 2','VG5',true,'system',NOW()),
|
||||
('4','nach 4','VG5',true,'system',NOW()),
|
||||
('5','nach 5','VG5',true,'system',NOW()),
|
||||
|
||||
('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())
|
||||
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_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;
|
||||
|
||||
INSERT INTO hr.tbl_vertragsbestandteiltyp(vertragsbestandteiltyp_kurzbz, bezeichnung, ueberlappend) VALUES('kollektivvertrag', 'Kollektivvertrag', false);
|
||||
|
||||
|
||||
|
||||
";
|
||||
|
||||
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>';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user