|
|
|
--Freemarker Template
|
|
|
|
<sqlvars>
|
|
|
|
<sqlvar name="status_werte" type="hashsequence">
|
|
|
|
SELECT nr,
|
|
|
|
bw_sb_stat_nr,
|
|
|
|
wert,
|
|
|
|
name
|
|
|
|
FROM costage_bw_sb_status_werte
|
|
|
|
;
|
|
|
|
</sqlvar>
|
|
|
|
</sqlvars>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<#assign bw_stati = [
|
|
|
|
{"kb":"vss", "nr":20,"name":"Formale Zulassungsvoraussetzungen"},
|
|
|
|
{"kb":"dok", "nr":30,"name":"Bewerbungsunterlagen"},
|
|
|
|
{"kb":"zul", "nr":40,"name":"Zulassung"},
|
|
|
|
{"kb":"stpl", "nr":50,"name":"Studienplatzangebot"},
|
|
|
|
{"kb":"qvss", "nr":60,"name":"Fachliche Zulassungsvoraussetzungen"},
|
|
|
|
{"kb":"abgabe", "nr":80,"name":"Bewerbungsabgabe"},
|
|
|
|
{"kb":"evs", "nr":90,"name":"Einschreibungsvoraussetzungen"}
|
|
|
|
|
|
|
|
] />
|
|
|
|
|
|
|
|
SELECT B.nr,
|
|
|
|
B.st_studstamm_nr,
|
|
|
|
B.st_sem_nr,
|
|
|
|
B.st_studiengang_nr,
|
|
|
|
B.st_studfrm_nr,
|
|
|
|
B.bw_sb_svor_nr,
|
|
|
|
B.bw_zul_art_nr,
|
|
|
|
B.bw_typ_kb,
|
|
|
|
B.zurueckgezogen_am,
|
|
|
|
B.fristbeginn,
|
|
|
|
B.fristende,
|
|
|
|
B.einstiegs_fachsemester,
|
|
|
|
B.fachsemester_gewaehlt,
|
|
|
|
B.abgeschickt_datum,
|
|
|
|
E.semester_tid as semester,
|
|
|
|
S.matrikelnummer,
|
|
|
|
<#foreach bw_status in bw_stati>
|
|
|
|
null::char(1) as status_${bw_status.kb} ,
|
|
|
|
null::char(1) as status_msg_${bw_status.kb} ,
|
|
|
|
</#foreach>
|
|
|
|
null::char(10) as stufrm,
|
|
|
|
null::char(10) as unikey,
|
|
|
|
null::integer as studiengang_nr,
|
|
|
|
null::integer as fach_nr,
|
|
|
|
null::integer as st_studiengang_nr_msg,
|
|
|
|
null::integer as bw_bewerbng_nr_msg,
|
|
|
|
null::char(10) as bew_kz,
|
|
|
|
null::char(10) as zul_kz,
|
|
|
|
null::char(10) as annahme_kz,
|
|
|
|
null::char(10) as einschreib_kz,
|
|
|
|
null::CHAR(10) as hzb_art ,
|
|
|
|
null::DATE as hzb_datum ,
|
|
|
|
null::FLOAT as hzb_note ,
|
|
|
|
null::INTEGER as hzb_ort ,
|
|
|
|
null::INTEGER as hzb_staat ,
|
|
|
|
null::INTEGER as hzb_st_land_nr
|
|
|
|
|
|
|
|
into temp tmp_bew
|
|
|
|
FROM costage_st_semester E, costage_bw_bewerbungen B
|
|
|
|
left outer join costage_st_studierendenstammdaten S
|
|
|
|
on (B.st_studstamm_nr=S.st_studstamm_nr)
|
|
|
|
where E.st_sem_nr=B.st_sem_nr
|
|
|
|
--and B.bw_typ_kb not in ('MBW') --keine Mehrfachbewerbung
|
|
|
|
--and B.st_studstamm_nr=1186303
|
|
|
|
;
|
|
|
|
--klappt nicht weil nicht eindeutig:
|
|
|
|
-- update tmp_bew set bw_bewerbng_nr_msg=K.bw_bewrbng_nr
|
|
|
|
-- from costage_bw_bewerbung_kombination K
|
|
|
|
-- where K.bw_bewrbng_nr_teil=tmp_bew.nr
|
|
|
|
-- and tmp_bew.bw_typ_kb='TBW'
|
|
|
|
-- ;
|
|
|
|
|
|
|
|
-- update tmp_bew set st_studiengang_nr_msg=B.st_studiengang_nr
|
|
|
|
-- from costage_bw_bewerbungen B
|
|
|
|
-- where B.nr=tmp_bew.bw_bewerbng_nr_msg
|
|
|
|
-- and tmp_bew.bw_typ_kb='TBW'
|
|
|
|
-- ;
|
|
|
|
|
|
|
|
update tmp_bew set unikey=K.unikey
|
|
|
|
from costage_st_studiengaenge G, costage_st_studienkennzahlen K
|
|
|
|
where G.st_studiengang_nr=tmp_bew.st_studiengang_nr
|
|
|
|
and K.st_skz_nr=G.st_skz_nr
|
|
|
|
;
|
|
|
|
|
|
|
|
update tmp_bew set stufrm=F.statistik_code
|
|
|
|
from costage_st_studienformen F
|
|
|
|
where F.nr=tmp_bew.st_studfrm_nr
|
|
|
|
;
|
|
|
|
|
|
|
|
<#foreach bw_status in bw_stati>
|
|
|
|
<#foreach wert in status_werte>
|
|
|
|
<#if bw_status.nr == wert.bw_sb_stat_nr>
|
|
|
|
-- update tmp_bew set status_${bw_status.kb}=S.wert
|
|
|
|
-- from costage_bw_bewerb_sb_status S
|
|
|
|
-- where tmp_bew.nr=S.bw_bewerbng_nr
|
|
|
|
-- and S.bw_sb_stat_nr =${bw_status.nr}
|
|
|
|
-- ;
|
|
|
|
|
|
|
|
update tmp_bew set status_${bw_status.kb}='${wert.wert}'
|
|
|
|
where exists (select S.bw_bewerbng_nr
|
|
|
|
from costage_bw_bewerb_sb_status S
|
|
|
|
where tmp_bew.nr=S.bw_bewerbng_nr
|
|
|
|
and S.bw_sb_stat_nr =${bw_status.nr}
|
|
|
|
and S.wert='${wert.wert}')
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
-- update tmp_bew set status_msg_${bw_status.kb}=S.wert
|
|
|
|
-- from costage_bw_bewerb_sb_status S
|
|
|
|
-- where tmp_bew.bw_bewerbng_nr_msg=S.bw_bewerbng_nr
|
|
|
|
-- and S.bw_sb_stat_nr =${bw_status.nr}
|
|
|
|
-- ;
|
|
|
|
|
|
|
|
--Zum Zeitpunkt der Einschreibung/Annahme muss der Status aus dem MSG kommen.
|
|
|
|
--Die Zuordnung zum MSG ist aber nicht eindeutig. Beispiel Testfall hat in dem TSG Philosophie
|
|
|
|
--zwei mögliche MBW-Kombinationen. Daher mit exists abfragen, ob mind. ein MBW den jew. Status=J hat:
|
|
|
|
|
|
|
|
|
|
|
|
update tmp_bew set status_msg_${bw_status.kb}='${wert.wert}'
|
|
|
|
where exists (select S.bw_bewerbng_nr
|
|
|
|
from costage_bw_bewerb_sb_status S, costage_bw_bewerbung_kombination K
|
|
|
|
where bw_bewrbng_nr_teil=tmp_bew.nr
|
|
|
|
and K.bw_bewrbng_nr=S.bw_bewerbng_nr
|
|
|
|
and S.bw_sb_stat_nr =${bw_status.nr}
|
|
|
|
and S.wert='${wert.wert}')
|
|
|
|
and bw_typ_kb='TBW'
|
|
|
|
;
|
|
|
|
-- update tmp_bew set status_msg_${bw_status.kb}='J'
|
|
|
|
-- where exists (select S.bw_bewerbng_nr
|
|
|
|
-- from costage_bw_bewerb_sb_status S
|
|
|
|
-- where tmp_bew.bw_bewerbng_nr_msg=S.bw_bewerbng_nr
|
|
|
|
-- and S.bw_sb_stat_nr =${bw_status.nr}
|
|
|
|
-- and S.wert='J')
|
|
|
|
-- ;
|
|
|
|
</#if>
|
|
|
|
</#foreach>
|
|
|
|
</#foreach>
|
|
|
|
|
|
|
|
|
|
|
|
update tmp_bew set bew_kz='J' where status_vss='J';
|
|
|
|
;
|
|
|
|
update tmp_bew set zul_kz='J' where status_zul='J';
|
|
|
|
;
|
|
|
|
--beim MSG annahme_kz/einschreib_kz noch runterschreiben auf TSG
|
|
|
|
update tmp_bew set status_stpl='J' where status_msg_stpl='J';
|
|
|
|
update tmp_bew set status_evs='J' where status_msg_evs='J';
|
|
|
|
|
|
|
|
update tmp_bew set annahme_kz='J' where status_stpl='J'
|
|
|
|
;
|
|
|
|
update tmp_bew set einschreib_kz='J' where status_evs='J'
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
--TODO:
|
|
|
|
update tmp_bew
|
|
|
|
set hzb_art=H.hzb_art_stla_code,
|
|
|
|
hzb_datum=H.zeugnisdatum,
|
|
|
|
hzb_note=H.hzb_note,
|
|
|
|
hzb_ort=H.land_sub_r_nr,
|
|
|
|
hzb_st_land_nr=H.land_nr
|
|
|
|
from costage_bw_bewerb_hzb H, costage_bw_bewerbungen BW
|
|
|
|
where tmp_bew.st_studstamm_nr = BW.st_studstamm_nr
|
|
|
|
and BW.nr=H.bw_bewrbng_nr
|
|
|
|
;
|
|
|
|
update tmp_bew set hzb_staat=val(L.statistik_code)
|
|
|
|
from costage_st_laender L
|
|
|
|
where L.st_land_nr=tmp_bew.hzb_st_land_nr
|
|
|
|
;
|
|
|
|
|
|
|
|
truncate table costage_bw_antr_aggr;
|
|
|
|
insert into costage_bw_antr_aggr( nr,
|
|
|
|
st_studstamm_nr,
|
|
|
|
matrikelnummer,
|
|
|
|
semester,
|
|
|
|
st_studiengang_nr,
|
|
|
|
st_studiengang_nr_msg,
|
|
|
|
bw_bewerbng_nr_msg,
|
|
|
|
unikey,
|
|
|
|
studiengang_nr,
|
|
|
|
fach_nr,
|
|
|
|
fachsemester,
|
|
|
|
stufrm,
|
|
|
|
bw_sb_svor_nr,
|
|
|
|
bw_zul_art_nr,
|
|
|
|
bw_typ_kb,
|
|
|
|
<#foreach bw_status in bw_stati>
|
|
|
|
status_${bw_status.kb},
|
|
|
|
</#foreach>
|
|
|
|
bew_kz,
|
|
|
|
zul_kz,
|
|
|
|
annahme_kz,
|
|
|
|
einschreib_kz,
|
|
|
|
hzb_art,
|
|
|
|
hzb_datum,
|
|
|
|
hzb_note,
|
|
|
|
hzb_ort,
|
|
|
|
hzb_staat,
|
|
|
|
summe
|
|
|
|
)
|
|
|
|
SELECT nr,
|
|
|
|
st_studstamm_nr,
|
|
|
|
val(matrikelnummer),
|
|
|
|
semester,
|
|
|
|
st_studiengang_nr,
|
|
|
|
st_studiengang_nr_msg,
|
|
|
|
bw_bewerbng_nr_msg,
|
|
|
|
unikey,
|
|
|
|
studiengang_nr,
|
|
|
|
fach_nr,
|
|
|
|
einstiegs_fachsemester as fachsemester,
|
|
|
|
stufrm,
|
|
|
|
bw_sb_svor_nr,
|
|
|
|
bw_zul_art_nr,
|
|
|
|
bw_typ_kb,
|
|
|
|
<#foreach bw_status in bw_stati>
|
|
|
|
status_${bw_status.kb},
|
|
|
|
</#foreach>
|
|
|
|
bew_kz,
|
|
|
|
zul_kz,
|
|
|
|
annahme_kz,
|
|
|
|
einschreib_kz,
|
|
|
|
hzb_art,
|
|
|
|
hzb_datum,
|
|
|
|
hzb_note,
|
|
|
|
hzb_ort,
|
|
|
|
hzb_staat,
|
|
|
|
count(*)
|
|
|
|
from tmp_bew
|
|
|
|
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,31;
|
|
|
|
|
|
|
|
drop table tmp_bew;
|
|
|
|
|