diff --git a/src-modules/module/sxc/conf/sxc.xml b/src-modules/module/sxc/conf/sxc.xml index adabd96..f8b9cfe 100644 --- a/src-modules/module/sxc/conf/sxc.xml +++ b/src-modules/module/sxc/conf/sxc.xml @@ -1488,7 +1488,11 @@ is_custom SMALLINT + + + + diff --git a/src-modules/module/sxc/schluesseltabellen/cif_fuellen.sql b/src-modules/module/sxc/schluesseltabellen/cif_fuellen.sql new file mode 100644 index 0000000..2e517a7 --- /dev/null +++ b/src-modules/module/sxc/schluesseltabellen/cif_fuellen.sql @@ -0,0 +1,162 @@ + +--Freemarker Template +--Semester füllen: + + +select count(*) from db_version where his_system ='sos'; + + +select year(today())-7 from xdummy; + + + +select year(today()) from xdummy; + + + + +create temp table tmp_semester( + tid INTEGER , +kurz CHAR(50) , +druck CHAR(200) , +akad_jahr SMALLINT , +akad_jahr_absolv SMALLINT , +akad_jahr_anf SMALLINT , +sem_beginn DATE , +sem_ende DATE +) +; + +create temp table tmp_cif + ( + tid serial, + key smallint , + hs integer , + apnr integer, + kurz char(10), + druck varchar(100), + lang_1 varchar(100), + lang_3 varchar(100), + astat INTEGER , + parent INTEGER , + sortc1 CHAR(10) , + bund_apnr CHAR(10) , + sprache CHAR(3), + d_akt_von date, + d_akt_bis date + ); +create temp table tmp_hilf(tid integer); + +<#if sos_installed=1> + + +insert into tmp_semester ( +tid, +kurz, +druck, +sem_beginn, +sem_ende +) +select +tid, +eintrag, +eintrag, +sem_beginn, +sem_ende +from semester; + +<#else> + +<#list min_jahr..max_jahr as i> + +--SoSe: + +insert into tmp_semester ( +tid, +kurz, +druck, +sem_beginn, +sem_ende +) +select ${i}1,${i}1,'SoSe ${i}', +date_val('01.04.${i}'), +date_val('30.09.${i}') +from xdummy; + +--WS: +insert into tmp_semester ( +tid, +kurz, +druck, +sem_beginn, +sem_ende +) +select ${i}2,${i}2,'WiSe ${i}/${i+1}', +date_val('01.10.${i}'), +date_val('31.03.${i}') +from xdummy; + + + + +-- Akademische Jahre für BAW und SA +-- Erläuterung: +-- Sachsen: +-- Akademisches Jahr für Absolventen: 2016 = 20152 + 20161 +-- Akademisches Jahr für Studienanfänger: 2016 = 20161 + 20162 +-- Baden Würtemberg: +-- Akademisches Jahr: 2016 = 20162 + 20171 +-- Akademisches Jahr: 2017 = 20172 + 20181 + + +--Berechnung akad.Jahr BaWue: +--WS + nachfolgendes SS (2006 = 20062 + 20071) +--WS +update tmp_semester set akad_jahr=(tid/10) where mod(tid,10)=2; +--SS +update tmp_semester set akad_jahr=(tid/10)-1 where mod(tid,10)=1; + + +--Berechnung akad.Jahr SA Absolventen: +--vorheriges WS + SS (2006 = 20052 + 20061) +--WS +update tmp_semester set akad_jahr_absolv=(tid/10)+1 where mod(tid,10)=2; +--SS +update tmp_semester set akad_jahr_absolv=(tid/10) where mod(tid,10)=1; + + + +--Berechnung akad.Jahr SA Studienanfänger: +--SS + WS (2006 = 20061 + 20062) +--WS +update tmp_semester set akad_jahr_anf=(tid/10) where mod(tid,10)=2; +--SS +update tmp_semester set akad_jahr_anf=(tid/10) where mod(tid,10)=1; + + +delete from tmp_semester where tid in (select apnr from cif where key=661); + +insert into tmp_cif(key,hs,apnr,kurz,druck,lang_1,d_akt_von,d_akt_bis) +select distinct 661::integer,0::integer,tid,tid,druck,druck,sem_beginn,sem_ende +from tmp_semester +where tid is not null; + +delete from cif where '' || key || '_' || apnr in +(select '' || key || '_' || apnr from tmp_cif); + + +insert into tmp_hilf select max(tid) from cif; +update tmp_hilf set tid=1 where tid is null; + + insert into cif(tid,key,hs,apnr,kurz,druck,lang_1,lang_3,d_akt_von,d_akt_bis + + ) +select C.tid+H.tid,key,hs,apnr,kurz,druck,lang_1,lang_3,d_akt_von,d_akt_bis + from tmp_cif C, tmp_hilf H +where apnr is not null; + +drop table tmp_cif; +drop table tmp_semester; +drop table tmp_hilf; + +