check duplicate auch studiengang wird nun beruecksichtigt

This commit is contained in:
ma0048
2022-01-13 15:16:34 +01:00
parent 2d46d80b5f
commit c36d0358a9
2 changed files with 52 additions and 26 deletions
+50 -24
View File
@@ -268,35 +268,61 @@ class Person_model extends DB_Model
public function checkDuplicate($person_id)
{
$qry = "SELECT p.person_id
FROM public.tbl_person p
JOIN public.tbl_prestudent USING (person_id)
JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE status_kurzbz = 'Abbrecher'
AND person_id IN (SELECT p2.person_id
$qry = "SELECT person_id
FROM public.tbl_prestudent p
JOIN
(
SELECT DISTINCT ON(prestudent_id) *
FROM public.tbl_prestudentstatus
WHERE prestudent_id IN
(
SELECT prestudent_id
FROM public.tbl_prestudent
WHERE person_id IN
(
SELECT p2.person_id
FROM public.tbl_person p
JOIN public.tbl_person p2
ON p.vorname = p2.vorname
AND p.nachname = p2.nachname
AND p.gebdatum = p2.gebdatum
WHERE p.person_id = ?
)";
AND p.person_id = ?
)
)
ORDER BY prestudent_id, datum DESC, insertamum DESC
) ps USING(prestudent_id)
JOIN public.tbl_status USING(status_kurzbz)
WHERE status_kurzbz = 'Interessent'
AND studiengang_kz IN
(
SELECT studiengang_kz
FROM public.tbl_prestudent p
JOIN
(
SELECT DISTINCT ON(prestudent_id) *
FROM public.tbl_prestudentstatus
WHERE prestudent_id IN
(
SELECT prestudent_id
FROM public.tbl_prestudent
WHERE person_id IN
(
SELECT p2.person_id
FROM public.tbl_person p
JOIN public.tbl_person p2
ON p.vorname = p2.vorname
AND p.nachname = p2.nachname
AND p.gebdatum = p2.gebdatum
AND p.person_id = ?
)
)
ORDER BY prestudent_id, datum DESC, insertamum DESC
) ps USING(prestudent_id)
JOIN public.tbl_status USING(status_kurzbz)
WHERE status_kurzbz = 'Abbrecher'
)
";
$person = $this->execQuery($qry, array($person_id));
if (hasData($person))
{
$qry = "SELECT p2.person_id
FROM public.tbl_person p
JOIN public.tbl_person p2
ON p.vorname = p2.vorname
AND p.nachname = p2.nachname
AND p.gebdatum = p2.gebdatum
WHERE p.person_id = ?";
return $this->execQuery($qry, array($person_id));
}
return $person;
return $this->execQuery($qry, array($person_id, $person_id));
}
}
+2 -2
View File
@@ -896,13 +896,13 @@ $phrases = array(
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'BewerberIn bereits vorhanden',
'text' => 'BewerberIn möglicherweise vorhanden',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Applicant already available',
'text' => 'Applicant maybe available',
'description' => '',
'insertvon' => 'system'
)