From 84950649c4b56dc1a37a85728092303021f9c359 Mon Sep 17 00:00:00 2001 From: manu Date: Thu, 24 Jun 2021 12:00:49 +0200 Subject: [PATCH] Adaptierungen ZGV-Master Funktionen --- include/prestudent.class.php | 97 +++++++----------------------------- 1 file changed, 17 insertions(+), 80 deletions(-) diff --git a/include/prestudent.class.php b/include/prestudent.class.php index 73432e76e..8e19927ff 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -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
"); - 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