From c694ff7c507e1dba616b8c5c3e296d71d56aec08 Mon Sep 17 00:00:00 2001 From: Daniel Quathamer Date: Thu, 16 Jan 2025 11:22:21 +0100 Subject: [PATCH] =?UTF-8?q?Abschlusspr=C3=BCfungen=20Redesign=20TSG/MSG=20?= =?UTF-8?q?Spalten=20#25?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src-modules/module/costage/conf/costage.xml | 138 +++++++++--------- .../costage_st_pruef_aggr_fuellen.sql | 123 ++++++++++++---- .../costage_st_studien_aggr_fuellen.sql | 71 +++++---- .../rohdaten_sos/sos_costage_unload.xml | 47 +++--- 4 files changed, 233 insertions(+), 146 deletions(-) diff --git a/src-modules/module/costage/conf/costage.xml b/src-modules/module/costage/conf/costage.xml index 4cd8225..9c4292a 100644 --- a/src-modules/module/costage/conf/costage.xml +++ b/src-modules/module/costage/conf/costage.xml @@ -521,40 +521,10 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> - + - -nur bei TSG - -ESG oder, bei TSG, der Status des MSG - -Wenn TSG vor MSG beendet wird, werden TSG-Sätze generiert - - - - - - - - - - - - - - - Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='P' - - - - Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='S' - - - - Lookup via: st_studium_nr/st_sem_nr - costage_st_urlaube.st_studium_nr/st_sem_nr - Lookup via: st_studstamm_nr - costage_st_adressen.st_studstamm_nr - costage_st_adressen.st_adresse_typ='S' @@ -571,36 +541,67 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> Lookup via: st_studstamm_nr - costage_st_adressen.st_studstamm_nr -costage_st_adressen.st_adresse_typ='H' - - - Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) - - - - + + + + +nur bei TSG +TSG/ESG/MSG + + + + +Wenn TSG vor MSG beendet wird, werden TSG-Sätze generiert + + + Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) + Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) + + + + + + + + - - + + + + + + +ESG oder, bei TSG, der Status des MSG + + + + + + Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='P' + + Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='S' - - - - + Lookup via: st_studium_nr/st_sem_nr - costage_st_personen_abmeldungen.st_studium_nr/st_sem_nr - costage_st_semester.semester_tid / costage_st_abmeldungsarten.bezug='S' + + + + Lookup via: st_studium_nr/st_sem_nr - costage_st_urlaube.st_studium_nr/st_sem_nr + + @@ -612,40 +613,47 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
- + + -des Prüfungsdatums - - -nur bei TSG + + +nur bei TSG - - + + + Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) + + + +des Prüfungsdatums + + + + +Hauptprüfung/TSAB + -Hauptprüfung/TSAB Prüfungsordnung Nr. - + + + J/N gültig/In Bearbeitung - - - - + + + + - - - Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) - - - + diff --git a/src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql b/src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql index b04670a..7a068e8 100644 --- a/src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql +++ b/src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql @@ -14,12 +14,14 @@ L.st_studium_nr, S.st_studstamm_nr, L.matrikelnummer::integer as matrikelnummer, null::integer as st_studiengang_nr, +null::integer as st_studiengang_nr_tsg, null::integer as studiengang_nr, null::integer as fach_nr, null::integer as st_studienstatus_nr, null::integer as semester, E.semester_tid as semester_veranst, null::integer as fachsemester, +null::integer as fachsemester_tsg, null::varchar(255) as unikey, L.leistung_nr, L.leistungstyp_nr, @@ -59,12 +61,16 @@ null::integer as leistung_nr_msg, null::integer as st_studiengang_nr_msg, null::date as leistungsdatum_msg, null::integer as semester_msg, -L.spov_abschluss as po_stp_stp_version_kb +L.spov_abschluss as po_stp_stp_version_kb , +null::char(10) as studiengangs_typ_kb into temp tmp_pruef FROM costage_st_semester E, costage_leistungen_typen T, costage_leistungen L, costage_st_studierendenstammdaten S where E.semester_id=L.veranstaltung_semester and T.leistungstyp_nr=L.leistungstyp_nr and S.matrikelnummer=L.matrikelnummer +and S.matrikelnummer in (select ST.matrikelnummer +from costage_st_studierendenstammdaten ST +where ${COSTAGE_STUDENT_FILTER}) -- TSAB/AB: and T.kurzbezeichnung in ('AP','AAP') --Abschlussprüfung/Anerkannte Abschlussprüfung and L.leistungsstatus_nr in (4,2) --Letztgültig/Final/gültige Leistung @@ -84,12 +90,14 @@ L.st_studium_nr, S.st_studstamm_nr, L.matrikelnummer::integer as matrikelnummer, null::integer as st_studiengang_nr, +null::integer as st_studiengang_nr_tsg, null::integer as studiengang_nr, null::integer as fach_nr, null::integer as st_studienstatus_nr, E.semester_tid as semester, null::integer as semester_veranst, null::integer as fachsemester, +null::integer AS fachsemester_tsg, null::varchar(255) as unikey, L.leistung_nr, L.leistungstyp_nr, @@ -129,12 +137,16 @@ null::integer as leistung_nr_msg, null::integer as st_studiengang_nr_msg, null::date as leistungsdatum_msg, null::integer as semester_msg, -L.spov_abschluss +L.spov_abschluss, +null::char(10) as studiengangs_typ_kb FROM costage_st_semester E, costage_leistungen_typen T, costage_leistungen L, costage_st_studierendenstammdaten S where L.leistungsdatum between E.semester_anfang and E.semester_ende and L.veranstaltung_semester is null and T.leistungstyp_nr=L.leistungstyp_nr and S.matrikelnummer=L.matrikelnummer +and S.matrikelnummer in (select ST.matrikelnummer +from costage_st_studierendenstammdaten ST +where ${COSTAGE_STUDENT_FILTER}) -- TSAB/AB: and T.kurzbezeichnung in ('AP','AAP') --Abschlussprüfung/Anerkannte Abschlussprüfung and L.leistungsstatus_nr in (4,2) --Letztgültig/Final/gültige Leistung @@ -152,7 +164,15 @@ update tmp_pruef set st_studiengang_nr=S.st_studiengang_nr from costage_st_studien S where S.st_studium_nr=tmp_pruef.st_studium_nr and S.st_studstamm_nr=tmp_pruef.st_studstamm_nr +and tmp_pruef.leistungsdetailtyp_kb!='TSAB' ; +update tmp_pruef set st_studiengang_nr_tsg=S.st_studiengang_nr +from costage_st_studien S +where S.st_studium_nr=tmp_pruef.st_studium_nr +and S.st_studstamm_nr=tmp_pruef.st_studstamm_nr +and tmp_pruef.leistungsdetailtyp_kb='TSAB' +; + --Fachsemester aus Sem. des Prüfungsdatums holen: update tmp_pruef set fachsemester = S.fachsemester @@ -161,6 +181,14 @@ where S.semester=tmp_pruef.semester and S.st_studium_nr=tmp_pruef.st_studium_nr and S.matrikelnummer=tmp_pruef.matrikelnummer ; +update tmp_pruef set +fachsemester_tsg = S.fachsemester +from costage_st_studien_aggr S +where S.semester=tmp_pruef.semester +and S.st_studium_nr_tsg=tmp_pruef.st_studium_nr +and S.matrikelnummer=tmp_pruef.matrikelnummer +and leistungsdetailtyp_kb ='TSAB' +; --Prüfung kann nach letztem eingeschr. Semester sein, daher zuerst letztes Sem. ermitteln: select S.st_studium_nr, @@ -183,15 +211,32 @@ update tmp_pruef set st_studienstatus_nr=S.st_studienstatus_nr, --fachsemester = S.fachsemester, --wird oben ermittelt, ab 0.6 nicht mehr aus letztem Studiums-Semester studiengang_nr=S.studiengang_nr, +st_studiengang_nr=S.st_studiengang_nr, +st_studiengang_nr_tsg=S.st_studiengang_nr_tsg, fach_nr=S.fach_nr, -unikey=S.unikey, -st_studiengang_nr_msg=S.st_studiengang_nr_msg +unikey=S.unikey +from tmp_max_sem M, costage_st_studien_aggr S +where S.matrikelnummer=M.matrikelnummer +and S.st_studium_nr=M.st_studium_nr +and S.semester=M.semester +and S.st_studium_nr_tsg=tmp_pruef.st_studium_nr +and S.matrikelnummer=tmp_pruef.matrikelnummer +and leistungsdetailtyp_kb ='TSAB' +; +update tmp_pruef set +st_studienstatus_nr=S.st_studienstatus_nr, +--fachsemester = S.fachsemester, --wird oben ermittelt, ab 0.6 nicht mehr aus letztem Studiums-Semester +studiengang_nr=S.studiengang_nr, +st_studiengang_nr=S.st_studiengang_nr, +fach_nr=S.fach_nr, +unikey=S.unikey from tmp_max_sem M, costage_st_studien_aggr S where S.matrikelnummer=M.matrikelnummer and S.st_studium_nr=M.st_studium_nr and S.semester=M.semester and S.st_studium_nr=tmp_pruef.st_studium_nr and S.matrikelnummer=tmp_pruef.matrikelnummer +and leistungsdetailtyp_kb !='TSAB' ; drop table tmp_max_sem; @@ -210,7 +255,7 @@ semester_msg=T.semester, leistungsstatus_map_kb_msg=T.leistungsstatus_map_kb, note_msg=(case when T.pv_notenskala_typ_kb in ('DE1','DE2','DE3','DE4','DE5','DE6','DE7') or T.pv_notenskala_typ_kb is null then T.note_zahl else null::float end) from tmp_pruef2 T -where tmp_pruef.st_studiengang_nr_msg=T.st_studiengang_nr +where tmp_pruef.st_studiengang_nr=T.st_studiengang_nr and tmp_pruef.leistungsdetailtyp_kb ='TSAB' and T.matrikelnummer=tmp_pruef.matrikelnummer @@ -231,17 +276,17 @@ where tmp_pruef.leistungsdetailtyp_kb !='TSAB' ; --Fachsemester bei MSG gibt es in CO nicht. Daher die Regel: --die Fachsemesterzahl sollte die höchste FS-Zahl aus allen TSG enthalten: -select matrikelnummer,st_studiengang_nr_msg,max(semester) as semester_max,max(fachsemester) as fachsem_max +select matrikelnummer,st_studiengang_nr,max(semester) as semester_max,max(fachsemester_tsg) as fachsem_max into temp tmp_fachsem_msg from tmp_pruef where leistungsdetailtyp_kb='TSAB' -and st_studiengang_nr_msg is not null +and st_studiengang_nr is not null group by 1,2; update tmp_pruef set fachsemester=T.fachsem_max from tmp_fachsem_msg T where T.matrikelnummer=tmp_pruef.matrikelnummer -and T.st_studiengang_nr_msg=tmp_pruef.st_studiengang_nr +and T.st_studiengang_nr=tmp_pruef.st_studiengang_nr and T.semester_max <=tmp_pruef.semester and tmp_pruef.leistungsdetailtyp_kb='BAKN' ; @@ -259,21 +304,23 @@ and tmp_pruef.unikey is null delete from costage_st_pruef_aggr -where semester >= ${beginn_semester}; +where semester >= ${beginn_semester} +or semester_tsg >= ${beginn_semester}; insert into costage_st_pruef_aggr(st_studium_nr, st_studstamm_nr, matrikelnummer, semester, + semester_tsg, semester_veranst, st_studiengang_nr, - st_studiengang_nr_msg, + st_studiengang_nr_tsg, studiengang_nr, fach_nr, unikey, studienidentifikator, fachsemester, - leistung_nr, + fachsemester_tsg, leistungstyp_nr, leistungsdetailtyp_kb, pnr, @@ -281,51 +328,67 @@ insert into costage_st_pruef_aggr(st_studium_nr, stp_sp_nr, po_stp_stp_version_kb, note, - note_msg, + note_tsg, credits, - leistungsdatum, anerkannt_flag, leistungsstatus_nr, leistungsstatus_map_kb, - leistungsstatus_map_kb_msg, - leistung_nr_msg, - leistungsdatum_msg, - semester_msg, + leistungsstatus_map_kb_tsg, + leistung_nr, + leistung_nr_tsg, + leistungsdatum, + leistungsdatum_tsg, summe) select st_studium_nr, st_studstamm_nr, matrikelnummer, - semester, + (case when leistungsdetailtyp_kb='TSAB' then semester_msg + else semester end) as semester , + (case when leistungsdetailtyp_kb='TSAB' then semester + else null::integer end) as semester_tsg , semester_veranst, st_studiengang_nr, - st_studiengang_nr_msg, + st_studiengang_nr_tsg, studiengang_nr, fach_nr, unikey, substring(studienidentifikator from 1 for 255), fachsemester, - leistung_nr, + fachsemester_tsg, leistungstyp_nr, leistungsdetailtyp_kb, pnr, abschnitt, stp_sp_nr, po_stp_stp_version_kb, - case when pv_notenskala_typ_kb in ('DE1','DE2','DE3','DE4','DE5','DE6','DE7') or pv_notenskala_typ_kb is null then note_zahl else null::float end as note, - note_msg, + (case when leistungsdetailtyp_kb='TSAB' then note_msg + else ( + case when pv_notenskala_typ_kb in ('DE1','DE2','DE3','DE4','DE5','DE6','DE7') + or pv_notenskala_typ_kb is null + then note_zahl else null::float end) end) as note, + (case when leistungsdetailtyp_kb='TSAB' and (pv_notenskala_typ_kb in ('DE1','DE2','DE3','DE4','DE5','DE6','DE7') + or pv_notenskala_typ_kb is null) + then note_zahl else null::float end) as note_tsg, credits, - leistungsdatum, anerkannt_flag, leistungsstatus_nr, - leistungsstatus_map_kb, - leistungsstatus_map_kb_msg, - leistung_nr_msg, - leistungsdatum_msg, - semester_msg, - count(*) + (case when leistungsdetailtyp_kb='TSAB' then leistungsstatus_map_kb_msg + else leistungsstatus_map_kb end) as leistungsstatus_map_kb, + (case when leistungsdetailtyp_kb='TSAB' then leistungsstatus_map_kb + else null::char(10) end) as leistungsstatus_map_kb_tsg, + (case when leistungsdetailtyp_kb='TSAB' then leistung_nr_msg + else leistung_nr end) as leistung_nr, + (case when leistungsdetailtyp_kb='TSAB' then leistung_nr + else null::integer end) as leistung_nr_tsg, + (case when leistungsdetailtyp_kb='TSAB' then leistungsdatum_msg + else leistungsdatum end) as leistungsdatum , + (case when leistungsdetailtyp_kb='TSAB' then leistungsdatum + else null::date end) as leistungsdatum_tsg , + 1 as summe from tmp_pruef - group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30; + --group by leistungsdatum,studiengangs_typ_kb,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 + ; drop table tmp_pruef; drop table tmp_pruef2; diff --git a/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql b/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql index 757354f..3b52684 100644 --- a/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql +++ b/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql @@ -34,11 +34,8 @@ S.ca12_staat, S.second_nationality, SG.fachkennzeichen, ST.studienform_statistik_code, ---(case when SG.studiengangs_typ_kb in ('MSG') then SG.st_studiengang_nr else null::integer end) as st_studiengang_nr_msg, null::varchar(255) as studiengangs_identifikator_msg, null::integer as st_studiengang_nr_msg_primaerflag, ---(case when SG.studiengangs_typ_kb in ('TSG') then SG.st_studiengang_nr else null::integer end) as st_studiengang_nr_tsg, ---null::integer as studienfach_sortierung, null::char(10) as hrst, null::integer as fachsemester, null::integer as praxissemester, @@ -893,15 +890,16 @@ create index ix_tmp_studien2 on tmp_studien3(kz_rueck_beur_ein) ; insert into costage_st_studien_aggr( st_studium_nr, -st_studium_nr_msg, +st_studium_nr_tsg, st_studstamm_nr, matrikelnummer, st_studiengang_nr, - st_studiengang_nr_msg, + st_studiengang_nr_tsg, st_studienstatus_nr, statustyp, statustyp_tsg, tsg_generated, + studiengangs_typ_kb, hrst, semester, fachsemester, @@ -926,23 +924,29 @@ st_studium_nr_msg, hzb_datum, hzb_note, abm_art_s, - abm_art_s_msg, + abm_art_s_tsg, po_stp_stp_version_kb, po_regelstudienzeit, - studiengangs_identifikator_msg, + studiengangs_identifikator, + studiengangs_identifikator_tsg, summe ) -select st_studium_nr, -st_studium_nr_msg, +select (case when studiengangs_typ_kb='TSG' then st_studium_nr_msg + else st_studium_nr end) as st_studium_nr, + (case when studiengangs_typ_kb='TSG' then st_studium_nr + else null::integer end) as st_studium_nr_tsg, st_studstamm_nr, matrikelnummer, - st_studiengang_nr, - st_studiengang_nr_msg, + (case when studiengangs_typ_kb='TSG' then st_studiengang_nr_msg + else st_studiengang_nr end) as st_studiengang_nr, + (case when studiengangs_typ_kb='TSG' then st_studiengang_nr + else null::integer end) as st_studiengang_nr_tsg, st_studienstatus_nr, studienstatustyp, statustyp_tsg, tsg_generated, + studiengangs_typ_kb, hrst, semester, fachsemester, @@ -981,11 +985,16 @@ st_studium_nr_msg, hzb_jahr, hzb_datum, hzb_note, - abm_art_s, - abm_art_s_msg, + (case when studiengangs_typ_kb='TSG' then abm_art_s_msg + else abm_art_s end) as abm_art_s , + (case when studiengangs_typ_kb='TSG' then abm_art_s + else null::char(10) end) as abm_art_s_tsg , po_stp_stp_version_kb, po_regelstudienzeit, - studiengangs_identifikator_msg, + (case when studiengangs_typ_kb='TSG' then studiengangs_identifikator_msg + else studiengangs_identifikator end) as studiengangs_identifikator, + (case when studiengangs_typ_kb='TSG' then studiengangs_identifikator + else null::varchar(255) end) as studiengangs_identifikator_tsg, 1 as summe from tmp_studien3 where kz_rueck_beur_ein is not null @@ -995,15 +1004,16 @@ st_studium_nr_msg, -- from above to accomodate ranking in studiengangNummer field insert into costage_st_studien_aggr( st_studium_nr, -st_studium_nr_msg, +st_studium_nr_tsg, st_studstamm_nr, matrikelnummer, st_studiengang_nr, - st_studiengang_nr_msg, + st_studiengang_nr_tsg, st_studienstatus_nr, statustyp, statustyp_tsg, tsg_generated, + studiengangs_typ_kb, hrst, semester, fachsemester, @@ -1028,23 +1038,29 @@ st_studium_nr_msg, hzb_datum, hzb_note, abm_art_s, - abm_art_s_msg, + abm_art_s_tsg, po_stp_stp_version_kb, po_regelstudienzeit, - studiengangs_identifikator_msg, + studiengangs_identifikator, + studiengangs_identifikator_tsg, summe ) -select st_studium_nr, -st_studium_nr_msg, +select (case when studiengangs_typ_kb='TSG' then st_studium_nr_msg + else st_studium_nr end) as st_studium_nr, + (case when studiengangs_typ_kb='TSG' then st_studium_nr + else null::integer end) as st_studium_nr_tsg, st_studstamm_nr, matrikelnummer, - st_studiengang_nr, - st_studiengang_nr_msg, + (case when studiengangs_typ_kb='TSG' then null::integer + else st_studiengang_nr end) as st_studiengang_nr, + (case when studiengangs_typ_kb='TSG' then st_studiengang_nr + else null::integer end) as st_studiengang_nr_tsg, st_studienstatus_nr, studienstatustyp, statustyp_tsg, tsg_generated, + studiengangs_typ_kb, hrst, semester, fachsemester, @@ -1084,11 +1100,16 @@ cast (NULL as int) as studiengang_nr2, hzb_jahr, hzb_datum, hzb_note, - abm_art_s, - abm_art_s_msg, + (case when studiengangs_typ_kb='TSG' then abm_art_s_msg + else abm_art_s end) as abm_art_s , + (case when studiengangs_typ_kb='TSG' then abm_art_s + else null::char(10) end) as abm_art_s_tsg , po_stp_stp_version_kb, po_regelstudienzeit, - studiengangs_identifikator_msg, + (case when studiengangs_typ_kb='TSG' then studiengangs_identifikator_msg + else studiengangs_identifikator end) as studiengangs_identifikator, + (case when studiengangs_typ_kb='TSG' then studiengangs_identifikator + else null::varchar(255) end) as studiengangs_identifikator_tsg, 1 as summe from tmp_studien3 where kz_rueck_beur_ein is null diff --git a/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml b/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml index 26079f3..9cd383b 100644 --- a/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml +++ b/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml @@ -236,18 +236,14 @@ null::char(1) as field_of_study, primaerflag as primaerfach, unikey , po_regelstudienzeit ,-- individual_number_of_semesters -coalesce(F.st_studium_nr_msg,F.st_studium_nr) as degree_program_id , +F.st_studium_nr as degree_program_id , null::char(10) as hssem_valid, null::Char(10) as k_field_of_study_subj_id, F.kz_rueck_beur_ein_tsg, endedat_tsg, -(case when G.studiengangs_typ_kb='TSG' then abm_art_s_msg -else abm_art_s end) as abmeldegrund, -(case when G.studiengangs_typ_kb='TSG' then abm_art_s -else null::char(10) -end) as abmeldegrund_tsg, -(case when G.studiengangs_typ_kb='TSG' then F.studiengangs_identifikator_msg -else G.studiengangs_identifikator end) as degree_program_uniquename +abm_art_s as abmeldegrund, +abm_art_s_tsg as abmeldegrund_tsg, +G.studiengangs_identifikator as degree_program_uniquename FROM costage_st_studiengaenge G, costage_st_studien_aggr F WHERE G.st_studiengang_nr=F.st_studiengang_nr @@ -299,23 +295,22 @@ P.matrikelnummer, P.studiengang_nr, P.fach_nr, G.abschluss, -(case when P.leistungsdetailtyp_kb='TSAB' then P.semester_msg -else P.semester end) as semester_msg, -(case when P.leistungsdetailtyp_kb='TSAB' then P.leistungsdatum_msg -else P.leistungsdatum end) as leistungsdatum_msg, +(case when leistungsdetailtyp_kb='TSAB' then P.semester_tsg +else P.semester end) as semester, +P.leistungsdatum, G.skz_key as stg, null::integer as vert, null::integer as schwp, string_not_null(G.fachkennzeichen), -(case when P.leistungsdetailtyp_kb='TSAB' then P.note_msg -else P.note end) as note_msg, +P.note, null::char(7), --pruefungsamt_nr P.abschnitt as pnr, P.po_stp_stp_version_kb as pversion, -(case when leistungsdetailtyp_kb!='TSAB' then P.leistungsstatus_map_kb else P.leistungsstatus_map_kb_msg end) as pstatus, -(case when leistungsdetailtyp_kb!='TSAB' then P.fachsemester else null::integer end) as fachsemester, +P.leistungsstatus_map_kb as pstatus, +P.fachsemester, P.leistungsdetailtyp_kb as part, -P.leistung_nr, +(case when leistungsdetailtyp_kb='TSAB' then P.leistung_nr_tsg +else P.leistung_nr end) as leistung_nr, null::integer as pversuch, null::char(7)as ppruef1, null::char(7) as ppruef2, @@ -331,17 +326,17 @@ null::CHAR(1), --stuart G.stufrm, null::CHAR(1), --stutyp st_studium_nr as degree_program_id, -(case when leistungsdetailtyp_kb='TSAB' then semester else null::integer end) as sem_der_pruefung_exa, -(case when leistungsdetailtyp_kb='TSAB' then leistungsdatum else null::date end) as d_abg_pruefung_exa, -(case when leistungsdetailtyp_kb='TSAB' then leistungsstatus_map_kb else null::char(10) end) as pstatus_tsg, -(case when leistungsdetailtyp_kb='TSAB' then note else null::float end) as note_tsg, -(case when leistungsdetailtyp_kb='TSAB' then fachsemester else null::integer end) as fach_sem_zahl_tsg +semester_tsg, +leistungsdatum_tsg, +leistungsstatus_map_kb_tsg as pstatus_tsg, +note_tsg, +fachsemester_tsg as fach_sem_zahl_tsg FROM costage_st_pruef_aggr P, costage_st_studiengaenge G where G.st_studiengang_nr=P.st_studiengang_nr and ($EXTERNAL_SUBJECTS ='true' or P.unikey=(select H.hs_nr::char(10) from hochschulinfo H) ) -AND P.semester >= $start_pruef_sem +AND (P.semester >= $start_pruef_sem or P.semester_tsg >= $start_pruef_sem) ; @@ -1089,14 +1084,14 @@ select * from k_stg where 1=0; = $start_pruef_sem ; ]]>