BIS-Export an neue BIS-Verordnung Version 6.6 angepasst

This commit is contained in:
Andreas Österreicher
2018-10-16 18:09:39 +02:00
parent f99058f653
commit 8efc526574
3 changed files with 656 additions and 607 deletions
+45
View File
@@ -602,6 +602,41 @@ if ($result = $db->db_query($qry))
}
}
/*
* Aktive Studierende ohne Matrikelnummer
*/
$text .= "<br><br>Studierender hat keine Matrikelnummer<br><br>";
$qry = "
SELECT
distinct on (person_id)
tbl_student.student_uid,
tbl_prestudent.prestudent_id,
tbl_prestudent.studiengang_kz as studiengang
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_student USING(prestudent_id)
JOIN public.tbl_benutzer USING(person_id)
WHERE
status_kurzbz in('Student', 'Diplomand', 'Absolvent', 'Abbrecher')
AND tbl_prestudent.bismelden
AND tbl_benutzer.aktiv
AND tbl_person.matr_nr is null OR tbl_person.matr_nr = ''
AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem);
if ($studiengang_kz != '')
$qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
if ($result = $db->db_query($qry))
{
while ($row = $db->db_fetch_object($result))
{
$ausgabe[$row->studiengang][14][] = $row->student_uid;
}
}
// Ausgabe der Studenten
foreach ($ausgabe as $stg_kz => $value)
{
@@ -751,6 +786,16 @@ foreach ($ausgabe as $stg_kz => $value)
<td colspan='4'><b>Studienplan ist in diesem Semester nicht gültig (nicht BIS relevant)</b></td>
</tr>";
break;
case 14:
echo "
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan='4'><b>Aktive Studierende ohne Matrikelnummer</b></td>
</tr>";
break;
default:
echo "<tr><td>&nbsp;</td></tr><tr><td colspan='4'><b>Ungültiger Code</b></td></tr>";
break;
File diff suppressed because it is too large Load Diff
+21 -20
View File
@@ -495,7 +495,7 @@ if(file_exists($eee))
echo '<table border=1>
<tr align=center>
<th>UID</th>
<th>Matrikelnr</th>
<th>PersKZ</th>
<th>Nachname</th>
<th>Vorname</th>
<th>Status</th>
@@ -580,6 +580,14 @@ function GenerateXMLStudentBlock($row)
{
$error_log.=(!empty($error_log)?', ':'')."Nachname ('".$row->nachname."')";
}
if($row->matr_nr=='')
{
$error_log.=(!empty($error_log)?', ':'')."Matrikelnummer fehlt";
}
if($row->matr_nr!='' && $row->matr_nr!=null && mb_strlen(trim($row->matr_nr))!=8)
{
$error_log.=(!empty($error_log)?', ':'')."Matrikelnummer ('".trim($row->matr_nr)."') ist nicht 8 Zeichen lang";
}
if($row->svnr!='' && $row->svnr!=null && mb_strlen(trim($row->svnr))!=10)
{
$error_log.=(!empty($error_log)?', ':'')."SVNR ('".trim($row->svnr)."') ist nicht 10 Zeichen lang";
@@ -970,6 +978,10 @@ function GenerateXMLStudentBlock($row)
$datei.="
<StudentIn>
<PersKz>".trim($row->matrikelnr)."</PersKz>";
$datei.="
<Matrikelnummer>".$row->matr_nr."</Matrikelnummer>";
if(!$ausserordentlich)
{
$datei.="
@@ -979,32 +991,21 @@ function GenerateXMLStudentBlock($row)
$datei.="
<GeburtsDatum>".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))."</GeburtsDatum>
<Geschlecht>".strtoupper($row->geschlecht)."</Geschlecht>";
if(($row->svnr!='')&&($row->ersatzkennzeichen!=''))
{
$datei.="
$datei.="
<Vorname>".$row->vorname."</Vorname>
<Familienname>".$row->nachname."</Familienname>";
if($row->svnr!='')
{
$datei.="
<SVNR>".$row->svnr."</SVNR>";
}
if($row->ersatzkennzeichen!='')
{
$datei.="
<ErsKz>".$row->ersatzkennzeichen."</ErsKz>";
}
else
{
if($row->svnr!='')
{
$datei.="
<SVNR>".$row->svnr."</SVNR>";
}
if($row->ersatzkennzeichen!='')
{
$datei.="
<Vorname>".$row->vorname."</Vorname>
<Familienname>".$row->nachname."</Familienname>";
$datei.="
<ErsKz>".$row->ersatzkennzeichen."</ErsKz>";
}
}
$datei.="
<StaatsangehoerigkeitCode>".$row->staatsbuergerschaft."</StaatsangehoerigkeitCode>
<HeimatPLZ>".$plz."</HeimatPLZ>