studentenmeldung.php: Export of Bewerberdaten works for allBaMa and Studiengaenge

This commit is contained in:
KarpAlex
2022-11-11 23:41:12 +01:00
parent 7558614145
commit 2c743cb37b
+59 -36
View File
@@ -353,9 +353,10 @@ else
if($result = $db->db_query($qry))
{
$stg_kz_index = '';
$num_rows = $db->db_num_rows($result);
$row_num = 1;
while($row = $db->db_fetch_object($result))
{
$row->pre_foerderrelevant = $db->db_parse_bool($row->pre_foerderrelevant);
@@ -367,8 +368,6 @@ if($result = $db->db_query($qry))
$stg_obj = new studiengang();
if($stg_obj->load($row->studiengang_kz))
{
$maxsemester = $stg_obj->max_semester;
if($maxsemester == 0)
{
@@ -410,42 +409,62 @@ if($result = $db->db_query($qry))
$datei .= $header;
$dateiNurBewerber .= $header;
}
if ($stg_kz_index != '' && $row->studiengang_kz != $stg_kz_index)
}
//Bewerberblock bei neuem Studiengang, und am Ende noch einmal
if (($stg_kz_index != '' && $row->studiengang_kz != $stg_kz_index) || $row_num == $num_rows)
{
// (bei Ausserordentlichen nicht anzeigen)
if($row->studiengang_kz!=('9'.$erhalter))
{
$datei .= "
</Studiengang>";
$stg_obj = new studiengang();
if($orgform_code==3 || $stg_obj->isMischform($row->studiengang_kz,$ssem) || $stg_obj->isMischform($row->studiengang_kz,$psem))
{
$orgcodes = array_unique($orgform_code_array);
//Mischform
foreach($orgcodes as $code)
{
$bewerberBlock=GenerateXMLBewerberBlock($row->studiengang_kz, $code);
$datei.=$bewerberBlock;
$dateiNurBewerber.=$bewerberBlock;
}
}
else
{
$bewerberBlock=GenerateXMLBewerberBlock($row->studiengang_kz);
$datei.=$bewerberBlock;
$dateiNurBewerber.=$bewerberBlock;
}
}
$stg_kz_index = $row->studiengang_kz;
$datei .= "
}
// wenn neuer Studiengang...
if ($row->studiengang_kz != $stg_kz_index)
{
// ...Studiengang Tag schliessen
if ($stg_kz_index != '')
{
$stgClose = "
</Studiengang>";
$datei .= $stgClose;
$dateiNurBewerber .= $stgClose;
}
// ...neuen Studiengang Tag öffnen
$stgOpen = "
<Studiengang>
<StgKz>".$row->studiengang_kz."</StgKz>";
$datei .= $stgOpen;
$dateiNurBewerber .= $stgOpen;
}
// Student Daten schreiben
$datei .= GenerateXMLStudentBlock($row);
// Studiengang kz speichern und Zeile erhöhen
$stg_kz_index = $row->studiengang_kz;
$row_num++;
}
//Bewerberblock bei Ausserordentlichen nicht anzeigen
/*if($stg_kz!=('9'.$erhalter))
{
$stg_obj = new studiengang();
if($orgform_code==3 || $stg_obj->isMischform($stg_kz,$ssem) || $stg_obj->isMischform($stg_kz,$psem))
{
$orgcodes = array_unique($orgform_code_array);
//Mischform
foreach($orgcodes as $code)
{
$bewerberBlock=GenerateXMLBewerberBlock($code);
$datei.=$bewerberBlock;
$dateiNurBewerber.=$bewerberBlock;
}
}
else
{
$bewerberBlock=GenerateXMLBewerberBlock();
$datei.=$bewerberBlock;
$dateiNurBewerber.=$bewerberBlock;
}
}*/
}
$footer="
@@ -722,8 +741,11 @@ if(file_exists($ddd))
{
echo '<a href="archiv.php?meldung='.$ddd.'&html='.$eee.'&stg='.$stg_kz.'&sem='.$ssem.'&typ=studenten&action=archivieren">BIS-Meldung Stg '.$stg_kz.' archivieren</a><br>';
echo '<a href="'.$ddd.'" target="_blank" download>XML-Datei f&uuml;r BIS-Meldung Stg '.$stg_kz.'</a><br>';
echo '<a href="'.$dddNurBew.'" target="_blank" download>XML-Datei f&uuml;r BIS-Meldung Stg '.$stg_kz.' - nur Bewerberdaten</a><br>';
}
if(file_exists($dddNurBew))
echo '<a href="'.$dddNurBew.'" target="_blank" download>XML-Datei f&uuml;r BIS-Meldung Stg '.$stg_kz.' - nur Bewerberdaten</a><br>';
if(file_exists($eee))
{
echo '<a href="'.$eee.'">BIS-Melde&uuml;bersicht der BIS-Meldung Stg '.$stg_kz.'</a><br><br>';
@@ -1901,11 +1923,11 @@ function GenerateXMLStudentBlock($row)
* Wenn der Parameter orgformcode uebergeben wird, werden nur die Bewerberzahlen dieser Orgform geliefert
* sonst alle
*/
function GenerateXMLBewerberBlock($orgformcode=null)
function GenerateXMLBewerberBlock($studiengang_kz, $orgformcode=null)
{
global $db;
global $ssem, $stgart, $psem;
global $stg_kz, $bisdatum;
global $bisdatum;
global $bwlist, $orgform_kurzbz;
global $bewerbercount,$orgform_code_array;
$datei = '';
@@ -1924,11 +1946,12 @@ function GenerateXMLBewerberBlock($orgformcode=null)
JOIN public.tbl_person USING(person_id)
LEFT JOIN bis.tbl_orgform USING(orgform_kurzbz)
WHERE (studiensemester_kurzbz=".$db->db_add_param($ssem)." OR studiensemester_kurzbz=".$db->db_add_param($psem).")
AND tbl_prestudent.studiengang_kz=".$db->db_add_param($stg_kz)."
AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz)."
AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).")
AND status_kurzbz='Bewerber'
AND reihungstestangetreten
";
if(!is_null($orgformcode))
$qrybw.=" AND tbl_orgform.code=".$db->db_add_param($orgformcode);