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