-Plausichecks: added correct fehlertext and resolution params -replaced Plausichecker Interface with abstract class, which gets ci instance and loads plausicheck lib -write issue info only if issue really newly inserted

This commit is contained in:
KarpAlex
2022-09-27 18:32:15 +02:00
parent 9bae6bb0a4
commit 1241a05ed3
31 changed files with 340 additions and 297 deletions
@@ -46,9 +46,10 @@ class PlausiIssueProducer extends JOB_Controller
// write the issue
$addIssueRes = $this->issueslib->addFhcIssue($fehler_kurzbz, $person_id, $oe_kurzbz, $fehlertext_params, $resolution_params);
// log if error, or log info if inserted new issue
if (isError($addIssueRes))
$this->logError(getError($addIssueRes));
else
elseif (hasData($addIssueRes) && is_integer(getData($addIssueRes)))
$this->logInfo("Plausicheck issue " . $fehler_kurzbz . " successfully produced, person_id: " . $person_id);
}
}
+3 -2
View File
@@ -262,6 +262,7 @@ class IssuesLib
return error("Invalid parameters for resolution");
}
// insert new issue
return $this->_ci->IssueModel->insert(
array(
'fehlercode' => $fehlercode,
@@ -277,8 +278,8 @@ class IssuesLib
)
);
}
else
return success($openIssueCount);
else // return success if issue already exists
return success("Issue already exists");
}
else
return error("Number of open issues could not be determined");
+136 -93
View File
@@ -36,9 +36,7 @@ class PlausicheckLib
$qry = "
SELECT
pre.prestudent_id, stud.student_uid, pers.person_id,
pre.studiengang_kz prestudent_studiengang, stud.studiengang_kz student_studiengang,
stg.oe_kurzbz prestudent_stg_oe_kurzbz, student_stg.oe_kurzbz student_stg_oe_kurzbz
pre.person_id, pre.prestudent_id, stg.oe_kurzbz prestudent_stg_oe_kurzbz, student_stg.oe_kurzbz student_stg_oe_kurzbz
FROM
public.tbl_prestudent pre
JOIN public.tbl_student stud USING(prestudent_id)
@@ -75,32 +73,26 @@ class PlausicheckLib
$qry = "
SELECT
studiengang.orgform_kurzbz as studorgkz, student.student_uid,
prestudentstatus.orgform_kurzbz as studentorgkz, student.studiengang_kz studiengang
prestudent.person_id, prestudent.prestudent_id, status.studiensemester_kurzbz,
studiengang.orgform_kurzbz as stg_oe_kurzbz, status.orgform_kurzbz as student_oe_kurzbz
FROM
public.tbl_studiengang studiengang
JOIN public.tbl_student student USING(studiengang_kz)
JOIN public.tbl_prestudent prestudent USING(prestudent_id)
JOIN public.tbl_prestudentstatus prestudentstatus USING(prestudent_id)
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
JOIN public.tbl_benutzer benutzer on(benutzer.uid = student.student_uid)
JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz
WHERE
benutzer.aktiv = true
AND prestudentstatus.status_kurzbz='Student'
AND status.status_kurzbz='Student'
AND studiengang.studiengang_kz < 10000
AND prestudentstatus.studiensemester_kurzbz = ?
AND status.studiensemester_kurzbz = ?
AND stg.melderelevant
AND NOT EXISTS(
SELECT 1 FROM lehre.tbl_studienplan JOIN lehre.tbl_studienordnung USING(studienordnung_id)
WHERE
tbl_studienordnung.studiengang_kz = prestudent.studiengang_kz
AND tbl_studienplan.orgform_kurzbz = prestudentstatus.orgform_kurzbz)";
if (isset($studiengang_kz))
{
$qry .= " AND stg.studiengang_kz = ?";
$params[] = $studiengang_kz;
}
AND tbl_studienplan.orgform_kurzbz = status.orgform_kurzbz)";
if (isset($prestudent_id))
{
@@ -108,6 +100,12 @@ class PlausicheckLib
$params[] = $prestudent_id;
}
if (isset($studiengang_kz))
{
$qry .= " AND stg.studiengang_kz = ?";
$params[] = $studiengang_kz;
}
$qry .= "
ORDER BY student_uid";
@@ -125,18 +123,17 @@ class PlausicheckLib
$qry = "
SELECT
tbl_prestudent.prestudent_id, tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz as studiengang,
tbl_prestudentstatus.studiensemester_kurzbz
pre.person_id, pre.prestudent_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz, status.studiensemester_kurzbz
FROM
public.tbl_prestudent
public.tbl_prestudent pre
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
JOIN public.tbl_studiengang stg USING(studiengang_kz)
WHERE
tbl_prestudentstatus.status_kurzbz IN ('Bewerber', 'Student')
status.status_kurzbz IN ('Bewerber', 'Student')
AND stg.mischform
AND (tbl_prestudentstatus.orgform_kurzbz='' OR tbl_prestudentstatus.orgform_kurzbz IS NULL)
AND tbl_prestudentstatus.studiensemester_kurzbz=?
AND (status.orgform_kurzbz='' OR status.orgform_kurzbz IS NULL)
AND status.studiensemester_kurzbz=?
AND stg.melderelevant";
if (isset($studiengang_kz))
@@ -147,7 +144,7 @@ class PlausicheckLib
if (isset($prestudent_id))
{
$qry .= " AND tbl_prestudent.prestudent_id = ?";
$qry .= " AND pre.prestudent_id = ?";
$params[] = $prestudent_id;
}
@@ -165,18 +162,17 @@ class PlausicheckLib
$qry = "
SELECT
DISTINCT tbl_person.vorname, tbl_person.nachname,
ps.studiengang_kz as studiengang,
ps.prestudent_id, tbl_studienplan.studienplan_id
DISTINCT ON (ps.prestudent_id) ps.person_id, ps.prestudent_id,
stplan.bezeichnung AS studienplan, stg.orgform_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_prestudent ps
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN lehre.tbl_studienplan stplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung stordnung USING(studienordnung_id)
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_studiengang stg ON ps.studiengang_kz = stg.studiengang_kz
WHERE
ps.studiengang_kz<>tbl_studienordnung.studiengang_kz
ps.studiengang_kz<>stordnung.studiengang_kz
AND stg.melderelevant";
if (isset($studiengang_kz))
@@ -187,7 +183,7 @@ class PlausicheckLib
if (isset($prestudent_id))
{
$qry .= " AND tbl_prestudent.prestudent_id = ?";
$qry .= " AND ps.prestudent_id = ?";
$params[] = $prestudent_id;
}
@@ -208,7 +204,7 @@ class PlausicheckLib
$qry = "
SELECT
pre_status.status_kurzbz, benutzer.aktiv, benutzer.uid, student.studiengang_kz studiengang
pre.person_id, pre.prestudent_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_prestudentstatus pre_status
JOIN public.tbl_prestudent pre USING(prestudent_id)
@@ -247,7 +243,7 @@ class PlausicheckLib
$qry = "
SELECT
student.student_uid, prestudent.prestudent_id, student.studiengang_kz studiengang
prestudent.person_id, prestudent.prestudent_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_student student
JOIN public.tbl_prestudent prestudent USING(prestudent_id)
@@ -296,7 +292,7 @@ class PlausicheckLib
}
/**
* Ausbildungssemester of prestudent must be the same as Ausbildungssemester of prestudentstatus.
* Ausbildungssemester of prestudent (lehrverband) must be the same as Ausbildungssemester of prestudentstatus.
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
@@ -306,8 +302,8 @@ class PlausicheckLib
$qry = "
SELECT
DISTINCT(student.student_uid), prestudent.prestudent_id, status.ausbildungssemester,
lv.semester, student.studiengang_kz studiengang, status.studiensemester_kurzbz
DISTINCT(student.student_uid), prestudent.person_id, prestudent.prestudent_id,
status.ausbildungssemester, lv.semester, status.studiensemester_kurzbz
FROM
public.tbl_student student
JOIN public.tbl_studentlehrverband lv USING(student_uid)
@@ -338,7 +334,7 @@ class PlausicheckLib
}
/**
* Students with inactive status shouldn't have an active Benutzer.
* Students with active status should have an active Benutzer.
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
@@ -348,7 +344,7 @@ class PlausicheckLib
$qry = "
SELECT
DISTINCT(student.student_uid), student.studiengang_kz studiengang
DISTINCT(student.student_uid), prestudent.person_id, prestudent.prestudent_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_benutzer benutzer
JOIN public.tbl_student student on(benutzer.uid = student.student_uid)
@@ -389,17 +385,19 @@ class PlausicheckLib
// get active students
$qry = "
SELECT
DISTINCT(student.student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
DISTINCT(student.student_uid),
prestudent.person_id, prestudent.prestudent_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz, status.studiensemester_kurzbz
FROM
public.tbl_benutzer benutzer
JOIN public.tbl_student student on(benutzer.uid = student.student_uid)
JOIN public.tbl_prestudent prestudent USING(prestudent_id)
JOIN public.tbl_prestudentstatus prestatus USING(prestudent_id)
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz
WHERE
benutzer.aktiv=true
AND prestatus.studiensemester_kurzbz = ?
AND stg.melderelevant";
AND status.studiensemester_kurzbz = ?
AND stg.melderelevant
AND prestudent.bismelden";
if (isset($studiengang_kz))
{
@@ -459,12 +457,13 @@ class PlausicheckLib
public function getDatumStudiensemesterFalscheReihenfolge($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null)
{
$params = array($studiensemester_kurzbz);
$rsults = array();
$results = array();
// all active students with Status student in current semester
$qry = "
SELECT
DISTINCT(student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
DISTINCT(student_uid), prestudent.person_id, prestudent.prestudent_id,
stg.oe_kurzbz AS prestudent_stg_oe_kurzbz, status.studiensemester_kurzbz
FROM
public.tbl_student student
JOIN public.tbl_benutzer benutzer on(student.student_uid = benutzer.uid)
@@ -554,7 +553,7 @@ class PlausicheckLib
$qry = "
SELECT
DISTINCT (student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
DISTINCT (student_uid), prestudent.person_id, prestudent.prestudent_id, status.studienesemester_kurzbz
FROM
public.tbl_student student
JOIN public.tbl_benutzer benutzer on (benutzer.uid = student.student_uid)
@@ -623,19 +622,18 @@ class PlausicheckLib
$qry = "
SELECT
DISTINCT tbl_person.vorname, tbl_person.nachname,
tbl_prestudent.prestudent_id,
tbl_studienplan.bezeichnung,
prestudent.studiengang_kz as studiengang,
DISTINCT pre.person_id, pre.prestudent_id,
tbl_studienplan.bezeichnung AS studienplan,
status.status_kurzbz,
status.studiensemester_kurzbz,
status.ausbildungssemester
status.ausbildungssemester,
stg.prestudent_stg_oe_kurzbz
FROM
public.tbl_prestudent prestudent
public.tbl_prestudent pre
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
JOIN public.tbl_person USING(person_id)
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz
JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz
WHERE
status_kurzbz in('Student', 'Interessent','Bewerber','Aufgenommener')
AND NOT EXISTS (
@@ -671,14 +669,14 @@ class PlausicheckLib
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
public function getFalscheAnzahlAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null)
public function getFalscheAnzahlAbschlusspruefungen($studiensemester_kurzbz = null, $studiengang_kz = null, $prestudent_id = null)
{
$params = array($studiensemester_kurzbz);
$params = array();
$qry = "
SELECT * FROM (
SELECT
DISTINCT pre.prestudent_id, student_uid,
DISTINCT ON(pre.prestudent_id) pre.person_id, pre.prestudent_id, student_uid, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz,
(
SELECT COUNT(*)
FROM lehre.tbl_abschlusspruefung
@@ -689,21 +687,27 @@ class PlausicheckLib
FROM
public.tbl_prestudent pre
JOIN public.tbl_student stud USING(prestudent_id)
JOIN public.tbl_prestudentstatus prestatus USING(prestudent_id)
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz
WHERE
status_kurzbz = 'Absolvent'
AND studiensemester_kurzbz = ?
AND stg.melderelevant
AND pre.bismelden
AND NOT EXISTS ( /* exclude gs */
SELECT 1
FROM bis.tbl_mobilitaet
WHERE prestudent_id = pre.prestudent_id
AND studiensemester_kurzbz = prestatus.studiensemester_kurzbz
AND studiensemester_kurzbz = status.studiensemester_kurzbz
)
) studenten
WHERE anzahl_abschlusspruefungen != 1";
if (isset($studiensemester_kurzbz))
{
$qry .= " AND status.studiensemester_kurzbz = ?";
$params[] = $studiensemester_kurzbz;
}
if (isset($studiengang_kz))
{
$qry .= " AND stg.studiengang_kz = ?";
@@ -724,7 +728,7 @@ class PlausicheckLib
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
public function getDatumAbschlusspruefungFehlt($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null)
public function getDatumAbschlusspruefungFehlt($studiensemester_kurzbz = null, $studiengang_kz = null, $abschlusspruefung_id = null)
{
$results = array();
@@ -788,17 +792,18 @@ class PlausicheckLib
$qry = "
SELECT
vorname, nachname, prestudent.prestudent_id, prestudent.studiengang_kz
prestudent.person_id, prestudent.prestudent_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz, status.studiensemester_kurzbz
FROM
public.tbl_prestudent prestudent
JOIN public.tbl_prestudentstatus ON(prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
JOIN public.tbl_prestudentstatus status ON(prestudent.prestudent_id=status.prestudent_id)
JOIN public.tbl_person USING(person_id)
LEFT JOIN bis.tbl_orgform USING(orgform_kurzbz)
JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz
WHERE
AND status_kurzbz='Bewerber'
AND reihungstestangetreten=false
AND stg.melderelevant";
AND stg.melderelevant
AND prestudent.bismelden";
if (!isEmptyString($previousStudiensemester))
{
@@ -830,21 +835,23 @@ class PlausicheckLib
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
public function getAktSemesterNull($studiengang_kz = null, $prestudent_id = null)
public function getAktSemesterNull($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null)
{
$params = array();
$params = array($studiensemester_kurzbz);
$qry = "
SELECT
DISTINCT pre.prestudent_id
DISTINCT pre.person_id, pre.prestudent_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz, prestat.studiensemester_kurzbz
FROM
public.tbl_prestudent pre
JOIN public.tbl_prestudentstatus prestat USING(prestudent_id)
JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz
WHERE
prestat.status_kurzbz != 'Incoming'
AND prestat.studiensemester_kurzbz = ?
AND ausbildungssemester = 0
AND stg.melderelevant";
AND stg.melderelevant
AND pre.bismelden";
if (isset($studiengang_kz))
{
@@ -863,22 +870,25 @@ class PlausicheckLib
/**
* Prestudent should have a final status.
*
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
public function getAbschlussstatusFehlt($studiengang_kz = null, $prestudent_id = null)
public function getAbschlussstatusFehlt($studiensemester_kurzbz = null, $studiengang_kz = null, $prestudent_id = null)
{
$params = array();
$qry = "
SELECT
DISTINCT pre.prestudent_id, tbl_person.vorname, tbl_person.nachname, pre.studiengang_kz as studiengang
DISTINCT ON (pre.prestudent_id)
pre.person_id, pre.prestudent_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz, status.studiensemester_kurzbz
FROM
public.tbl_prestudent pre
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz
WHERE
NOT EXISTS(
NOT EXISTS( /*student does not study anymore*/
SELECT
1
FROM
@@ -886,15 +896,25 @@ class PlausicheckLib
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE
prestudent_id=pre.prestudent_id
AND tbl_studiensemester.ende>now()
/* 4 months: There might be Diplomanden, in summer months end status is often not entered yet */
AND tbl_studiensemester.ende>now() - interval '4 months'
)
/* check only valid begininng with 2018 */
AND '2018-01-01'<(SELECT max(datum) FROM public.tbl_prestudentstatus WHERE prestudent_id=pre.prestudent_id)
AND NOT EXISTS(SELECT 1 FROM public.tbl_prestudentstatus ps
AND NOT EXISTS(
SELECT 1 FROM public.tbl_prestudentstatus ps
WHERE
prestudent_id=pre.prestudent_id
AND status_kurzbz IN('Abbrecher','Abgewiesener','Absolvent','Incoming')
)
AND stg.melderelevant";
AND stg.melderelevant
AND pre.bismelden";
if (isset($studiensemester_kurzbz))
{
$qry .= " AND status.studiensemester_kurzbz = ?";
$params[] = $studiensemester_kurzbz;
}
if (isset($studiengang_kz))
{
@@ -919,9 +939,9 @@ class PlausicheckLib
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
public function getGbDatumWeitZurueck($studiensemester_kurzbz, $studiengang_kz = null, $person_id = null)
public function getGbDatumWeitZurueck($studiensemester_kurzbz = null, $studiengang_kz = null, $person_id = null)
{
$params = array($studiensemester_kurzbz);
$params = array();
$qry = "
SELECT
@@ -933,11 +953,18 @@ class PlausicheckLib
AND EXISTS (
SELECT 1
FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
JOIN public.tbl_studiengang stg ON tbl_prestudent.studiengang_kz = stg.studiengang_kz
WHERE person_id = pers.person_id AND studiensemester_kurzbz = ?
AND stg.melderelevant
)";
WHERE person_id = pers.person_id
AND stg.melderelevant";
if (isset($studiensemester_kurzbz))
{
$qry .= " AND status.studiensemester_kurzbz = ?";
$params[] = $studiensemester_kurzbz;
}
$qry .= ")";
if (isset($studiengang_kz))
{
@@ -963,19 +990,19 @@ class PlausicheckLib
{
$params = array();
$qry = "SELECT DISTINCT tbl_person.person_id, tbl_adresse.gemeinde
$qry = "SELECT DISTINCT tbl_person.person_id, adr.gemeinde, adr.adresse_id
FROM
public.tbl_adresse
public.tbl_adresse adr
JOIN public.tbl_prestudent USING(person_id)
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_student USING(prestudent_id)
JOIN public.tbl_benutzer ON(uid=student_uid)
JOIN public.tbl_studiengang stg ON tbl_prestudent.studiengang_kz = stg.studiengang_kz
WHERE
tbl_adresse.nation!='A'
adr.nation!='A'
AND tbl_benutzer.aktiv
AND gemeinde NOT IN ('Münster')
AND EXISTS(SELECT 1 FROM bis.tbl_gemeinde WHERE name = tbl_adresse.gemeinde)
AND EXISTS(SELECT 1 FROM bis.tbl_gemeinde WHERE name = adr.gemeinde)
AND stg.melderelevant";
if (isset($studiengang_kz))
@@ -998,9 +1025,9 @@ class PlausicheckLib
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
public function getFalscheAnzahlHeimatadressen($studiensemester_kurzbz, $studiengang_kz = null, $person_id = null)
public function getFalscheAnzahlHeimatadressen($studiensemester_kurzbz = null, $studiengang_kz = null, $person_id = null)
{
$params = array($studiensemester_kurzbz);
$params = array();
$qry = "
SELECT
@@ -1019,9 +1046,14 @@ class PlausicheckLib
JOIN public.tbl_studiengang stg ON tbl_prestudent.studiengang_kz = stg.studiengang_kz
WHERE
anzahl_adressen != 1
AND status.studiensemester_kurzbz = ?
AND stg.melderelevant";
if (isset($studiensemester_kurzbz))
{
$qry .= " AND status.studiensemester_kurzbz = ?";
$params[] = $studiensemester_kurzbz;
}
if (isset($studiengang_kz))
{
$qry .= " AND stg.studiengang_kz = ?";
@@ -1042,7 +1074,7 @@ class PlausicheckLib
* @param int prestudent_id if check is to be executed only for one prestudent
* @return success with prestudents or error
*/
public function getFalscheAnzahlZustelladressen($studiensemester_kurzbz, $studiengang_kz = null, $person_id = null)
public function getFalscheAnzahlZustelladressen($studiensemester_kurzbz = null, $studiengang_kz = null, $person_id = null)
{
$params = array();
@@ -1063,9 +1095,14 @@ class PlausicheckLib
JOIN public.tbl_studiengang stg ON tbl_prestudent.studiengang_kz = stg.studiengang_kz
WHERE
anzahl_adressen != 1
AND status.studiensemester_kurzbz = ?
AND stg.melderelevant";
if (isset($studiensemester_kurzbz))
{
$qry .= " AND status.studiensemester_kurzbz = ?";
$params[] = $studiensemester_kurzbz;
}
if (isset($studiengang_kz))
{
$qry .= " AND stg.studiengang_kz = ?";
@@ -1136,7 +1173,8 @@ class PlausicheckLib
SELECT
DISTINCT ON(student_uid, nachname, vorname),
tbl_person.person_id,
tbl_prestudent.prestudent_id
tbl_prestudent.prestudent_id,
stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
@@ -1146,7 +1184,7 @@ class PlausicheckLib
JOIN public.tbl_studiengang stg ON(stg.studiengang_kz=tbl_student.studiengang_kz)
WHERE
bismelden=TRUE
AND (status_kurzbz='Incoming' AND NOT EXISTS (SELECT 1 FROM bis.tbl_bisio WHERE student_uid=tbl_student.student_uid))
AND status_kurzbz='Incoming' AND NOT EXISTS (SELECT 1 FROM bis.tbl_bisio WHERE student_uid=tbl_student.student_uid)
AND stg.melderelevant";
if (isset($studiengang_kz))
@@ -1170,13 +1208,13 @@ class PlausicheckLib
/**
* Get final exams in a semester which are invalid (e.g. missing data)
*/
private function _getInvalidAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null)
private function _getInvalidAbschlusspruefungen($studiensemester_kurzbz = null, $studiengang_kz = null, $prestudent_id = null)
{
$params = array($studiensemester_kurzbz);
$params = array();
$qry = "
SELECT
pre.prestudent_id, stud.student_uid, pruefung.datum, pruefung.sponsion, pruefung.abschlusspruefung_id
pre.prestudent_id, pruefung.sponsion, pruefung.datum, pruefung.abschlusspruefung_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz
FROM
public.tbl_prestudent pre
JOIN public.tbl_student stud USING(prestudent_id)
@@ -1186,7 +1224,6 @@ class PlausicheckLib
JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz
WHERE
status_kurzbz = 'Absolvent'
AND studiensemester_kurzbz = ?
AND stg.melderelevant
AND NOT EXISTS ( /* exclude gs */
SELECT 1
@@ -1199,6 +1236,12 @@ class PlausicheckLib
AND (pruefung.datum IS NULL OR pruefung.sponsion IS NULL)
AND stg.melderelevant";
if (isset($studiensemester_kurzbz))
{
$qry .= " AND prestatus.studiensemester_kurzbz = ?";
$params[] = $studiensemester_kurzbz;
}
if (isset($studiengang_kz))
{
$qry .= " AND stg.studiengang_kz = ?";
@@ -13,7 +13,9 @@ class PlausicheckProducerLib
// set fehler which can be produced by the job
// structure: fehler_kurzbz => class (library) name for resolving
private $_fehlerLibMappings = array(
'StgPrestudentUngleichStgStudent' => 'StgPrestudentUngleichStgStudent'
'StgPrestudentUngleichStgStudent' => 'StgPrestudentUngleichStgStudent',
'AbbrecherAktiv' => 'AbbrecherAktiv',
'AbschlussstatusFehlt' => 'AbschlussstatusFehlt',
//'zgvDatumInZukunft' => 'ZgvDatumInZukunft',
//'zgvDatumVorGeburtsdatum' => 'ZgvDatumVorGeburtsdatum',
//'zgvMasterDatumInZukunft' => 'ZgvMasterDatumInZukunft',
@@ -34,9 +36,6 @@ class PlausicheckProducerLib
// load models
$this->_ci->load->model('organisation/studiensemester_model', 'StudiensemesterModel');
// load libraries
$this->_ci->load->library('issues/PlausicheckLib'); // load plausicheck library
// get current Studiensemester
$studiensemesterRes = $this->_ci->StudiensemesterModel->getAkt();
if (hasData($studiensemesterRes)) $this->_currentStudiensemester = getData($studiensemesterRes)[0]->studiensemester_kurzbz;
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class AbbrecherAktiv implements IPlausiChecker
class AbbrecherAktiv extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -2,24 +2,23 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class AbschlussstatusFehlt implements IPlausiChecker
class AbschlussstatusFehlt extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$prestudentRes = $this->_ci->plausichecklib->getAbschlussstatusFehlt($studiengang_kz);
$prestudentRes = $this->_ci->plausichecklib->getAbschlussstatusFehlt($studiensemester_kurzbz, $studiengang_kz);
if (isError($prestudentRes)) return $prestudentRes;
@@ -2,24 +2,23 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class AktSemesterNull implements IPlausiChecker
class AktSemesterNull extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$prestudentRes = $this->_ci->plausichecklib->getAktSemesterNull($studiengang_kz);
$prestudentRes = $this->_ci->plausichecklib->getAktSemesterNull($studiensemester_kurzbz, $studiengang_kz);
if (isError($prestudentRes)) return $prestudentRes;
@@ -33,8 +32,14 @@ class AktSemesterNull implements IPlausiChecker
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'fehlertext_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
),
'resolution_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
)
);
}
}
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class AktiverStudentOhneStatus implements IPlausiChecker
class AktiverStudentOhneStatus extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -35,7 +33,7 @@ class AktiverStudentOhneStatus implements IPlausiChecker
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id, 'studiensemester_kurzbz' => $studiensemester_kurzbz)
);
}
}
@@ -2,25 +2,26 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class AusbildungssemPrestudentUngleichAusbildungssemStatus implements IPlausiChecker
class AusbildungssemPrestudentUngleichAusbildungssemStatus extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$prestudentRes = $this->_ci->plausichecklib->getAusbildungssemPrestudentUngleichAusbildungssemStatus($studiensemester_kurzbz, $studiengang_kz);
$prestudentRes = $this->_ci->plausichecklib->getAusbildungssemPrestudentUngleichAusbildungssemStatus(
$studiensemester_kurzbz,
$studiengang_kz
);
if (isError($prestudentRes)) return $prestudentRes;
@@ -34,8 +35,14 @@ class AusbildungssemPrestudentUngleichAusbildungssemStatus implements IPlausiChe
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'fehlertext_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
),
'resolution_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
)
);
}
}
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class BewerberNichtZumRtAngetreten implements IPlausiChecker
class BewerberNichtZumRtAngetreten extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -35,7 +33,10 @@ class BewerberNichtZumRtAngetreten implements IPlausiChecker
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'resolution_params' => array(
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz,
'prestudent_id' => $prestudent->prestudent_id
)
);
}
}
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class DatumAbschlusspruefungFehlt implements IPlausiChecker
class DatumAbschlusspruefungFehlt extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -34,8 +32,11 @@ class DatumAbschlusspruefungFehlt implements IPlausiChecker
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'fehlertext_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'abschlusspruefung_id' => $prestudent->abschlusspruefung_id
),
'resolution_params' => array('abschlusspruefung_id' => $prestudent->abschlusspruefung_id)
);
}
}
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class DatumSponsionFehlt implements IPlausiChecker
class DatumSponsionFehlt extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -34,8 +32,11 @@ class DatumSponsionFehlt implements IPlausiChecker
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'fehlertext_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'abschlusspruefung_id' => $prestudent->abschlusspruefung_id
),
'resolution_params' => array('abschlusspruefung_id' => $prestudent->abschlusspruefung_id)
);
}
}
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class DatumStudiensemesterFalscheReihenfolge implements IPlausiChecker
class DatumStudiensemesterFalscheReihenfolge extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -35,7 +33,10 @@ class DatumStudiensemesterFalscheReihenfolge implements IPlausiChecker
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'resolution_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
)
);
}
}
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class FalscheAnzahlAbschlusspruefungen implements IPlausiChecker
class FalscheAnzahlAbschlusspruefungen extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -2,40 +2,36 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class FalscheAnzahlHeimatadressen implements IPlausiChecker
class FalscheAnzahlHeimatadressen extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$prestudentRes = $this->_ci->plausichecklib->getFalscheAnzahlHeimatadressen($studiensemester_kurzbz, $studiengang_kz);
$personRes = $this->_ci->plausichecklib->getFalscheAnzahlHeimatadressen($studiensemester_kurzbz, $studiengang_kz);
if (isError($prestudentRes)) return $prestudentRes;
if (isError($personRes)) return $personRes;
if (hasData($prestudentRes))
if (hasData($personRes))
{
$prestudents = getData($prestudentRes);
$persons = getData($personRes);
// populate results with data necessary for writing issues
foreach ($prestudents as $prestudent)
foreach ($persons as $person)
{
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'person_id' => $person->person_id,
'resolution_params' => array('person_id' => $person->person_id)
);
}
}
@@ -2,40 +2,36 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class FalscheAnzahlZustelladressen implements IPlausiChecker
class FalscheAnzahlZustelladressen extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$prestudentRes = $this->_ci->plausichecklib->getFalscheAnzahlZustelladressen($studiensemester_kurzbz, $studiengang_kz);
$personRes = $this->_ci->plausichecklib->getFalscheAnzahlZustelladressen($studiensemester_kurzbz, $studiengang_kz);
if (isError($prestudentRes)) return $prestudentRes;
if (isError($personRes)) return $personRes;
if (hasData($prestudentRes))
if (hasData($personRes))
{
$prestudents = getData($prestudentRes);
$persons = getData($personRes);
// populate results with data necessary for writing issues
foreach ($prestudents as $prestudent)
// populate results with data necessary for writing person
foreach ($persons as $person)
{
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'person_id' => $person->person_id,
'resolution_params' => array('person_id' => $person->person_id)
);
}
}
@@ -2,40 +2,36 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class GbDatumWeitZurueck implements IPlausiChecker
class GbDatumWeitZurueck extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$prestudentRes = $this->_ci->plausichecklib->getGbDatumWeitZurueck($studiensemester_kurzbz, $studiengang_kz);
$personRes = $this->_ci->plausichecklib->getGbDatumWeitZurueck($studiensemester_kurzbz, $studiengang_kz);
if (isError($prestudentRes)) return $prestudentRes;
if (isError($personRes)) return $personRes;
if (hasData($prestudentRes))
if (hasData($personRes))
{
$prestudents = getData($prestudentRes);
$persons = getData($personRes);
// populate results with data necessary for writing issues
foreach ($prestudents as $prestudent)
foreach ($persons as $person)
{
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'person_id' => $person->person_id,
'resolution_params' => array('person_id' => $person->person_id)
);
}
}
@@ -1,14 +0,0 @@
<?php
/**
* Interface defining method to implement for issue producer (from core and extensions)
*/
interface IPlausiChecker
{
/**
* Executes a plausi check.
* @param array $params parameters needed for executing the check
* @return array with objects which failed the plausi check
*/
public function executePlausiCheck($paramsForChecking);
}
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class InaktiverStudentAktiverStatus implements IPlausiChecker
class InaktiverStudentAktiverStatus extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -35,7 +33,10 @@ class InaktiverStudentAktiverStatus implements IPlausiChecker
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'resolution_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
)
);
}
}
@@ -2,40 +2,35 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class IncomingHeimatNationOesterreich implements IPlausiChecker
class IncomingHeimatNationOesterreich extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$prestudentRes = $this->_ci->plausichecklib->getIncomingHeimatNationOesterreich($studiensemester_kurzbz, $studiengang_kz);
$personRes = $this->_ci->plausichecklib->getIncomingHeimatNationOesterreich($studiengang_kz);
if (isError($prestudentRes)) return $prestudentRes;
if (isError($personRes)) return $personRes;
if (hasData($prestudentRes))
if (hasData($personRes))
{
$prestudents = getData($prestudentRes);
$persons = getData($personRes);
// populate results with data necessary for writing issues
foreach ($prestudents as $prestudent)
foreach ($persons as $person)
{
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'person_id' => $person->person_id,
'resolution_params' => array('person_id' => $person->person_id)
);
}
}
@@ -2,25 +2,22 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class IncomingOhneIoDatensatz implements IPlausiChecker
class IncomingOhneIoDatensatz extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$prestudentRes = $this->_ci->plausichecklib->getIncomingOhneIoDatensatz($studiensemester_kurzbz, $studiengang_kz);
$prestudentRes = $this->_ci->plausichecklib->getIncomingOhneIoDatensatz($studiengang_kz);
if (isError($prestudentRes)) return $prestudentRes;
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class InskriptionVorLetzerBismeldung implements IPlausiChecker
class InskriptionVorLetzerBismeldung extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -35,7 +33,10 @@ class InskriptionVorLetzerBismeldung implements IPlausiChecker
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'resolution_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
)
);
}
}
@@ -2,40 +2,36 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class NationNichtOesterreichAberGemeinde implements IPlausiChecker
class NationNichtOesterreichAberGemeinde extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$prestudentRes = $this->_ci->plausichecklib->getNationNichtOesterreichAberGemeinde($studiensemester_kurzbz, $studiengang_kz);
$personRes = $this->_ci->plausichecklib->getNationNichtOesterreichAberGemeinde($studiengang_kz);
if (isError($prestudentRes)) return $prestudentRes;
if (isError($personRes)) return $personRes;
if (hasData($prestudentRes))
if (hasData($personRes))
{
$prestudents = getData($prestudentRes);
$persons = getData($personRes);
// populate results with data necessary for writing issues
foreach ($prestudents as $prestudent)
foreach ($persons as $person)
{
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'person_id' => $person->person_id,
'fehlertext_params' => array('gemeinde' => $person->gemeinde, 'adresse_id' => $person->adresse_id),
'resolution_params' => array('adresse_id' => $person->adresse_id)
);
}
}
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class OrgformStgUngleichOrgformPrestudent implements IPlausiChecker
class OrgformStgUngleichOrgformPrestudent extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -33,9 +31,12 @@ class OrgformStgUngleichOrgformPrestudent implements IPlausiChecker
{
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'oe_kurzbz' => $prestudent->stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'resolution_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
)
);
}
}
@@ -0,0 +1,24 @@
<?php
/**
* classing defining method and ressources to use for plausicheck issue producer
*/
abstract class PlausiChecker
{
protected $_ci; // code igniter instance
public function __construct()
{
$this->_ci =& get_instance(); // get code igniter instance
// load libraries
$this->_ci->load->library('issues/PlausicheckLib'); // load plausicheck library
}
/**
* Executes a plausi check.
* @param array $params parameters needed for executing the check
* @return array with objects which failed the plausi check
*/
abstract public function executePlausiCheck($paramsForChecking);
}
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class PrestudentMischformOhneOrgform implements IPlausiChecker
class PrestudentMischformOhneOrgform extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -34,8 +32,14 @@ class PrestudentMischformOhneOrgform implements IPlausiChecker
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'fehlertext_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
),
'resolution_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
)
);
}
}
@@ -2,25 +2,22 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class PrestudentStgUngleichStgStudienplan implements IPlausiChecker
class PrestudentStgUngleichStgStudienplan extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$prestudentRes = $this->_ci->plausichecklib->getPrestudentStgUngleichStgStudienplan($studiensemester_kurzbz, $studiengang_kz);
$prestudentRes = $this->_ci->plausichecklib->getPrestudentStgUngleichStgStudienplan($studiengang_kz);
if (isError($prestudentRes)) return $prestudentRes;
@@ -34,7 +31,7 @@ class PrestudentStgUngleichStgStudienplan implements IPlausiChecker
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id, 'studienplan' => $prestudent->studienplan),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
);
}
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class StgPrestudentUngleichStgStudent implements IPlausiChecker
class StgPrestudentUngleichStgStudent extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -2,25 +2,22 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class StudentstatusNachAbbrecher implements IPlausiChecker
class StudentstatusNachAbbrecher extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
// get all students failing the plausicheck
$prestudentRes = $this->_ci->plausichecklib->getStudentstatusNachAbbrecher($studiensemester_kurzbz, $studiengang_kz);
$prestudentRes = $this->_ci->plausichecklib->getStudentstatusNachAbbrecher($studiengang_kz);
if (isError($prestudentRes)) return $prestudentRes;
@@ -2,19 +2,17 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once('IPlausiChecker.php');
require_once('PlausiChecker.php');
/**
*
*/
class StudienplanUngueltig implements IPlausiChecker
class StudienplanUngueltig extends PlausiChecker
{
public function executePlausiCheck($params)
{
$results = array();
$this->_ci =& get_instance(); // get code igniter instance
// pass parameters needed for plausicheck
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
@@ -34,8 +32,15 @@ class StudienplanUngueltig implements IPlausiChecker
$results[] = array(
'person_id' => $prestudent->person_id,
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
'fehlertext_params' => array(
'studienplan' => $prestudent->studienplan,
'ausbildungssemester' => $prestudent->ausbildungssemester,
'prestudent_id' => $prestudent->prestudent_id
),
'resolution_params' => array(
'prestudent_id' => $prestudent->prestudent_id,
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
)
);
}
}
+10 -10
View File
@@ -121,7 +121,7 @@ $fehlerArr = array(
'fehlercode' => 'CORE_INOUT_0008',
'fehler_kurzbz' => 'IncomingOhneIoDatensatz',
'fehlercode_extern' => null,
'fehlertext' => 'Incoming hat keinen IO Datensatz',
'fehlertext' => 'Incoming hat keinen IO Datensatz (prestudent_id %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core'
),
@@ -145,7 +145,7 @@ $fehlerArr = array(
'fehlercode' => 'CORE_STG_0003',
'fehler_kurzbz' => 'PrestudentMischformOhneOrgform',
'fehlercode_extern' => null,
'fehlertext' => 'Organisationsform ist für Studierenden/BewerberIn in Mischformstudiengang nicht eingetragen. (Studiensemester %s, prestudent_id %s)',
'fehlertext' => 'Organisationsform ist für Studierenden/BewerberIn in Mischformstudiengang nicht eingetragen. (prestudent_id %s, Studiensemester %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core'
),
@@ -153,7 +153,7 @@ $fehlerArr = array(
'fehlercode' => 'CORE_STG_0004',
'fehler_kurzbz' => 'PrestudentStgUngleichStgStudienplan',
'fehlercode_extern' => null,
'fehlertext' => 'Studiengang des Prestudenten passt nicht zu Studiengang des Studienplans. (prestudent_id %s, studienplan_id %s)',
'fehlertext' => 'Studiengang des Prestudenten passt nicht zu Studiengang des Studienplans. (prestudent_id %s, Studienplan %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core'
),
@@ -177,7 +177,7 @@ $fehlerArr = array(
'fehlercode' => 'CORE_STUDENTSTATUS_0003',
'fehler_kurzbz' => 'AusbildungssemPrestudentUngleichAusbildungssemStatus',
'fehlercode_extern' => null,
'fehlertext' => 'Aktuelles Ausbildungssemester bei StudentIn stimmt nicht mit dem Ausbildungssemester des aktuellen Status überein. (Studiensemester %s, prestudent_id %s)',
'fehlertext' => 'Aktuelles Ausbildungssemester bei StudentIn stimmt nicht mit dem Ausbildungssemester des aktuellen Status überein. (prestudent_id %s, Studiensemester %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core'
),
@@ -209,7 +209,7 @@ $fehlerArr = array(
'fehlercode' => 'CORE_STUDENTSTATUS_0007',
'fehler_kurzbz' => 'AktiverStudentOhneStatus',
'fehlercode_extern' => null,
'fehlertext' => 'Aktive/r StudentIn ohne Status im Studiensemester %s (prestudent_id %s)',
'fehlertext' => 'Aktive/r StudentIn ohne Status %s (prestudent_id %s, Studiensemester %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core'
),
@@ -217,7 +217,7 @@ $fehlerArr = array(
'fehlercode' => 'CORE_STUDENTSTATUS_0008',
'fehler_kurzbz' => 'StudienplanUngueltig',
'fehlercode_extern' => null,
'fehlertext' => 'Studienplan ist im Ausbildungssemester %s nicht gültig (prestudent_id %s)',
'fehlertext' => 'Studienplan %s ist im Ausbildungssemester %s nicht gültig (prestudent_id %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core'
),
@@ -233,7 +233,7 @@ $fehlerArr = array(
'fehlercode' => 'CORE_STUDENTSTATUS_0010',
'fehler_kurzbz' => 'DatumAbschlusspruefungFehlt',
'fehlercode_extern' => null,
'fehlertext' => 'Kein Abschlussprüfung Datum (abschlusspruefung_id %s, prestudent_id %s)',
'fehlertext' => 'Kein Abschlussprüfung Datum (prestudent_id %s, abschlusspruefung_id %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core'
),
@@ -241,7 +241,7 @@ $fehlerArr = array(
'fehlercode' => 'CORE_STUDENTSTATUS_0011',
'fehler_kurzbz' => 'DatumSponsionFehlt',
'fehlercode_extern' => null,
'fehlertext' => 'Kein Sponsionsdatum (abschlusspruefung_id %s, prestudent_id %s)',
'fehlertext' => 'Kein Sponsionsdatum (prestudent_id %s, abschlusspruefung_id %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core'
),
@@ -257,7 +257,7 @@ $fehlerArr = array(
'fehlercode' => 'CORE_STUDENTSTATUS_0013',
'fehler_kurzbz' => 'AktSemesterNull',
'fehlercode_extern' => null,
'fehlertext' => 'Aktuelles Ausbildungssemester ist 0 (prestudent_id %s)',
'fehlertext' => 'Aktuelles Ausbildungssemester ist 0 (prestudent_id %s, Studiensemester %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core'
),
@@ -281,7 +281,7 @@ $fehlerArr = array(
'fehlercode' => 'CORE_PERSON_0002',
'fehler_kurzbz' => 'NationNichtOesterreichAberGemeinde',
'fehlercode_extern' => null,
'fehlertext' => 'Nation der Adresse ist ungleich Österreich, es ist aber eine österreichische Gemeinde (%s) angegeben',
'fehlertext' => 'Nation der Adresse ist ungleich Österreich, es ist aber eine österreichische Gemeinde (%s) angegeben (adresse_id %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core'
),