diff --git a/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen_mit_primerflag.sql b/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen_mit_primerflag.sql index 30d083c..356edc0 100644 --- a/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen_mit_primerflag.sql +++ b/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen_mit_primerflag.sql @@ -135,8 +135,6 @@ from tmp_studien T where T.studiengangs_typ_kb in ('MSG') and T.status_historie=1 ; - - select 10,timestamp_str(now()) from xdummy; --wir machen den MSG von einer Zeile zu einer Spalte @@ -146,7 +144,8 @@ select *, 1::integer as primaerflag, null::integer as letztes_tsg_semester, null::integer as st_studium_nr_msg, -null::date as abm_dat_s_tsg +null::date as abm_dat_s_tsg, +null::integer as abm_st_studienstatus_nr into temp tmp_studien_esg_tsg from tmp_studien T where T.studiengangs_typ_kb in ('ESG','TSG') and T.status_historie=1 @@ -158,7 +157,9 @@ insert into tmp_studien_esg_tsg select T.*, (case when H.st_studstamm_nr > 0 then 1::integer else 0::integer end) as primaerflag, null::integer as letztes_tsg_semester, -null::integer as st_studium_nr_msg +null::integer as st_studium_nr_msg, +null::date as abm_dat_s_tsg, +null::integer as abm_st_studienstatus_nr from tmp_studien T left outer join costage_st_hauptstudien H on ( H.st_studstamm_nr=T.st_studstamm_nr and H.st_studium_nr=T.st_studium_nr @@ -251,12 +252,14 @@ where tmp_studien_esg_tsg.st_studstamm_nr = H.st_person_nr select 50,timestamp_str(now()) from xdummy; --Abmeldungsart studienbezogen: -update tmp_studien_esg_tsg set abm_art_s=P.st_abm_art_kurzbezeichnung +update tmp_studien_esg_tsg set abm_art_s=P.st_abm_art_kurzbezeichnung, +abm_st_studienstatus_nr=P.st_studienstatus_nr from costage_st_personen_abmeldungen P, costage_st_semester S where S.st_sem_nr=P.st_sem_nr and S.semester_tid=tmp_studien_esg_tsg.semester and P.st_studium_nr=tmp_studien_esg_tsg.st_studium_nr and P.person_flag='N' +and tmp_studien_esg_tsg.studiengangs_typ_kb in ('ESG') ; select 55,timestamp_str(now()) from xdummy; @@ -264,9 +267,7 @@ select 55,timestamp_str(now()) from xdummy; --Endedatum bei TSG nachladen bei Abmeldungen: update tmp_studien_esg_tsg set abm_dat_s_tsg=SA.gueltig_ab from costage_st_studienstatus SA -where SA.st_studium_nr=tmp_studien_esg_tsg.st_studium_nr -and SA.st_sem_nr=tmp_studien_esg_tsg.st_sem_nr -and SA.studienstatustyp in ('Z','X') +where SA.st_studienstatus_nr=tmp_studien_esg_tsg.abm_st_studienstatus_nr and tmp_studien_esg_tsg.abm_art_s is not null ; @@ -274,9 +275,10 @@ select 57,timestamp_str(now()) from xdummy; update tmp_studien_esg_tsg set abm_dat_s=SA.gueltig_ab from costage_st_studienstatus SA -where SA.st_studium_nr=tmp_studien_esg_tsg.st_studium_nr -and SA.st_sem_nr=tmp_studien_esg_tsg.st_sem_nr -and SA.studienstatustyp in ('Z','X') +where --SA.st_studium_nr=tmp_studien_esg_tsg.st_studium_nr +--and SA.st_sem_nr=tmp_studien_esg_tsg.st_sem_nr +--and +SA.st_studienstatus_nr=tmp_studien_esg_tsg.abm_st_studienstatus_nr and tmp_studien_esg_tsg.studiengangs_typ_kb='ESG' --TODO: auskommentieren, damit auch MSG gesetzt werden and tmp_studien_esg_tsg.abm_art_s is not null ; @@ -1317,6 +1319,20 @@ and P.person_flag='N' and costage_st_studien_aggr.studiengangs_typ_kb='TSG' and costage_st_studien_aggr.semester >= ${beginn_semester} ; + +--MSG abm_dat_s nachladen +update costage_st_studien_aggr S set abm_dat_s=SA.gueltig_ab +from costage_st_studienstatus SA, costage_st_personen_abmeldungen P , costage_st_semester E +where SA.st_studienstatus_nr=P.st_studienstatus_nr +and S.st_studium_nr=P.st_studium_nr +and S.semester=E.semester_tid +and E.st_sem_nr=SA.st_sem_nr +and P.st_sem_nr=SA.st_sem_nr +and S.abm_art_s is not null +and S.studiengangs_typ_kb in ('TSG') +and P.person_flag='N' +and S.semester >= ${beginn_semester} +; select 200,timestamp_str(now()) from xdummy; --Beurlaubungs-Art: diff --git a/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen_ohne_primerflag.sql b/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen_ohne_primerflag.sql index 15bc630..b104ee0 100644 --- a/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen_ohne_primerflag.sql +++ b/src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen_ohne_primerflag.sql @@ -111,40 +111,40 @@ where tmp_studien.st_studstamm_nr = H.st_studstamm_nr and tmp_studien.st_sem_nr = H.st_sem_nr and hoererstatus_kb != 'E' --der Hörerstatus "E - Exmatrikuliert" gilt eigentlich erst zum Studienende, hat aber kein "gültig ab" Datum. Der Hörerstatus "E" kann ignoriert werden. ; +--fachsemester: +update tmp_studien T +set fachsemester=F.fachsemester +from costage_st_fachsemester F +where F.st_studium_nr=T.st_studium_nr +and F.st_sem_nr=T.st_sem_nr +and F.fachsemestertyp='FS' +; + +select 35,timestamp_str(now()) from xdummy; + + +--praxissemester: +update tmp_studien T +set praxissemester=F.fachsemester +from costage_st_fachsemester F +where F.st_studium_nr=T.st_studium_nr +and F.st_sem_nr=T.st_sem_nr +and F.fachsemestertyp='PS' +; + +select 36,timestamp_str(now()) from xdummy; -<#if K_CO_interpret_primaerflag==2> - -select 5,'studiengang_nr aus astat',timestamp_str(now()) from xdummy; - -update tmp_studien T set stg_astat=(select F.statistik_code -from costage_st_studiengaenge G, costage_st_studienfaecher F,costage_st_studienkennzahlen SK -where T.st_studiengang_nr=G.st_studiengang_nr -and F.st_stdfach_nr=SK.st_stdfach_nr -and G.skz_key=SK.skz_key); - -update tmp_studien T set abschluss_astat=(select A.statistik_code -from costage_st_studiengaenge G, costage_st_abschlussziele_amtstat A,costage_st_abschlussziele_lokal AL -where T.st_studiengang_nr=G.st_studiengang_nr -and A.st_absz_amtstat_nr=AL.st_absz_amtstat_nr -and G.st_absz_nr=AL.st_absz_nr); - -update tmp_studien T set (studiengang_nr,fach_nr,studiengang_nr_aus_astat)= -(select A.studiengang_nr,A.fach_nr,1 - FROM qa_sos_stg_aggr_astat A - where A.matrikel_nr=T.matrikelnummer - and A.sem_rueck_beur_ein=T.semester - and A.stg=T.stg_astat - and A.abschluss=T.abschluss_astat - and A.kz_rueck_beur_ein!=5) - where 1=(select count(*) - FROM qa_sos_stg_aggr_astat A - where A.matrikel_nr=T.matrikelnummer - and A.sem_rueck_beur_ein=T.semester - and A.stg=T.stg_astat - and A.abschluss=T.abschluss_astat - and A.kz_rueck_beur_ein!=5); -<#elseif K_CO_interpret_primaerflag==0> +--klinsem +update tmp_studien T +set klinsem=F.fachsemester +from costage_st_fachsemester F +where F.st_studium_nr=T.st_studium_nr +and F.st_sem_nr=T.st_sem_nr +and F.fachsemestertyp='KS' +; + +<#if K_CO_interpret_primaerflag==0> select 7,'studiengang_nr aus beginn_datum_s',timestamp_str(now()) from xdummy; diff --git a/src-modules/module/costage/rohdaten_zul/zul_costage_unload.xml b/src-modules/module/costage/rohdaten_zul/zul_costage_unload.xml index e4ed69c..a5a224c 100644 --- a/src-modules/module/costage/rohdaten_zul/zul_costage_unload.xml +++ b/src-modules/module/costage/rohdaten_zul/zul_costage_unload.xml @@ -409,7 +409,31 @@ select * from costage_st_studiengaenge where 1=0; Schluesseltabelle cifx