Merge branch 'master' into feature-40852/MasterLehrgaenge_BeruflicheKompetenzen

This commit is contained in:
Andreas Österreicher
2025-09-12 13:34:44 +02:00
923 changed files with 122616 additions and 8121 deletions
+1
View File
@@ -397,6 +397,7 @@ if ($xmlformat=='rdf')
<ABSCHLUSSPRUEFUNG:pruefungstyp_kurzbz><![CDATA['.$row->pruefungstyp_kurzbz.']]></ABSCHLUSSPRUEFUNG:pruefungstyp_kurzbz>
<ABSCHLUSSPRUEFUNG:beschreibung><![CDATA['.$row->beschreibung.']]></ABSCHLUSSPRUEFUNG:beschreibung>
<ABSCHLUSSPRUEFUNG:anmerkung><![CDATA['.$row->anmerkung.']]></ABSCHLUSSPRUEFUNG:anmerkung>
<ABSCHLUSSPRUEFUNG:link_abschlusspruefung><![CDATA['.APP_ROOT.'index.ci.php/lehre/Pruefungsprotokoll/showProtokoll?abschlusspruefung_id='.$row->abschlusspruefung_id.']]></ABSCHLUSSPRUEFUNG:link_abschlusspruefung>
</RDF:Description>
</RDF:li>
';
-6
View File
@@ -123,8 +123,6 @@ foreach($uid_arr as $uid)
$studiengang_bezeichnung = empty($studiengangbezeichnung) ? $studiengang->bezeichnung : $studiengangbezeichnung;
$studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $studiengang->english : $studiengangbezeichnung_englisch;
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studiengang->studiengang_kz<0)
{
@@ -146,7 +144,6 @@ foreach($uid_arr as $uid)
echo "\t\t<gebdatum>".$gebdatum."</gebdatum>\n";
echo "\t\t<gebort>".$student->gebort."</gebort>\n";
echo "\t\t<staatsbuergerschaft>".$staatsbuergerschaft->langtext."</staatsbuergerschaft>\n";
echo "\t\t<svnr>".$svnr."</svnr>\n";
echo "\t\t<matrikelnr>".trim($student->matrikelnr)."</matrikelnr>\n";
echo "\t\t<studiengang>".$db->convert_html_chars($studiengang_bezeichnung)."</studiengang>\n";
echo "\t\t<studiengang_englisch>".$db->convert_html_chars($studiengang_bezeichnung_englisch)."</studiengang_englisch>\n";
@@ -340,8 +337,6 @@ foreach($prestudent_arr as $prest_id)
$studiengang_bezeichnung = empty($studiengangbezeichnung) ? $studiengang->bezeichnung : $studiengangbezeichnung;
$studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $studiengang->english : $studiengangbezeichnung_englisch;
$svnr = ($person->svnr == '')?($person->ersatzkennzeichen != ''?'Ersatzkennzeichen: '.$person->ersatzkennzeichen:''):$person->svnr;
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studiengang->studiengang_kz<0)
{
@@ -363,7 +358,6 @@ foreach($prestudent_arr as $prest_id)
echo "\t\t<gebdatum>".$gebdatum."</gebdatum>\n";
echo "\t\t<gebort>".$person->gebort."</gebort>\n";
echo "\t\t<staatsbuergerschaft>".$staatsbuergerschaft->langtext."</staatsbuergerschaft>\n";
echo "\t\t<svnr>".$svnr."</svnr>\n";
echo "\t\t<studiengang>".$db->convert_html_chars($studiengang_bezeichnung)."</studiengang>\n";
echo "\t\t<studiengang_englisch>".$db->convert_html_chars($studiengang_bezeichnung_englisch)."</studiengang_englisch>\n";
echo "\t\t<studiengang_kurzbz>".$studiengang->kurzbzlang."</studiengang_kurzbz>\n";
+52
View File
@@ -386,6 +386,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo ' <titel_en>'.$titel_en.'</titel_en>';
$praktikum = false;
$auslandssemester = false;
$internationalskills = false;
$qry = "SELECT
projektarbeit_id
FROM
@@ -403,6 +404,56 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
}
}
if ($row->typ === 'b')
{
//check if extension international skills is active
$qry = "SELECT 1
FROM information_schema.tables
WHERE table_schema = 'extension' AND table_name = 'tbl_internat_massnahme'";
if($result = $db->db_query($qry))
{
if ($db->db_num_rows($result) === 1)
{
$qry = "SELECT bezeichnung_mehrsprachig[1] as \"internationalskill_deutsch\",
bezeichnung_mehrsprachig[2] as \"internationalskill_english\"
FROM extension.tbl_internat_massnahme_zuordnung zuordnung
JOIN extension.tbl_internat_massnahme massnahme ON zuordnung.massnahme_id = massnahme.massnahme_id
JOIN extension.tbl_internat_massnahme_zuordnung_status zstatus ON zuordnung.massnahme_zuordnung_id = zstatus.massnahme_zuordnung_id
JOIN tbl_prestudent ON zuordnung.prestudent_id = tbl_prestudent.prestudent_id
JOIN tbl_student ON tbl_prestudent.prestudent_id = tbl_student.prestudent_id
WHERE zstatus.massnahme_status_kurzbz = 'confirmed'
AND tbl_student.student_uid = ".$db->db_add_param($uid_arr[$i])."
AND zstatus.massnahme_zuordnung_status_id = (
SELECT MAX(sub_zstatus.massnahme_zuordnung_status_id)
FROM extension.tbl_internat_massnahme_zuordnung_status sub_zstatus
WHERE sub_zstatus.massnahme_zuordnung_id = zuordnung.massnahme_zuordnung_id
)
GROUP BY zuordnung.massnahme_zuordnung_id, tbl_student.student_uid, tbl_prestudent.prestudent_id, tbl_prestudent.studiengang_kz, bezeichnung_mehrsprachig;";
if($db->db_query($qry))
{
if($db->db_num_rows() > 0)
{
$internationalskills = true;
echo "<internationalskills>";
while($row1 = $db->db_fetch_object())
{
echo "<internationalskillsdeutsch>";
echo "<internationalskilldeutsch><![CDATA[$row1->internationalskill_deutsch]]></internationalskilldeutsch>";
echo "</internationalskillsdeutsch>";
echo "<internationalskillsenglisch>";
echo "<internationalskillenglish><![CDATA[$row1->internationalskill_english]]></internationalskillenglish>";
echo "</internationalskillsenglisch>";
}
echo "</internationalskills>";
}
}
}
}
}
$qry = "SELECT tbl_bisio.bisio_id, von, bis, lehreinheit_id,
(SELECT STRING_AGG (
tbl_zweck.bezeichnung,
@@ -461,6 +512,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$abschlusspruefungsdatum = '';
$abschlussbeurteilung='';
$pruefungstyp_kurzbz='';
$abschlussbeurteilung_deutsch = '';
if($db->db_query($qry))
{
+26 -3
View File
@@ -157,17 +157,27 @@ function getAnzahl($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz
if($mitschwund)
{
if (defined('NICHT_ZUGELASSENE') && NICHT_ZUGELASSENE !== null) {
$noteArray = unserialize(NICHT_ZUGELASSENE);
$noteCondition = implode(", ", array_map('intval', $noteArray));
} else {
$noteCondition = "6"; // Standardwert
}
// Studierende mit Anrechnungen herausnehmen
$qry.=" AND NOT EXISTS(
SELECT 1 FROM lehre.tbl_zeugnisnote
WHERE student_uid=tbl_studentlehrverband.student_uid
AND lehrveranstaltung_id=(SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER).")
AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND note=6)";
AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."";
$qry.=" AND Note IN (" . $noteCondition . "))";
// Abbrecher und Unterbrecher herausnehmen
$qry.=" AND get_rolle_prestudent((SELECT prestudent_id FROM public.tbl_student
WHERE student_uid=tbl_studentlehrverband.student_uid),null) NOT IN('Abbrecher','Unterbrecher') ";
}
}
else
@@ -178,6 +188,14 @@ function getAnzahl($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz
if($mitschwund)
{
if (defined('NICHT_ZUGELASSENE') && NICHT_ZUGELASSENE !== null) {
$noteArray = unserialize(NICHT_ZUGELASSENE);
$noteCondition = implode(", ", array_map('intval', $noteArray));
} else {
$noteCondition = "6"; // Standardwert
}
// Studierende mit Anrechnungen herausnehmen
$qry.=" AND NOT EXISTS(
SELECT 1 FROM lehre.tbl_zeugnisnote
@@ -185,11 +203,16 @@ function getAnzahl($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz
AND lehrveranstaltung_id=(SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER).")
AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND note=6)";
";
$qry.=" AND Note IN (" . $noteCondition . "))";
// Abbrecher und Unterbrecher herausnehmen
$qry.=" AND get_rolle_prestudent((SELECT prestudent_id FROM public.tbl_student
WHERE student_uid=tbl_benutzergruppe.uid),null) NOT IN('Abbrecher','Unterbrecher') ";
}
}
if($res_anz = $db->db_query($qry))
+21 -7
View File
@@ -190,6 +190,25 @@ function checkfilter($row, $filter2, $buchungstyp = null)
: false;
return $filtered;
}
else if ($filter2 === 'ueberfaelligebuchungen')
{
$qry = "SELECT sum(betrag) as summe
FROM tbl_konto
WHERE person_id=".$db->db_add_param($row->person_id, FHC_INTEGER) ."
AND buchungsdatum < NOW()
"
;
if($kontofilterstg=='true')
$qry.=" AND studiengang_kz=".$db->db_add_param($row->studiengang_kz);
if($buchungstyp != null && $buchungstyp != "alle")
$qry.=" AND buchungstyp_kurzbz=".$db->db_add_param($buchungstyp);
if($db->db_query($qry))
if($row_filter = $db->db_fetch_object())
if($row_filter->summe=='0.00' || $row_filter->summe=='' || $row_filter->summe=='0')
return false;
}
return true;
}
@@ -216,7 +235,6 @@ function draw_content_liste($row)
<STUDENT:vorname><![CDATA['.$row->vorname.']]></STUDENT:vorname>
<STUDENT:nachname><![CDATA['.$row->nachname.']]></STUDENT:nachname>
<STUDENT:geschlecht><![CDATA['.$row->geschlecht.']]></STUDENT:geschlecht>
<STUDENT:svnr>'.($row->svnr==''?'&#xA0;':'<![CDATA['.$row->svnr.']]>').'</STUDENT:svnr>
<STUDENT:ersatzkennzeichen>'.($row->ersatzkennzeichen==''?'&#xA0;':'<![CDATA['.$row->ersatzkennzeichen.']]>').'</STUDENT:ersatzkennzeichen>
<STUDENT:geburtsdatum><![CDATA['.$datum_obj->convertISODate($row->gebdatum).']]></STUDENT:geburtsdatum>
<STUDENT:geburtsdatum_iso><![CDATA['.$row->gebdatum.']]></STUDENT:geburtsdatum_iso>
@@ -330,7 +348,6 @@ function draw_content($row)
<STUDENT:gebzeit><![CDATA['.$row->gebzeit.']]></STUDENT:gebzeit>
<STUDENT:anmerkungen>'.($row->anmerkungen==''?'&#xA0;':'<![CDATA['.$row->anmerkungen.']]>').'</STUDENT:anmerkungen>
<STUDENT:anrede><![CDATA['.$row->anrede.']]></STUDENT:anrede>
<STUDENT:svnr><![CDATA['.$row->svnr.']]></STUDENT:svnr>
<STUDENT:ersatzkennzeichen><![CDATA['.$row->ersatzkennzeichen.']]></STUDENT:ersatzkennzeichen>
<STUDENT:familienstand><![CDATA['.$row->familienstand.']]></STUDENT:familienstand>
<STUDENT:geschlecht><![CDATA['.$row->geschlecht.']]></STUDENT:geschlecht>
@@ -451,7 +468,6 @@ function draw_empty_content()
<STUDENT:gebzeit><![CDATA[]]></STUDENT:gebzeit>
<STUDENT:anmerkungen><![CDATA[]]></STUDENT:anmerkungen>
<STUDENT:anrede><![CDATA[]]></STUDENT:anrede>
<STUDENT:svnr><![CDATA[]]></STUDENT:svnr>
<STUDENT:ersatzkennzeichen><![CDATA[]]></STUDENT:ersatzkennzeichen>
<STUDENT:familienstand><![CDATA[]]></STUDENT:familienstand>
<STUDENT:geschlecht><![CDATA[]]></STUDENT:geschlecht>
@@ -628,7 +644,7 @@ if($xmlformat=='rdf')
$sql_query="
SELECT
p.person_id, tbl_student.prestudent_id, tbl_benutzer.uid, titelpre, titelpost,vorname, wahlname, vornamen, geschlecht,
nachname, gebdatum, tbl_prestudent.anmerkung,ersatzkennzeichen,svnr, tbl_student.matrikelnr, p.anmerkung as anmerkungen,
nachname, gebdatum, tbl_prestudent.anmerkung,ersatzkennzeichen, tbl_student.matrikelnr, p.anmerkung as anmerkungen,
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
tbl_student.studiengang_kz, aufmerksamdurch_kurzbz, mentor, public.tbl_benutzer.aktiv AS bnaktiv,
( SELECT kontakt
@@ -966,8 +982,7 @@ if($xmlformat=='rdf')
$qry .= " prestudent_id = ".$db->db_add_param($searchItems_string_orig).";";
else
$qry .= " matrikelnr = ".$db->db_add_param($searchItems_string_orig)." OR
matr_nr = ".$db->db_add_param($searchItems_string_orig)." OR
svnr = ".$db->db_add_param($searchItems_string_orig).";";
matr_nr = ".$db->db_add_param($searchItems_string_orig).";";
}
if($result = $db->db_query($qry))
{
@@ -1263,7 +1278,6 @@ else
<lv_studiengang_art><![CDATA['.$lv_studiengang_art.']]></lv_studiengang_art>
<anrede><![CDATA['.$student->anrede.']]></anrede>
<geschlecht><![CDATA['.$student->geschlecht.']]></geschlecht>
<svnr><![CDATA['.$student->svnr.']]></svnr>
<ersatzkennzeichen><![CDATA['.$student->ersatzkennzeichen.']]></ersatzkennzeichen>
<familienstand><![CDATA['.$student->familienstand.']]></familienstand>
<rektor><![CDATA['.$rektor.']]></rektor>
-4
View File
@@ -105,9 +105,6 @@ foreach($uid_arr as $uid)
$staatsbuergerschaft = new nation();
$staatsbuergerschaft->load($student->staatsbuergerschaft);
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
$geschlecht_obj = new geschlecht();
$geschlecht_obj->load($student->geschlecht);
@@ -143,7 +140,6 @@ foreach($uid_arr as $uid)
echo "\t\t<gebdatum><![CDATA[".$gebdatum."]]></gebdatum>\n";
echo "\t\t<gebort><![CDATA[".$student->gebort."]]></gebort>\n";
echo "\t\t<staatsbuergerschaft><![CDATA[".$staatsbuergerschaft->langtext."]]></staatsbuergerschaft>\n";
echo "\t\t<svnr><![CDATA[".$svnr."]]></svnr>\n";
echo "\t\t<matr_nr><![CDATA[".trim($student->matr_nr)."]]></matr_nr>\n";
echo "\t\t<matrikelnr><![CDATA[".trim($student->matrikelnr)."]]></matrikelnr>\n";
echo "\t\t<studiengang><![CDATA[".$studienordnung->studiengangbezeichnung."]]></studiengang>\n";
+21 -1
View File
@@ -35,6 +35,7 @@ require_once('../include/studiengang.class.php');
require_once('../include/mitarbeiter.class.php');
require_once('../include/anrechnung.class.php');
require_once('../include/prestudent.class.php');
require_once('../include/nation.class.php');
$datum = new datum();
$db = new basis_db();
@@ -107,7 +108,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studentlehrverband.semester,
tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre,
tbl_person.titelpost, tbl_person.anrede, tbl_studiensemester.bezeichnung as sembezeichnung,
tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id, tbl_studiengang.max_semester
tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id, tbl_studiengang.max_semester, tbl_person.gebort, tbl_person.geburtsnation, tbl_person.geschlecht
FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer, tbl_studentlehrverband, tbl_studiensemester
WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz
AND tbl_student.student_uid = tbl_benutzer.uid AND tbl_benutzer.person_id = tbl_person.person_id
@@ -187,6 +188,10 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
else
$studiengang_kz = sprintf("%04s", abs($row->studiengang_kz));
$nation = new nation($row->geburtsnation);
$geburtsnation = $nation->kurztext;
$xml .= " <studiengang_art><![CDATA[".$bezeichnung."]]></studiengang_art>";
$xml .= " <studiengang_kz><![CDATA[".$studiengang_kz."]]></studiengang_kz>";
$xml .= "\n <anrede><![CDATA[".$row->anrede."]]></anrede>";
@@ -195,6 +200,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml .= " <name><![CDATA[".trim($row->titelpre.' '.trim($row->vorname.' '.$row->vornamen).' '.$row->nachname.($row->titelpost!=''?', '.$row->titelpost:''))."]]></name>";
$gebdatum = date('d.m.Y',strtotime($row->gebdatum));
$xml .= " <gebdatum><![CDATA[".$gebdatum."]]></gebdatum>";
$xml .= " <gebort><![CDATA[".$row->gebort."]]></gebort>";
$xml .= " <geburtsnation><![CDATA[".$geburtsnation."]]></geburtsnation>";
$xml .= " <geschlecht><![CDATA[".$row->geschlecht."]]></geschlecht>";
$xml .= " <matrikelnr><![CDATA[".trim($row->matrikelnr)."]]></matrikelnr>";
$xml .= " <studiengangsleiter><![CDATA[".$stgl."]]></studiengangsleiter>";
$datum_aktuell = date('d.m.Y');
@@ -267,6 +275,15 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
if ($lastPrestudentStatus)
$showAllNoten = $prestudent->status_kurzbz === 'Incoming';
$lastBenotungsdatum = '';
$dates = array_column($obj->result, 'benotungsdatum');
if (!empty($dates))
{
$lastBenotungsdatum = max($dates);
$xml .= "<last_benotungsdatum><![CDATA[".date('d.m.Y', strtotime($lastBenotungsdatum))."]]></last_benotungsdatum>";
}
foreach ($obj->result as $row)
{
if($showAllNoten || $row->zeugnis)
@@ -390,12 +407,15 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
}
}
$xml .= "\n <unterrichtsfach>";
$xml .= " <benotungsdatum><![CDATA[".date('d.m.Y', strtotime($row->benotungsdatum))."]]></benotungsdatum>";
$xml .= " <bezeichnung><![CDATA[".$bezeichnung."]]></bezeichnung>";
$xml .= " <bezeichnung_englisch><![CDATA[".$bezeichnung_englisch."]]></bezeichnung_englisch>";
$xml .= " <note_positiv><![CDATA[".$row->note_positiv."]]></note_positiv>";
$xml .= " <note><![CDATA[".$note2."]]></note>";
$xml .= " <sws><![CDATA[".($row->semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1))."]]></sws>";
$xml .= " <sws_lv><![CDATA[".($row->sws==0?'':number_format(sprintf('%.1F',$row->sws),1))."]]></sws_lv>";
$xml .= " <lv_id><![CDATA[".$row->lehrveranstaltung_id."]]></lv_id>";
$ectspunkte='';
$anrechnung = new anrechnung();