diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 6fea0e014..1d4bb418d 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -770,7 +770,6 @@ echo ' else { $("#homeofficeBlock").hide(); - } } }); @@ -1840,10 +1839,29 @@ if ($projekt->getProjekteMitarbeiter($user, true)) $tagessaldo = $tagessaldo-$pausesumme; // fehlende Pausen berechnen $pausefehlt_str = ''; - if ($tagessaldo > 19800 && $pausesumme < 1800) - $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; - elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000) - $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; + + //Prüfung auf azgrelevant + $azgrelevant = false; + $verwendung = new bisverwendung(); + + $verwendung->getVerwendungDatum($user, $datum->formatDatum($tag, 'Y-m-d')); + $azgrelevant = true; + foreach ($verwendung->result as $v) + { + if ($v->azgrelevant) + { + $azgrelevant = false; + } + } + + if ($tagessaldo > 19800 && $pausesumme < 1800 && !$azgrelevant) + $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; + elseif ($tagessaldo > 19800 && $pausesumme < 1800 && $azgrelevant) + $pausefehlt_str = '-- Hinweis: Pause fehlt --'; + elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000 && !$azgrelevant) + $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; + elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000 && $azgrelevant) + $pausefehlt_str = '-- Hinweis: Pause fehlt --'; $tagessaldo = date('H:i', ($tagessaldo)); diff --git a/content/statistik/lvplanung.xls.php b/content/statistik/lvplanung.xls.php index 3b74992fa..ff6faa508 100644 --- a/content/statistik/lvplanung.xls.php +++ b/content/statistik/lvplanung.xls.php @@ -29,6 +29,7 @@ require_once('../../include/benutzer.class.php'); require_once('../../include/mitarbeiter.class.php'); require_once('../../include/organisationseinheit.class.php'); require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/studiensemester.class.php'); $user = get_uid(); @@ -114,6 +115,9 @@ $oe_arr[''] = ''; $stg_obj = new studiengang(); $stg_obj->getAll('typ, kurzbz', false); +$stsem = new studiensemester(); + +$previousStsem = $stsem->getPreviousFrom($stsem->getPreviousFrom($studiensemester_kurzbz)); $qry = " SELECT tbl_lehrveranstaltung.bezeichnung AS lf_bezeichnung, tbl_lehrveranstaltung.studiengang_kz, @@ -124,18 +128,21 @@ SELECT tbl_lehrveranstaltung.bezeichnung AS lf_bezeichnung, tbl_lehreinheitmitarbeiter.stundensatz, tbl_lehreinheitmitarbeiter.semesterstunden lemss, tbl_lehreinheitmitarbeiter.planstunden, + tbl_lehreinheitmitarbeiter.anmerkung as mitarbeiter_anmerkung, tbl_lehreinheit.stundenblockung, tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.raumtyp, tbl_lehreinheit.raumtypalternativ, - tbl_lehreinheit.anmerkung, + tbl_lehreinheit.anmerkung as lehreinheit_anmerkung, tbl_lehreinheit.studiensemester_kurzbz, + tbl_lehreinheit.start_kw, tbl_lehrveranstaltung.ects, tbl_lehrveranstaltung.semesterstunden, tbl_lehrveranstaltung.semesterstunden AS sws, tbl_lehrveranstaltung.lehrform_kurzbz, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.orgform_kurzbz, + tbl_lehrveranstaltung.sprache, ( SELECT nachname FROM PUBLIC.tbl_person @@ -163,6 +170,17 @@ SELECT tbl_lehrveranstaltung.bezeichnung AS lf_bezeichnung, FROM lehre.tbl_lehrform WHERE lehre.tbl_lehrform.lehrform_kurzbz = tbl_lehrveranstaltung.lehrform_kurzbz LIMIT 1 ) AS lv_type, + ( + SELECT STRING_AGG(DISTINCT (person.nachname || ' ' || person.vorname), ', ') + FROM lehre.tbl_lehrveranstaltung slv + JOIN lehre.tbl_lehreinheit sle USING (lehrveranstaltung_id) + JOIN lehre.tbl_lehreinheitmitarbeiter slema USING (lehreinheit_id) + JOIN PUBLIC.tbl_benutzer benutzer ON benutzer.uid = slema.mitarbeiter_uid + JOIN PUBLIC.tbl_person person USING (person_id) + WHERE lehre.tbl_lehreinheit.lehrveranstaltung_id = sle.lehrveranstaltung_id + AND tbl_lehrveranstaltung.lehrform_kurzbz = slv.lehrform_kurzbz + AND sle.studiensemester_kurzbz = " . $db->db_add_param($previousStsem) . " + ) AS vorjahr_lektor, tbl_lehrveranstaltung.lehrform_kurzbz FROM lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id) @@ -217,6 +235,10 @@ $worksheet->write($zeile,++$spalte,"LektorIn", $format_bold); $maxlength[$spalte]=6; $worksheet->write($zeile,++$spalte,"Fixangestellt", $format_bold); $maxlength[$spalte]=10; +$worksheet->write($zeile,++$spalte,"Vorjahrslektor", $format_bold); +$maxlength[$spalte]=12; +$worksheet->write($zeile,++$spalte,"Wunschlektor", $format_bold); +$maxlength[$spalte]=12; $worksheet->write($zeile,++$spalte,"Bezeichnung", $format_bold); $maxlength[$spalte]=25; $worksheet->write($zeile,++$spalte,"Semester", $format_bold); @@ -239,8 +261,12 @@ $worksheet->write($zeile,++$spalte,"Raum", $format_bold); $maxlength[$spalte]=4; $worksheet->write($zeile,++$spalte,"Raum alternativ", $format_bold); $maxlength[$spalte]=15; -$worksheet->write($zeile,++$spalte,"Anmerkung", $format_bold); -$maxlength[$spalte]=9; + +$worksheet->write($zeile,++$spalte,"Anmerkung für LV Planung", $format_bold); +$maxlength[$spalte]=25; + +$worksheet->write($zeile,++$spalte,"Anmerkung für Dpt/KF", $format_bold); +$maxlength[$spalte]=25; $worksheet->write($zeile,++$spalte,"LV-Leitung", $format_bold); $maxlength[$spalte]=9; @@ -260,6 +286,16 @@ $maxlength[$spalte]=9; $worksheet->write($zeile,++$spalte,"Organisationsform", $format_bold); $maxlength[$spalte]=15; +$worksheet->write($zeile,++$spalte,"Sprache (LV)", $format_bold); +$maxlength[$spalte]=10; + +$worksheet->write($zeile,++$spalte,"Software", $format_bold); +$maxlength[$spalte]=10; + +$worksheet->write($zeile,++$spalte,"Start in KW", $format_bold); +$maxlength[$spalte]=10; + + if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) @@ -290,6 +326,10 @@ if($result = $db->db_query($qry)) if($maxlength[$spalte]fixangestellt ? 'Ja' : 'Nein')) $maxlength[$spalte]=mb_strlen($mitarbeiter->fixangestellt ? 'Ja' : 'Nein'); + $worksheet->write($zeile,++$spalte, $row->vorjahr_lektor); + + $worksheet->write($zeile,++$spalte, ''); + //Lehrfach $worksheet->write($zeile,++$spalte,$row->lf_bezeichnung); //if($maxlength[$spalte]lf_bezeichnung)) @@ -354,10 +394,12 @@ if($result = $db->db_query($qry)) $worksheet->write($zeile,++$spalte,$row->raumtypalternativ); if($maxlength[$spalte]raumtypalternativ)) $maxlength[$spalte]=mb_strlen($row->raumtypalternativ); - //Anmerkung - $worksheet->write($zeile,++$spalte,$row->anmerkung); - //if($maxlength[$spalte]anmerkung)) - //$maxlength[$spalte]=mb_strlen($row->anmerkung); + + //Anmerkung für LV Planung + $worksheet->write($zeile,++$spalte,$row->lehreinheit_anmerkung); + + //Anmerkung für Dpt/KF + $worksheet->write($zeile,++$spalte,$row->mitarbeiter_anmerkung); //LV-Leitung $worksheet->write($zeile,++$spalte,$row->lv_leitung.' '.$row->lv_leitung_vorname); @@ -394,6 +436,15 @@ if($result = $db->db_query($qry)) $worksheet->write($zeile,++$spalte,$row->orgform_kurzbz); if($maxlength[$spalte]orgform_kurzbz)) $maxlength[$spalte]=mb_strlen($row->orgform_kurzbz); + + //Sprache (LV) + $worksheet->write($zeile,++$spalte,$row->sprache); + + //Software + $worksheet->write($zeile,++$spalte,''); + + //Start in KW + $worksheet->write($zeile,++$spalte,$row->start_kw); } //Betreuungen diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index e411dbaad..dd3525d1d 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -110,10 +110,18 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz) { $db = new basis_db(); + $studiengang_details = new studiengang(); + $studiengang_details->load($studiengang_kz); + + if (!isset($studiengang_details->studiengang_kz)) + { + return false; + } + $jahr = substr($studiensemester_kurzbz, 4); $art = substr($studiensemester_kurzbz, 0, 2); - if($studiengang_kz<0) + if (($studiengang_kz < 0) || (isset($studiengang_details->typ) && ($studiengang_details->typ == 'l'))) { $studiengang_kz=abs($studiengang_kz); //Lehrgang @@ -136,7 +144,17 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz) } if($art=='2' || $art=='4') $jahr = $jahr-1; - $matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz); + + //FH-Burgenland - weil leider die AO Studiengänge aufgeteilt sind + //(AO sind normal 9+erhalter Nummer, matrikelnr/personenkz wird auch im DVUH Extension berücksichtigt) + if ($studiengang_kz >= 90010 && $studiengang_kz <= 90019) + { + $matrikelnummer = sprintf("%02d",$jahr).$art.substr($studiengang_kz, 0, 4); + } + else + { + $matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz); + } $qry = "SELECT matrikelnr FROM public.tbl_student WHERE matrikelnr LIKE '$matrikelnummer%' ORDER BY matrikelnr DESC LIMIT 1"; diff --git a/include/studiengang.class.php b/include/studiengang.class.php index 08d6e1f13..530b072c0 100644 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -500,7 +500,8 @@ class studiengang extends basis_db $qry = 'INSERT INTO public.tbl_studiengang (studiengang_kz, kurzbz, kurzbzlang, bezeichnung, english, typ, farbe, email, telefon, max_verband, max_semester, max_gruppe, erhalter_kz, bescheid, bescheidbgbl1, bescheidbgbl2, bescheidgz, bescheidvom, titelbescheidvom, aktiv, onlinebewerbung, orgform_kurzbz, zusatzinfo_html, - oe_kurzbz, moodle, sprache, testtool_sprachwahl, studienplaetze, lgartcode, mischform,projektarbeit_note_anzeige) VALUES ('. + oe_kurzbz, moodle, sprache, testtool_sprachwahl, studienplaetze, lgartcode, mischform,projektarbeit_note_anzeige, + melderelevant, foerderrelevant, standort_code) VALUES ('. $this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '. $this->db_add_param($this->kurzbz).', '. $this->db_add_param($this->kurzbzlang).', '. @@ -1103,7 +1104,7 @@ class studiengang extends basis_db return false; } } - + /** * Laedt die Studiengänge die vom übergeben Typ sind * @param string $typ @@ -1118,13 +1119,13 @@ class studiengang extends basis_db tbl_studiengang.typ=".$this->db_add_param($typ)." ORDER BY kurzbz"; - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) { $obj = new studiengang(); - + $obj->studiengang_kz = $row->studiengang_kz; $obj->kurzbz = $row->kurzbz; $obj->kurzbzlang = $row->kurzbzlang; @@ -1160,10 +1161,10 @@ class studiengang extends basis_db $obj->melderelevant = $this->db_parse_bool($row->melderelevant); $obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant); $obj->standort_code = $row->standort_code; - + $obj->bezeichnung_arr['German'] = $obj->bezeichnung; $obj->bezeichnung_arr['English'] = $obj->english; - + $this->result[] = $obj; } return true; diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index d465eba28..34f44ec66 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -190,6 +190,7 @@ $menu=array 'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')), 'lv_merge'=>array('name'=>'LVs zusammenlegen', 'link'=>'lehre/lv_merge.php', 'target'=>'main','permissions'=>array('lehre/lehrveranstaltung')), 'akteupdate'=>array('name'=>'Akten überschreiben', 'link'=>'personen/akteupdate.php', 'target'=>'main','permissions'=>array('admin')), + 'gemeindeupdate'=>array('name'=>'Gemeinden aktualisieren', 'link'=>'stammdaten/set_gemeinde.php', 'target'=>'main','permissions'=>array('basis/gemeinde')), ), 'Auswertung'=> array ( diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 6652da78e..ffdd28bc3 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4955,6 +4955,20 @@ if(!@$db->db_query("SELECT statusgrund_kurzbz FROM public.tbl_status_grund LIMIT echo '
Neue Spalte statusgrund_kurzbz zu Tabelle public.tbl_status_grund hinzugefügt'; } +// Add permission to set gemeinde +if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'basis/gemeinde';")) +{ + if($db->db_num_rows($result) == 0) + { + $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/gemeinde', 'Gemeindedaten pflegen');"; + + if(!$db->db_query($qry)) + echo 'bis.tbl_bisverwendung: '.$db->db_last_error().'
'; + else + echo ' system.tbl_berechtigung: Added permission for basis/gemeinde
'; + } +} + // Add column homeoffice to bis.tbl_bisverwendung if (!$result = @$db->db_query("SELECT homeoffice FROM bis.tbl_bisverwendung LIMIT 1")) { @@ -5216,9 +5230,9 @@ if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_issue_status LIMIT 1;")) ); COMMENT ON TABLE system.tbl_issue_status IS 'Tabelle zur Pflege von Bearbeitungsstatus von issues.'; - + ALTER TABLE system.tbl_issue_status ADD CONSTRAINT pk_tbl_issue_status PRIMARY KEY (status_kurzbz); - + INSERT INTO system.tbl_issue_status (status_kurzbz, bezeichnung_mehrsprachig) VALUES('new', '{\"neu\",\"new\"}'); INSERT INTO system.tbl_issue_status (status_kurzbz, bezeichnung_mehrsprachig) VALUES('inProgress', '{\"in Bearbeitung\",\"in progress\"}'); INSERT INTO system.tbl_issue_status (status_kurzbz, bezeichnung_mehrsprachig) VALUES('resolved', '{\"behoben\",\"resolved\"}');"; @@ -5250,11 +5264,11 @@ if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_fehlertyp LIMIT 1;")) fehlertyp_kurzbz character varying(32), bezeichnung_mehrsprachig varchar(32)[] ); - + COMMENT ON TABLE system.tbl_fehlertyp IS 'Tabelle mit fehlertyp für tbl_fehler'; ALTER TABLE system.tbl_fehlertyp ADD CONSTRAINT pk_tbl_fehlertyp PRIMARY KEY (fehlertyp_kurzbz); - + INSERT INTO system.tbl_fehlertyp (fehlertyp_kurzbz, bezeichnung_mehrsprachig) VALUES('warning', '{\"warnung\",\"warning\"}'); INSERT INTO system.tbl_fehlertyp (fehlertyp_kurzbz, bezeichnung_mehrsprachig) VALUES('error', '{\"fehler\",\"error\"}'); INSERT INTO system.tbl_fehlertyp (fehlertyp_kurzbz, bezeichnung_mehrsprachig) VALUES('info', '{\"info\",\"info\"}');"; @@ -5290,7 +5304,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_fehler LIMIT 1;")) fehlertyp_kurzbz character varying(32) NOT NULL, app character varying(32) NOT NULL ); - + COMMENT ON TABLE system.tbl_fehler IS 'Tabelle zur Pflege von Fehlerfällen'; COMMENT ON COLUMN system.tbl_fehler.fehlercode IS 'Eindeutiger interner Fehlercode'; COMMENT ON COLUMN system.tbl_fehler.fehler_kurzbz IS 'Eindeutige Kurzbezeichnung für den Fehler'; @@ -5298,13 +5312,13 @@ if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_fehler LIMIT 1;")) COMMENT ON COLUMN system.tbl_fehler.fehlertext IS 'Interner, eigens definierter Fehlertext mit Platzhaltern für Parameter'; COMMENT ON COLUMN system.tbl_fehler.fehlertyp_kurzbz IS 'Typ bzw Schweregrad (z.B. warnung, fehler)'; COMMENT ON COLUMN system.tbl_fehler.app IS 'Ursprungsapp des Fehlers'; - - ALTER TABLE system.tbl_fehler ADD CONSTRAINT pk_tbl_fehler PRIMARY KEY (fehlercode); + + ALTER TABLE system.tbl_fehler ADD CONSTRAINT pk_tbl_fehler PRIMARY KEY (fehlercode); ALTER TABLE system.tbl_fehler ADD CONSTRAINT fk_tbl_fehler_fehlertyp_kurzbz FOREIGN KEY (fehlertyp_kurzbz) REFERENCES system.tbl_fehlertyp(fehlertyp_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE system.tbl_fehler ADD CONSTRAINT fk_tbl_fehler_app FOREIGN KEY (app) REFERENCES system.tbl_app(app) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE system.tbl_fehler ADD CONSTRAINT uk_tbl_fehler_fehlercode_fehler_kurzbz UNIQUE (fehlercode, fehler_kurzbz); -- for upsert ON CONFLICT ALTER TABLE system.tbl_fehler ADD CONSTRAINT uk_tbl_fehler_fehlercode_extern_app UNIQUE (fehlercode_extern, app); -- for recognizing external errors - + INSERT INTO system.tbl_fehler (fehlercode, fehlertext, fehlertyp_kurzbz, app) VALUES ('UNKNOWN_ERROR', 'Fehler ist aufgetreten', 'error', 'core'); "; @@ -5339,31 +5353,31 @@ if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_fehler_zustaendigkeiten L oe_kurzbz character varying(32), funktion_kurzbz character varying(16) ); - + COMMENT ON TABLE system.tbl_fehler_zustaendigkeiten IS 'Tabelle zum Hinzufügen für Zuständigkeiten für einzelne Fehler'; COMMENT ON COLUMN system.tbl_fehler_zustaendigkeiten.fehlercode IS 'Eindeutiger interner Fehlercode'; COMMENT ON COLUMN system.tbl_fehler_zustaendigkeiten.person_id IS 'person_id der zuständigen Person'; COMMENT ON COLUMN system.tbl_fehler_zustaendigkeiten.oe_kurzbz IS 'Zuständigkeit für einen fehlercode für eine ganze OE'; COMMENT ON COLUMN system.tbl_fehler_zustaendigkeiten.funktion_kurzbz IS 'Zusätzliche Einschränkung der OE Zuständigkeit nach funktion'; - + CREATE SEQUENCE system.seq_fehlerzustaendigkeiten_id START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; - + ALTER TABLE ONLY system.tbl_fehler_zustaendigkeiten ALTER COLUMN fehlerzustaendigkeiten_id SET DEFAULT nextval('system.seq_fehlerzustaendigkeiten_id'::regclass); - + GRANT SELECT, UPDATE ON SEQUENCE system.seq_fehlerzustaendigkeiten_id TO vilesci; GRANT SELECT, UPDATE ON SEQUENCE system.seq_fehlerzustaendigkeiten_id TO fhcomplete; - ALTER TABLE system.tbl_fehler_zustaendigkeiten ADD CONSTRAINT pk_tbl_fehler_zustaendigkeiten PRIMARY KEY (fehlerzustaendigkeiten_id); + ALTER TABLE system.tbl_fehler_zustaendigkeiten ADD CONSTRAINT pk_tbl_fehler_zustaendigkeiten PRIMARY KEY (fehlerzustaendigkeiten_id); ALTER TABLE system.tbl_fehler_zustaendigkeiten ADD CONSTRAINT fk_tbl_fehler_zustaendigkeiten_fehlercode FOREIGN KEY (fehlercode) REFERENCES system.tbl_fehler(fehlercode) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE system.tbl_fehler_zustaendigkeiten ADD CONSTRAINT fk_tbl_fehler_zustaendigkeiten_person_id FOREIGN KEY (person_id) REFERENCES public.tbl_person(person_id) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE system.tbl_fehler_zustaendigkeiten ADD CONSTRAINT fk_tbl_fehler_zustaendigkeiten_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE system.tbl_fehler_zustaendigkeiten ADD CONSTRAINT fk_tbl_fehler_zustaendigkeiten_funktion_kurzbz FOREIGN KEY (funktion_kurzbz) REFERENCES public.tbl_funktion(funktion_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - + ALTER TABLE system.tbl_fehler_zustaendigkeiten ADD CONSTRAINT uk_tbl_fehler_zustaendigkeiten_fehlercode_person_id UNIQUE (fehlercode, person_id); ALTER TABLE system.tbl_fehler_zustaendigkeiten ADD CONSTRAINT uk_tbl_fehler_zustaendigkeiten_fehlercode_oe_kurzbz_funktion_kurzbz UNIQUE (fehlercode, oe_kurzbz, funktion_kurzbz);"; @@ -5407,7 +5421,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_issue LIMIT 1;")) updatevon character varying(32), updateamum timestamp without time zone ); - + COMMENT ON TABLE system.tbl_issue IS 'Tabelle zur Verfolgung von Problemen/Fehlern von verschiedenen Systemen'; COMMENT ON COLUMN system.tbl_issue.issue_id IS 'Primärschlüssel'; COMMENT ON COLUMN system.tbl_issue.fehlercode IS 'Identifikationscode des Problems/Fehlers, kann von anderem System kommen oder eigens definiert sein'; @@ -5420,26 +5434,26 @@ if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_issue LIMIT 1;")) COMMENT ON COLUMN system.tbl_issue.person_id IS 'Id der Person, für welche das issue besteht'; COMMENT ON COLUMN system.tbl_issue.oe_kurzbz IS 'Betroffene Organisationseinheit'; COMMENT ON COLUMN system.tbl_issue.status_kurzbz IS 'Verarbeitsungsstatus'; - + CREATE SEQUENCE system.seq_issue_id START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; - + ALTER TABLE ONLY system.tbl_issue ALTER COLUMN issue_id SET DEFAULT nextval('system.seq_issue_id'::regclass); - + GRANT SELECT, UPDATE ON SEQUENCE system.seq_issue_id TO vilesci; GRANT SELECT, UPDATE ON SEQUENCE system.seq_issue_id TO fhcomplete; - + ALTER TABLE system.tbl_issue ADD CONSTRAINT pk_tbl_issue PRIMARY KEY (issue_id); - + ALTER TABLE system.tbl_issue ADD CONSTRAINT fk_tbl_issue_fehlercode FOREIGN KEY (fehlercode) REFERENCES system.tbl_fehler(fehlercode) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE system.tbl_issue ADD CONSTRAINT fk_tbl_issue_verarbeitetvon FOREIGN KEY (verarbeitetvon) REFERENCES public.tbl_benutzer(uid) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE system.tbl_issue ADD CONSTRAINT fk_tbl_issue_person_id FOREIGN KEY (person_id) REFERENCES public.tbl_person(person_id) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE system.tbl_issue ADD CONSTRAINT fk_tbl_issue_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - + ALTER TABLE system.tbl_issue ADD CONSTRAINT chk_tbl_issue_person_id_oe_kurzbz CHECK (person_id IS NOT NULL OR oe_kurzbz IS NOT NULL); CREATE INDEX idx_tbl_issue_person_id ON system.tbl_issue USING btree (person_id); diff --git a/vilesci/stammdaten/set_gemeinde.php b/vilesci/stammdaten/set_gemeinde.php new file mode 100644 index 000000000..075f2c910 --- /dev/null +++ b/vilesci/stammdaten/set_gemeinde.php @@ -0,0 +1,159 @@ + delete from bis.tbl_gemeinde; +Skript aufrufen, csv auswählen und hochladen. +Datei wird eingelesen und in die DB gespeichert. +*/ +require_once('../../config/system.config.inc.php'); +require_once(dirname(__FILE__).'/../../include/functions.inc.php'); +require_once(dirname(__FILE__).'/../../include/benutzerberechtigung.class.php'); +require_once(dirname(__FILE__).'/../../include/gemeinde.class.php'); +require_once(dirname(__FILE__).'/../../include/benutzerberechtigung.class.php'); + +$user = get_uid(); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if (!$rechte->isBerechtigt('basis/gemeinde')) +{ + die('Sie haben keine Berechtigung fuer diese Seite'); +} + +$tmp_gemeinde_ar = array(); + +if (isset($_FILES['parsefile']) && $_FILES['parsefile']['error'] == 0) +{ + + $rows = array_map('str_getcsv', file( $_FILES['parsefile']['tmp_name'] )); + $header = array_shift($rows); + $data = array(); + foreach ($rows as $row) + { + $data[] = array_combine($header, $row); + } + + foreach ($data as $gemeinde_details) + { + + //Wenn nicht gültig dann überspringen + if ($gemeinde_details['Gültig'] == 'Nein') continue; + + //es können mehrere plz in einer zeile stehen + $plzs = explode(' ', trim($gemeinde_details['PLZ'])); + + foreach ($plzs as $plz) + { + $tmp_obj_gemeinde = null; + $tmp_obj_gemeinde = new gemeinde(); + $tmp_obj_gemeinde->plz = $plz; + $tmp_obj_gemeinde->name = $gemeinde_details['Gemeindename']; + $tmp_obj_gemeinde->ortschaftskennziffer = $gemeinde_details['Ortschaftskennziffer']; + $tmp_obj_gemeinde->ortschaftsname = $gemeinde_details['Ortschaftsname']; + $tmp_obj_gemeinde->bulacode = $gemeinde_details['BULA_Code']; + $tmp_obj_gemeinde->bulabez = $gemeinde_details['BULA_Bez']; + $tmp_obj_gemeinde->kennziffer = $gemeinde_details['Gemeindekennziffer']; + + $tmp_obj_gemeinde->save(); + $tmp_gemeinde_ar[] = $tmp_obj_gemeinde; + } + } +} +?> + + + + + Set Gemeinde + + + +

Gemeinden aktualisieren

+ Diese Seite dient dazu die Gemeinde Kodex Tabelle zu aktualisieren.

+ Die Gemeinde Tabelle muss zuvor manuell geleert werden
+ Filesyntax:(Standard xlsx-File von https://www.bis.ac.at/BISSuite, gespeichert als csv! erste Zeile ist Header (alles was oberhalb ist kann entfernt werden) -> dann Daten) +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GemeindekennzifferGemeindenameOrtschaftskennzifferOrtschaftsnamePLZBULA_CodeBULA_BezGültig
10101Eisenstadt1Eisenstadt70001BGLDJa
10101Eisenstadt2Kleinhöflein im Burgenland7000 7001 70021BGLDJa
........................
+
+
+
PLZ Kodextabelle + +
+
+
+
+				
+			
+
+ +