From c7a17f9945582071c1d565361570bb582fe333f7 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 24 Sep 2015 17:09:27 +0200 Subject: [PATCH] =?UTF-8?q?Anpassung=20an=20XML=20Export=20damit=20auf=20d?= =?UTF-8?q?er=20Ressourcenliste=20die=20R=C3=A4ume=20korrekt=20angezeigt?= =?UTF-8?q?=20werden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rdf/stundenplan_betriebsmittel.rdf.php | 149 ++++++++++++++----------- 1 file changed, 85 insertions(+), 64 deletions(-) diff --git a/rdf/stundenplan_betriebsmittel.rdf.php b/rdf/stundenplan_betriebsmittel.rdf.php index d0550b1a0..31c8d3057 100644 --- a/rdf/stundenplan_betriebsmittel.rdf.php +++ b/rdf/stundenplan_betriebsmittel.rdf.php @@ -24,6 +24,8 @@ require_once('../include/basis_db.class.php'); require_once('../include/betriebsmittel.class.php'); require_once('../include/benutzerberechtigung.class.php'); require_once('../include/datum.class.php'); +require_once('../include/stunde.class.php'); +require_once('../include/mitarbeiter.class.php'); $datum_obj = new datum(); if(isset($_REQUEST['stundenplan_ids']) || isset($_REQUEST['stundenplan_betriebsmittel_id'])) @@ -88,81 +90,100 @@ elseif(isset($_REQUEST['von']) && isset($_REQUEST['bis']) && $_REQUEST['xmlforma $bis = $datum_obj->formatDatum($_REQUEST['bis'], 'Y-m-d'); $db = new basis_db(); - $qry = ' - SELECT - tbl_stundenplan.datum, - tbl_stundenplan.stunde, - tbl_stunde.beginn, - tbl_stunde.ende, - tbl_stundenplan.ort_kurzbz, - tbl_betriebsmittel.beschreibung, - tbl_stundenplan_betriebsmittel.anmerkung, - tbl_lehrveranstaltung.bezeichnung, - tbl_stundenplan.mitarbeiter_uid, - tbl_stundenplan.lehreinheit_id, - tbl_studiengang.kurzbzlang as stg - FROM - lehre.tbl_stundenplan_betriebsmittel - JOIN lehre.tbl_stundenplan ON(stundenplandev_id=stundenplan_id) - JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id) - JOIN lehre.tbl_stunde USING(stunde) - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - JOIN public.tbl_studiengang ON(tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz) - WHERE - tbl_stundenplan.datum>='.$db->db_add_param($von).' - AND tbl_stundenplan.datum<='.$db->db_add_param($bis).' - ORDER BY datum, ort_kurzbz, stunde'; + $qry=' + SELECT a.*, tbl_lehrveranstaltung.bezeichnung as lvbezeichnung, tbl_studiengang.kurzbzlang as stg + FROM + ( + SELECT + tbl_stundenplan.datum, + tbl_stundenplan.ort_kurzbz, + tbl_stundenplan.lehreinheit_id, + tbl_lehreinheit.lehrveranstaltung_id, + min(tbl_stundenplan.stunde) as von, + max(tbl_stundenplan.stunde) as bis, + array_agg(tbl_betriebsmittel.beschreibung) as beschreibung, + array_agg(tbl_stundenplan_betriebsmittel.anmerkung) as anmerkung, + array_agg(tbl_stundenplan.mitarbeiter_uid) as mitarbeiter_uid + FROM + lehre.tbl_stundenplan_betriebsmittel + JOIN lehre.tbl_stundenplan ON(stundenplandev_id=stundenplan_id) + JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id) + JOIN lehre.tbl_stunde USING(stunde) + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + WHERE + tbl_stundenplan.datum>='.$db->db_add_param($von).' + AND tbl_stundenplan.datum<='.$db->db_add_param($bis).' + GROUP BY datum, tbl_stundenplan.ort_kurzbz, lehreinheit_id, lehrveranstaltung_id + ) a + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + JOIN public.tbl_studiengang USING(studiengang_kz) + ORDER BY datum, von, ort_kurzbz'; + + $stunde = new stunde(); + $stunde->loadAll(); + foreach($stunde->stunden as $row) + { + $stunden_arr[$row->stunde]['beginn']=$row->beginn->format('H:i'); + $stunden_arr[$row->stunde]['ende']=$row->ende->format('H:i'); + } + $stunde->loadAll(); header("Content-type: application/xhtml+xml"); $xml = ""; echo ''; + $data = array(); if($result = $db->db_query($qry)) { + $lastdatum = ''; while($row = $db->db_fetch_object($result)) { - $obj = array(); - $obj['ort_kurzbz']=$row->ort_kurzbz; - $obj['stunde']=$row->stunde; - $obj['beginn']=$row->beginn; - $obj['ende']=$row->ende; - $obj['mitarbeiter_uid']=$row->mitarbeiter_uid; - $obj['beschreibung']=$row->beschreibung; - $obj['anmerkung']=$row->anmerkung; - $obj['lvbezeichnung']=$row->bezeichnung; - $obj['stg']=$row->stg; - $data[$row->datum][$row->lehreinheit_id][$row->stunde][]=$obj; - } - } - foreach($data as $datum=>$tage) - { - echo ''; - echo 'formatDatum($datum,'d.m.Y').']]>'; - foreach($tage as $datum=>$lehreinheiten) - { - echo ''; - foreach($lehreinheiten as $lehreinheit_id=>$stunden) + if($lastdatum!=$row->datum) { - echo ''; - foreach($stunden as $stunde=>$obj) - { - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - echo ''; + if($lastdatum!='') + echo ''; + echo ''; + echo 'formatDatum($row->datum,'d.m.Y').']]>'; + + $lastdatum = $row->datum; } - echo ''; + + echo ''; + echo 'ort_kurzbz.']]>'; + echo 'von.']]>'; + echo 'bis.']]>'; + echo 'von]['beginn'],0,5).']]>'; + echo 'bis]['ende'],0,5).']]>'; + + $mitarbeiter = array_unique($db->db_parse_array($row->mitarbeiter_uid)); + $ma_obj = new mitarbeiter($mitarbeiter[0]); + echo 'uid.']]>'; + echo 'nachname.']]>'; + echo 'vorname.']]>'; + + $beschreibungen = array_unique($db->db_parse_array($row->beschreibung)); + echo ''; + foreach($beschreibungen as $beschreibung) + { + if($beschreibung!='') + echo ''; + } + echo ''; + + $anmerkungen = array_unique($db->db_parse_array($row->anmerkung)); + echo ''; + foreach($anmerkungen as $anmerkung) + { + if($anmerkung!='') + echo ''; + } + echo ''; + + echo 'lvbezeichnung.']]>'; + echo 'stg.']]>'; + echo ''; } - echo ''; + if($lastdatum!='') + echo ''; } echo ''; }