Merge branch 'bugfix/STGL-kann-alte-Anrechnungen-nicht-sehen' into feature-26625/Anrechnungen-BFI-Änderungen-und-Sonstige

This commit is contained in:
Cris
2022-12-06 14:15:15 +01:00
21 changed files with 271 additions and 118 deletions
@@ -93,7 +93,8 @@ class approveAnrechnungDetail extends Auth_Controller
$antragData = $this->anrechnunglib->getAntragData(
$anrechnungData->prestudent_id,
$anrechnungData->studiensemester_kurzbz,
$anrechnungData->lehrveranstaltung_id
$anrechnungData->lehrveranstaltung_id,
$anrechnungData->anrechnung_id
);
// Get Empfehlung data
@@ -93,7 +93,7 @@ class requestAnrechnung extends Auth_Controller
$anrechnungData = $this->anrechnunglib->getAnrechnungDataByLv($lehrveranstaltung_id, $studiensemester_kurzbz, $prestudent_id);
// Get Antrag data
$antragData = $this->anrechnunglib->getAntragData($prestudent_id, $studiensemester_kurzbz, $lehrveranstaltung_id);
$antragData = $this->anrechnunglib->getAntragData($prestudent_id, $studiensemester_kurzbz, $lehrveranstaltung_id, $anrechnungData->anrechnung_id);
$viewData = array(
'antragData' => $antragData,
@@ -87,7 +87,8 @@ class reviewAnrechnungDetail extends Auth_Controller
$antragData = $this->anrechnunglib->getAntragData(
$anrechnungData->prestudent_id,
$anrechnungData->studiensemester_kurzbz,
$anrechnungData->lehrveranstaltung_id
$anrechnungData->lehrveranstaltung_id,
$anrechnungData->anrechnung_id
);
// Get Empfehlung data
+21 -7
View File
@@ -37,18 +37,32 @@ class AnrechnungLib
* @param $lv_id
* @return StdClass
*/
public function getAntragData($prestudent_id, $studiensemester_kurzbz, $lv_id)
public function getAntragData($prestudent_id, $studiensemester_kurzbz, $lv_id, $anrechnung_id)
{
$antrag_data = new StdClass();
// Get students UID.
$uid = $this->ci->StudentModel->getUID($prestudent_id);
// Get lehrveranstaltung data. Break, if course is not assigned to student.
if(!$lv = getData($this->ci->LehrveranstaltungModel->getLvByStudent($uid, $studiensemester_kurzbz, $lv_id))[0])
{
show_error('You are not assigned to this course yet.');
}
// Get lehrveranstaltung data.
// If it is a first time request for Anrechnung...
if (isEmptyString($anrechnung_id))
{
//...get LV by student to check also, if student is assigned to that lv
$result = $this->ci->LehrveranstaltungModel->getLvByStudent($uid, $studiensemester_kurzbz, $lv_id);
if (!hasData($result))
{
// ...and break, if course is not assigned to student
show_error('You are not assigned to this course yet.');
}
}
//...in any other case (STGL View; Lector View; Student View when Anrechnung exist)
else
{
$result = $this->ci->LehrveranstaltungModel->load($lv_id);
}
$lv = getData($result)[0];
// Get the students personal data
if (!$person = getData($this->ci->PersonModel->getByUid($uid))[0])
@@ -213,11 +213,7 @@ $filterWidgetArray = array(
begruendung: {headerFilter:"input", visible: true},
student: {headerFilter:"input"},
zgv: {visible: false, headerFilter:"input"},
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams:{
labelField:"dokument_bezeichnung",
url:function(cell){return "'. current_url() .'/download?dms_id=" + cell.getData().dms_id},
target:"_blank"
}},
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams: paramLookup_dokBez},
anmerkung_student: {headerFilter:"input"},
antragsdatum: {align:"center", headerFilter:"input", mutator: mut_formatStringDate},
empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
@@ -134,11 +134,7 @@ $filterWidgetArray = array(
student: {headerFilter:"input"},
begruendung: {headerFilter:"input"},
zgv: {visible: false, headerFilter:"input"},
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams:{
labelField:"dokument_bezeichnung",
url:function(cell){return "'. current_url() .'/download?dms_id=" + cell.getData().dms_id},
target:"_blank"
}},
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams: paramLookup_dokBez},
anmerkung_student: {headerFilter:"input"},
antragsdatum: {align:"center", headerFilter:"input", mutator: mut_formatStringDate},
empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
+2 -3
View File
@@ -353,10 +353,9 @@ function writePruefungsTable(e, data, anmeldung)
var time = termin[1].substring(0,5);
termin = termin[0].split("-");
// Wie viele Monate vor Prüfungen dürfen sich Studierende anmelden?
// Sperre "deaktiviert" indem man sich 24 Monate vorher anmelden darf
// Studierende dürfen sich 2 Monate vor Prüfungen anmelden
var minimumFrist = new Date(termin[0], termin[1]-1,termin[2]);
minimumFrist.setMonth(minimumFrist.getMonth() - 24);
minimumFrist.setMonth(minimumFrist.getMonth() - 2);
termin = new Date(termin[0], termin[1]-1,termin[2]);
var frist = termin;
@@ -820,7 +820,12 @@ function LeAuswahl()
LehrveranstaltungNotenLoad(lehrveranstaltung_id);
//Notizen Tab ausblenden
//document.getElementById('lehrveranstaltung-tab-notizen').collapsed=true;
document.getElementById('lehrveranstaltung-tab-notizen').collapsed=true;
if(document.getElementById('lehrveranstaltung-tabs').selectedItem === document.getElementById('lehrveranstaltung-tab-notizen'))
{
document.getElementById('lehrveranstaltung-tabs').selectedItem = document.getElementById('lehrveranstaltung-tab-detail');
}
//LV-Angebot Tab einblenden und Gruppen laden
document.getElementById('lehrveranstaltung-tab-lvangebot').collapsed=false;
@@ -853,7 +858,7 @@ function LeAuswahl()
//document.getElementById('lehrveranstaltung-tab-noten').collapsed=true;
//Notizen Tab einblenden
//document.getElementById('lehrveranstaltung-tab-notizen').collapsed=false;
document.getElementById('lehrveranstaltung-tab-notizen').collapsed=false;
//LV-Angebot Tab ausblenden
document.getElementById('lehrveranstaltung-tab-lvangebot').collapsed=true;
@@ -179,6 +179,8 @@ $worksheet->write($zeile, ++$i, "RT_PUNKTE2", $format_bold);
$maxlength[$i] = 10;
$worksheet->write($zeile, ++$i, "RT_GESAMTPUNKTE", $format_bold);
$maxlength[$i] = 18;
$worksheet->write($zeile,++$i,"ANMERKUNG", $format_bold);
$maxlength[$i]=30;
$worksheet->write($zeile, ++$i, "PRIORITÄT", $format_bold);
$maxlength[$i] = 8;
@@ -659,7 +661,21 @@ function draw_content($row)
$maxlength[$i] = mb_strlen($row->rt_gesamtpunkte);
$worksheet->write($zeile, $i, $row->rt_gesamtpunkte);
$i++;
//Anmerkung
$qry_1 = "SELECT anmerkung FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." LIMIT 1";
if($db->db_query($qry_1))
{
if($row_1 = $db->db_fetch_object())
{
if(mb_strlen($row_1->anmerkung)>$maxlength[$i])
$maxlength[$i]=mb_strlen($row_1->anmerkung);
$worksheet->write($zeile,$i, $row_1->anmerkung);
}
}
$i++;
//Priorisierung
$prio = $prio_relativ.' ('.$row->priorisierung.')';
if (mb_strlen($prio) > $maxlength[$i])
+6 -6
View File
@@ -355,7 +355,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<rule ZGV:aktiv='f'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/zgv/rdf#code"
label="rdf:http://www.technikum-wien.at/zgv/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/zgv/rdf#bezeichnung"
uri="rdf:*"
style="text-decoration:line-through;"
/>
@@ -364,7 +364,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/zgv/rdf#code"
label="rdf:http://www.technikum-wien.at/zgv/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/zgv/rdf#bezeichnung"
uri="rdf:*"
/>
</menupopup>
@@ -425,7 +425,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<rule ZGVMASTER:aktiv='f'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/zgvmaster/rdf#code"
label="rdf:http://www.technikum-wien.at/zgvmaster/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/zgvmaster/rdf#bezeichnung"
uri="rdf:*"
style="text-decoration:line-through;"
/>
@@ -434,7 +434,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/zgvmaster/rdf#code"
label="rdf:http://www.technikum-wien.at/zgvmaster/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/zgvmaster/rdf#bezeichnung"
uri="rdf:*"
/>
</menupopup>
@@ -497,7 +497,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<rule ZGVDOKTOR:aktiv='f'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#code"
label="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#bezeichnung"
uri="rdf:*"
style="text-decoration:line-through;"
/>
@@ -506,7 +506,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#code"
label="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#bezeichnung"
uri="rdf:*"
/>
</menupopup>
@@ -184,12 +184,13 @@ function StudentMobilitaetDisableFields(val)
document.getElementById('student-mobilitaet-menulist-status').disabled=val;
document.getElementById('student-mobilitaet-textbox-ausbildungssemester').disabled=val;
document.getElementById('student-mobilitaet-button-speichern').disabled=val;
document.getElementById('student-mobilitaet-button-kopie-speichern').disabled=val;
}
// ****
// * Speichert den Mobilitaet Datensatz
// ****
function StudentMobilitaetSpeichern()
function StudentMobilitaetSpeichern(newval)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
@@ -200,7 +201,14 @@ function StudentMobilitaetSpeichern()
var gsprogramm = document.getElementById('student-mobilitaet-menulist-gsprogramm').value;
var mobilitaetsprogramm = document.getElementById('student-mobilitaet-menulist-mobilitaetsprogramm').value;
var studiensemester = document.getElementById('student-mobilitaet-menulist-studiensemester').value;
var neu = document.getElementById('student-mobilitaet-detail-checkbox-neu').checked;
if (newval == true)
{
var neu = true;
}
else
{
var neu = document.getElementById('student-mobilitaet-detail-checkbox-neu').checked;
}
var prestudent_id = document.getElementById('student-mobilitaet-detail-textbox-prestudent_id').value;
var mobilitaet_id = document.getElementById('student-mobilitaet-detail-textbox-mobilitaet_id').value;
@@ -215,6 +215,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</groupbox>
<hbox>
<spacer flex="1" />
<button id="student-mobilitaet-button-kopie-speichern" oncommand="StudentMobilitaetSpeichern(true)" label="Als Kopie speichern" disabled="true"/>
<button id="student-mobilitaet-button-speichern" oncommand="StudentMobilitaetSpeichern()" label="Speichern" disabled="true"/>
</hbox>
</vbox>
+85
View File
@@ -2776,5 +2776,90 @@ class lehrveranstaltung extends basis_db
return null;
}
/**
* Prueft ob die Lehrveranstaltungen in dem Studiensemestern angeboten wird.
* Dazu wird geprueft ob die LVs einem aktuellen Studienplan zugeordnet ist und ob ein Lehrauftrag vorhanden ist.
*
* @param $lehrveranstaltung_id
* @param $studiensemester_kurzbz
* @return array
*/
public function getOfferedSemester($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
DISTINCT(studiensemester_kurzbz)
FROM
lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id)."
AND studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
AND EXISTS (
SELECT
*
FROM
lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)."
AND studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
)";
$studiensemester = [];
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$studiensemester[] = $row;
}
return $studiensemester;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Prueft ob die Lehrveranstaltungen in den gewaehlten Studiensemestern angeboten wird.
* Dazu wird geprueft ob die LVs einem aktuellen Studienplan zugeordnet ist, und ob ein Lehrauftrag vorhanden ist.
*
* @param $lehrveranstaltung_id
* @param $studiensemester_kurzbz
* @return array
*/
public function getOfferedLVs($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
DISTINCT(tbl_lehreinheit.lehrveranstaltung_id)
FROM
lehre.tbl_lehreinheit
WHERE tbl_lehreinheit.lehrveranstaltung_id IN (".$this->db_implode4SQL($lehrveranstaltung_id).")
AND tbl_lehreinheit.studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
AND EXISTS (
SELECT
*
FROM
lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
WHERE
tbl_lehreinheit.lehrveranstaltung_id IN (".$this->db_implode4SQL($lehrveranstaltung_id).")
AND tbl_lehreinheit.studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
)";
$lehrveranstaltungen = [];
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$lehrveranstaltungen[] = $row;
}
return $lehrveranstaltungen;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+42 -42
View File
@@ -588,7 +588,7 @@ class prestudent extends person
AND
status_kurzbz = 'Interessent'
AND
AND
NOT EXISTS (
SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id AND status_kurzbz='Abgewiesener'
)";
@@ -2327,51 +2327,51 @@ class prestudent extends person
* false wenn nicht vorhanden
* false und errormsg wenn Fehler aufgetreten ist
*/
public function existsZGVIntern($person_id)
{
if (!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
public function existsZGVIntern($person_id)
{
if (!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_studiengang USING (studiengang_kz)
WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
AND typ = 'b'
AND get_rolle_prestudent(prestudent_id, null) != 'Abbrecher';";
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_studiengang USING (studiengang_kz)
WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
AND typ in ('b','m','d')";
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
{
if ($row->anzahl > 0)
{
$this->errormsg = '';
return true;
}
else
{
$this->errormsg = '';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
{
if ($row->anzahl > 0)
{
$this->errormsg = '';
return true;
}
else
{
$this->errormsg = '';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Befüllt MasterZGV-Felder: Nation mit Österreich und MasterZGV-code mit FH-Bachelor(I)
* @param int $person_id Personenkennzeichen.
+1 -1
View File
@@ -525,7 +525,7 @@ class statistik extends basis_db
foreach($_REQUEST as $name=>$value)
{
// Inputs, die in eckigen Klammern stehen, werden als Array interpretiert
if (substr($value, 0, 1) == '[' && substr($value, -1) == ']')
if (is_string($value) && substr($value, 0, 1) == '[' && substr($value, -1) == ']')
{
//Eckige Klammern entfernen und String aufsplitten
$value = substr($value, 1);
@@ -1,4 +1,6 @@
const BASE_URL = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router;
const CALLED_PATH = FHC_JS_DATA_STORAGE_OBJECT.called_path;
const CONTROLLER_URL = BASE_URL + '/' + CALLED_PATH;
const APPROVE_ANRECHNUNG_DETAIL_URI = "lehre/anrechnung/ApproveAnrechnungDetail";
const ANRECHNUNGSTATUS_PROGRESSED_BY_STGL = 'inProgressDP';
@@ -203,6 +205,18 @@ var format_empfehlung_anrechnung = function(cell, formatterParams){
: FHC_PhrasesLib.t("ui", "nein");
}
/**
* Returns formatter params for field dokument_bezeichnung (= Spalte Nachweisdokumente)
* NOTE: Returning a formatter param object fixes the problem, that tabulator did not know the url after refreshing the page.
*/
function paramLookup_dokBez(cell){
return {
labelField: 'dokument_bezeichnung',
url: CONTROLLER_URL + '/download?dms_id=' + cell.getData().dms_id,
target: '_blank'
}
}
/*
* Hook to overwrite TableWigdgets select-all-button behaviour
* Select all (filtered) rows that are progressed by stg leiter.
@@ -1,4 +1,6 @@
const BASE_URL = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router;
const CALLED_PATH = FHC_JS_DATA_STORAGE_OBJECT.called_path;
const CONTROLLER_URL = BASE_URL + '/' + CALLED_PATH;
const APPROVE_ANRECHNUNG_DETAIL_URI = "lehre/anrechnung/ReviewAnrechnungDetail";
const ANRECHNUNGSTATUS_PROGRESSED_BY_STGL = 'inProgressDP';
@@ -121,6 +123,18 @@ var format_empfehlung_anrechnung = function(cell, formatterParams){
: FHC_PhrasesLib.t("ui", "nein");
}
/**
* Returns formatter params for field dokument_bezeichnung (= Spalte Nachweisdokumente)
* NOTE: Returning a formatter param object fixes the problem, that tabulator did not know the url after refreshing the page.
*/
function paramLookup_dokBez(cell){
return {
labelField: 'dokument_bezeichnung',
url: CONTROLLER_URL + '/download?dms_id=' + cell.getData().dms_id,
target: '_blank'
}
}
/*
* Hook to overwrite TableWigdgets select-all-button behaviour
* Select all (filtered) rows that are progressed by stg leiter.
+1 -1
View File
@@ -58,7 +58,7 @@ if(isset($_GET['optional']) && $_GET['optional']=='true')
</RDF:li>
';
}
$qry = 'SELECT * FROM bis.tbl_zgv ORDER BY zgv_kurzbz';
$qry = 'SELECT * FROM bis.tbl_zgv ORDER BY zgv_bez';
$db = new basis_db();
if($db->db_query($qry))
+1 -1
View File
@@ -57,7 +57,7 @@ if(isset($_GET['optional']) && $_GET['optional']=='true')
</RDF:li>
';
}
$qry = 'SELECT * FROM bis.tbl_zgvdoktor ORDER BY zgvdoktor_code';
$qry = 'SELECT * FROM bis.tbl_zgvdoktor ORDER BY zgvdoktor_bez';
$db = new basis_db();
if($db->db_query($qry))
+1 -1
View File
@@ -57,7 +57,7 @@ if(isset($_GET['optional']) && $_GET['optional']=='true')
</RDF:li>
';
}
$qry = 'SELECT * FROM bis.tbl_zgvmaster ORDER BY zgvmas_code';
$qry = 'SELECT * FROM bis.tbl_zgvmaster ORDER BY zgvmas_bez';
$db = new basis_db();
if($db->db_query($qry))
+41 -38
View File
@@ -271,7 +271,8 @@ if (CAMPUS_NAME == 'FH Technikum Wien' && $stg_kz==10006)
DISTINCT ON(student_uid, nachname, vorname) *,
public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat,
public.tbl_prestudent.foerderrelevant as pre_foerderrelevant,
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant,
COALESCE(tbl_prestudent.standort_code, tbl_studiengang.standort_code) AS bis_standort_code
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
@@ -295,7 +296,8 @@ elseif ($stg_kz == 'alleBaMa')
DISTINCT ON(tbl_student.studiengang_kz, matrikelnr, nachname, vorname) *,
public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat,
public.tbl_prestudent.foerderrelevant as pre_foerderrelevant,
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant,
COALESCE(tbl_prestudent.standort_code, tbl_studiengang.standort_code) AS bis_standort_code
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
@@ -327,7 +329,8 @@ else
DISTINCT ON(student_uid, nachname, vorname) *,
public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat,
public.tbl_prestudent.foerderrelevant as pre_foerderrelevant,
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant,
COALESCE(tbl_prestudent.standort_code, tbl_studiengang.standort_code) AS bis_standort_code
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
@@ -397,23 +400,48 @@ if($result = $db->db_query($qry))
else
die('Fehler:'.$stg_obj->errormsg);
// Header am Beginn rausschreiben
// Erstes Studiengang Tag am Beginn rausschreiben
if ($stg_kz_index == '')
{
$header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Erhalter>
<ErhKz>".$erhalter."</ErhKz>
<MeldeDatum>".date("dmY", $datumobj->mktime_fromdate($bisdatum))."</MeldeDatum>
<StudierendenBewerberMeldung>";
<StudierendenBewerberMeldung>
<Studiengang>
<StgKz>".$row->studiengang_kz."</StgKz>";
$datei .= $header;
$dateiNurBewerber .= $header;
}
}
//Bewerberblock bei neuem Studiengang, und am Ende noch einmal
if (($stg_kz_index != '' && $row->studiengang_kz != $stg_kz_index) || $row_num == $num_rows)
// Student Daten schreiben
$datei .= GenerateXMLStudentBlock($row);
// wenn neuer Studiengang oder letzter Durchlauf...
if (($row_num > 1 && $row->studiengang_kz != $stg_kz_index) || $row_num == $num_rows)
{
// ...Studiengang Tag schliessen
$stgClose = "
</Studiengang>";
$datei .= $stgClose;
$dateiNurBewerber .= $stgClose;
}
// wenn neuer Studiengang...
if ($row->studiengang_kz != $stg_kz_index)
{
if ($row_num > 1)
{
// ...neuen Studiengang Tag öffnen
$stgOpen = "
<Studiengang>
<StgKz>".$row->studiengang_kz."</StgKz>";
$datei .= $stgOpen;
$dateiNurBewerber .= $stgOpen;
}
//Bewerberblock
// (bei Ausserordentlichen nicht anzeigen)
if($row->studiengang_kz!=('9'.$erhalter))
{
@@ -426,40 +454,16 @@ if($result = $db->db_query($qry))
foreach($orgcodes as $code)
{
$bewerberBlock=GenerateXMLBewerberBlock($row->studiengang_kz, $code);
$datei.=$bewerberBlock;
$dateiNurBewerber.=$bewerberBlock;
}
}
else
{
$bewerberBlock=GenerateXMLBewerberBlock($row->studiengang_kz);
$datei.=$bewerberBlock;
$dateiNurBewerber.=$bewerberBlock;
}
}
}
// 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;
@@ -468,7 +472,6 @@ if($result = $db->db_query($qry))
}
$footer="
</Studiengang>
</StudierendenBewerberMeldung>
</Erhalter>";
@@ -744,7 +747,7 @@ if(file_exists($ddd))
}
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>';
echo '<a href="'.$dddNurBew.'" target="_blank" download>XML-Datei f&uuml;r BIS-Meldung Stg '.$stg_kz.' - Bewerberdaten</a><br>';
if(file_exists($eee))
{
@@ -1611,7 +1614,7 @@ function GenerateXMLStudentBlock($row)
if($studtyp!='E')
{
$datei.="
<StudStatusCode>".$status."</StudStatusCode>";
<StudStatusCode>".$status."</StudStatusCode>";
}
// IO container query
@@ -1637,7 +1640,7 @@ function GenerateXMLStudentBlock($row)
if(!$ausserordentlich)
{
$datei.="
<StandortCode>".$row->standort_code."</StandortCode>";
<StandortCode>".$row->bis_standort_code."</StandortCode>";
}
/*
* BMWFFoerderrung derzeit fuer alle Studierende auf Ja gesetzt
@@ -2038,7 +2041,7 @@ function GenerateXMLBewerberBlock($studiengang_kz, $orgformcode=null)
<OrgFormCode>".$orgform_code_array[$bworgform]."</OrgFormCode>";
if($stgart==2)
$datei.='
<ZugangMaCode>'.$key.'</ZugangMaCode>';
<ZugangMaStgCode>'.$key.'</ZugangMaStgCode>';
else
$datei.='
<ZugangCode>'.$key.'</ZugangCode>';