Compare commits

...
Author SHA1 Message Date
ma0068 3299f09494 Ermittlung Sprache aus lehre.tbl_studienplan_lehrveranstaltung 2023-09-20 12:53:46 +02:00
+48 -23
View File
@@ -100,9 +100,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo ' <studiengang_kz>'.$studiengang_kz.'</studiengang_kz>'; echo ' <studiengang_kz>'.$studiengang_kz.'</studiengang_kz>';
$prestudent = new prestudent($row->prestudent_id); $prestudent = new prestudent($row->prestudent_id);
$studienplan_id = $prestudent->studienplan_id;
if ($prestudent->getLastStatus($row->prestudent_id, null, 'Student')) if ($prestudent->getLastStatus($row->prestudent_id, null, 'Student'))
{ {
$studienplan_id = $prestudent->studienplan_id;
$studienordnung = new studienordnung(); $studienordnung = new studienordnung();
if ($studienordnung->getStudienordnungFromStudienplan($studienplan_id)) if ($studienordnung->getStudienordnungFromStudienplan($studienplan_id))
{ {
@@ -116,11 +116,15 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo ' <studiengang_bezeichnung_deutsch><![CDATA['.$studiengang_bezeichnung.']]></studiengang_bezeichnung_deutsch>'; echo ' <studiengang_bezeichnung_deutsch><![CDATA['.$studiengang_bezeichnung.']]></studiengang_bezeichnung_deutsch>';
echo ' <studiengang_bezeichnung_englisch><![CDATA['.$studiengang_bezeichnung_englisch.']]></studiengang_bezeichnung_englisch>'; echo ' <studiengang_bezeichnung_englisch><![CDATA['.$studiengang_bezeichnung_englisch.']]></studiengang_bezeichnung_englisch>';
if($studienplan_id)
{
echo ' <studienplan_id><![CDATA[' . $studienplan_id . ']]></studienplan_id>';
}
$prestudent = new prestudent(); $prestudent = new prestudent();
$prestudent->getFirstStatus($row->prestudent_id, 'Student'); $prestudent->getFirstStatus($row->prestudent_id, 'Student');
$semesterNumberStart = $prestudent->ausbildungssemester; $semesterNumberStart = $prestudent->ausbildungssemester;
//ECTS-Punkte die bei Quereinsteigern angerechnet werden //ECTS-Punkte die bei Quereinsteigern angerechnet werden
if($semesterNumberStart>1) if($semesterNumberStart>1)
{ {
@@ -155,39 +159,60 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
//Unterrichtssprache //Unterrichtssprache
$sprache_deutsch=''; $sprache_deutsch='';
$sprache_englisch=''; $sprache_englisch='';
if($row->mischform=='t') $qry_sprache = "";
if($studienplan_id)
{ {
//Bei Mischformen, die LVs auf Orgform filtern //Ermittlung Sprache aus den Lehrveranstaltungen des betreffenden Studienplans
$prestudent = new prestudent();
$prestudent->getLastStatus($row->prestudent_id);
if($prestudent->orgform_kurzbz!='')
$orgform_kurzbz=$prestudent->orgform_kurzbz;
else
$orgform_kurzbz=$row->orgform_kurzbz;
$qry_sprache = " $qry_sprache = "
SELECT SELECT
sprache sprache
FROM FROM
lehre.tbl_lehrveranstaltung lehre.tbl_lehrveranstaltung
JOIN
lehre.tbl_studienplan_lehrveranstaltung USING (lehrveranstaltung_id)
WHERE WHERE
studiengang_kz=".$db->db_add_param($row->studiengang_kz)." studienplan_id = ".$db->db_add_param($studienplan_id)."
AND aktiv
AND orgform_kurzbz=".$db->db_add_param($orgform_kurzbz)."
GROUP BY sprache GROUP BY sprache
ORDER BY sprache DESC"; ORDER BY sprache DESC";
} }
else else
//fallback: Sprache aus Studiengang
{ {
$qry_sprache = " if($row->mischform=='t')
SELECT {
sprache //Bei Mischformen, die LVs auf Orgform filtern
FROM $prestudent = new prestudent();
lehre.tbl_lehrveranstaltung $prestudent->getLastStatus($row->prestudent_id);
WHERE if($prestudent->orgform_kurzbz!='')
studiengang_kz=".$db->db_add_param($row->studiengang_kz)." $orgform_kurzbz=$prestudent->orgform_kurzbz;
AND aktiv else
GROUP BY sprache $orgform_kurzbz=$row->orgform_kurzbz;
ORDER BY sprache DESC"; $qry_sprache = "
SELECT
sprache
FROM
lehre.tbl_lehrveranstaltung
WHERE
studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
AND aktiv
AND orgform_kurzbz=".$db->db_add_param($orgform_kurzbz)."
GROUP BY sprache
ORDER BY sprache DESC";
}
else
{
$qry_sprache = "
SELECT
sprache
FROM
lehre.tbl_lehrveranstaltung
WHERE
studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
AND aktiv
GROUP BY sprache
ORDER BY sprache DESC";
}
} }
if($result_sprache = $db->db_query($qry_sprache)) if($result_sprache = $db->db_query($qry_sprache))