Längenprüfung für ZGV Ort hinzugefügt

This commit is contained in:
Andreas Österreicher
2020-04-28 08:16:52 +02:00
parent 7afbad87d4
commit ec849c7daf
+44 -34
View File
@@ -209,6 +209,16 @@ class prestudent extends person
$this->errormsg = 'Reihungstestpunkte3 darf nicht groesser als 9999.9999 sein';
return false;
}
if(mb_strlen($this->zgvort)>64)
{
$this->errormsg = 'ZGV Ort darf nicht länger als 64 Zeichen sein.';
return false;
}
if(mb_strlen($this->zgvmaort)>64)
{
$this->errormsg = 'ZGV Master Ort darf nicht länger als 64 Zeichen sein.';
return false;
}
return true;
}
@@ -435,14 +445,14 @@ class prestudent extends person
tbl_reihungstest.*,
ps.studiengang_kz as studiengang_kz,
tbl_studiengang.typ
FROM
FROM
public.tbl_prestudent ps
JOIN public.tbl_person pers USING (person_id)
JOIN public.tbl_rt_person USING (person_id)
JOIN public.tbl_reihungstest ON (tbl_reihungstest.reihungstest_id=tbl_rt_person.rt_id)
JOIN public.tbl_studiengang ON (ps.studiengang_kz=tbl_studiengang.studiengang_kz)
JOIN public.tbl_prestudentstatus ON (tbl_prestudentstatus.prestudent_id=ps.prestudent_id
AND status_kurzbz=\'Interessent\'
JOIN public.tbl_prestudentstatus ON (tbl_prestudentstatus.prestudent_id=ps.prestudent_id
AND status_kurzbz=\'Interessent\'
AND tbl_prestudentstatus.studiensemester_kurzbz=tbl_reihungstest.studiensemester_kurzbz)
WHERE
tbl_reihungstest.datum='.$this->db_add_param($datum).'
@@ -450,8 +460,8 @@ class prestudent extends person
AND tbl_prestudentstatus.studienplan_id IN (SELECT studienplan_id FROM public.tbl_rt_studienplan WHERE reihungstest_id=tbl_rt_person.rt_id)
AND EXISTS(SELECT * FROM public.tbl_prestudentstatus JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE prestudent_id=ps.prestudent_id AND tbl_studiensemester.ende > '.$this->db_add_param($datum).')
AND priorisierung = (SELECT priorisierung FROM public.tbl_prestudent
WHERE person_id = pers.person_id
AND priorisierung = (SELECT priorisierung FROM public.tbl_prestudent
WHERE person_id = pers.person_id
AND get_rolle_prestudent (ps.prestudent_id,NULL) IN (\'Interessent\',\'Bewerber\',\'Wartender\',\'Aufgenommener\')
--AND tbl_prestudent.studiengang_kz=ps.studiengang_kz
ORDER BY priorisierung ASC LIMIT 1)
@@ -496,9 +506,9 @@ class prestudent extends person
if (is_numeric($prestudent_id))
{
$qry = "
SELECT DISTINCT ON (priorisierung, prestudent_id)
SELECT DISTINCT ON (priorisierung, prestudent_id)
priorisierung,
prestudent_id,
prestudent_id,
tbl_prestudentstatus.studienplan_id,
studiengang_kz,
typ,
@@ -517,7 +527,7 @@ class prestudent extends person
lehre.tbl_studienplan ON (tbl_prestudentstatus.studienplan_id = tbl_studienplan.studienplan_id)
JOIN
bis.tbl_orgform ON (tbl_studienplan.orgform_kurzbz = tbl_orgform.orgform_kurzbz)
WHERE
WHERE
tbl_prestudent.person_id = (
SELECT
person_id
@@ -526,19 +536,19 @@ class prestudent extends person
WHERE
prestudent_id = ". $this->db_add_param($prestudent_id). "
)
/* Filter only future studiensemester (incl. actual one) */
AND
studiensemester_kurzbz IN (
SELECT
SELECT
studiensemester_kurzbz
FROM
public.tbl_studiensemester
WHERE
public.tbl_studiensemester
WHERE
ende > now()
)
AND
AND
status_kurzbz = 'Interessent'";
if (!is_null($typ) && is_string($typ))
@@ -556,10 +566,10 @@ class prestudent extends person
$qry .= "
-- Order to get the very last status and highest prio on top
ORDER BY
priorisierung NULLS LAST,
priorisierung NULLS LAST,
prestudent_id,
datum DESC,
tbl_prestudentstatus.insertamum DESC,
tbl_prestudentstatus.insertamum DESC,
tbl_prestudentstatus.ext_id DESC
" ;
@@ -634,7 +644,7 @@ class prestudent extends person
if($this->db_query($qry))
{
$this->num_rows=0;
while($row = $this->db_fetch_object())
{
$rolle = new prestudent();
@@ -1008,13 +1018,13 @@ class prestudent extends person
JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
if ($studiensemester_kurzbz != '')
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if ($status_kurzbz != '')
$qry .= " AND status_kurzbz=".$this->db_add_param($status_kurzbz);
if ($studienplan_id != '')
$qry .= " AND studienplan_id=".$this->db_add_param($studienplan_id);
@@ -1045,7 +1055,7 @@ class prestudent extends person
return false;
}
}
/**
* Speichert den Prestudentstatus
* @return true wenn ok, false im Fehlerfall
@@ -1384,12 +1394,12 @@ class prestudent extends person
return false;
}
$qry = "SELECT
*
FROM
public.tbl_prestudent
WHERE
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
$qry = "SELECT
*
FROM
public.tbl_prestudent
WHERE
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
ORDER BY prestudent_id";
if($this->db_query($qry))
@@ -2122,7 +2132,7 @@ class prestudent extends person
return false;
}
}
/**
* Liefert die Priorität des PreStudenten einer Person in einem Studiensemester
* Per Default wird die Höchste Priorisierung (ORDER BY DESC NULLS LAST) zurueckgegeben.
@@ -2142,9 +2152,9 @@ class prestudent extends person
tbl_prestudent.person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND tbl_prestudentstatus.status_kurzbz='Interessent'
AND tbl_prestudentstatus.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
ORDER BY ".$order."
ORDER BY ".$order."
LIMIT 1";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
@@ -2164,9 +2174,9 @@ class prestudent extends person
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Liefert die relative Priorität (zB 1, 2, 3) eines PreStudenten Anhand seiner absoluten Priorität (zB 9, 10, 11)
@@ -2204,7 +2214,7 @@ class prestudent extends person
) prest
WHERE laststatus NOT IN ('Abbrecher', 'Abgewiesener', 'Absolvent')
AND priorisierung <= ".$this->db_add_param($priorisierungAbsolut, FHC_INTEGER);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
@@ -2222,6 +2232,6 @@ class prestudent extends person
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}