From efd96b6d85a0826f3ccc2e9b0708d6be108ab66c Mon Sep 17 00:00:00 2001 From: Daniel Quathamer Date: Wed, 11 Oct 2023 15:16:57 +0200 Subject: [PATCH 1/3] MSG Status Z auswerten --- .../costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 d21afcf..07a895d 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 @@ -208,7 +208,7 @@ min(T.semester) as startsemester, max(T.semester) as endsemester into temp tmp_studien_msg from tmp_studien T -where T.studienstatustyp in ('U','B','E','I','X') --nur tatsächlich eingeschrieben +where T.studienstatustyp in ('U','B','E','I','X','Z') --nur tatsächlich eingeschrieben and T.studiengangs_typ_kb ='MSG'--enthält die MSG and T.status_historie=1 group by 1,2 From 225089fe217033f3effa7dba1f7b24a6ebb8a8ae Mon Sep 17 00:00:00 2001 From: Daniel Quathamer Date: Tue, 17 Oct 2023 14:28:53 +0200 Subject: [PATCH 2/3] =?UTF-8?q?Bugfixes=20F=C3=A4cher=20Duplikate,=20F?= =?UTF-8?q?=C3=A4chergruppen,=20Fachsem.=20bei=20geschl.=20TSG=20#10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../costage_st_studien_aggr_fuellen.sql | 29 +++++++----- .../rohdaten_sos/sos_costage_unload.xml | 41 +++++++++------- .../rohdaten_zul/zul_costage_unload.xml | 25 +--------- .../schluesseltabellen/cifx_fuellen.sql | 47 +++++++++++++++++++ .../costage/upgrade/costage_upgrade_man.sql | 19 ++++++++ 5 files changed, 108 insertions(+), 53 deletions(-) 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 07a895d..1a7d6a1 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 @@ -102,7 +102,9 @@ create index tmp_ix4 on tmp_studien(st_sem_nr); create index tmp_ix5 on tmp_studien(status_historie); -select T.*,1::smallint as primaerflag +select T.*, +1::smallint as primaerflag, +null::integer as letztes_tsg_semester into temp tmp_studien2 from tmp_studien T, costage_st_hauptstudien H where H.st_studstamm_nr=T.st_studstamm_nr @@ -113,7 +115,9 @@ from tmp_studien T, costage_st_hauptstudien H ; --Studiengänge ohne Primärflag: insert into tmp_studien2 -select T.*,0::smallint as primaerflag +select T.*, +0::smallint as primaerflag, +null::integer as letztes_tsg_semester 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 @@ -140,6 +144,7 @@ group by 1,2,3 --; --zuerst den jeweils letzten (=jüngsten) MSG zuweisen: +--TODO: langsam: update tmp_studien2 set st_studiengang_nr_msg=T.st_studiengang_nr_msg from tmp_studien T,tmp_last_msg_per_term E, costage_st_studiengaenge_mtsg M where M.st_studiengang_nr_tsg=tmp_studien2.st_studiengang_nr @@ -278,8 +283,8 @@ statustyp_tsg, tsg_generated, primaerflag, hzb_art, -fachsemester) - +fachsemester, +letztes_tsg_semester) select M.semester, M.semester_anfang, M.semester_ende, @@ -310,7 +315,8 @@ null::char(10) as statustyp_tsg, 1 as tsg_generated, 0 as primaerflag, --geschlossene TSG können kein Primärflag haben S.hzb_art, -max(S.fachsemester) +null::integer as fachsemester, +max(S.semester) from tmp_studien_msg_tsg_fehlend M, tmp_studien3 S --,costage_st_semester E where M.st_studiengang_nr_msg=S.st_studiengang_nr_msg_possible and M.st_studiengang_nr_tsg=S.st_studiengang_nr @@ -321,7 +327,7 @@ and M.semester != S.semester --and S.st_studiengang_nr_msg=34454 --and S.studiengangs_bezeichnung='Bildungswissenschaften' --and M.semester=20211 -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,23,24,25,26 +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,23,24,25,26,27 ; --statustyp und hrst nachladen: @@ -337,15 +343,16 @@ and S.status_historie=1 ; ---statustyp_stg nachladen: -update tmp_studien2 set statustyp_tsg=S.statustyp_tsg +--statustyp_tsg nachladen: +update tmp_studien2 set statustyp_tsg=S.statustyp_tsg, +fachsemester=S.fachsemester from tmp_studien S where tmp_studien2.st_studium_nr=S.st_studium_nr and tmp_studien2.st_studstamm_nr=S.st_studstamm_nr and S.studiengangs_typ_kb ='TSG' and tmp_studien2.tsg_generated=1 -and tmp_studien2.fachsemester=S.fachsemester - +and tmp_studien2.letztes_tsg_semester=S.semester +and S.status_historie=1 ; drop table tmp_studien_msg_tsg_fehlend; @@ -426,7 +433,7 @@ into temp tmp_studien3 from tmp_studien2 T left outer join costage_st_studien_spoversionen SPO on (SPO.st_studium_nr=T.st_studium_nr and SPO.gueltig_ab < T.semester_ende) -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,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41 +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,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42 ; update tmp_studien3 set po_stp_stp_version_kb= SPO.po_stp_stp_version_kb diff --git a/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml b/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml index b46e6d9..a0ae8b1 100644 --- a/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml +++ b/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml @@ -103,10 +103,10 @@ ca12_staat, null::integer as bland, null::char(1) ,--hssem, null::char(1) ,--urlsem, -null::char(1) as hmkfzkz, -null::char(1) as hmkfz, -null::char(1) as semkfzkz, -null::char(1) as semkfz, +(case when AH.land_kfz_kennzeichen='D' then 'I' else 'A' end) as hmkfzkz, +(case when AH.land_kfz_kennzeichen='D' then AH.land_kfz_kennzeichen_subregion else AH.land_kfz_kennzeichen end) as hmkfz, +(case when ASEM.land_kfz_kennzeichen='D' then 'I' else 'A' end) as semkfzkz, +(case when ASEM.land_kfz_kennzeichen='D' then ASEM.land_kfz_kennzeichen_subregion else ASEM.land_kfz_kennzeichen end) as semkfz, null::char(1) as hzbart, null::char(1) as hzbjahr, null::char(1) as hzbkfzkz, @@ -142,7 +142,11 @@ null::integer AS geba, null::integer AS geba_sws, null::integer AS ersthzbjahr, null::integer AS ersthzbnote -FROM costage_st_studierendenstammdaten +FROM (costage_st_studierendenstammdaten S left outer join +costage_st_adressen AH on (AH.st_studstamm_nr=S.st_studstamm_nr +and AH.st_adresse_typ='H')) +left outer join costage_st_adressen ASEM on (ASEM.st_studstamm_nr=S.st_studstamm_nr +and ASEM.st_adresse_typ='S') where matrikelnummer is not null and semester_max >= $start_stud_sem @@ -518,27 +522,28 @@ null as sortorder union SELECT - 30, + 11, -1, - apnr, - kurz, - druck, - lang_1, -astat, +S.land_kfz_kennzeichen_subregion as apnr, + substring(S.name from 1 for 10) as kurz, + substring(S.name from 1 for 255) as druck, + substring(S.name from 1 for 255) as lang_1, +S.statistik_code as astat, null as parent, -apnr, --sortc1 wird später uniquename -null as bund_apnr, +S.land_kfz_kennzeichen_subregion, --sortc1 wird später uniquename +S.statistik_code as bund_apnr, null as sprache, null::date gueltig_von, null::date gueltig_bis, -apnr , --sourcesystem_id +S.land_kfz_kennzeichen_subregion , --sourcesystem_id ' ', --hiskey_id -struktur_c as fb, +'' as struktur_c, null as lid, null as parent_lid, null as sortorder - FROM cifx where key=30 - + FROM costage_land_subregionen S, costage_st_land_regionen R + where R.st_land_reg_nr=S.st_land_reg_nr + and R.st_land_nr=56 union SELECT distinct 612, @@ -647,7 +652,7 @@ null as sortorder '' , null::date as gueltig_von, null::date as gueltig_bis, - kurzbezeichnung, --sourcesystem_id + st_land_nr::varchar(255), --sourcesystem_id '' , --hiskey_id '' ,--egmitgl struktur_c null as lid, 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 5caa5f2..b860fae 100644 --- a/src-modules/module/costage/rohdaten_zul/zul_costage_unload.xml +++ b/src-modules/module/costage/rohdaten_zul/zul_costage_unload.xml @@ -455,30 +455,7 @@ null as parent_lid on (F.st_absz_amtstat_nr=L.st_absz_amtstat_nr) WHERE L.code is not null - union -SELECT - 30, --1, - apnr, - kurz, - druck, - lang_1, -astat, -null as parent, -apnr, --sortc1 wird später uniquename -null::integer as sortorder, -null as bund_apnr, -null as sprache, -null::date gueltig_von, -null::date gueltig_bis, -apnr , --sourcesystem_id -' ', --hiskey_id -struktur_c as fb, -null as lid, -null as parent_lid - FROM cifx where key=30 - - union + union SELECT distinct 612, -1, diff --git a/src-modules/module/costage/schluesseltabellen/cifx_fuellen.sql b/src-modules/module/costage/schluesseltabellen/cifx_fuellen.sql index 67a80ca..472f98b 100644 --- a/src-modules/module/costage/schluesseltabellen/cifx_fuellen.sql +++ b/src-modules/module/costage/schluesseltabellen/cifx_fuellen.sql @@ -1,5 +1,10 @@ --Freemarker Template + + +select sp_table_exists('kenn_dim_fgr') from xdummy + + <#assign dimensions = [ {"key":"400", "name":"Statustyp (CO)"}, @@ -165,6 +170,48 @@ NULL::char(10) as hiskey_id , + +<#if kenn_dim_fgr_exists==1> + insert into tmp_cifx + ( + key , + hs, + apnr , + kurz , + druck, + lang_1 , + astat, + uniquename , + d_akt_von , + d_akt_bis , + sourcesystem_id , + sourcesystem, +lid , +--parent_lid, + hiskey_id , + struktur_c + ) + select + 621 as key , + 0 as hs, + '0' || trim(apnr) || '0' as apnr, + substring(drucktext from 1 for 10) as kurz , + drucktext as druck, + drucktext as lang_1 , + apnr as astat, + '0' || trim(apnr) || '0' as uniquename , + date_val('01.01.1900') as d_akt_von , + date_val('01.01.3000')d_akt_bis , + apnr as sourcesystem_id , + 15 as sourcesystem, +'0' || trim(apnr) || '0' as lid , +--parent_lid, +NULL::char(10) as hiskey_id, + '' as struktur_c + from kenn_dim_fgr + where string_not_null(fg_studierende)!=''; + + --Duplikate raus: select T.key,T.apnr from tmp_cifx T diff --git a/src-modules/module/costage/upgrade/costage_upgrade_man.sql b/src-modules/module/costage/upgrade/costage_upgrade_man.sql index f350e32..4e5197f 100644 --- a/src-modules/module/costage/upgrade/costage_upgrade_man.sql +++ b/src-modules/module/costage/upgrade/costage_upgrade_man.sql @@ -17,3 +17,22 @@ ALTER COLUMN matrikelnummer drop not null; +--Länder Schlüssel ggf. doppelt aus sospos, daher löschen: +delete from cifx C +where key=12 +and astat is not null +AND (today()>=d_akt_von AND today()<=d_akt_bis) +and 0=(select count(*) from costage_st_laender L +where L.kfz_kennzeichen=C.apnr) +and (select count(*) from costage_st_laender L2)>0 --wenn die Tab. überhaupt gefüllt ist +; +--Länder Schlüssel ggf. doppelt aus sospos, daher löschen: +delete from cifx C +where key=11 +and astat is not null +AND (today()>=d_akt_von AND today()<=d_akt_bis) +and 0=(select count(*) from costage_land_subregionen L +where L.land_kfz_kennzeichen_subregion=C.apnr) +and (select count(*) from costage_land_subregionen L2)>0 --wenn die Tab. überhaupt gefüllt ist +; + From f30d3e180aebb44b02497371df9c1e2875363315 Mon Sep 17 00:00:00 2001 From: Daniel Quathamer Date: Thu, 7 Mar 2024 14:57:24 +0100 Subject: [PATCH 3/3] Standort aus unikey ermitteln #20 --- src-modules/module/costage/conf/costage.xml | 4 ++- .../costage/masken/43040_felderinfo.unl | 16 +++++++++- .../costage/masken/43040_maskeninfo.unl | 2 +- .../rohdaten_sos/sos_costage_unload.xml | 31 ++++++++++++++++--- .../rohdaten_zul/zul_costage_unload.xml | 27 ++++++++++++++-- .../schluesseltabellen/sx_repository.unl | 1 + .../trans_costage_st_studiengaenge.sql | 19 ++++++++++++ .../trans_costage_st_studienkennzahlen.sql | 16 +++++++++- 8 files changed, 106 insertions(+), 10 deletions(-) diff --git a/src-modules/module/costage/conf/costage.xml b/src-modules/module/costage/conf/costage.xml index 10bdf1c..74d40d6 100644 --- a/src-modules/module/costage/conf/costage.xml +++ b/src-modules/module/costage/conf/costage.xml @@ -1,5 +1,5 @@ - @@ -290,6 +290,8 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> + + diff --git a/src-modules/module/costage/masken/43040_felderinfo.unl b/src-modules/module/costage/masken/43040_felderinfo.unl index f77626d..0c765d1 100644 --- a/src-modules/module/costage/masken/43040_felderinfo.unl +++ b/src-modules/module/costage/masken/43040_felderinfo.unl @@ -52,8 +52,22 @@ order by 2\ 43054^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^^<> select 1,'Ja' from xdummy^ 43055^tablestylesheet^121^0^0^100^200^1^char^200^1^1^<> select distinct filename,X.caption,ord from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=43040 order by ord^^<> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=43040 and S.ord=1^ 43056^Ausgabeformat^2001^0^0^100^150^1^char^200^1^1^<> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^^<> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML'^ -43059^Hochschule^5^350^-1^140^80^1^char^255^0^1^<>select distinct K.unikey,K.unikey\ +43059^Hochschule / Standort^5^350^-1^140^80^1^char^255^0^1^<> --freemarker template \ +<#if COSTAGE_STORT?exists && COSTAGE_STORT !="">\ +<#assign inlineTemplate=COSTAGE_STORT?interpret />\ +<@inlineTemplate/>\ +\ +<#if stort?exists>\ +<#foreach st in stort>\ +select '${st.nr}','${st.name}' from xdummy\ +<#if st?has_next>\ +union\ +\ +\ +<#else>\ +select distinct K.unikey,K.unikey\ from costage_st_studienkennzahlen K\ +\ order by 2;^ ^<> select distinct K.unikey,K.unikey\ from costage_st_studienkennzahlen K, hochschulinfo H\ where K.unikey=H.hs_nr::char(10)^ diff --git a/src-modules/module/costage/masken/43040_maskeninfo.unl b/src-modules/module/costage/masken/43040_maskeninfo.unl index 9eb8d24..0423496 100644 --- a/src-modules/module/costage/masken/43040_maskeninfo.unl +++ b/src-modules/module/costage/masken/43040_maskeninfo.unl @@ -75,7 +75,7 @@ SELECT name,\ /* and fach_nr =<> */\ /* and costage_st_studien_aggr.st_studstamm_nr in (select S.st_studstamm_nr from costage_st_studierendenstammdaten S where S.st_land1_nr in (<>) ) */\ /* and costage_st_studien_aggr.st_studstamm_nr in (select S2.st_studstamm_nr from costage_st_studierendenstammdaten S2 where S2.geschlecht = <> ) */\ -/* and costage_st_studien_aggr.unikey=<> */\ +/* and costage_st_studien_aggr.unikey=<> */\ " />\ \ \ diff --git a/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml b/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml index a0ae8b1..b37fc35 100644 --- a/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml +++ b/src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml @@ -196,7 +196,7 @@ F.hssem, '' ,--stuart, '' ,--stutyp, G.stufrm, -'' ,--stort, +G.stort_nr ,--stort, F.ruebeudat, null::char(1) ,--semgewicht, null::char(1) ,--stggewicht, @@ -224,6 +224,7 @@ and F.kz_rueck_beur_ein is not null AND F.semester >= $start_stud_sem and ($EXTERNAL_SUBJECTS ='true' or F.unikey=(select H.hs_nr::char(10) from hochschulinfo H) +or exists(select id from sx_repository R where R.id='COSTAGE_STORT' and aktiv=1) ) ; @@ -478,7 +479,7 @@ K.skz_name as dtxt, K.skz_name as ltxt , F.statistik_code::char(10) as astat, null::char(10) as parent, -'', --sortc1 +K.skz_key, --uniquename ' ', ' ', --sprache null::date as gueltig_von, @@ -493,6 +494,7 @@ null as sortorder on ( F.st_stdfach_nr=K.st_stdfach_nr) where ($EXTERNAL_SUBJECTS ='true' or unikey=(select H.hs_nr::char(10) from hochschulinfo H) +or exists(select id from sx_repository R where R.id='COSTAGE_STORT' and aktiv=1) ) union @@ -795,7 +797,28 @@ null as lid, null as parent_lid, null as sortorder FROM xdummy - +union + SELECT distinct + 9012, +0, + stort_nr, + stort_nr as ktxt, + stort_name as dtxt, + stort_name as ltxt , +stort_nr as astat, +' ', +stort_nr, +' ', +' ', +null::date as gueltig_von, +null::date as gueltig_bis, +'5', --sourcesystem_id +' ' , --hiskey_id +' ' , --struktur_c +null as lid, +null as parent_lid, +null as sortorder + FROM costage_st_studiengaenge ; ]]> @@ -865,7 +888,7 @@ SELECT substring(G.studiengangs_identifikator from 1 for 10) ,--abstgv, string_not_null(G.fachkennzeichen) as kzfa, null::integer,--immsemkz, null::integer,--kzfaarray, - null::integer,--stort, + G.stort_nr,--stort, '', -- lehreinh, null::integer,--stkkurs1, null::integer,--stkkurs2, 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 b860fae..5ea616f 100644 --- a/src-modules/module/costage/rohdaten_zul/zul_costage_unload.xml +++ b/src-modules/module/costage/rohdaten_zul/zul_costage_unload.xml @@ -186,7 +186,7 @@ A.fachsemester as stgsem, null,--stgspz, null,--dowunsch1, null,--dowunsch2, - null, --antr_stort, + G.stort_nr, --antr_stort, null,--haerteantr, null,--haerte, null,--haertegrd, @@ -279,6 +279,7 @@ where A.st_studiengang_nr=G.st_studiengang_nr and A.bw_typ_kb !='MBW' and ($EXTERNAL_SUBJECTS ='true' or A.unikey=(select H.hs_nr::char(10) from hochschulinfo H) +or exists(select id from sx_repository R where R.id='COSTAGE_STORT' and aktiv=1) ) ; @@ -549,7 +550,29 @@ from costage_st_land_regionen R, costage_st_laender L where L.st_land_nr=R.st_land_nr and L.statistik_code='000' and R.statistik_code is not null - +union + SELECT distinct + 9012, +0, + stort_nr, + stort_nr as ktxt, + stort_name as dtxt, + stort_name as ltxt , +stort_nr as astat, +' ', +stort_nr as uniquename, +null::integer as sortorder, +' ' as bund_apnr, +' ', --sprache +null::date as gueltig_von, +null::date as gueltig_bis, +stort_nr::varchar(255), --sourcesystem_id +null::char(10) , --hiskey_id +null as struktur_c, +null as lid, +null as parent_lid +FROM costage_st_studiengaenge +; ]]> diff --git a/src-modules/module/costage/schluesseltabellen/sx_repository.unl b/src-modules/module/costage/schluesseltabellen/sx_repository.unl index b3f6de5..78888bc 100644 --- a/src-modules/module/costage/schluesseltabellen/sx_repository.unl +++ b/src-modules/module/costage/schluesseltabellen/sx_repository.unl @@ -1 +1,2 @@ 1^COSTAGE_STUDENT_FILTER^1=1^Filter Studierende für CO^Hier werden Studierende für Auswertungen aus CO gefiltert^^COSTAGE_STUD_FILTER^^^310^1^0^0^^1^01.01.1900^31.12.3000^ +2^COSTAGE_STORT^^Standorte^Hier werden Standorte konfiguriert^^COSTAGE_STORT^^^310^1^0^0^^0^01.01.1900^31.12.3000^ diff --git a/src-modules/module/costage/schluesseltabellen/trans_costage_st_studiengaenge.sql b/src-modules/module/costage/schluesseltabellen/trans_costage_st_studiengaenge.sql index a3db151..71ccd16 100644 --- a/src-modules/module/costage/schluesseltabellen/trans_costage_st_studiengaenge.sql +++ b/src-modules/module/costage/schluesseltabellen/trans_costage_st_studiengaenge.sql @@ -1,3 +1,10 @@ +--freemarker template +<#if COSTAGE_STORT?exists && COSTAGE_STORT !=""> +<#assign inlineTemplate=COSTAGE_STORT?interpret /> +<@inlineTemplate/> + + + delete from costage_st_studiengaenge; @@ -33,6 +40,9 @@ st_studiengang_nr, --transformiere Fach/Abschluss etc. nach SuperX Notation --Fach: update costage_st_studiengaenge set skz_key=SKZ.skz_key +<#if stort?exists> +,stort_nr=SKZ.unikey + from costage_st_studienkennzahlen SKZ where SKZ.st_skz_nr=costage_st_studiengaenge.st_skz_nr; --Abschluss: @@ -48,3 +58,12 @@ where S.st_studium_nr = P.st_studium_nr and S.st_studiengang_nr=costage_st_studiengaenge.st_studiengang_nr and P.stp_stp_nr=costage_st_studiengaenge.stp_stp_nr; +--Standorte name: + +<#if stort?exists> +<#foreach st in stort> +update costage_st_studiengaenge set stort_name='${st.name}' +where stort_nr='${st.nr}'; + + + diff --git a/src-modules/module/costage/schluesseltabellen/trans_costage_st_studienkennzahlen.sql b/src-modules/module/costage/schluesseltabellen/trans_costage_st_studienkennzahlen.sql index d305918..22bcf29 100644 --- a/src-modules/module/costage/schluesseltabellen/trans_costage_st_studienkennzahlen.sql +++ b/src-modules/module/costage/schluesseltabellen/trans_costage_st_studienkennzahlen.sql @@ -1,3 +1,8 @@ +--freemarker template +<#if COSTAGE_STORT?exists && COSTAGE_STORT !=""> +<#assign inlineTemplate=COSTAGE_STORT?interpret /> +<@inlineTemplate/> + delete from costage_st_studienkennzahlen; @@ -20,7 +25,16 @@ S.st_stdfach_nr, S.gesetzliche_grundlage_kb FROM costage_st_studienkennzahlen_neu S, hochschulinfo H where H.hs_nr::char(10)=S.unikey or S.unikey is null +or 1=0 +<#if stort?exists> +<#foreach st in stort> +or S.unikey ='${st.nr}' + + ; + +<#if stort?exists == false> + --wg. Eindeutigkeit kombinierter Schlüssel SKZ+UNIKEY: insert into costage_st_studienkennzahlen( st_skz_nr, @@ -42,5 +56,5 @@ S.gesetzliche_grundlage_kb FROM costage_st_studienkennzahlen_neu S, hochschulinfo H where H.hs_nr::char(10)!=S.unikey ; - + --TODO: Duplikatssuche bei Fächern ("skz_key").