diff --git a/src-modules/module/costage/conf/costage.xml b/src-modules/module/costage/conf/costage.xml index b118315..12ed269 100644 --- a/src-modules/module/costage/conf/costage.xml +++ b/src-modules/module/costage/conf/costage.xml @@ -423,6 +423,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> +nur bei TSG ESG oder, bei TSG, der Status des MSG @@ -506,13 +507,16 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> +nur bei TSG + + - + Hauptprüfung/TSAB Prüfungsordnung Nr. @@ -521,6 +525,9 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> J/N gültig/In Bearbeitung + + + @@ -1275,6 +1282,11 @@ parent="CO Basisdaten">Abfragen zu Prüfungen und Leistungen displayType="select" visibleFields="semester_bezeichnung" format="%s"> + + + + 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 65667b5..dfb2600 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 @@ -1,13 +1,15 @@ SELECT -S.st_studium_nr, +L.st_studium_nr, S.st_studstamm_nr, -S.matrikelnummer, -S.st_studiengang_nr, -S.st_studienstatus_nr, -S.semester, -S.fachsemester, -S.unikey, +val(L.matrikelnummer) as matrikelnummer, +null::integer as st_studiengang_nr, +null::integer as studiengang_nr, +null::integer as fach_nr, +null::integer as st_studienstatus_nr, +E.semester_tid as semester, +null::integer as fachsemester, +null::varchar(255) as unikey, L.leistung_nr, L.leistungstyp_nr, L.leistungsdetailtyp_kb, @@ -40,14 +42,16 @@ L.zusatzleistung_flag, L.leistungsstatus_nr, L.leistungsstatus_map_kb, 2::integer as abschnitt, --provisorisch erstmal nur Hauptprüfungen -null::integer as pnr +null::integer as pnr, +null::integer as leistung_nr_msg, +null::integer as st_studiengang_nr_msg, +null::date as leistungsdatum_msg, +null::integer as semester_msg into temp tmp_pruef -FROM costage_st_studien_aggr S, costage_leistungen L, costage_st_semester E, costage_leistungen_typen T -where L.st_studium_nr=S.st_studium_nr -and L.matrikelnummer=S.matrikelnummer::varchar(255) -and E.semester_id=L.veranstaltung_semester -and E.semester_tid=S.semester +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::varchar(255)=L.matrikelnummer -- TSAB/AB: and T.kurzbezeichnung='AP' --Abschlussprüfung and L.leistungsstatus_nr in (4,2) --Letztgültig/Final/gültige Leistung @@ -58,26 +62,49 @@ and L.leistungsstatus_nr in (4,2) --Letztgültig/Final/gültige Leistung --3^I^ungültige Leistung^invalid^ --5^D^gelöscht^deleted^ ; ---TSAB: -update tmp_pruef set pnr=9068 -where leistungsdetailtyp_kb in ('TSAB'); + + +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 +; ---Abschluss Bachelorstudium: -update tmp_pruef set pnr=9024 -where leistungsdetailtyp_kb in ('BAKN') +update tmp_pruef set +st_studienstatus_nr=S.st_studienstatus_nr, +fachsemester = S.fachsemester, +studiengang_nr=S.studiengang_nr, +fach_nr=S.fach_nr, +unikey=S.unikey, +st_studiengang_nr_msg=S.st_studiengang_nr_msg +from costage_st_studien_aggr S +where S.st_studium_nr=tmp_pruef.st_studium_nr +and S.matrikelnummer=tmp_pruef.matrikelnummer +and S.semester=tmp_pruef.semester ; ---Abschluss Masterstudium -update tmp_pruef set pnr=9025 -where leistungsdetailtyp_kb in ('BAKN'); ---Staatsexamen -update tmp_pruef set pnr=9054 -where leistungsdetailtyp_kb in ('STEX'); ---Abschluss eines Ergänzungsstudiums -update tmp_pruef set pnr=9060 -where leistungsdetailtyp_kb in ('ERGAB'); - +--MSG-Daten nachladen: +--zuerst Kopie nur mit MSG: +select * into temp tmp_pruef2 +from tmp_pruef +where leistungsdetailtyp_kb !='TSAB' +; + +update tmp_pruef set leistung_nr_msg=T.leistung_nr, +leistungsdatum_msg=T.leistungsdatum, +semester_msg=T.semester +from tmp_pruef2 T +where tmp_pruef.leistungsdetailtyp_kb ='TSAB' +and T.matrikelnummer=tmp_pruef.matrikelnummer +and T.st_studiengang_nr=tmp_pruef.st_studiengang_nr_msg +; + +update tmp_pruef set leistung_nr_msg=leistung_nr, +leistungsdatum_msg=leistungsdatum, +semester_msg=semester +where tmp_pruef.leistungsdetailtyp_kb !='TSAB' +; truncate table costage_st_pruef_aggr; @@ -86,6 +113,9 @@ insert into costage_st_pruef_aggr(st_studium_nr, matrikelnummer, semester, st_studiengang_nr, + st_studiengang_nr_msg, + studiengang_nr, + fach_nr, unikey, studienidentifikator, fachsemester, @@ -100,6 +130,9 @@ insert into costage_st_pruef_aggr(st_studium_nr, leistungsdatum, anerkannt_flag, leistungsstatus_map_kb, + leistung_nr_msg, + leistungsdatum_msg, + semester_msg, summe) select st_studium_nr, @@ -107,6 +140,9 @@ select matrikelnummer, semester, st_studiengang_nr, + st_studiengang_nr_msg, + studiengang_nr, + fach_nr, unikey, substring(studienidentifikator from 1 for 255), fachsemester, @@ -121,9 +157,12 @@ select leistungsdatum, anerkannt_flag, leistungsstatus_map_kb, + leistung_nr_msg, + leistungsdatum_msg, + semester_msg, count(*) from tmp_pruef - group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19; + 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; drop table tmp_pruef; 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 910fb33..472958c 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 @@ -165,7 +165,7 @@ min(T.semester) as startsemester, max(T.semester) as endsemester into temp tmp_studien_msg from tmp_studien T -where T.studienstatustyp in ('B','E','I','X') --nur tatsächlich eingeschrieben +where T.studienstatustyp in ('U','B','E','I','X') --nur tatsächlich eingeschrieben and T.studiengangs_typ_kb ='MSG'--enthält die MSG and T.status_historie=1 group by 1,2 @@ -370,13 +370,6 @@ and T.st_studiengang_nr_msg=tmp_studien2.st_studiengang_nr_msg ) ; -select distinct st_studiengang_nr_msg, matrikelnummer, semester -into temp temp_tmp_studien2 -from tmp_studien2 -where primaerflag =1 -and studiengangs_typ_kb ='TSG'; - - delete from costage_st_studien_aggr --provisorisch in Testphase: where ${COSTAGE_STUDENT_FILTER}; @@ -388,6 +381,7 @@ st_studium_nr, st_studstamm_nr, matrikelnummer, st_studiengang_nr, + st_studiengang_nr_msg, st_studienstatus_nr, statustyp, statustyp_tsg, @@ -413,6 +407,7 @@ select st_studium_nr, st_studstamm_nr, matrikelnummer, st_studiengang_nr, + st_studiengang_nr_msg, st_studienstatus_nr, studienstatustyp, statustyp_tsg, @@ -457,6 +452,7 @@ st_studium_nr, st_studstamm_nr, matrikelnummer, st_studiengang_nr, + st_studiengang_nr_msg, st_studienstatus_nr, statustyp, statustyp_tsg, @@ -482,6 +478,7 @@ select st_studium_nr, st_studstamm_nr, matrikelnummer, st_studiengang_nr, + st_studiengang_nr_msg, st_studienstatus_nr, studienstatustyp, statustyp_tsg, diff --git a/src-modules/module/costage/masken/43080_felderinfo.unl b/src-modules/module/costage/masken/43080_felderinfo.unl index 96679d2..acbb48c 100644 --- a/src-modules/module/costage/masken/43080_felderinfo.unl +++ b/src-modules/module/costage/masken/43080_felderinfo.unl @@ -7,7 +7,10 @@ order by 1^ ^^ 43081^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<> select semester_tid, semester_bezeichnung from costage_st_semester order by 1 DESC;^ ^<> select semester_tid, semester_bezeichnung from costage_st_semester where today()-365 between date(semester_anfang) and date(semester_ende);^ 43083^Staatsangehörigkeit^36^0^0^130^150^10^sql^30^0^1^<> SELECT st_land_nr, name from costage_st_laender order by 2;^^^ 43084^Prüfungsstatus^14^350^-1^140^180^1^char^30^0^1^<> select apnr,druck from cifx where key=622 order by 2^^ ^ -43085^Studienabschnitt^10^330^-1^130^150^1^integer^4^0^13^<> select tid, eintrag from studienabschnitt where tid <= 2;^^<> select tid, eintrag from studienabschnitt where tid = 2;^ +43085^Auswertungsebene Prüfungen^25^330^-1^130^150^1^char^4^0^1^<> select 'G','Gesamtabschluss' from xdummy\ +union select 'F','Absolvent*innenfachfälle' from xdummy\ +union select 'T','Teilstudienabschluss' from xdummy\ +order by 1;^^ ^ 43086^Weitere Tabellen^123^0^0^140^140^10^char^30^0^1^<> \ --freemarker template\ select name,string_not_null(caption) || ' - ' || name from sx_tables where name in ('costage_st_studierendenstammdaten','costage_st_studiengaenge')\ @@ -15,8 +18,8 @@ select name,string_not_null(caption) || ' - ' || name from sx_tables where name and name in (select distinct tablename from stylesheet_field where stylesheet_id in (select tid from sx_stylesheets where filename=<>)) \ \ order by 2^^^ -43087^Leistungsdetailtyp^35^350^-1^140^100^10^integer^30^0^1^<> select leistungsdetailtyp_kb,name_de from costage_leistungen_detail_typen\ -where leistungsdetailtyp_kb in (select distinct leistungsdetailtyp_kb from costage_st_pruef_aggr);^^^ +43087^Leistungsdetailtyp^20^350^-1^140^100^10^char^30^0^1^<> select leistungsdetailtyp_kb,name_de from costage_leistungen_detail_typen\ +where leistungsdetailtyp_kb in (select distinct leistungsdetailtyp_kb from costage_st_pruef_aggr);^ ^ ^ 43089^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<> select semester_tid, semester_bezeichnung from costage_st_semester order by 1 DESC;^ ^<> select semester_tid, semester_bezeichnung from costage_st_semester where today() between date(semester_anfang) and date(semester_ende);^ 43090^Fach-Nr.^119^0^0^140^150^1^integer^20^0^13^<> --Freemarker template\ <#list 1..10 as i>\ @@ -34,7 +37,7 @@ order by 1^ ^^ count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\ and apnr=1)) \ <#if <>='tabelle_html_datenblatt.xsl'>\ - and (F.table_name ='costage_st_studien_aggr'\ + and (F.table_name ='costage_st_pruef_aggr'\ /* or F.table_name in (<>) */) \ <#else>\ and trim(F.table_name) || '.' || F.name in (select trim(tablename)||'.'||trim(fieldname) from stylesheet_field where stylesheet_id in \ @@ -63,5 +66,5 @@ where K.unikey=H.hs_nr::char(10)^ name\ FROM costage_st_abschlussziele_lokal\ order by 2;^^^ -43102^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^0^^^^ +43102^Matrikel-Nr.^30^350^-1^150^180^1^char^200^0^0^^^^ 43103^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^ diff --git a/src-modules/module/costage/masken/43080_maskeninfo.unl b/src-modules/module/costage/masken/43080_maskeninfo.unl index 127dffd..2ad48cf 100644 --- a/src-modules/module/costage/masken/43080_maskeninfo.unl +++ b/src-modules/module/costage/masken/43080_maskeninfo.unl @@ -65,12 +65,9 @@ SELECT name,\ \ <#assign filter="\ /* and hrst in (<>) */\ -/* and semester >= <> */\ -/* and semester <= <> */\ /* AND leistungsdetailtyp_kb in (<>) */\ /* and leistungsstatus_map_kb in(<>) */\ /* and costage_st_pruef_aggr.st_studiengang_nr in (select G.st_studiengang_nr from costage_st_studiengaenge G where G.abschluss in (<>)) */\ -/* and costage_st_pruef_aggr.st_studiengang_nr in (select G.st_studiengang_nr from costage_st_studiengaenge G where G.stg in (<>)) */\ /* and studiengang_nr =<> */\ /* and fach_nr =<> */\ /* and costage_st_pruef_aggr.st_studstamm_nr in (select S.st_studstamm_nr from costage_st_studierendenstammdaten S where S.st_land1_nr in (<>) ) */\ @@ -82,8 +79,49 @@ SELECT name,\ <#assign filter=filter+" and costage_st_pruef_aggr.matrikelnummer in (<>)"?replace("'","")/>\ \ \ +--Feld Auswertungsebene Prüfungen\ +--Was wird ausgewertet? Welche Leistungsdetailtypen sin betroffen? Welches Prüfungsdatum/Semester soll ausgewertet werden?\ +--G=Gesamtabschluss=BAKN, MAGN, STEX, ERGAB Prüfungsdatum/Semester\ +--F=Absolvent*innenfachfälle=TSAB Prüfungsdatum/Semester des MSG\ +--T=Teilstudienabschluss=TSAB Prüfungsdatum/Semester\ +\ +<#assign semester_filter="1=1" />\ +<#assign semester_feld="semester" />\ +\ +<#assign fach_filter="1=1" />\ +--Default: TSG\ +/* <#assign fach_filter="costage_st_pruef_aggr.st_studiengang_nr in (select G.st_studiengang_nr from costage_st_studiengaenge G where G.stg in (<>)) "/> \ +*/\ +\ +\ +\ +<#assign ldt_filter="1=1" />\ +/*<#if <>=="G">\ +<#assign ldt_filter="leistungsdetailtyp_kb in ('BAKN', 'MAGN', 'STEX', 'ERGAB')" />\ +<#assign semester_feld="semester_msg" />\ +/* <#assign fach_filter="costage_st_pruef_aggr.st_studiengang_nr in \ +(select M.st_studiengang_nr_msg from costage_st_studiengaenge G , costage_st_studiengaenge_mtsg M\ +where M.st_studiengang_nr_tsg=G.st_studiengang_nr\ +and G.stg in (<>)) "/> \ +*/\ +\ +\ + */\ + /*<#if <>=="F">\ +<#assign ldt_filter="leistungsdetailtyp_kb in ('TSAB')" />\ +<#assign semester_feld="semester_msg" />\ + */\ + /*<#if <>=="T">\ +<#assign ldt_filter="leistungsdetailtyp_kb in ('TSAB')" />\ + */\ +\ +\ +/* <#assign semester_filter=semester_filter + " and "+semester_feld + " >= <>" /> */\ +/* <#assign semester_filter=semester_filter + " and "+semester_feld + " <= <>" /> */\ +\ +\ +<#assign filter=filter+" and "+ldt_filter + " and " + semester_filter +" and " + fach_filter />\ \ - \ <@generate_resultset_multitable tabellen=table_list\ p_show_keys=<>\ p_field_list_select=field_list_select\ diff --git a/src-modules/module/costage/rohdaten/sos_costage_unload.x b/src-modules/module/costage/rohdaten_sos/sos_costage_unload.x similarity index 100% rename from src-modules/module/costage/rohdaten/sos_costage_unload.x rename to src-modules/module/costage/rohdaten_sos/sos_costage_unload.x diff --git a/src-modules/module/costage/rohdaten/sos_costage_unload.xml b/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml similarity index 98% rename from src-modules/module/costage/rohdaten/sos_costage_unload.xml rename to src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml index 9984641..4ef36c6 100644 --- a/src-modules/module/costage/rohdaten/sos_costage_unload.xml +++ b/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml @@ -1670,8 +1670,9 @@ null::char(1),-- -- country.astat nur h1 null::char(1) , --Art der Promotion null::char(1) as field_of_study, primaerflag as primaerfach, -unikey --, ---null::numeric(9,6) -- individual_number_of_semesters +unikey , +null::numeric(9,6) ,-- individual_number_of_semesters +F.st_studium_nr as degree_program_id FROM costage_st_studiengaenge G, costage_st_studien_aggr F, superx_sos S WHERE F.matrikelnummer = S.mtknr and G.st_studiengang_nr=F.st_studiengang_nr @@ -2506,8 +2507,8 @@ on (C.id=L.course_of_study_id) = $start_pruef_sem @@ -3151,7 +3159,13 @@ WHERE CURRENT_DATE BETWEEN ou.valid_from AND ou.valid_to AND @@ -5300,8 +5314,8 @@ null as parent, abint,--sortc1 wird später uniquename ' ', null as sprache, -null as gueltig_von, -null as gueltig_bis, +null::date as gueltig_von, +null::date as gueltig_bis, abint, --sourcesystem_id ' ', --hiskey_id aikz, --struktur_c @@ -5324,8 +5338,8 @@ null as parent, apnr, --sortc1 wird später uniquename null as bund_apnr, null as sprache, -null as gueltig_von, -null as gueltig_bis, +null::date gueltig_von, +null::date gueltig_bis, apnr , --sourcesystem_id ' ', --hiskey_id struktur_c as fb, @@ -5347,8 +5361,8 @@ null as sortorder studienform_statistik_code , '', '', -null as gueltig_von, -null as gueltig_bis, +null::date as gueltig_von, +null::date as gueltig_bis, studienform_statistik_code , --sourcesystem_id '', --hiskey_id '' , --struktur_c @@ -5372,8 +5386,8 @@ null as sortorder hoererstatus_kb , ' ', ' ', -null as gueltig_von, -null as gueltig_bis, +null::date as gueltig_von, +null::date as gueltig_bis, hoererstatus_kb, --sourcesystem_id ' ' , --hiskey_id ' ' , --struktur_c @@ -5394,8 +5408,8 @@ null as parent, fachkennzeichen,--sortc1 wird später uniquename ' ', null as sprache, -null as gueltig_von, -null as gueltig_bis, +null::date as gueltig_von, +null::date as gueltig_bis, fachkennzeichen, --sourcesystem_id ' ', --hiskey_id 'A', --struktur_c @@ -5406,20 +5420,20 @@ null as sortorder WHERE fachkennzeichen is not null and trim(fachkennzeichen)!='' union - SELECT distinct + SELECT distinct 622, -1, leistungsstatus_map_kb as pstatus, leistungsstatus_map_kb as ktxt, leistungsstatus_map_kb as dtxt, leistungsstatus_map_kb as ltxt, - -- '', - -- '', + '', + '', leistungsstatus_map_kb , - -- '', - -- '', - '', --gültig von - '', --gültig bis + '', + '', +null::date ,-- gültig von, +null::date, -- gültig bis, leistungsstatus_map_kb , --sourcesystem_id '' , --hiskey_id '' , --struktur_c @@ -5440,8 +5454,8 @@ null as sortorder statistik_code as akfz,--uniqename '' as erdteil, '' , -null as gueltig_von, -null as gueltig_bis, +null::date as gueltig_von, +null::date as gueltig_bis, statistik_code, --sourcesystem_id '' , --hiskey_id '' ,--egmitgl struktur_c @@ -5463,8 +5477,8 @@ R.statistik_code as astat, R.statistik_code as bland, '', '', -null as gueltig_von, -null as gueltig_bis, +null::date as gueltig_von, +null::date as gueltig_bis, R.statistik_code , --sourcesystem_id '' , --hiskey_id '', --struktur_c @@ -5488,8 +5502,8 @@ SELECT '1',--status, ' ', ' ', -null as gueltig_von, -null as gueltig_bis, +null::date as gueltig_von, +null::date as gueltig_bis, '1', --sourcesystem_id ' ' , --hiskey_id ' ' , --struktur_c @@ -5510,8 +5524,8 @@ null as sortorder '2',--status, ' ', ' ', -null as gueltig_von, -null as gueltig_bis, +null::date as gueltig_von, +null::date as gueltig_bis, '2', --sourcesystem_id ' ' , --hiskey_id ' ' , --struktur_c @@ -5532,8 +5546,8 @@ null as sortorder '3',--status, ' ', ' ', -null as gueltig_von, -null as gueltig_bis, +null::date as gueltig_von, +null::date as gueltig_bis, '3', --sourcesystem_id ' ' , --hiskey_id ' ' , --struktur_c @@ -5554,8 +5568,8 @@ null as sortorder '4',--status, ' ', ' ', -null as gueltig_von, -null as gueltig_bis, +null::date as gueltig_von, +null::date as gueltig_bis, '4', --sourcesystem_id ' ' , --hiskey_id ' ' , --struktur_c @@ -5576,8 +5590,8 @@ null as sortorder '5',--status, ' ', ' ', -null as gueltig_von, -null as gueltig_bis, +null::date as gueltig_von, +null::date as gueltig_bis, '5', --sourcesystem_id ' ' , --hiskey_id ' ' , --struktur_c @@ -7227,5 +7241,32 @@ select * from k_stg where 1=0; ]]> - + + + + + + + + + + + + diff --git a/src-modules/module/costage/rohdaten/sos_v1_unload.x b/src-modules/module/costage/rohdaten_sos/sos_v1_unload.x similarity index 100% rename from src-modules/module/costage/rohdaten/sos_v1_unload.x rename to src-modules/module/costage/rohdaten_sos/sos_v1_unload.x diff --git a/src-modules/module/costage/rohdaten/sos_v1_unload.xml b/src-modules/module/costage/rohdaten_sos/sos_v1_unload.xml similarity index 100% rename from src-modules/module/costage/rohdaten/sos_v1_unload.xml rename to src-modules/module/costage/rohdaten_sos/sos_v1_unload.xml diff --git a/src-modules/module/costage/rohdaten_sos/superx.datum b/src-modules/module/costage/rohdaten_sos/superx.datum new file mode 100644 index 0000000..78959dd --- /dev/null +++ b/src-modules/module/costage/rohdaten_sos/superx.datum @@ -0,0 +1 @@ +23.09.2022