Stundengrenze: added table for setting limit for each employee, added phrases for hour limit GUI

This commit is contained in:
Alexei Karpenko
2026-09-02 14:33:59 +02:00
parent 6d641bbd06
commit de9446062b
4 changed files with 205 additions and 0 deletions
@@ -0,0 +1,16 @@
<?php
class Stundengrenze_model extends DB_Model
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct();
$this->dbTable = 'hr.tbl_stundengrenze';
$this->pk = 'stundengrenze_id';
$this->hasSequence = true;
}
}
+2
View File
@@ -101,6 +101,7 @@ require_once('dbupdate_3.4/75959_StudVw_Automatische_Tags.php');
require_once('dbupdate_3.4/76160_lvv_favorites.php');
require_once('dbupdate_3.4/77080_tabulator_presets_table.php');
require_once('dbupdate_3.4/78292_gehaltsanpassungtyp.php');
require_once('dbupdate_3.4/51953_pv21_stundengrenze_fuer_externe_lehrende_aufheben.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -221,6 +222,7 @@ $tabellen=array(
"fue.tbl_scrumsprint" => array("scrumsprint_id","scrumteam_kurzbz","sprint_kurzbz","sprintstart","sprintende","insertamum","insertvon","updateamum","updatevon"),
"hr.tbl_sachaufwand" => array("sachaufwand_id","mitarbeiter_uid","sachaufwandtyp_kurzbz","dienstverhaeltnis_id","beginn","ende","anmerkung","insertamum","insertvon","updateamum","updatevon","betrag"),
"hr.tbl_sachaufwandtyp" => array("sachaufwandtyp_kurzbz","bezeichnung","sort", "aktiv"),
"hr.tbl_stundengrenze" => array("stundengrenze_id","mitarbeiter_uid","studiensemester_kurzbz","oe_kurzbz","stundengrenze","insertamum","insertvon","updateamum","updatevon"),
"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","dvendegrund_kurzbz","dvendegrund_anmerkung"),
@@ -0,0 +1,47 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
// Add stundengrenze table
if (!$result = @$db->db_query("SELECT 1 FROM hr.tbl_stundengrenze LIMIT 1"))
{
$qry = "
CREATE TABLE IF NOT EXISTS hr.tbl_stundengrenze (
stundengrenze_id bigserial NOT NULL,
mitarbeiter_uid character varying(32) NOT NULL,
studiensemester_kurzbz varchar(16) NOT NULL,
oe_kurzbz character varying(32),
stundengrenze 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_stundengrenze_pkey PRIMARY KEY (stundengrenze_id),
UNIQUE(mitarbeiter_uid, studiensemester_kurzbz, oe_kurzbz)
);
ALTER TABLE hr.tbl_stundengrenze DROP CONSTRAINT IF EXISTS tbl_stundengrenze_mitarbeiter_uid_fk;
ALTER TABLE hr.tbl_stundengrenze ADD CONSTRAINT tbl_stundengrenze_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_stundengrenze DROP CONSTRAINT IF EXISTS tbl_stundengrenze_studiensemester_kurzbz_fk;
ALTER TABLE hr.tbl_stundengrenze ADD CONSTRAINT tbl_stundengrenze_studiensemester_kurzbz_fk FOREIGN KEY (studiensemester_kurzbz)
REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
ALTER TABLE hr.tbl_stundengrenze DROP CONSTRAINT IF EXISTS tbl_stundengrenze_oe_kurzbz_fk;
ALTER TABLE hr.tbl_stundengrenze ADD CONSTRAINT tbl_stundengrenze_oe_kurzbz_fk FOREIGN KEY (oe_kurzbz)
REFERENCES public.tbl_organisationseinheit (oe_kurzbz) MATCH FULL
ON DELETE SET NULL ON UPDATE CASCADE;
COMMENT ON TABLE hr.tbl_stundengrenze IS 'Definition of upper boundaries for hours of lecttureships.';
GRANT SELECT, UPDATE, INSERT, DELETE ON hr.tbl_stundengrenze TO vilesci;
GRANT USAGE ON hr.tbl_stundengrenze_stundengrenze_id_seq TO vilesci;";
if (!$db->db_query($qry))
echo '<strong>Stundengrenze Tabelle: ' . $db->db_last_error() . '</strong><br>';
else
echo 'Stundengrenze Tabelle erstellt';
}
+140
View File
@@ -62411,6 +62411,146 @@ I have been informed that I am under no obligation to consent to the transmissio
)
)
),
array(
'app' => 'personalverwaltung',
'category' => 'person',
'phrase' => 'stundengrenzen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Stundengrenzen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Hour limits',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'personalverwaltung',
'category' => 'person',
'phrase' => 'stundengrenze',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Stundengrenze',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'hour limit',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'personalverwaltung',
'category' => 'core',
'phrase' => 'alleOrganisationseinheiten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Alle Organisationseinheiten',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'All organisational units',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'personalverwaltung',
'category' => 'person',
'phrase' => 'stundengrenzeNochNichtGespeichert',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Stundengrenzen schließen? Geänderte Daten gehen verloren!',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Close hour limits? Changes will be lost!',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'personalverwaltung',
'category' => 'person',
'phrase' => 'stundengrenzeGespeichert',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Stundengrenze gespeichert',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Hour limit saved',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'personalverwaltung',
'category' => 'person',
'phrase' => 'stundengrenzeGeloescht',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Stundengrenze gelöscht',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Hour limit deleted',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'personalverwaltung',
'category' => 'person',
'phrase' => 'stundengrenzeWirklichLoeschen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Stundengrenze wirklich löschen?',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Really delete hour limit?',
'description' => '',
'insertvon' => 'system'
)
)
),
);