mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
neue Funktion ZGVMasterNation setzen
This commit is contained in:
+140
-154
@@ -339,11 +339,11 @@ class dokument extends basis_db
|
||||
}
|
||||
|
||||
$qry = "SELECT tbl_dokumentprestudent.* , tbl_dokument.*
|
||||
FROM public.tbl_dokumentprestudent
|
||||
FROM public.tbl_dokumentprestudent
|
||||
JOIN public.tbl_dokument USING(dokument_kurzbz)
|
||||
LEFT JOIN public.tbl_vorlage ON (tbl_dokumentprestudent.dokument_kurzbz = tbl_vorlage.vorlage_kurzbz)
|
||||
WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if(!$archivdokumente)
|
||||
{
|
||||
$qry.=" AND (tbl_vorlage.archivierbar = FALSE OR tbl_vorlage.archivierbar IS NULL)";
|
||||
@@ -401,7 +401,7 @@ class dokument extends basis_db
|
||||
}
|
||||
|
||||
$qry = "SELECT tbl_dokument.* , tbl_dokumentstudiengang.*
|
||||
FROM public.tbl_dokument
|
||||
FROM public.tbl_dokument
|
||||
JOIN public.tbl_dokumentstudiengang USING(dokument_kurzbz)
|
||||
LEFT JOIN public.tbl_vorlage ON (tbl_dokument.dokument_kurzbz = tbl_vorlage.vorlage_kurzbz)
|
||||
WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
@@ -836,11 +836,11 @@ class dokument extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert die Studiengänge bei denen das übergebene Dokument benötigt wird
|
||||
* @param string $dokument_kurzbz Kurzbz des Dokuments
|
||||
* @param integer $person_id Optional. Die Dokumente werden zusätzlich auf die Studiengänge eingeschränkt für die sich eine Person beworben hat.
|
||||
* @param integer $person_id Optional. Die Dokumente werden zusätzlich auf die Studiengänge eingeschränkt für die sich eine Person beworben hat.
|
||||
* @return object Objekt mit den Studiengängen oder false.
|
||||
*/
|
||||
public function getStudiengaengeDokument($dokument_kurzbz, $person_id = null)
|
||||
@@ -854,7 +854,7 @@ class dokument extends basis_db
|
||||
AND person_id =".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND tbl_prestudentstatus.status_kurzbz = 'Interessent'
|
||||
AND get_rolle_prestudent (prestudent_id, NULL) NOT IN ('Abgewiesener','Abbrecher')
|
||||
|
||||
|
||||
ORDER BY kuerzel";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
@@ -869,12 +869,12 @@ class dokument extends basis_db
|
||||
$stg_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$stg_obj->english = $row->english;
|
||||
$stg_obj->stufe = $row->stufe;
|
||||
|
||||
|
||||
$this->result[] = $stg_obj;
|
||||
}
|
||||
return $stg_obj;
|
||||
}
|
||||
else
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@@ -882,181 +882,167 @@ class dokument extends basis_db
|
||||
$this->errormsg="Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Akzeptiert ein bestimmtes Dokument
|
||||
* Optional kann auch eine studiengang_kz uebergeben werden, ob speziell dort das Dokument akzeptiert wurde
|
||||
* @param $dokument_kurzbz
|
||||
* @param $person_id
|
||||
* @param $studiengang_kz integer oder array aus mehreren studiengang_kz
|
||||
* @return boolean true wenn akzeptiert, false wenn noch nicht akzeptiert
|
||||
*/
|
||||
function akzeptiereDokument($dokument_kurzbz, $person_id)
|
||||
{
|
||||
$db = new basis_db();
|
||||
$arrayDoksZuAkzeptieren = array();
|
||||
|
||||
//get Prestudent_ids
|
||||
$qry = "SELECT
|
||||
prestudent_id
|
||||
FROM
|
||||
tbl_prestudent ps, tbl_studiengang sg
|
||||
WHERE
|
||||
ps.studiengang_kz = sg.studiengang_kz
|
||||
AND sg.typ = 'm'
|
||||
AND person_id = ".$this->db_add_param($person_id)."
|
||||
AND not exists(
|
||||
SELECT *
|
||||
from tbl_dokumentprestudent dok
|
||||
where dok.prestudent_id = ps.prestudent_id
|
||||
and dokument_kurzbz = ".$this->db_add_param($dokument_kurzbz).")";
|
||||
|
||||
|
||||
//echo var_dump($qry);
|
||||
//for all prestudents
|
||||
|
||||
|
||||
//gibt ein Array von zu akzeptierenden Dokumenten zurück
|
||||
if($db->db_query($qry))
|
||||
* Akzeptiert ein bestimmtes Dokument
|
||||
* @param char $dokument_kurzbz Bezeichner Dokument.
|
||||
* @param int $person_id Personenkennzeichen.
|
||||
* @return boolean true wenn akzeptiert, false wenn noch nicht akzeptiert
|
||||
*/
|
||||
protected function akzeptiereDokument($dokument_kurzbz, $person_id)
|
||||
{
|
||||
$num_rows = $db->db_num_rows();
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
$db = new basis_db();
|
||||
$arrayDoksZuAkzeptieren = array();
|
||||
|
||||
//get Prestudent_ids
|
||||
$qry = "SELECT
|
||||
prestudent_id
|
||||
FROM
|
||||
tbl_prestudent ps, tbl_studiengang sg
|
||||
WHERE
|
||||
ps.studiengang_kz = sg.studiengang_kz
|
||||
AND sg.typ = 'm'
|
||||
AND person_id = ".$this->db_add_param($person_id)."
|
||||
AND not exists(
|
||||
SELECT *
|
||||
from tbl_dokumentprestudent dok
|
||||
where dok.prestudent_id = ps.prestudent_id
|
||||
and dokument_kurzbz = ".$this->db_add_param($dokument_kurzbz).")";
|
||||
|
||||
|
||||
//echo var_dump($qry);
|
||||
//for all prestudents
|
||||
|
||||
|
||||
//gibt ein Array von zu akzeptierenden Dokumenten zurück
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
$num_rows = $db->db_num_rows();
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows > 0)
|
||||
{
|
||||
//echo var_dump($row->prestudent_id);
|
||||
$arrayDoksZuAkzeptieren[] = $row->prestudent_id;
|
||||
}
|
||||
//print_r($arrayDoksZuAkzeptieren);
|
||||
|
||||
//und jetzt für alle prestudent_ids das Dokument akzeptieren
|
||||
|
||||
$qry = "INSERT INTO public.tbl_dokumentprestudent(dokument_kurzbz, prestudent_id) VALUES";
|
||||
//echo $qry;
|
||||
|
||||
foreach ($arrayDoksZuAkzeptieren AS $prestudent_id){
|
||||
$qry.= "(".$this->db_add_param($dokument_kurzbz). ",". $prestudent_id . ")";
|
||||
|
||||
if (next($arrayDoksZuAkzeptieren)==true){
|
||||
$qry.= ",";
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
//echo var_dump($row->prestudent_id);
|
||||
$arrayDoksZuAkzeptieren[] = $row->prestudent_id;
|
||||
}
|
||||
}
|
||||
$qry.= ";";
|
||||
//print_r($arrayDoksZuAkzeptieren);
|
||||
|
||||
echo $qry;
|
||||
//und jetzt für alle prestudent_ids das Dokument akzeptieren
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
echo " Jawoll: query ausgeführt";
|
||||
return true;
|
||||
$qry = "INSERT INTO public.tbl_dokumentprestudent(dokument_kurzbz, prestudent_id) VALUES";
|
||||
//echo $qry;
|
||||
|
||||
foreach ($arrayDoksZuAkzeptieren as $prestudent_id)
|
||||
{
|
||||
$qry .= "(".$this->db_add_param($dokument_kurzbz). ",". $prestudent_id. ")";
|
||||
|
||||
if (next($arrayDoksZuAkzeptieren) == true)
|
||||
{
|
||||
$qry .= ",";
|
||||
}
|
||||
}
|
||||
$qry .= ";";
|
||||
|
||||
echo $qry;
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
echo " Jawoll: query ausgeführt";
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Akzeptieren';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Akzeptieren';
|
||||
return false;
|
||||
echo " Keine zu akzeptierenden Doks vorhanden";
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
echo "keine zu akzeptierenden Doks vorhanden";
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* entakzeptiert ein bestimmtes Dokument
|
||||
* Optional kann auch eine studiengang_kz uebergeben werden, ob speziell dort das Dokument entakzeptiert wurde
|
||||
* @param $dokument_kurzbz
|
||||
* @param $person_id
|
||||
* @param $studiengang_kz integer oder array aus mehreren studiengang_kz
|
||||
* @return boolean true wenn entakzeptiert, false wenn noch nicht entakzeptiert
|
||||
*/
|
||||
function entakzeptiereDokument($dokument_kurzbz, $person_id)
|
||||
{
|
||||
$db = new basis_db();
|
||||
$arrayDoksZuEntakzeptieren = array();
|
||||
|
||||
//get Prestudent_ids
|
||||
|
||||
$qry = "SELECT
|
||||
prestudent_id
|
||||
from
|
||||
tbl_dokumentprestudent
|
||||
join
|
||||
tbl_prestudent using (prestudent_id)
|
||||
where
|
||||
person_id = ".$this->db_add_param($person_id)."
|
||||
and dokument_kurzbz = ".$this->db_add_param($dokument_kurzbz);
|
||||
|
||||
// echo var_dump($qry);
|
||||
//for all prestudents
|
||||
|
||||
|
||||
//gibt ein Array von zu Entakzeptierenden Dokumenten zurück
|
||||
if($db->db_query($qry))
|
||||
* entakzeptiert ein bestimmtes Dokument
|
||||
* @param char $dokument_kurzbz Kurzbezeichnung des zu entakzeptierenden Dokuments.
|
||||
* @param int $person_id Personenkennzeichen.
|
||||
* @return boolean true wenn entakzeptiert, false wenn noch nicht entakzeptiert
|
||||
*/
|
||||
protected function entakzeptiereDokument($dokument_kurzbz, $person_id)
|
||||
{
|
||||
$num_rows = $db->db_num_rows();
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
$db = new basis_db();
|
||||
$arrayDoksZuEntakzeptieren = array();
|
||||
|
||||
//get Prestudent_ids
|
||||
|
||||
$qry = "SELECT
|
||||
prestudent_id
|
||||
from
|
||||
tbl_dokumentprestudent
|
||||
join
|
||||
tbl_prestudent using (prestudent_id)
|
||||
where
|
||||
person_id = ".$this->db_add_param($person_id)."
|
||||
and dokument_kurzbz = ".$this->db_add_param($dokument_kurzbz);
|
||||
|
||||
// echo var_dump($qry);
|
||||
|
||||
//gibt ein Array von zu Entakzeptierenden Dokumenten zurück
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
$num_rows = $db->db_num_rows();
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows > 0)
|
||||
{
|
||||
//echo var_dump($row->prestudent_id);
|
||||
$arrayDoksZuEntakzeptieren[] = $row->prestudent_id;
|
||||
}
|
||||
print_r($arrayDoksZuEntakzeptieren);
|
||||
|
||||
//und jetzt für alle prestudent_ids das Dokument Entakzeptieren
|
||||
|
||||
$qry = "DELETE FROM public.tbl_dokumentprestudent WHERE prestudent_id in (";
|
||||
//echo $qry;
|
||||
|
||||
foreach ($arrayDoksZuEntakzeptieren AS $prestudent_id){
|
||||
$qry.= $prestudent_id;
|
||||
|
||||
if (next($arrayDoksZuEntakzeptieren)==true){
|
||||
$qry.= ",";
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
//echo var_dump($row->prestudent_id);
|
||||
$arrayDoksZuEntakzeptieren[] = $row->prestudent_id;
|
||||
}
|
||||
}
|
||||
$qry.= ");";
|
||||
print_r($arrayDoksZuEntakzeptieren);
|
||||
|
||||
echo $qry;
|
||||
//und jetzt für alle prestudent_ids das Dokument Entakzeptieren
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
echo " Jawoll: query ausgeführt";
|
||||
return true;
|
||||
$qry = "DELETE FROM public.tbl_dokumentprestudent WHERE prestudent_id in (";
|
||||
//echo $qry;
|
||||
|
||||
foreach ($arrayDoksZuEntakzeptieren as $prestudent_id)
|
||||
{
|
||||
$qry .= $prestudent_id;
|
||||
|
||||
if (next($arrayDoksZuEntakzeptieren) == true)
|
||||
{
|
||||
$qry .= ",";
|
||||
}
|
||||
}
|
||||
$qry .= ") AND dokument_kurzbz = ".$this->db_add_param($dokument_kurzbz).";";
|
||||
|
||||
echo $qry;
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Entakzeptieren';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Entakzeptieren';
|
||||
return false;
|
||||
echo " Keine Entzuakzeptierenden Doks vorhanden";
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "keine Entzuakzeptierenden Doks vorhanden";
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+112
-33
@@ -2232,51 +2232,44 @@ class prestudent extends person
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft, ob eine Person einen aktuellen PreStudentstatus-Eintrag besitzt, der die ZGV Master ersetzt
|
||||
* @param integer $person_id
|
||||
* @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
|
||||
*/
|
||||
public function existsZGVIntern($person_id)
|
||||
* false und errormsg wenn Fehler aufgetreten ist
|
||||
*/
|
||||
public function existsZGVIntern($person_id)
|
||||
{
|
||||
if (!is_numeric($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 in ('b','m','d')";
|
||||
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
$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 in ('b','m','d')";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
if ($row->anzahl > 0)
|
||||
{
|
||||
if($row->anzahl>0)
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
$this->errormsg = '';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -2286,5 +2279,91 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Befüllt MasterZGV Nation mit Österreich
|
||||
* @param int $person_id Personenkennzeichen.
|
||||
* @return true wenn erfolgreich durchgeführt
|
||||
* false und errormsg wenn ein Fehler aufgetreten ist
|
||||
*/
|
||||
public function setManationZGV($person_id)
|
||||
{
|
||||
if (!is_numeric($person_id))
|
||||
{
|
||||
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$db = new basis_db();
|
||||
$arrayleereManations = array();
|
||||
|
||||
//all prestudent_ids mit leerer ZGV_Nation
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN
|
||||
public.tbl_studiengang USING (studiengang_kz)
|
||||
WHERE
|
||||
person_id = ".$this->db_add_param($person_id)."
|
||||
AND
|
||||
zgvmanation is NULL
|
||||
AND
|
||||
typ in ('m','d')";
|
||||
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
$num_rows = $db->db_num_rows();
|
||||
|
||||
if ($num_rows > 0)
|
||||
{
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
//echo var_dump($row->prestudent_id);
|
||||
$arrayleereManations[] = $row->prestudent_id;
|
||||
}
|
||||
print_r($arrayleereManations);
|
||||
|
||||
$qry = "UPDATE
|
||||
public.tbl_prestudent
|
||||
SET
|
||||
zgvmanation = 'A'
|
||||
WHERE
|
||||
prestudent_id in (";
|
||||
|
||||
foreach ($arrayleereManations as $prestudent_id)
|
||||
{
|
||||
$qry .= $prestudent_id;
|
||||
|
||||
if (next($arrayleereManations) == true)
|
||||
{
|
||||
$qry .= ",";
|
||||
}
|
||||
}
|
||||
$qry .= ");";
|
||||
|
||||
echo $qry;
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
echo " ZGV-Master Nation A eingetragen!";
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Eintragen zgvMasternation';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
echo " Keine leere ZGVManation gefunden";
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user