issue AbschlusspruefungOderAbsolventFehlt: added Studiensemester and moved distinct for correct resolving, added status fehler to fehler.php and IssueResolver

This commit is contained in:
Alexei Karpenko
2026-05-27 23:23:56 +02:00
parent 79b4625ed4
commit 805fd34d17
4 changed files with 75 additions and 4 deletions
+66
View File
@@ -379,6 +379,72 @@ $config['fehler'] = array(
'resolverLibName' => 'CORE_STUDENTSTATUS_0016',
'producerIsResolver' => false
),
array(
'fehlercode' => 'CORE_STUDENTSTATUS_0017',
'fehler_kurzbz' => 'BeginndatumVorBismeldung',
'fehlercode_extern' => null,
'fehlertext' => 'Statusdatum vor Bismeldedatum eingetragen, nachdem das Bismeldedatum erreicht wurde (prestudent_id %s, Studiensemester %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core',
'producerLibName' => 'BeginndatumVorBismeldung',
'resolverLibName' => null,
'producerIsResolver' => true
),
array(
'fehlercode' => 'CORE_STUDENTSTATUS_0018',
'fehler_kurzbz' => 'StudentstatusNachDiplomand',
'fehlercode_extern' => null,
'fehlertext' => 'Studentstatus nach Diplomandenstatus (prestudent_id %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core',
'producerLibName' => 'StudentstatusNachDiplomand',
'resolverLibName' => null,
'producerIsResolver' => true
),
array(
'fehlercode' => 'CORE_STUDENTSTATUS_0019',
'fehler_kurzbz' => 'OrgformBewerberUngleichOrgformStudent',
'fehlercode_extern' => null,
'fehlertext' => 'Orgform des Bewerbers (Studienplan) stimmt nicht mit Orgform des ersten Studenten überein (prestudent_id %s, Student Studiensemester %s, Bewerber Studiensemester %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core',
'producerLibName' => 'OrgformBewerberUngleichOrgformStudent',
'resolverLibName' => null,
'producerIsResolver' => true
),
array(
'fehlercode' => 'CORE_STUDENTSTATUS_0020',
'fehler_kurzbz' => 'StartsemesterUngleichPersonenkennzeichen',
'fehlercode_extern' => null,
'fehlertext' => 'Semester des ersten Studentstatus stimmt nicht mit Personenkennzeichen überein (prestudent_id %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core',
'producerLibName' => 'StartsemesterUngleichPersonenkennzeichen',
'resolverLibName' => null,
'producerIsResolver' => true
),
array(
'fehlercode' => 'CORE_STUDENTSTATUS_0021',
'fehler_kurzbz' => 'AbschlusspruefungOderAbsolventFehlt',
'fehlercode_extern' => null,
'fehlertext' => 'Keine Abschlussprüfung vor der Bismeldung oder kein Absolventenstatus vor der Bismeldung (prestudent_id %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core',
'producerLibName' => 'AbschlusspruefungOderAbsolventFehlt',
'resolverLibName' => null,
'producerIsResolver' => true
),
array(
'fehlercode' => 'CORE_STUDENTSTATUS_0022',
'fehler_kurzbz' => 'FalscheStatusabfolgeVorStudentstatus',
'fehlercode_extern' => null,
'fehlertext' => 'Falsche Statusabfolge vor Studentstatus (prestudent_id %s, Studiensemester%s, richtige Abfolge: %s)',
'fehlertyp_kurzbz' => 'error',
'app' => 'core',
'producerLibName' => 'FalscheStatusabfolgeVorStudentstatus',
'resolverLibName' => null,
'producerIsResolver' => true
),
array(
'fehlercode' => 'CORE_PERSON_0001',
'fehler_kurzbz' => 'GbDatumWeitZurueck',
@@ -40,6 +40,11 @@ class IssueResolver extends IssueResolver_Controller
'CORE_STUDENTSTATUS_0014',
'CORE_STUDENTSTATUS_0015',
'CORE_STUDENTSTATUS_0016',
'CORE_STUDENTSTATUS_0018',
'CORE_STUDENTSTATUS_0019',
'CORE_STUDENTSTATUS_0020',
'CORE_STUDENTSTATUS_0021',
'CORE_STUDENTSTATUS_0022',
'CORE_PERSON_0001',
'CORE_PERSON_0002',
'CORE_PERSON_0003',
@@ -42,7 +42,7 @@ class AbschlusspruefungOderAbsolventFehlt extends PlausiChecker
'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)
);
}
}
@@ -65,7 +65,7 @@ class AbschlusspruefungOderAbsolventFehlt extends PlausiChecker
$qry = "
SELECT person_id, prestudent_id, studiengang_kz, prestudent_stg_oe_kurzbz FROM (
SELECT DISTINCT ON (prestudent_id) person_id, prestudent_id, studiengang_kz, prestudent_stg_oe_kurzbz FROM (
WITH meldestichtag AS (
SELECT
meldestichtag, studiensemester_kurzbz
@@ -95,7 +95,7 @@ class AbschlusspruefungOderAbsolventFehlt extends PlausiChecker
$qry .= "
)
SELECT
DISTINCT ON (prestudent_id) prestudent.person_id, prestudent.prestudent_id,
prestudent.person_id, prestudent.prestudent_id,
stg.studiengang_kz, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz,
EXISTS (
SELECT 1
+1 -1
View File
@@ -397,7 +397,7 @@ function checkStatusaenderung(
{
global $db;
// load stuidenplan orgform
// load studienplan orgform
$new_studienplan_orgform_kurzbz = '';
$studienplan = new studienplan();
if ($studienplan->loadStudienplan($new_studienplan_id))