Adaptierungen ZGV-Master Funktionen

This commit is contained in:
manu
2021-06-24 12:00:49 +02:00
parent 537ad8ab88
commit 84950649c4
+17 -80
View File
@@ -2287,13 +2287,13 @@ class prestudent extends person
}
/**
* Befüllt MasterZGV Nation mit Österreich,
* MasterZGV-code mit FH-Bachelor(I) und MasterZGV-Ort mit Wien(FHTW)
* Befüllt MasterZGV-Felder: Nation mit Österreich und MasterZGV-code mit FH-Bachelor(I)
* @param int $person_id Personenkennzeichen.
* @param varchar $ort Ort.
* @return true wenn erfolgreich durchgeführt
* false und errormsg wenn ein Fehler aufgetreten ist
*/
public function setZGVMasterFields($person_id)
public function setZGVMasterFields($person_id, $ort)
{
if (!is_numeric($person_id))
{
@@ -2311,16 +2311,14 @@ class prestudent extends person
public.tbl_prestudent
JOIN
public.tbl_studiengang USING (studiengang_kz)
JOIN
public.tbl_prestudentstatus USING (prestudent_id)
WHERE
person_id = ".$this->db_add_param($person_id)."
AND
zgvmanation is NULL
AND
typ in ('m','d')";";
-- AND
-- status_kurzbz = Interessent";
typ ='m'
And
get_rolle_prestudent(prestudent_id, null) = 'Interessent';";
if ($db->db_query($qry))
{
@@ -2330,23 +2328,15 @@ class prestudent extends person
{
while ($row = $db->db_fetch_object())
{
// echo ($row->prestudent_id . " = id " . $row->status_kurzbz . " = status " . $row->studiengang_kz . " = stg <br>");
echo ($this->getLastPrestudentStatus($row->prestudent_id));
if ($this->getLastPrestudentStatus($row->prestudent_id) == "Interessent")
{
$arrayleereManations[] = $row->prestudent_id;
}
$arrayleereManations[] = $row->prestudent_id;
}
print_r($arrayleereManations);
if($arrayleereManations)
if ($arrayleereManations)
{
$qry = "UPDATE
public.tbl_prestudent
SET
(zgvmanation, zgvmaort, zgvmas_code) = ('A','Wien (FHTW)',1)
(zgvmanation, zgvmaort, zgvmas_code) = ('A',".$this->db_add_param($ort).",1)
WHERE
prestudent_id in (";
@@ -2361,11 +2351,8 @@ class prestudent extends person
}
$qry .= ");";
echo $qry;
if ($this->db_query($qry))
{
echo " ZGV-Master Eintragungen vorgenommen!";
return true;
}
else
@@ -2373,56 +2360,18 @@ class prestudent extends person
$this->errormsg = 'Fehler beim Eintragen zgvMasterFields';
return false;
}
}
}
else
echo " Keine prestudentId Master gefunden";
return true;
}
}
/**
* liefert den letztgültigen Status des Prestudenten
* @param int $prestudent_id ID der zu überprüfenden Person.
* @return string $result wenn vorhanden
* false und errormsg wenn Fehler aufgetreten ist
*/
public function getLastPrestudentStatus($prestudent_id)
{
if (!is_numeric($prestudent_id))
{
$this->errormsg = 'Prestudent_id muss eine gueltige Zahl sein';
return false;
}
$db = new basis_db();
//get all prestudents
$qry = "SELECT pss.status_kurzbz
FROM public.tbl_prestudentstatus pss
JOIN public.tbl_prestudent ps using (prestudent_id)
where ps.prestudent_id = ".$this->db_add_param($prestudent_id)."
group by prestudent_id, pss.status_kurzbz, pss.insertamum
order by pss.insertamum DESC limit 1";
if ($db->db_query($qry))
{
$row = $db->db_fetch_object();
$result = $row->status_kurzbz;
return $result;
}
else
{
return false;
}
}
/**
* Prueft, ob eine Person einen aktuellen PreStudentstatus-Eintrag Interessent für einen Masterstudiengang besitzt
* @param int $person_id ID der zu überprüfenden Person.
* @return true wenn vorhanden
* false wenn nicht vorhanden
* false und errormsg wenn Fehler aufgetreten ist
* @return true wenn vorhanden, false wenn nicht vorhanden
*/
public function existsStatusInteressentMaster($person_id)
{
@@ -2434,7 +2383,7 @@ class prestudent extends person
$db = new basis_db();
$prestudentsOfMaster = array();
//get all prestudents
$qry = "SELECT
prestudent_id
FROM
@@ -2442,30 +2391,18 @@ class prestudent extends person
WHERE
ps.studiengang_kz = sg.studiengang_kz
AND
sg.typ in ('m','d')
AND person_id = ".$this->db_add_param($person_id).";";
sg.typ in ('m')
AND
person_id = ".$this->db_add_param($person_id)."
And
get_rolle_prestudent(prestudent_id, null) = 'Interessent';";
if ($db->db_query($qry))
{
$num_rows = $db->db_num_rows();
// Wenn kein ergebnis return 0 sonst ID
if ($num_rows > 0)
{
while ($row = $db->db_fetch_object())
{
$prestudentsOfMaster[] = $row->prestudent_id;
}
//prestudentIds auf Interessentenstatus prüfen
foreach ($prestudentsOfMaster as $prestudent_id)
{
if ($this->getLastPrestudentStatus($prestudent_id) == "Interessent")
{
return true;
}
}
return true;
}
}
else