diff --git a/content/mitarbeiter/mitarbeiterDBDML.php b/content/mitarbeiter/mitarbeiterDBDML.php index 6bb1513d0..eb7ba6650 100644 --- a/content/mitarbeiter/mitarbeiterDBDML.php +++ b/content/mitarbeiter/mitarbeiterDBDML.php @@ -174,7 +174,13 @@ if(!$error) elseif($_POST['zeitaufzeichnungspflichtig']=='false') $verwendung->zeitaufzeichnungspflichtig = false; else - $verwendung->zeitaufzeichnungspflichtig = ''; + $verwendung->azgrelevant = ''; + if($_POST['azgrelevant']=='true') + $verwendung->azgrelevant = true; + elseif($_POST['azgrelevant']=='false') + $verwendung->azgrelevant = false; + else + $verwendung->azgrelevant = ''; if($verwendung->save()) { diff --git a/content/mitarbeiter/mitarbeiteroverlay.js.php b/content/mitarbeiter/mitarbeiteroverlay.js.php index 3495ce3c3..d4d2aae9a 100644 --- a/content/mitarbeiter/mitarbeiteroverlay.js.php +++ b/content/mitarbeiter/mitarbeiteroverlay.js.php @@ -1233,6 +1233,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui dv_art = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-dv_art').value; inkludierte_lehre = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-inkludierte_lehre').value; zeitaufzeichnungspflichtig = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-zeitaufzeichnungspflichtig').checked; + azgrelevant = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-azgrelevant').checked; if(verwendung_code=='1') { @@ -1291,6 +1292,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui req.add('dv_art', dv_art); req.add('inkludierte_lehre', inkludierte_lehre); req.add('zeitaufzeichnungspflichtig', zeitaufzeichnungspflichtig); + req.add('azgrelevant', azgrelevant); var response = req.executePOST(); diff --git a/content/mitarbeiter/mitarbeiterverwendungdialog.js.php b/content/mitarbeiter/mitarbeiterverwendungdialog.js.php index 841f167e9..1119c468d 100644 --- a/content/mitarbeiter/mitarbeiterverwendungdialog.js.php +++ b/content/mitarbeiter/mitarbeiterverwendungdialog.js.php @@ -70,6 +70,7 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id) dv_art = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#dv_art" )); inkludierte_lehre = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#inkludierte_lehre" )); zeitaufzeichnungspflichtig = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zeitaufzeichnungspflichtig" )); + azgrelevant = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#azgrelevant" )); } else { @@ -87,7 +88,7 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id) var predicateNS = "http://www.technikum-wien.at/mitarbeiter/rdf"; fixangestellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fixangestellt" )); - + azgrelevant = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#azgrelevant" )); //neuer Datensatz wird angelegt MitarbeiterVerwendungDetailNeu='true'; @@ -112,6 +113,14 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id) { zeitaufzeichnungspflichtig='Nein'; } + if (!azgrelevant) + { + azgrelevant='Nein'; + } + else + { + azgrelevant='Ja'; + } } document.getElementById('mitarbeiter-verwendung-detail-menulist-beschart1').value=ba1code; @@ -138,7 +147,10 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id) document.getElementById('mitarbeiter-verwendung-detail-checkbox-zeitaufzeichnungspflichtig').checked=true; else document.getElementById('mitarbeiter-verwendung-detail-checkbox-zeitaufzeichnungspflichtig').checked=false; - + if(azgrelevant=='Nein') + document.getElementById('mitarbeiter-verwendung-detail-checkbox-azgrelevant').checked=false; + else + document.getElementById('mitarbeiter-verwendung-detail-checkbox-azgrelevant').checked=true; MitarbeiterVerwendungDetailToggleHauptberuf(); MitarbeiterVerwendungVerwendungChange(); } diff --git a/content/mitarbeiter/mitarbeiterverwendungdialog.xul.php b/content/mitarbeiter/mitarbeiterverwendungdialog.xul.php index bc87a097d..197df7d27 100644 --- a/content/mitarbeiter/mitarbeiterverwendungdialog.xul.php +++ b/content/mitarbeiter/mitarbeiterverwendungdialog.xul.php @@ -167,6 +167,10 @@ echo ' + + diff --git a/include/bisverwendung.class.php b/include/bisverwendung.class.php index 07f2a74de..598edcac1 100644 --- a/include/bisverwendung.class.php +++ b/include/bisverwendung.class.php @@ -47,6 +47,7 @@ class bisverwendung extends basis_db public $dv_art; public $inkludierte_lehre; public $zeitaufzeichnungspflichtig; + public $azgrelevant; public $ba1bez; public $ba2bez; @@ -122,6 +123,7 @@ class bisverwendung extends basis_db $this->dv_art = $row->dv_art; $this->inkludierte_lehre = $row->inkludierte_lehre; $this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig); + $this->azgrelevant = $this->db_parse_bool($row->azgrelevant); return true; } else @@ -247,13 +249,21 @@ class bisverwendung extends basis_db { $zeitaufzeichnungspflichtig = 'null'; } + if(is_bool($this->azgrelevant)) + { + $azgrelevant = $this->db_add_param($this->azgrelevant, FHC_BOOLEAN); + } + else + { + $azgrelevant = 'null'; + } if($new) { //Neuen Datensatz anlegen $qry = "BEGIN;INSERT INTO bis.tbl_bisverwendung (ba1code, ba2code, beschausmasscode, verwendung_code, mitarbeiter_uid, hauptberufcode, hauptberuflich, habilitation, beginn, ende, vertragsstunden, - updateamum, updatevon, insertamum, insertvon, dv_art, inkludierte_lehre, zeitaufzeichnungspflichtig) VALUES (". + updateamum, updatevon, insertamum, insertvon, dv_art, inkludierte_lehre, zeitaufzeichnungspflichtig, azgrelevant) VALUES (". $this->db_add_param($this->ba1code, FHC_INTEGER).', '. $this->db_add_param($this->ba2code, FHC_INTEGER).', '. $this->db_add_param($this->beschausmasscode, FHC_INTEGER).', '. @@ -271,7 +281,8 @@ class bisverwendung extends basis_db $this->db_add_param($this->insertvon).', '. $this->db_add_param($this->dv_art).','. $this->db_add_param($this->inkludierte_lehre).','. - $zeitaufzeichnungspflichtig. ');'; + $zeitaufzeichnungspflichtig.','. + $azgrelevant. ');'; } else @@ -295,7 +306,8 @@ class bisverwendung extends basis_db " insertvon=".$this->db_add_param($this->insertvon).",". " dv_art=".$this->db_add_param($this->dv_art).",". " inkludierte_lehre=".$this->db_add_param($this->inkludierte_lehre).",". - " zeitaufzeichnungspflichtig=". $zeitaufzeichnungspflichtig. + " zeitaufzeichnungspflichtig=". $zeitaufzeichnungspflichtig.",". + " azgrelevant =". $azgrelevant. " WHERE bisverwendung_id=".$this->db_add_param($this->bisverwendung_id, FHC_INTEGER); } @@ -388,7 +400,7 @@ class bisverwendung extends basis_db $obj->dv_art = $row->dv_art; $obj->inkludierte_lehre = $row->inkludierte_lehre; $obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig); - + $obj->azgrelevant = $this->db_parse_bool($row->azgrelevant); $this->result[] = $obj; } return true; @@ -445,6 +457,7 @@ class bisverwendung extends basis_db $obj->dv_art = $row->dv_art; $obj->inkludierte_lehre = $row->inkludierte_lehre; $obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig); + $obj->azgrelevant = $this->db_parse_bool($row->azgrelevant); $this->result[] = $obj; } @@ -503,6 +516,7 @@ class bisverwendung extends basis_db $obj->dv_art = $row->dv_art; $obj->inkludierte_lehre = $row->inkludierte_lehre; $obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig); + $obj->azgrelevant = $this->db_parse_bool($row->azgrelevant); $this->result[] = $obj; } @@ -556,6 +570,7 @@ class bisverwendung extends basis_db $this->dv_art = $row->dv_art; $this->inkludierte_lehre = $row->inkludierte_lehre; $this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig); + $this->azgrelevant = $this->db_parse_bool($row->azgrelevant); } return true; } @@ -609,6 +624,7 @@ class bisverwendung extends basis_db $this->dv_art = $row->dv_art; $this->inkludierte_lehre = $row->inkludierte_lehre; $this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig); + $this->azgrelevant = $this->db_parse_bool($row->azgrelevant); } return true; } @@ -671,6 +687,7 @@ class bisverwendung extends basis_db $obj->dv_art = $row->dv_art; $obj->inkludierte_lehre = $row->inkludierte_lehre; $obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig); + $obj->azgrelevant = $this->db_parse_bool($row->azgrelevant); $this->result[] = $obj; } @@ -799,5 +816,35 @@ class bisverwendung extends basis_db return false; } } + + public function inZeitaufzeichnungspflichtigPeriod($PeriodStartDate, $PeriodEndDate) + { + $PeriodStartDateISO = date('Y-m-d', strtotime($PeriodStartDate)); + $PeriodEndDateISO = date('Y-m-d', strtotime($PeriodEndDate)); + + $beginn = date('Y-m-d', strtotime($this->beginn)); + $end = date('Y-m-d', strtotime($this->ende)); + $zp = $this->zeitaufzeichnungspflichtig; + + if ($zp) + { + if ( + (($PeriodStartDateISO >= $beginn) && (($PeriodStartDateISO <= $end) || is_null($this->ende))) + || + (($PeriodEndDateISO >= $beginn) && (($PeriodEndDateISO <= $end) || is_null($this->ende))) + ) + { + return true; + } + else + { + return false; + } + } + else + { + return false; + } + } } ?> diff --git a/rdf/bisverwendung.rdf.php b/rdf/bisverwendung.rdf.php index 81eb1f444..16e6daba5 100644 --- a/rdf/bisverwendung.rdf.php +++ b/rdf/bisverwendung.rdf.php @@ -84,12 +84,17 @@ function draw_row($row) $hauptberuflich = $row->hauptberuflich?'Ja':'Nein'; else $hauptberuflich = ''; - + if(is_bool($row->zeitaufzeichnungspflichtig)) $zeitaufzeichnungspflichtig = $row->zeitaufzeichnungspflichtig?'Ja':'Nein'; else $zeitaufzeichnungspflichtig = ''; - + + if(is_bool($row->azgrelevant)) + $azgrelevant = $row->azgrelevant?'Ja':'Nein'; + else + $azgrelevant = ''; + echo ' @@ -119,6 +124,7 @@ function draw_row($row) dv_art.']]> inkludierte_lehre.']]> + '; diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 407a4aa24..19f2e228e 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4465,6 +4465,21 @@ if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE } } +// ADD COLUMN azgrelevant in bis.tbl_bisverwendung +if(!$result = @$db->db_query("SELECT azgrelevant FROM bis.tbl_bisverwendung LIMIT 1")) +{ + $qry = " + ALTER TABLE bis.tbl_bisverwendung ADD COLUMN azgrelevant boolean; + UPDATE bis.tbl_bisverwendung SET azgrelevant = zeitaufzeichnungspflichtig; + UPDATE bis.tbl_bisverwendung SET zeitaufzeichnungspflichtig = true WHERE ba1code=103 AND beschausmasscode!=5; + "; + + if(!$db->db_query($qry)) + echo 'bis.tbl_bisverwendung: '.$db->db_last_error().'
'; + else + echo '
bis.tbl_bisverwendung Spalte azgrelevant hinzugefügt.'; +} + // Add new funktion type kstzuordnung for cost center assignment in public.tbl_funktion if ($result = @$db->db_query("SELECT 1 FROM public.tbl_funktion WHERE funktion_kurzbz = 'kstzuordnung';")) { @@ -4798,7 +4813,7 @@ $tabellen=array( "bis.tbl_bisfunktion" => array("bisverwendung_id","studiengang_kz","sws","updateamum","updatevon","insertamum","insertvon","ext_id"), "bis.tbl_bisio" => array("bisio_id","mobilitaetsprogramm_code","nation_code","von","bis","zweck_code","student_uid","updateamum","updatevon","insertamum","insertvon","ext_id","ort","universitaet","lehreinheit_id","ects_erworben","ects_angerechnet"), "bis.tbl_bisio_zweck" => array("bisio_id","zweck_code"), - "bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre","zeitaufzeichnungspflichtig"), + "bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre","zeitaufzeichnungspflichtig","azgrelevant"), "bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"), "bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"), "bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"), @@ -4887,10 +4902,8 @@ $tabellen=array( "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"), "lehre.tbl_akadgrad" => array("akadgrad_id","akadgrad_kurzbz","studiengang_kz","titel","geschlecht"), - "lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id", "dms_id", "studiensemester_kurzbz", "anmerkung_student", "empfehlung_anrechnung"), - "lehre.tbl_anrechnung_anrechnungstatus" => array("anrechnungstatus_id", "anrechnung_id","status_kurzbz","datum", "insertamum","insertvon"), + "lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id"), "lehre.tbl_anrechnung_begruendung" => array("begruendung_id","bezeichnung"), - "lehre.tbl_anrechnungstatus" => array("status_kurzbz","bezeichnung_mehrsprachig"), "lehre.tbl_betreuerart" => array("betreuerart_kurzbz","beschreibung","aktiv"), "lehre.tbl_ferien" => array("bezeichnung","studiengang_kz","vondatum","bisdatum"), "lehre.tbl_lehreinheit" => array("lehreinheit_id","lehrveranstaltung_id","studiensemester_kurzbz","lehrfach_id","lehrform_kurzbz","stundenblockung","wochenrythmus","start_kw","raumtyp","raumtypalternativ","sprache","lehre","anmerkung","unr","lvnr","updateamum","updatevon","insertamum","insertvon","ext_id","lehrfach_id_old","gewicht"),