From 5ffde3b67bb18249993efed165fe45d38f810dbc Mon Sep 17 00:00:00 2001 From: Daniel Quathamer Date: Sat, 17 Jun 2023 19:54:33 +0200 Subject: [PATCH] Bewerberstati nachladen #3 --- .../costage_bw_antr_aggr_fuellen.sql | 92 ++++++++++++++----- 1 file changed, 70 insertions(+), 22 deletions(-) diff --git a/src-modules/module/costage/hilfstabellen/costage_bw_antr_aggr_fuellen.sql b/src-modules/module/costage/hilfstabellen/costage_bw_antr_aggr_fuellen.sql index a510a63..5bde9ec 100644 --- a/src-modules/module/costage/hilfstabellen/costage_bw_antr_aggr_fuellen.sql +++ b/src-modules/module/costage/hilfstabellen/costage_bw_antr_aggr_fuellen.sql @@ -1,13 +1,26 @@ --Freemarker Template + + +SELECT nr, + bw_sb_stat_nr, + wert, + name +FROM costage_bw_sb_status_werte + ; + + + + + <#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"} + {"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"} ] /> @@ -49,18 +62,18 @@ 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 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 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 @@ -74,17 +87,52 @@ where F.nr=tmp_bew.st_studfrm_nr ; <#foreach bw_status in bw_stati> -update tmp_bew set status_${bw_status.kb}=S.wert +<#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 + +-- 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') +-- ; + +