studentenmeldung.php: link for file with bewerberdaten only added, instead of previous way of passing a GET parameter for bewerdaten only export

This commit is contained in:
KarpAlex
2021-07-20 20:21:50 +02:00
parent 113ac6a2c2
commit ccf4d0e49b
+86 -69
View File
@@ -76,6 +76,7 @@ $stgart='';
$orgform_code='';
$status='';
$datei='';
$dateiNurBewerber='';
$aktstatus='';
$aktstatus_datum='';
$mob='';
@@ -100,7 +101,6 @@ $bwlist='';
$storgfor='';
$verwendete_orgformen=array();
$student_data=array();
$nur_bewerber=false;
$datum_obj = new datum();
@@ -139,9 +139,6 @@ else
die('<H2>Es wurde kein Studiengang ausgew&auml;hlt!</H2>');
}
//Parameter wenn nur Bewerbermeldung durchgeführt werden soll
$nur_bewerber=filter_input(INPUT_GET, 'nur_bewerber', FILTER_VALIDATE_BOOLEAN);
/*
standortcode 22=Wien
derzeit fuer alle Studierende der gleiche Standort
@@ -273,58 +270,57 @@ if($result_in = $db->db_query($qry_in))
}
}
if ($nur_bewerber !== true)
//Hauptselect
// An der FHTW können nur die Incomings ausgelesen werden, wenn die stg_kz 10006 übergeben wird
if (CAMPUS_NAME == 'FH Technikum Wien' && $stg_kz==10006)
{
//Hauptselect
// An der FHTW können nur die Incomings ausgelesen werden, wenn die stg_kz 10006 übergeben wird
if (CAMPUS_NAME == 'FH Technikum Wien' && $stg_kz==10006)
{
$qry="
SELECT
DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
WHERE
bismelden=TRUE
AND (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).")
OR (tbl_bisio.von<=".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL))
))
ORDER BY student_uid, nachname, vorname
";
}
else
{
$qry="
SELECT
DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
WHERE
bismelden=TRUE
AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)."
AND (((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem).") AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).")
AND (status_kurzbz='Student' OR status_kurzbz='Outgoing'
OR status_kurzbz='Praktikant' OR status_kurzbz='Diplomand' OR status_kurzbz='Absolvent'
OR status_kurzbz='Abbrecher' OR status_kurzbz='Unterbrecher'))
OR ((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($psem).") AND (status_kurzbz='Absolvent'
OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>".$db->db_add_param($bisprevious).")
OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).")
OR (tbl_bisio.von<=".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL))
)))
ORDER BY student_uid, nachname, vorname
";
}
$qry="
SELECT
DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
WHERE
bismelden=TRUE
AND (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).")
OR (tbl_bisio.von<=".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL))
))
ORDER BY student_uid, nachname, vorname
";
}
else
{
$qry="
SELECT
DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
WHERE
bismelden=TRUE
AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)."
AND (((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem).") AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).")
AND (status_kurzbz='Student' OR status_kurzbz='Outgoing'
OR status_kurzbz='Praktikant' OR status_kurzbz='Diplomand' OR status_kurzbz='Absolvent'
OR status_kurzbz='Abbrecher' OR status_kurzbz='Unterbrecher'))
OR ((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($psem).") AND (status_kurzbz='Absolvent'
OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>".$db->db_add_param($bisprevious).")
OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).")
OR (tbl_bisio.von<=".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL))
)))
ORDER BY student_uid, nachname, vorname
";
}
$datei.="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
if($result = $db->db_query($qry))
{
$header ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Erhalter>
<ErhKz>".$erhalter."</ErhKz>
<MeldeDatum>".date("dmY", $datumobj->mktime_fromdate($bisdatum))."</MeldeDatum>
@@ -332,34 +328,48 @@ $datei.="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Studiengang>
<StgKz>".$stg_kz."</StgKz>";
if($nur_bewerber !== true && $result = $db->db_query($qry))
{
$datei .= $header;
$dateiNurBewerber .= $header;
while($row = $db->db_fetch_object($result))
{
$datei.= GenerateXMLStudentBlock($row);
}
}
//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))
//Bewerberblock bei Ausserordentlichen nicht anzeigen
if($stg_kz!=('9'.$erhalter))
{
$orgcodes = array_unique($orgform_code_array);
//Mischform
foreach($orgcodes as $code)
$datei.= GenerateXMLBewerberBlock($code);
$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;
}
}
else
$datei.= GenerateXMLBewerberBlock();
}
$datei.="
$footer="
</Studiengang>
</StudierendenBewerberMeldung>
</Erhalter>";
$datei.=$footer;
$dateiNurBewerber.=$footer;
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
@@ -598,6 +608,12 @@ $dateiausgabe=fopen($ddd,'w');
fwrite($dateiausgabe,$datei);
fclose($dateiausgabe);
$dddNurBew='bisdaten/bismeldung_bewerber_'.$ssem.'_Stg'.$stg_kz.'.xml';
$dateiausgabe=fopen($dddNurBew,'w');
fwrite($dateiausgabe,$dateiNurBewerber);
fclose($dateiausgabe);
$eee='bisdaten/tabelle_'.$ssem.'_Stg'.$stg_kz.'.html';
$dateiausgabe=fopen($eee,'w');
@@ -608,6 +624,7 @@ 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($eee))
{