modifies how the slot template from the Calendar Page is passed to the CalendarApp and prints the reservierungen differently (but the reservierungen are not grouped yet)

This commit is contained in:
SimonGschnell
2024-06-11 15:03:09 +02:00
parent 022ad26dd2
commit 9c51f25c9e
7 changed files with 57 additions and 32 deletions
@@ -22,7 +22,13 @@ class Reservierung_model extends DB_Model
{
$raum_reservierungen= $this->execReadOnlyQuery("
SELECT res.*, mit.kurzbz as person_kurzbz , CONCAT(studg.typ,studg.kurzbz,'-') as stg
SELECT res.*, mit.kurzbz as person_kurzbz ,
CASE
WHEN res.verband IS NOT NULL OR res.semester IS NOT NULL THEN
CONCAT(UPPER(studg.typ),UPPER(studg.kurzbz),'-',res.verband,res.semester)
ELSE
CONCAT(UPPER(studg.typ),UPPER(studg.kurzbz))
END AS stg
FROM lehre.vw_reservierung res
JOIN public.tbl_mitarbeiter mit ON mit.mitarbeiter_uid=res.uid
JOIN public.tbl_studiengang studg ON studg.studiengang_kz=res.studiengang_kz
@@ -18,23 +18,25 @@ class Stundenplan_model extends DB_Model
*
* @return stdClass
*/
public function getRoomDataOnDay($ort_kurzbz='EDV_A2.06',$start_date,$end_date){
public function getRoomDataOnDay($ort_kurzbz,$start_date,$end_date){
//TODO alternative query version that unions the reservierungen into the stundenplan with different 'eintrags_type' column
/*"
/*$raum_stundenplan= $this->execReadOnlyQuery("
-- merging all reservierungs information with the stundenplan information but with different types
SELECT 'stundenplan_eintrag' as eintrags_type, ort_kurzbz, studiengang_kz, uid, stunde, datum, titel, semester, verband, gruppe, gruppe_kurzbz, stg_kurzbz, CONCAT(UPPER(sp.stg_typ),UPPER(sp.stg_kurzbz),'-',COALESCE(CAST(sp.semester AS varchar),'/'),COALESCE(CAST(sp.verband AS varchar),'/')) AS stg, CONCAT(lehrfach,'-',lehrform) AS lv_info, * FROM lehre.vw_stundenplan sp
SELECT 'stundenplan_eintrag' as eintrags_type, CONCAT(UPPER(sp.stg_typ),UPPER(sp.stg_kurzbz),'-',COALESCE(CAST(sp.semester AS varchar),'/'),COALESCE(CAST(sp.verband AS varchar),'/')) AS stg, CONCAT(lehrfach,'-',lehrform) AS lv_info, ort_kurzbz, studiengang_kz, uid, stunde, datum, titel, semester, verband, gruppe, gruppe_kurzbz, stg_kurzbz, * FROM lehre.vw_stundenplan sp
WHERE ort_kurzbz = ? AND datum >= ? AND datum <= ?
UNION ALL
SELECT 'reservierungs_eintrag' as eintrags_type, ort_kurzbz, studiengang_kz, uid, stunde, datum, titel, semester, verband, gruppe, gruppe_kurzbz, stg_kurzbz, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL FROM lehre.vw_reservierung res
SELECT 'reservierungs_eintrag' as eintrags_type, NULL, NULL, ort_kurzbz, studiengang_kz, uid, stunde, datum, titel, semester, verband, gruppe, gruppe_kurzbz, stg_kurzbz, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL FROM lehre.vw_reservierung res
WHERE ort_kurzbz = ? AND datum >= ? AND datum <= ?
"*/
", [$ort_kurzbz, $start_date, $end_date,$ort_kurzbz, $start_date, $end_date]);
*/
$raum_stundenplan= $this->execReadOnlyQuery("
SELECT CONCAT(UPPER(sp.stg_typ),UPPER(sp.stg_kurzbz),'-',COALESCE(CAST(sp.semester AS varchar),'/'),COALESCE(CAST(sp.verband AS varchar),'/')) AS stg, CONCAT(lehrfach,'-',lehrform) AS lv_info, * FROM lehre.vw_stundenplan sp
WHERE ort_kurzbz = ? AND datum >= ? AND datum <= ?
", [$ort_kurzbz, $start_date, $end_date]);
", [$ort_kurzbz, $start_date, $end_date]);
return $raum_stundenplan;
}