diff --git a/application/controllers/jobs/PlausiIssueProducer.php b/application/controllers/jobs/PlausiIssueProducer.php index 39fff1c72..d7b37cfb5 100644 --- a/application/controllers/jobs/PlausiIssueProducer.php +++ b/application/controllers/jobs/PlausiIssueProducer.php @@ -5,116 +5,51 @@ */ class PlausiIssueProducer extends JOB_Controller { - const PLAUSI_ISSUES_FOLDER = 'issues/plausichecks'; - const EXECUTE_PLAUSI_CHECK_METHOD_NAME = 'executePlausiCheck'; - - private $_fehlerLibMappings; - public function __construct() { parent::__construct(); - // set fehler which can be produced by the job - // structure: fehler_kurzbz => class (library) name for resolving - $this->_fehlerLibMappings = array( - 'StgPrestudentUngleichStgStudent' => 'StgPrestudentUngleichStgStudent' - //'zgvDatumInZukunft' => 'ZgvDatumInZukunft', - //'zgvDatumVorGeburtsdatum' => 'ZgvDatumVorGeburtsdatum', - //'zgvMasterDatumInZukunft' => 'ZgvMasterDatumInZukunft', - //'zgvMasterDatumVorZgvdatum' => 'ZgvMasterDatumVorZgvdatum', - //'zgvMasterDatumVorGeburtsdatum' => 'ZgvMasterDatumVorGeburtsdatum', - //'keinAufenthaltszweckPlausi' => 'KeinAufenthaltszweckPlausi', - //'zuVieleZweckeIncomingPlausi' => 'ZuVieleZweckeIncomingPlausi', - //'falscherIncomingZweckPlausi' => 'FalscherIncomingZweckPlausi', - //'outgoingAufenthaltfoerderungfehltPlausi' => 'OutgoingAufenthaltfoerderungfehltPlausi', - //'outgoingAngerechneteEctsFehlenPlausi' => 'OutgoingAngerechneteEctsFehlenPlausi', - //'outgoingErworbeneEctsFehlenPlausi' => 'OutgoingErworbeneEctsFehlenPlausi' - ); - - $this->load->model('organisation/studiensemester_model', 'StudiensemesterModel'); - + $this->load->library('issues/PlausicheckProducerLib'); $this->load->library('IssuesLib'); } /** - * Initializes issue production. + * Runs issue production job. */ - public function run($studiensemester_kurzbz = null) + public function run($studiensemester_kurzbz = null, $studiengang_kz = null) { - if (isEmptyString($studiensemester_kurzbz)) - { - $studiensemesterRes = $this->StudiensemesterModel->getAkt(); - - if (isError($studiensemesterRes)) $this->logError(getError($studiensemesterRes)); - - if (hasData($studiensemesterRes)) $studiensemester_kurzbz = getData($studiensemesterRes); - } + $fehlerKurzbz = $this->plausicheckproducerlib->getFehlerKurzbz(); $this->logInfo("Plausicheck issue producer job started"); - foreach ($this->_fehlerLibMappings as $fehler_kurzbz => $libName) + // get the data returned by Plausicheck + foreach ($fehlerKurzbz as $fehler_kurzbz) { - // get path of library for issue to be produced - $issuesLibPath = DOC_ROOT . 'application/libraries/' . self::PLAUSI_ISSUES_FOLDER . '/'; - //$issuesLibPath = base_url('application/libraries/' . self::PLAUSI_ISSUES_FOLDER . '/'); - $issuesLibFilePath = $issuesLibPath . $libName . '.php'; + // execute the check + $this->logInfo("Checking " . $fehler_kurzbz . "..."); + $plausicheckRes = $this->plausicheckproducerlib->producePlausicheck($fehler_kurzbz, $studiensemester_kurzbz, $studiengang_kz); - // check if library file exists - if (!file_exists($issuesLibFilePath)) + if (isError($plausicheckRes)) $this->logError(getError($plausicheckRes)); + + if (hasData($plausicheckRes)) { - // log error and continue with next issue if not - $this->logError("Issue library file " . $issuesLibFilePath . " does not exist"); - continue; - } + $plausicheckData = getData($plausicheckRes); - // load library connected to fehlercode - $this->load->library(self::PLAUSI_ISSUES_FOLDER . '/'.$libName); - - $lowercaseLibName = mb_strtolower($libName); - - // check if method is defined in library class - if (!is_callable(array($this->{$lowercaseLibName}, self::EXECUTE_PLAUSI_CHECK_METHOD_NAME))) - { - // log error and continue with next issue if not - $this->logError("Method " . self::EXECUTE_PLAUSI_CHECK_METHOD_NAME . " is not defined in library $lowercaseLibName"); - continue; - } - - // get the data needed for issue check - $paramsForCheck = array( - 'studiensemester_kurzbz' => $studiensemester_kurzbz - ); - - // call the function for checking for issue production - $executePlausiRes = $this->{$lowercaseLibName}->{self::EXECUTE_PLAUSI_CHECK_METHOD_NAME}($paramsForCheck); - - if (isError($executePlausiRes)) - { - $this->logError(getError($executePlausiRes)); - } - else - { - // get the data returned by Plausicheck - $executePlausiData = getData($executePlausiRes); - - if (is_array($executePlausiData)) + foreach ($plausicheckData as $plausiData) { - foreach ($executePlausiData as $plausiData) - { - // get the data needed for issue production - $person_id = isset($plausiData['person_id']) ? $plausiData['person_id'] : null; - $oe_kurzbz = isset($plausiData['oe_kurzbz']) ? $plausiData['oe_kurzbz'] : null; - $fehlertext_params = isset($plausiData['fehlertext_params']) ? $plausiData['fehlertext_params'] : null; - $resolution_params = isset($plausiData['resolution_params']) ? $plausiData['resolution_params'] : null; - - // write the issue - $addIssueRes = $this->issueslib->addFhcIssue($fehler_kurzbz, $person_id, $oe_kurzbz, $fehlertext_params, $resolution_params); + // get the data needed for issue production + $person_id = isset($plausiData['person_id']) ? $plausiData['person_id'] : null; + $oe_kurzbz = isset($plausiData['oe_kurzbz']) ? $plausiData['oe_kurzbz'] : null; + $fehlertext_params = isset($plausiData['fehlertext_params']) ? $plausiData['fehlertext_params'] : null; + $resolution_params = isset($plausiData['resolution_params']) ? $plausiData['resolution_params'] : null; - if (isError($addIssueRes)) - $this->logError(getError($addIssueRes)); - else - $this->logInfo("Plausicheck issue " . $fehler_kurzbz . " successfully produced"); - } + // write the issue + $addIssueRes = $this->issueslib->addFhcIssue($fehler_kurzbz, $person_id, $oe_kurzbz, $fehlertext_params, $resolution_params); + + if (isError($addIssueRes)) + $this->logError(getError($addIssueRes)); + else + $this->logInfo("Plausicheck issue " . $fehler_kurzbz . " successfully produced, person_id: " . $person_id); } } } diff --git a/application/core/IssueProducer_Controller.php b/application/core/IssueProducer_Controller.php deleted file mode 100644 index 6879bc7dd..000000000 --- a/application/core/IssueProducer_Controller.php +++ /dev/null @@ -1,75 +0,0 @@ -load->model('system/Issue_model', 'IssueModel'); - - $this->load->library('IssuesLib'); - } - - /** - * Initializes issue production. - */ - //public function produceIssue($fehler_kurzbz, $person_id, $oe_kurzbz, $paramsForChecking, $paramsForProduction) - //{ - //// get libname from fehler_kurzbz - //$libName = $this->_fehlerLibMappings[$fehler_kurzbz]; - - //// if called from extension (extension name set), path includes extension names, otherwise it is the core library folder - //$libRootPath = isset($this->_extensionName) ? 'extensions/' . $this->_extensionName . '/' : ''; - //$issuesLibPath = $libRootPath . self::ISSUES_FOLDER . '/'; - //$issuesLibFilePath = DOC_ROOT . 'application/' . $libRootPath . 'libraries/' . self::ISSUES_FOLDER . '/' . $libName . '.php'; - - //// check if library file exists - //if (!file_exists($issuesLibFilePath)) return error("Issue library file " . $issuesLibFilePath . " does not exist"); - - //// load library connected to fehler_kurzbz - //$this->load->library($issuesLibPath . $libName); - - //$lowercaseLibName = mb_strtolower($libName); - - //// check if method is defined in library class - //if (!is_callable(array($this->{$lowercaseLibName}, self::CHECK_ISSUE_EXISTS_METHOD_NAME))) - //return error("Method " . self::CHECK_ISSUE_EXISTS_METHOD_NAME . " is not defined in library $lowercaseLibName"); - - //// call the function for checking for issue resolution - //$issueExistsRes = $this->{$lowercaseLibName}->{self::CHECK_ISSUE_EXISTS_METHOD_NAME}($paramsForChecking); - - //if (isError($issueExistsRes)) return $issueExistsRes; - - //$issueExistsData = getData($issueExistsRes); - - //if ($issueExistsData === true) - //{ - //// write issue if it was detected - ////$produceRes = $this->{$lowercaseLibName}->{self::PRODUCE_ISSUE_METHOD_NAME}( - ////$fehler_kurzbz, - ////isset($params['person_id']) ? $params['person_id'] : null, - ////isset($params['oe_kurzbz']) ? $params['oe_kurzbz'] : null, - ////$paramsForProduction - ////); - - ////if (isError($produceRes)) - ////return $produceRes; - - //$addIssueres = $this->IssuesLib->addFhcIssue($fehler_kurzbz, $person_id, $oe_kurzbz, $fehlertext_params, $resolution_params); - - //if (isError()) - - //return success("Issue " . $issue->issue_id . " successfully written"); - //} - //} -} diff --git a/application/libraries/issues/PlausicheckLib.php b/application/libraries/issues/PlausicheckLib.php index 2fd46a3d8..a50194eb5 100644 --- a/application/libraries/issues/PlausicheckLib.php +++ b/application/libraries/issues/PlausicheckLib.php @@ -30,7 +30,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 getPrestudentenStgUngleichStgStudent($prestudent_id = null) + public function getPrestudentenStgUngleichStgStudent($studiengang_kz = null, $prestudent_id = null) { $params = array(); @@ -46,7 +46,14 @@ class PlausicheckLib JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz JOIN public.tbl_studiengang student_stg ON stud.studiengang_kz = student_stg.studiengang_kz WHERE - stud.studiengang_kz != pre.studiengang_kz"; + stud.studiengang_kz != pre.studiengang_kz + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -62,7 +69,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 getOrgformStgUngleichOrgformPrestudent($studiensemester_kurzbz, $prestudent_id = null) + public function getOrgformStgUngleichOrgformPrestudent($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { $params = array($studiensemester_kurzbz); @@ -72,21 +79,29 @@ class PlausicheckLib prestudentstatus.orgform_kurzbz as studentorgkz, student.studiengang_kz studiengang 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_student student USING(studiengang_kz) + JOIN public.tbl_prestudent prestudent USING(prestudent_id) + JOIN public.tbl_prestudentstatus prestudentstatus 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 studiengang.studiengang_kz < 10000 AND prestudentstatus.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; + } + if (isset($prestudent_id)) { $qry .= " AND prestudent.prestudent_id = ?"; @@ -104,23 +119,31 @@ class PlausicheckLib * @param int prestudent_id if check is to be executed only for one prestudent * @return success with prestudents or error */ - public function getPrestudentMischformOhneOrgform($studiensemester_kurzbz, $prestudent_id = null) + public function getPrestudentMischformOhneOrgform($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { $params = array($studiensemester_kurzbz); $qry = " SELECT - tbl_prestudent.prestudent_id, tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz as studiengang + tbl_prestudent.prestudent_id, tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz as studiengang, + tbl_prestudentstatus.studiensemester_kurzbz FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) JOIN public.tbl_prestudentstatus USING(prestudent_id) - JOIN public.tbl_studiengang USING(studiengang_kz) + JOIN public.tbl_studiengang stg USING(studiengang_kz) WHERE tbl_prestudentstatus.status_kurzbz IN ('Bewerber', 'Student') - AND tbl_studiengang.mischform + AND stg.mischform AND (tbl_prestudentstatus.orgform_kurzbz='' OR tbl_prestudentstatus.orgform_kurzbz IS NULL) - AND tbl_prestudentstatus.studiensemester_kurzbz=?"; + AND tbl_prestudentstatus.studiensemester_kurzbz=? + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -136,23 +159,31 @@ class PlausicheckLib * @param int prestudent_id if check is to be executed only for one prestudent * @return success with prestudents or error */ - public function getPrestudentStgUngleichStgStudienplan($prestudent_id = null) + public function getPrestudentStgUngleichStgStudienplan($studiengang_kz = null, $prestudent_id = null) { $params = array(); $qry = " SELECT DISTINCT tbl_person.vorname, tbl_person.nachname, - tbl_prestudent.studiengang_kz as studiengang, - tbl_prestudent.prestudent_id + ps.studiengang_kz as studiengang, + ps.prestudent_id, tbl_studienplan.studienplan_id FROM - public.tbl_prestudent + 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 public.tbl_person USING(person_id) + JOIN public.tbl_studiengang stg ON ps.studiengang_kz = stg.studiengang_kz WHERE - tbl_prestudent.studiengang_kz<>tbl_studienordnung.studiengang_kz"; + ps.studiengang_kz<>tbl_studienordnung.studiengang_kz + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -171,7 +202,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 getAbbrecherAktiv($prestudent_id = null) + public function getAbbrecherAktiv($studiengang_kz = null, $prestudent_id = null) { $params = array(); @@ -180,11 +211,20 @@ class PlausicheckLib pre_status.status_kurzbz, benutzer.aktiv, benutzer.uid, student.studiengang_kz studiengang FROM public.tbl_prestudentstatus pre_status - JOIN public.tbl_prestudent pre using(prestudent_id) - JOIN public.tbl_student student using(prestudent_id) + JOIN public.tbl_prestudent pre USING(prestudent_id) + JOIN public.tbl_student student USING(prestudent_id) JOIN public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid) + JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz WHERE - pre_status.status_kurzbz ='Abbrecher' and benutzer.aktiv=true"; + pre_status.status_kurzbz ='Abbrecher' + AND benutzer.aktiv=true + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -200,7 +240,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 getStudentstatusNachAbbrecher($prestudent_id = null) + public function getStudentstatusNachAbbrecher($studiengang_kz = null, $prestudent_id = null) { $params = array(); $result = array(); @@ -210,10 +250,18 @@ class PlausicheckLib student.student_uid, prestudent.prestudent_id, student.studiengang_kz studiengang FROM public.tbl_student student - JOIN public.tbl_prestudent prestudent using(prestudent_id) - JOIN public.tbl_prestudentstatus prestatus using(prestudent_id) + JOIN public.tbl_prestudent prestudent USING(prestudent_id) + JOIN public.tbl_prestudentstatus prestatus USING(prestudent_id) + JOIN public.tbl_studiengang stg ON prestudent.studienang_kz = stg.studiengang_kz WHERE - prestatus.status_kurzbz = 'Abbrecher'"; + prestatus.status_kurzbz = 'Abbrecher' + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -252,25 +300,33 @@ class PlausicheckLib * @param int prestudent_id if check is to be executed only for one prestudent * @return success with prestudents or error */ - public function getAusbildungssemPrestudentUngleichAusbildungssemStatus($studiensemester_kurzbz, $prestudent_id = null) + public function getAusbildungssemPrestudentUngleichAusbildungssemStatus($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { $params = array($studiensemester_kurzbz, $studiensemester_kurzbz, $studiensemester_kurzbz); $qry = " SELECT DISTINCT(student.student_uid), prestudent.prestudent_id, status.ausbildungssemester, - lv.semester, student.studiengang_kz studiengang + lv.semester, student.studiengang_kz studiengang, status.studiensemester_kurzbz FROM public.tbl_student student - JOIN public.tbl_studentlehrverband lv using(student_uid) - JOIN public.tbl_prestudent prestudent using(prestudent_id) - JOIN public.tbl_prestudentstatus status using(prestudent_id) + JOIN public.tbl_studentlehrverband lv USING(student_uid) + JOIN public.tbl_prestudent prestudent USING(prestudent_id) + JOIN public.tbl_prestudentstatus status USING(prestudent_id) + JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz WHERE status.studiensemester_kurzbz = ? AND lv.studiensemester_kurzbz = ? AND status.status_kurzbz NOT IN ('Interessent','Bewerber','Aufgenommener','Wartender','Abgewiesener','Unterbrecher') AND get_rolle_prestudent (prestudent_id, ?)='Student' - AND status.ausbildungssemester != lv.semester"; + AND status.ausbildungssemester != lv.semester + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -286,7 +342,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 getInaktiverStudentAktiverStatus($studiensemester_kurzbz, $prestudent_id = null) + public function getInaktiverStudentAktiverStatus($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { $params = array($studiensemester_kurzbz); @@ -296,10 +352,18 @@ class PlausicheckLib 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_prestudent prestudent USING(prestudent_id) + JOIN public.tbl_studiengang ON prestudent.studiengang_kz = stg.studiengang_kz WHERE benutzer.aktiv=false - AND get_rolle_prestudent(prestudent_id, ?) IN ('Student', 'Diplomand', 'Unterbrecher', 'Praktikant')"; + AND get_rolle_prestudent(prestudent_id, ?) IN ('Student', 'Diplomand', 'Unterbrecher', 'Praktikant') + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -317,7 +381,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 getInskriptionVorLetzerBismeldung($studiensemester_kurzbz, $prestudent_id = null) + public function getInskriptionVorLetzerBismeldung($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { $params = array($studiensemester_kurzbz); $results = array(); @@ -329,11 +393,19 @@ class PlausicheckLib 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_prestudent prestudent USING(prestudent_id) + JOIN public.tbl_prestudentstatus prestatus USING(prestudent_id) + JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz WHERE benutzer.aktiv=true - AND prestatus.studiensemester_kurzbz = ?"; + AND prestatus.studiensemester_kurzbz = ? + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -384,7 +456,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 getDatumStudiensemesterFalscheReihenfolge($studiensemester_kurzbz, $prestudent_id = null) + public function getDatumStudiensemesterFalscheReihenfolge($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { $params = array($studiensemester_kurzbz); $rsults = array(); @@ -396,12 +468,20 @@ class PlausicheckLib FROM public.tbl_student student JOIN public.tbl_benutzer benutzer on(student.student_uid = benutzer.uid) - JOIN public.tbl_prestudent prestudent using(prestudent_id) - JOIN public.tbl_prestudentstatus status using(prestudent_id) + JOIN public.tbl_prestudent prestudent 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 status.status_kurzbz='Student' - AND status.studiensemester_kurzbz=?"; + AND status.studiensemester_kurzbz=? + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -425,12 +505,12 @@ class PlausicheckLib status.* FROM public.tbl_prestudentstatus status - JOIN public.tbl_studiensemester semester using(studiensemester_kurzbz) + JOIN public.tbl_studiensemester semester USING(studiensemester_kurzbz) WHERE prestudent_id = ? - ORDER BY semester.start DESC, status.datum DESC;" + ORDER BY semester.start DESC, status.datum DESC;"; - $qryOrderSemesterRes = $this->_db->execReadOnlyQuery($qryOrderSemester, array($student->prestudent_id)); + $qryOrderSemesterRes = $this->_db->execReadOnlyQuery($qryOrderSemester, array($student->prestudent_id)); if (isError($qryOrderSemesterRes)) return $qryOrderSemesterRes; @@ -467,7 +547,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 getAktiverStudentOhneStatus($studiensemester_kurzbz, $prestudent_id = null) + public function getAktiverStudentOhneStatus($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { $params = array(); $results = array(); @@ -478,10 +558,18 @@ class PlausicheckLib FROM public.tbl_student student JOIN public.tbl_benutzer benutzer on (benutzer.uid = student.student_uid) - JOIN public.tbl_prestudent prestudent using(prestudent_id) - JOIN public.tbl_prestudentstatus status using(prestudent_id) + JOIN public.tbl_prestudent prestudent 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"; + benutzer.aktiv=TRUE + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -529,7 +617,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 getStudienplanUngueltig($studiensemester_kurzbz, $prestudent_id = null) + public function getStudienplanUngueltig($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { $params = array($studiensemester_kurzbz); @@ -538,15 +626,16 @@ class PlausicheckLib DISTINCT tbl_person.vorname, tbl_person.nachname, tbl_prestudent.prestudent_id, tbl_studienplan.bezeichnung, - tbl_prestudent.studiengang_kz as studiengang, - tbl_prestudentstatus.status_kurzbz, - tbl_prestudentstatus.studiensemester_kurzbz, - tbl_prestudentstatus.ausbildungssemester + prestudent.studiengang_kz as studiengang, + status.status_kurzbz, + status.studiensemester_kurzbz, + status.ausbildungssemester FROM - public.tbl_prestudent - JOIN public.tbl_prestudentstatus USING(prestudent_id) + public.tbl_prestudent prestudent + 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 WHERE status_kurzbz in('Student', 'Interessent','Bewerber','Aufgenommener') AND NOT EXISTS ( @@ -555,11 +644,18 @@ class PlausicheckLib FROM lehre.tbl_studienplan_semester WHERE - studienplan_id=tbl_prestudentstatus.studienplan_id - AND tbl_studienplan_semester.semester = tbl_prestudentstatus.ausbildungssemester - AND tbl_studienplan_semester.studiensemester_kurzbz = tbl_prestudentstatus.studiensemester_kurzbz + studienplan_id=status.studienplan_id + AND tbl_studienplan_semester.semester = status.ausbildungssemester + AND tbl_studienplan_semester.studiensemester_kurzbz = status.studiensemester_kurzbz ) - AND tbl_prestudentstatus.studiensemester_kurzbz=?"; + AND status.studiensemester_kurzbz=? + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -575,7 +671,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 getFalscheAnzahlAbschlusspruefungen($studiensemester_kurzbz, $prestudent_id = null) + public function getFalscheAnzahlAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { $params = array($studiensemester_kurzbz); @@ -608,6 +704,12 @@ class PlausicheckLib ) studenten WHERE anzahl_abschlusspruefungen != 1"; + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } + if (isset($prestudent_id)) { $qry .= " AND pre.prestudent_id = ?"; @@ -622,12 +724,11 @@ 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, $prestudent_id = null) + public function getDatumAbschlusspruefungFehlt($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { - $params = array(); $results = array(); - $pruefungenRes = $this->_getInvalidAbschlusspruefungen($studiensemester_kurzbz, $prestudent_id); + $pruefungenRes = $this->_getInvalidAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz, $prestudent_id); if (isError($pruefungenRes)) return $pruefungenRes; @@ -649,12 +750,11 @@ class PlausicheckLib * @param int prestudent_id if check is to be executed only for one prestudent * @return success with prestudents or error */ - public function getDatumSponsionFehlt($prestudent_id = null) + public function getDatumSponsionFehlt($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { - $params = array(); $results = array(); - $pruefungenRes = $this->_getInvalidAbschlusspruefungen($studiensemester_kurzbz, $prestudent_id); + $pruefungenRes = $this->_getInvalidAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz, $prestudent_id); if (isError($pruefungenRes)) return $pruefungenRes; @@ -676,7 +776,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 getBewerberNichtZumRtAngetreten($studiensemester_kurzbz, $prestudent_id = null) + public function getBewerberNichtZumRtAngetreten($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { $previousStudiensemesterRes = $this->_ci->StudiensemesterModel->getPreviousFrom($studiensemester_kurzbz); @@ -688,15 +788,17 @@ class PlausicheckLib $qry = " SELECT - vorname, nachname, tbl_prestudent.prestudent_id, studiengang_kz + vorname, nachname, prestudent.prestudent_id, prestudent.studiengang_kz FROM - public.tbl_prestudent - JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) + public.tbl_prestudent prestudent + JOIN public.tbl_prestudentstatus ON(prestudent.prestudent_id=tbl_prestudentstatus.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 reihungstestangetreten=false + AND stg.melderelevant"; if (!isEmptyString($previousStudiensemester)) { @@ -708,6 +810,12 @@ class PlausicheckLib $qry .= "AND studiensemester_kurzbz=?"; } + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } + if (isset($prestudent_id)) { $qry .= " AND tbl_prestudent.prestudent_id = ?"; @@ -722,7 +830,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 getAktSemesterNull($prestudent_id = null) + public function getAktSemesterNull($studiengang_kz = null, $prestudent_id = null) { $params = array(); @@ -732,9 +840,17 @@ class PlausicheckLib 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 ausbildungssemester = 0"; + AND ausbildungssemester = 0 + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -750,16 +866,17 @@ class PlausicheckLib * @param int prestudent_id if check is to be executed only for one prestudent * @return success with prestudents or error */ - public function getAbschlussstatusFehlt($prestudent_id = null) + public function getAbschlussstatusFehlt($studiengang_kz = null, $prestudent_id = null) { $params = array(); $qry = " SELECT - DISTINCT tbl_prestudent.prestudent_id, tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz as studiengang + DISTINCT pre.prestudent_id, tbl_person.vorname, tbl_person.nachname, pre.studiengang_kz as studiengang FROM - public.tbl_prestudent + public.tbl_prestudent pre JOIN public.tbl_person USING(person_id) + JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz WHERE NOT EXISTS( SELECT @@ -768,15 +885,22 @@ class PlausicheckLib public.tbl_prestudentstatus ps JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE - prestudent_id=tbl_prestudent.prestudent_id + prestudent_id=pre.prestudent_id AND tbl_studiensemester.ende>now() ) - AND '2018-01-01'<(SELECT max(datum) FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id) + 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 WHERE - prestudent_id=tbl_prestudent.prestudent_id + prestudent_id=pre.prestudent_id AND status_kurzbz IN('Abbrecher','Abgewiesener','Absolvent','Incoming') - )"; + ) + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -795,7 +919,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 getGbDatumWeitZurueck($studiensemester_kurzbz, $person_id = null) + public function getGbDatumWeitZurueck($studiensemester_kurzbz, $studiengang_kz = null, $person_id = null) { $params = array($studiensemester_kurzbz); @@ -810,7 +934,16 @@ class PlausicheckLib SELECT 1 FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING(prestudent_id) - WHERE person_id = pers.person_id AND studiensemester_kurzbz = ?)"; + 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 + )"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($person_id)) { @@ -826,22 +959,30 @@ class PlausicheckLib * @param int prestudent_id if check is to be executed only for one prestudent * @return success with prestudents or error */ - public function getNationNichtOesterreichAberGemeinde($person_id = null) + public function getNationNichtOesterreichAberGemeinde($studiengang_kz = null, $person_id = null) { $params = array(); - $qry = "SELECT DISTINCT tbl_person.person_id + $qry = "SELECT DISTINCT tbl_person.person_id, tbl_adresse.gemeinde FROM public.tbl_adresse 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' 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 = tbl_adresse.gemeinde) + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($person_id)) { @@ -857,9 +998,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($person_id = null) + public function getFalscheAnzahlHeimatadressen($studiensemester_kurzbz, $studiengang_kz = null, $person_id = null) { - $params = array(); + $params = array($studiensemester_kurzbz); $qry = " SELECT @@ -873,9 +1014,19 @@ class PlausicheckLib ) adressen JOIN public.tbl_person USING(person_id) JOIN public.tbl_prestudent USING(person_id) + JOIN public.tbl_prestudentstatus status USING(prestudent_id) JOIN public.tbl_student USING(prestudent_id) + JOIN public.tbl_studiengang stg ON tbl_prestudent.studiengang_kz = stg.studiengang_kz WHERE - anzahl_adressen != 1"; + anzahl_adressen != 1 + AND status.studiensemester_kurzbz = ? + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($person_id)) { @@ -891,7 +1042,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($person_id = null) + public function getFalscheAnzahlZustelladressen($studiensemester_kurzbz, $studiengang_kz = null, $person_id = null) { $params = array(); @@ -907,9 +1058,19 @@ class PlausicheckLib ) adressen JOIN public.tbl_person USING(person_id) JOIN public.tbl_prestudent USING(person_id) + JOIN public.tbl_prestudentstatus status USING(prestudent_id) JOIN public.tbl_student USING(prestudent_id) + JOIN public.tbl_studiengang stg ON tbl_prestudent.studiengang_kz = stg.studiengang_kz WHERE - anzahl_adressen != 1"; + anzahl_adressen != 1 + AND status.studiensemester_kurzbz = ? + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($person_id)) { @@ -928,7 +1089,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 getIncomingHeimatNationOesterreich($person_id = null) + public function getIncomingHeimatNationOesterreich($studiengang_kz = null, $person_id = null) { $params = array(); @@ -940,10 +1101,18 @@ class PlausicheckLib JOIN public.tbl_prestudentstatus prestatus JOIN public.tbl_person pers USING(person_id) JOIN public.tbl_adresse addr USING(person_id) + JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz WHERE prestat.status_kurzbz = 'Incoming' AND addr.nation = 'A' - AND addr.heimatadresse"; + AND addr.heimatadresse + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($person_id)) { @@ -959,7 +1128,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 getIncomingOhneIoDatensatz($prestudent_id = null) + public function getIncomingOhneIoDatensatz($studiengang_kz = null, $prestudent_id = null) { $params = array(); @@ -974,11 +1143,17 @@ class PlausicheckLib JOIN public.tbl_person USING(person_id) JOIN public.tbl_prestudent USING(prestudent_id) JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) - JOIN public.tbl_studiengang ON(tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz) + JOIN public.tbl_studiengang stg ON(stg.studiengang_kz=tbl_student.studiengang_kz) WHERE bismelden=TRUE - -- AND tbl_student.studiengang_kz=? - 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)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { @@ -995,19 +1170,20 @@ class PlausicheckLib /** * Get final exams in a semester which are invalid (e.g. missing data) */ - private function _getInvalidAbschlusspruefungen($studiensemester_kurzbz, $prestudent_id = null) + private function _getInvalidAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null) { $params = array($studiensemester_kurzbz); $qry = " SELECT - pre.prestudent_id, stud.student_uid, pruefung.datum, pruefung.sponsion + pre.prestudent_id, stud.student_uid, pruefung.datum, pruefung.sponsion, pruefung.abschlusspruefung_id FROM public.tbl_prestudent pre JOIN public.tbl_student stud USING(prestudent_id) JOIN public.tbl_prestudentstatus prestatus USING(prestudent_id) JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz JOIN lehre.tbl_abschlusspruefung pruefung ON stud.student_uid = pruefung.student_uid + JOIN public.tbl_studiengang stg ON pre.studiengang_kz = stg.studiengang_kz WHERE status_kurzbz = 'Absolvent' AND studiensemester_kurzbz = ? @@ -1020,7 +1196,14 @@ class PlausicheckLib ) AND abschlussbeurteilung_kurzbz!='nicht' AND abschlussbeurteilung_kurzbz IS NOT NULL - AND (pruefung.datum IS NULL OR pruefung.sponsion IS NULL)"; + AND (pruefung.datum IS NULL OR pruefung.sponsion IS NULL) + AND stg.melderelevant"; + + if (isset($studiengang_kz)) + { + $qry .= " AND stg.studiengang_kz = ?"; + $params[] = $studiengang_kz; + } if (isset($prestudent_id)) { diff --git a/application/libraries/issues/PlausicheckProducerLib.php b/application/libraries/issues/PlausicheckProducerLib.php new file mode 100644 index 000000000..18971c2cb --- /dev/null +++ b/application/libraries/issues/PlausicheckProducerLib.php @@ -0,0 +1,84 @@ + class (library) name for resolving + private $_fehlerLibMappings = array( + 'StgPrestudentUngleichStgStudent' => 'StgPrestudentUngleichStgStudent' + //'zgvDatumInZukunft' => 'ZgvDatumInZukunft', + //'zgvDatumVorGeburtsdatum' => 'ZgvDatumVorGeburtsdatum', + //'zgvMasterDatumInZukunft' => 'ZgvMasterDatumInZukunft', + //'zgvMasterDatumVorZgvdatum' => 'ZgvMasterDatumVorZgvdatum', + //'zgvMasterDatumVorGeburtsdatum' => 'ZgvMasterDatumVorGeburtsdatum', + //'keinAufenthaltszweckPlausi' => 'KeinAufenthaltszweckPlausi', + //'zuVieleZweckeIncomingPlausi' => 'ZuVieleZweckeIncomingPlausi', + //'falscherIncomingZweckPlausi' => 'FalscherIncomingZweckPlausi', + //'outgoingAufenthaltfoerderungfehltPlausi' => 'OutgoingAufenthaltfoerderungfehltPlausi', + //'outgoingAngerechneteEctsFehlenPlausi' => 'OutgoingAngerechneteEctsFehlenPlausi', + //'outgoingErworbeneEctsFehlenPlausi' => 'OutgoingErworbeneEctsFehlenPlausi' + ); + + public function __construct() + { + $this->_ci =& get_instance(); // get ci instance + + // 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; + + } + + public function producePlausicheck($fehler_kurzbz, $studiensemester_kurzbz = null, $studiengang_kz = null) + { + $libName = $this->_fehlerLibMappings[$fehler_kurzbz]; + + // get Studiensemester + if (isEmptyString($studiensemester_kurzbz)) $studiensemester_kurzbz = $this->_currentStudiensemester; + + // get path of library for issue to be produced + $issuesLibPath = DOC_ROOT . 'application/libraries/' . self::PLAUSI_ISSUES_FOLDER . '/'; + //$issuesLibPath = base_url('application/libraries/' . self::PLAUSI_ISSUES_FOLDER . '/'); + $issuesLibFilePath = $issuesLibPath . $libName . '.php'; + + // check if library file exists + if (!file_exists($issuesLibFilePath)) return error("Issue library file " . $issuesLibFilePath . " does not exist"); + + // load library connected to fehlercode + $this->_ci->load->library(self::PLAUSI_ISSUES_FOLDER . '/'.$libName); + + $lowercaseLibName = mb_strtolower($libName); + + // check if method is defined in library class + if (!is_callable(array($this->_ci->{$lowercaseLibName}, self::EXECUTE_PLAUSI_CHECK_METHOD_NAME))) + return error("Method " . self::EXECUTE_PLAUSI_CHECK_METHOD_NAME . " is not defined in library $lowercaseLibName"); + + // pass the data needed for issue check + $paramsForCheck = array( + 'studiensemester_kurzbz' => $studiensemester_kurzbz, + 'studiengang_kz' => $studiengang_kz + ); + + // call the function for checking for issue production + return $this->_ci->{$lowercaseLibName}->{self::EXECUTE_PLAUSI_CHECK_METHOD_NAME}($paramsForCheck); + } + + public function getFehlerKurzbz() + { + return array_keys($this->_fehlerLibMappings); + } +} diff --git a/application/libraries/issues/plausichecks/AbbrecherAktiv.php b/application/libraries/issues/plausichecks/AbbrecherAktiv.php new file mode 100644 index 000000000..c30270a6d --- /dev/null +++ b/application/libraries/issues/plausichecks/AbbrecherAktiv.php @@ -0,0 +1,45 @@ +_ci =& get_instance(); // get code igniter instance + + // pass parameters needed for plausicheck + $studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null; + + // get all students failing the plausicheck + $prestudentRes = $this->_ci->plausichecklib->getAbbrecherAktiv($studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/AbschlussstatusFehlt.php b/application/libraries/issues/plausichecks/AbschlussstatusFehlt.php new file mode 100644 index 000000000..cbf998416 --- /dev/null +++ b/application/libraries/issues/plausichecks/AbschlussstatusFehlt.php @@ -0,0 +1,45 @@ +_ci =& get_instance(); // get code igniter instance + + // pass parameters needed for plausicheck + $studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null; + + // get all students failing the plausicheck + $prestudentRes = $this->_ci->plausichecklib->getAbschlussstatusFehlt($studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/AktSemesterNull.php b/application/libraries/issues/plausichecks/AktSemesterNull.php new file mode 100644 index 000000000..13ac9b35a --- /dev/null +++ b/application/libraries/issues/plausichecks/AktSemesterNull.php @@ -0,0 +1,45 @@ +_ci =& get_instance(); // get code igniter instance + + // pass parameters needed for plausicheck + $studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null; + + // get all students failing the plausicheck + $prestudentRes = $this->_ci->plausichecklib->getAktSemesterNull($studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/AktiverStudentOhneStatus.php b/application/libraries/issues/plausichecks/AktiverStudentOhneStatus.php new file mode 100644 index 000000000..6ceb2c508 --- /dev/null +++ b/application/libraries/issues/plausichecks/AktiverStudentOhneStatus.php @@ -0,0 +1,46 @@ +_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->getAktiverStudentOhneStatus($studiensemester_kurzbz, $studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/AusbildungssemPrestudentUngleichAusbildungssemStatus.php b/application/libraries/issues/plausichecks/AusbildungssemPrestudentUngleichAusbildungssemStatus.php new file mode 100644 index 000000000..0219124b4 --- /dev/null +++ b/application/libraries/issues/plausichecks/AusbildungssemPrestudentUngleichAusbildungssemStatus.php @@ -0,0 +1,46 @@ +_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); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/BewerberNichtZumRtAngetreten.php b/application/libraries/issues/plausichecks/BewerberNichtZumRtAngetreten.php new file mode 100644 index 000000000..8a024a00d --- /dev/null +++ b/application/libraries/issues/plausichecks/BewerberNichtZumRtAngetreten.php @@ -0,0 +1,46 @@ +_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->getBewerberNichtZumRtAngetreten($studiensemester_kurzbz, $studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/DatumAbschlusspruefungFehlt.php b/application/libraries/issues/plausichecks/DatumAbschlusspruefungFehlt.php new file mode 100644 index 000000000..513f4c607 --- /dev/null +++ b/application/libraries/issues/plausichecks/DatumAbschlusspruefungFehlt.php @@ -0,0 +1,46 @@ +_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->getDatumAbschlusspruefungFehlt($studiensemester_kurzbz, $studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/DatumSponsionFehlt.php b/application/libraries/issues/plausichecks/DatumSponsionFehlt.php new file mode 100644 index 000000000..4f7fe0c29 --- /dev/null +++ b/application/libraries/issues/plausichecks/DatumSponsionFehlt.php @@ -0,0 +1,46 @@ +_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->getDatumSponsionFehlt($studiensemester_kurzbz, $studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/DatumStudiensemesterFalscheReihenfolge.php b/application/libraries/issues/plausichecks/DatumStudiensemesterFalscheReihenfolge.php new file mode 100644 index 000000000..1937eb19b --- /dev/null +++ b/application/libraries/issues/plausichecks/DatumStudiensemesterFalscheReihenfolge.php @@ -0,0 +1,46 @@ +_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->getDatumStudiensemesterFalscheReihenfolge($studiensemester_kurzbz, $studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/FalscheAnzahlAbschlusspruefungen.php b/application/libraries/issues/plausichecks/FalscheAnzahlAbschlusspruefungen.php new file mode 100644 index 000000000..faaa21654 --- /dev/null +++ b/application/libraries/issues/plausichecks/FalscheAnzahlAbschlusspruefungen.php @@ -0,0 +1,46 @@ +_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->getFalscheAnzahlAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/FalscheAnzahlHeimatadressen.php b/application/libraries/issues/plausichecks/FalscheAnzahlHeimatadressen.php new file mode 100644 index 000000000..6b1133c2b --- /dev/null +++ b/application/libraries/issues/plausichecks/FalscheAnzahlHeimatadressen.php @@ -0,0 +1,46 @@ +_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); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/FalscheAnzahlZustelladressen.php b/application/libraries/issues/plausichecks/FalscheAnzahlZustelladressen.php new file mode 100644 index 000000000..0ae5e05d3 --- /dev/null +++ b/application/libraries/issues/plausichecks/FalscheAnzahlZustelladressen.php @@ -0,0 +1,46 @@ +_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); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/GbDatumWeitZurueck.php b/application/libraries/issues/plausichecks/GbDatumWeitZurueck.php new file mode 100644 index 000000000..4a05eca77 --- /dev/null +++ b/application/libraries/issues/plausichecks/GbDatumWeitZurueck.php @@ -0,0 +1,46 @@ +_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); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/InaktiverStudentAktiverStatus.php b/application/libraries/issues/plausichecks/InaktiverStudentAktiverStatus.php new file mode 100644 index 000000000..bd95fafb0 --- /dev/null +++ b/application/libraries/issues/plausichecks/InaktiverStudentAktiverStatus.php @@ -0,0 +1,46 @@ +_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->getInaktiverStudentAktiverStatus($studiensemester_kurzbz, $studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/IncomingHeimatNationOesterreich.php b/application/libraries/issues/plausichecks/IncomingHeimatNationOesterreich.php new file mode 100644 index 000000000..b28b41d30 --- /dev/null +++ b/application/libraries/issues/plausichecks/IncomingHeimatNationOesterreich.php @@ -0,0 +1,46 @@ +_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); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/IncomingOhneIoDatensatz.php b/application/libraries/issues/plausichecks/IncomingOhneIoDatensatz.php new file mode 100644 index 000000000..1d2d7d542 --- /dev/null +++ b/application/libraries/issues/plausichecks/IncomingOhneIoDatensatz.php @@ -0,0 +1,46 @@ +_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); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/InskriptionVorLetzerBismeldung.php b/application/libraries/issues/plausichecks/InskriptionVorLetzerBismeldung.php new file mode 100644 index 000000000..8da5d6324 --- /dev/null +++ b/application/libraries/issues/plausichecks/InskriptionVorLetzerBismeldung.php @@ -0,0 +1,46 @@ +_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->getInskriptionVorLetzerBismeldung($studiensemester_kurzbz, $studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/NationNichtOesterreichAberGemeinde.php b/application/libraries/issues/plausichecks/NationNichtOesterreichAberGemeinde.php new file mode 100644 index 000000000..8a3337db1 --- /dev/null +++ b/application/libraries/issues/plausichecks/NationNichtOesterreichAberGemeinde.php @@ -0,0 +1,46 @@ +_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); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/OrgformStgUngleichOrgformPrestudent.php b/application/libraries/issues/plausichecks/OrgformStgUngleichOrgformPrestudent.php new file mode 100644 index 000000000..56a69384a --- /dev/null +++ b/application/libraries/issues/plausichecks/OrgformStgUngleichOrgformPrestudent.php @@ -0,0 +1,46 @@ +_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->getOrgformStgUngleichOrgformPrestudent($studiensemester_kurzbz, $studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/PrestudentMischformOhneOrgform.php b/application/libraries/issues/plausichecks/PrestudentMischformOhneOrgform.php new file mode 100644 index 000000000..7297d8f9b --- /dev/null +++ b/application/libraries/issues/plausichecks/PrestudentMischformOhneOrgform.php @@ -0,0 +1,46 @@ +_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->getPrestudentMischformOhneOrgform($studiensemester_kurzbz, $studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/PrestudentStgUngleichStgStudienplan.php b/application/libraries/issues/plausichecks/PrestudentStgUngleichStgStudienplan.php new file mode 100644 index 000000000..d1bd3b9b6 --- /dev/null +++ b/application/libraries/issues/plausichecks/PrestudentStgUngleichStgStudienplan.php @@ -0,0 +1,46 @@ +_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); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/StgPrestudentUngleichStgStudent.php b/application/libraries/issues/plausichecks/StgPrestudentUngleichStgStudent.php index 2092ab602..df88f2248 100644 --- a/application/libraries/issues/plausichecks/StgPrestudentUngleichStgStudent.php +++ b/application/libraries/issues/plausichecks/StgPrestudentUngleichStgStudent.php @@ -15,10 +15,11 @@ class StgPrestudentUngleichStgStudent implements IPlausiChecker $this->_ci =& get_instance(); // get code igniter instance - $this->_ci->load->library('issues/PlausicheckLib'); // load plausicheck library + // pass parameters needed for plausicheck + $studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null; // get all students failing the plausicheck - $prestudentRes = $this->_ci->plausichecklib->getPrestudentenStgUngleichStgStudent(); + $prestudentRes = $this->_ci->plausichecklib->getPrestudentenStgUngleichStgStudent($studiengang_kz); if (isError($prestudentRes)) return $prestudentRes; @@ -38,6 +39,7 @@ class StgPrestudentUngleichStgStudent implements IPlausiChecker } } + // return the results return success($results); } } diff --git a/application/libraries/issues/plausichecks/StudentstatusNachAbbrecher.php b/application/libraries/issues/plausichecks/StudentstatusNachAbbrecher.php new file mode 100644 index 000000000..3a0570f24 --- /dev/null +++ b/application/libraries/issues/plausichecks/StudentstatusNachAbbrecher.php @@ -0,0 +1,46 @@ +_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); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/application/libraries/issues/plausichecks/StudienplanUngueltig.php b/application/libraries/issues/plausichecks/StudienplanUngueltig.php new file mode 100644 index 000000000..6740fe7bf --- /dev/null +++ b/application/libraries/issues/plausichecks/StudienplanUngueltig.php @@ -0,0 +1,46 @@ +_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->getStudienplanUngueltig($studiensemester_kurzbz, $studiengang_kz); + + if (isError($prestudentRes)) return $prestudentRes; + + if (hasData($prestudentRes)) + { + $prestudents = getData($prestudentRes); + + // populate results with data necessary for writing issues + foreach ($prestudents as $prestudent) + { + $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) + ); + } + } + + // return the results + return success($results); + } +} diff --git a/system/fehlerupdate.php b/system/fehlerupdate.php index 3198f0e0c..c402dce98 100644 --- a/system/fehlerupdate.php +++ b/system/fehlerupdate.php @@ -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 ist nicht eingetragen. (Studiensemester %s, prestudent_id %s)', + 'fehlertext' => 'Organisationsform ist für Studierenden/BewerberIn in Mischformstudiengang nicht eingetragen. (Studiensemester %s, prestudent_id %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)', + 'fehlertext' => 'Studiengang des Prestudenten passt nicht zu Studiengang des Studienplans. (prestudent_id %s, studienplan_id %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. (prestudent_id %s)', + 'fehlertext' => 'Aktuelles Ausbildungssemester bei StudentIn stimmt nicht mit dem Ausbildungssemester des aktuellen Status überein. (Studiensemester %s, 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 (prestudent_id %s)', + 'fehlertext' => 'Kein Abschlussprüfung Datum (abschlusspruefung_id %s, prestudent_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 (prestudent_id %s)', + 'fehlertext' => 'Kein Sponsionsdatum (abschlusspruefung_id %s, prestudent_id %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 angegeben', + 'fehlertext' => 'Nation der Adresse ist ungleich Österreich, es ist aber eine österreichische Gemeinde (%s) angegeben', 'fehlertyp_kurzbz' => 'error', 'app' => 'core' ),