Compare commits

..

2 Commits

  1. 76
      src-modules/module/costage/conf/costage.xml
  2. 38
      src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen_mit_primerflag.sql
  3. 64
      src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen_ohne_primerflag.sql
  4. 2
      src-modules/module/costage/rohdaten/COSTAGE_ENV.sam
  5. 41
      src-modules/module/costage/rohdaten/costage_unload.xml
  6. 26
      src-modules/module/costage/rohdaten_zul/zul_costage_unload.xml
  7. 2
      src-modules/module/costage/upgrade/costage_upgrade_man.sql

76
src-modules/module/costage/conf/costage.xml

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<module name="costage" version="0.7" sachgebiet_id="310"
<module name="costage" version="0.8b" sachgebiet_id="310"
sachgebiet="CO Basisdaten" systeminfo_id="310"
system="CO Basisdaten" thema="CO Basisdaten" thema_parent="Studierende, Prüfungen">
<database name="superx" system="superx">
@ -1505,23 +1505,23 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> @@ -1505,23 +1505,23 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
</rs></privileges>
</table>
<table name="costage_ergebnisse" thema="SPO" caption="Studienplankontexte (CO)" typ="Datentabelle" releaseUnload="empty">
<table name="costage_ergebnisse" thema="SPO" caption="Ergebnisse (CO)" typ="Datentabelle" releaseUnload="empty">
<columns><column name="st_studien_nr" type ="INTEGER" size ="4" default ="" notnull ="true" />
<column name="stp_knoten_nr" type ="INTEGER" size ="4" default ="" notnull ="true" />
<column name="vorart_kb" type ="VARCHAR" size ="10" default ="" notnull ="true" />
<column name="flag" type ="VARCHAR" size ="1" default ="" notnull ="false" />
<column name="zahl" type ="INTEGER" size ="4" default ="" notnull ="false" />
<column name="zahl" type ="FLOAT" size ="4" default ="" notnull ="false" />
<column name="drucktext" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="datum" type ="DATE" size ="7" default ="" notnull ="false" />
</columns>
<indexes></indexes>
<primaryKeys><rs>
</rs></primaryKeys>
<foreignKeys><rs>
</rs></foreignKeys>
<importedKeys><rs>
</rs></importedKeys>
<privileges></privileges>
<indexes><index name="ix_costage_ergebnisse1" unique="false">
<index-column name="st_studien_nr"/>
</index>
<index name="ix_costage_ergebnisse2" unique="false">
<index-column name="stp_knoten_nr"/>
</index>
</indexes>
</table>
<table name="costage_studienplankontexte" thema="SPO" caption="Studienplankontexte (CO)" typ="Datentabelle" releaseUnload="empty">
<columns><column name="st_studium_nr" type ="INTEGER" size ="4" default ="" notnull ="false" />
@ -1531,16 +1531,62 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> @@ -1531,16 +1531,62 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
<column name="stp_knoten_nr_sichtbar" type ="INTEGER" size ="4" default ="" notnull ="false" />
<column name="ghk_nr" type ="INTEGER" size ="4" default ="" notnull ="false" />
</columns>
<indexes></indexes>
<indexes>
<index name="ix_costage_studienplankontexte1" unique="false">
<index-column name="st_studium_nr"/>
</index>
<index name="ix_costage_studienplankontexte2" unique="false">
<index-column name="stp_stp_nr"/>
</index>
</indexes>
</table>
<table name="costage_knoten" thema="SPO" caption="Knoten zur Auflösung von Studienplankontexten. (CO)" typ="Datentabelle" releaseUnload="empty">
<columns><column name="nr" type ="INTEGER" size ="4" default ="" notnull ="true" description="Knotennummer" ><comment>Primary Key</comment></column>
<column name="stp_knoten_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="Knotennummer Parent- Knoten" ><comment>Knotennummer des übergeordneten Knoten.</comment></column>
<column name="stp_stp_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="SPO-Versionsnummer" ><comment></comment></column>
<column name="name_de" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Knotenname deutsch" ><comment></comment></column>
<column name="name_en" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Knotenname englisch" ><comment></comment></column>
<column name="kennung" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Kennung des Knoten" ><comment></comment></column>
<column name="credits" type ="FLOAT" size ="4" default ="" notnull ="false" description="Credits am Knoten" ><comment>Anzahl hinterlegter Credits am Knoten.</comment></column>
<column name="haupttyp_kurzbezeichnung" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Kurzbezeichnung des Knotenhaupttyps" ><comment></comment></column>
<column name="subtyp_kurzbezeichnung" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Kurzbezeichnung des Knotensubtyps" ><comment></comment></column>
<column name="haupttyp_name" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Name des Knotenhaupttyps" ><comment></comment></column>
<column name="subtyp_name" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Name des Knotensubtyps" ><comment></comment></column>
<column name="gueltig_von" type ="DATE" size ="7" default ="" notnull ="false" description="Gültig von" ><comment>Attribut „Gültig von“ im SPO-Management.</comment></column>
<column name="gueltig_bis" type ="DATE" size ="7" default ="" notnull ="false" description="Gültig bis" ><comment>Attribut „Gültig bis“ im SPO-Management.</comment></column>
<column name="teil_des_curriculums" type ="CHAR" size ="1" default ="" notnull ="false" description="Knoten Teil des Curriculums" ><comment>Ob der Knoten Teil des Curriculums ist oder nicht (Option im SPO-Management).</comment></column>
<column name="semesterempfehlung_de" type ="VARCHAR" size ="255" default ="" notnull ="true" description="Empfohlenes Semester (W / S) deutsch." ><comment></comment></column>
<column name="semesterempfehlung_en" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Empfohlenes Semester (W / S) englisch." ><comment></comment></column>
<column name="semesterempfehlung_de_kurz" type ="VARCHAR" size ="255" default ="" notnull ="true" description="Kurzbezeichnung des empfohlenen Semesters deutsch." ><comment></comment></column>
<column name="semesterempfehlung_en_kurz" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Kurzbezeichnung des empfohlenen Semesters englisch." ><comment></comment></column>
</columns>
<indexes>
<index name="ix_costage_knoten1" unique="false">
<index-column name="stp_knoten_nr"/>
</index>
<index name="ix_costage_knoten2" unique="false">
<index-column name="stp_stp_nr"/>
</index>
</indexes>
<primaryKeys><rs>
</rs></primaryKeys>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>costage_knoten</fld>
<fld name='column_name'>nr</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>pk_costage_knoten_nr</fld>
</row></rs></primaryKeys>
<foreignKeys><rs>
</rs></foreignKeys>
<importedKeys><rs>
</rs></importedKeys>
<privileges></privileges>
<privileges><rs>
</rs></privileges>
</table>
<views>
<view name="costage_abschluss_fach_stg" caption="Studiengänge nach Abschluss/Fach" thema="Studierende" typ="Schlüsseltabelle" releaseUnload="demo">
<description>Abschlüsse,Fächer und Studiengänge</description>
@ -1994,6 +2040,8 @@ parent="CO Basisdaten">Abfragen zu Studienplänen und Ordnungen</thema> @@ -1994,6 +2040,8 @@ parent="CO Basisdaten">Abfragen zu Studienplänen und Ordnungen</thema>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_gleichheitsknoten"><file path="$COSTAGE_LOAD_PFAD/unl/costage_gleichheitsknoten.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_lehrveranstaltungen_neu"><file path="$COSTAGE_LOAD_PFAD/unl/costage_lehrveranstaltungen.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_lv_teilnehmende_neu"><file path="$COSTAGE_LOAD_PFAD/unl/costage_lv_teilnehmende.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_knoten"><file path="$COSTAGE_LOAD_PFAD/unl/costage_knoten.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="costage_ergebnisse"><file path="$COSTAGE_LOAD_PFAD/unl/costage_ergebnisse.unl"/></loadtable>
</action>
</etl-step>

38
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') @@ -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 *, @@ -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 @@ -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 @@ -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; @@ -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; @@ -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' @@ -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:

64
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 @@ -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;

2
src-modules/module/costage/rohdaten/COSTAGE_ENV.sam

@ -27,6 +27,8 @@ COSTAGE_start_lv_sem=20001 @@ -27,6 +27,8 @@ COSTAGE_start_lv_sem=20001
export COSTAGE_start_lv_sem
COSTAGE_start_hssem=20001
export COSTAGE_start_hssem
COSTAGE_unload_einzpruef=false
export COSTAGE_unload_einzpruef
##Pfad für Entladedaten:
#COSTAGE_LOAD_PFAD=.

41
src-modules/module/costage/rohdaten/costage_unload.xml

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<superx-unload version="4.0">
<module id="costage" version="0.7b" systeminfo_id="310">COSTAGE-Modul</module>
<module id="costage" version="0.8b" systeminfo_id="310">COSTAGE-Modul</module>
<parameters>
<param name="VERSION" defaultValue="2" description="Datenbank-Version"><comment>CO-Version, wird derzeit ignoriert</comment></param>
@ -9,7 +9,9 @@ @@ -9,7 +9,9 @@
<param name="COSTAGE_start_leistungen_sem" defaultValue="19911" description="Startsemester Prüfungen"><comment>Ab welchem Semester sollen Leistungen entladen werden? z.B. 20011 für SS 2001</comment></param>
<param name="COSTAGE_start_lv_sem" defaultValue="19911" description="Startsemester Lehrveranstaltungen"><comment>Ab welchem Semester sollen Lehrveranstaltungen entladen werden? z.B. 20011 für SS 2001</comment></param>
<param name="COSTAGE_start_hssem" defaultValue="19911" description="Startsemester Hochschulsemester"><comment>Ab welchem Semester sollen Hochschulsemester entladen werden? z.B. 20011 für SS 2001</comment></param>
</parameters>
<param name="COSTAGE_unload_einzpruef" defaultValue="false" description="Einzelprüfungen" priority="1" sourcesystem="15" wertebereich="ja: true, nein: false" ab_version=">0.8" gruppe="Datenschutzparameter" >
<comment>Wenn COSTAGE_unload_einzpruef = true,dann Einzelprüfungen entladen.</comment></param>
</parameters>
<sourcesystems>
<sourcesystem name="co" description="CampusOnline-Datenbank" default="true"/>
@ -883,7 +885,7 @@ SELECT st_studien_nr, @@ -883,7 +885,7 @@ SELECT st_studien_nr,
text,
datum
FROM px_ergebnisse_v
where 1=0
where '$COSTAGE_unload_einzpruef'='true';
;
]]>
@ -900,9 +902,38 @@ SELECT st_studium_nr, @@ -900,9 +902,38 @@ SELECT st_studium_nr,
stp_knoten_nr_sichtbar,
ghk_nr
FROM px_studienplankontexte_v
where 1=0
;
where '$COSTAGE_unload_einzpruef'='true';
]]>
</extraction-sql>
</unload-job>
<unload-job id="px_knoten_v" target-table="costage_knoten" extraction-script="" transfer-unload-file="unl/costage_knoten.unl" >
<comment>knoten</comment>
<extraction-sql sourcesystem="co" database="" version="">
<![CDATA[
SELECT
nr,
stp_knoten_nr,
stp_stp_nr,
name_de,
name_en,
kennung,
credits,
haupttyp_kurzbezeichnung,
subtyp_kurzbezeichnung,
haupttyp_name,
subtyp_name,
gueltig_von,
gueltig_bis,
teil_des_curriculums,
semesterempfehlung_de,
semesterempfehlung_en,
semesterempfehlung_de_kurz,
semesterempfehlung_en_kurz
from PX_KNOTEN_V
where '$COSTAGE_unload_einzpruef'='true';
]]>
</extraction-sql>
</unload-job>

26
src-modules/module/costage/rohdaten_zul/zul_costage_unload.xml

@ -409,7 +409,31 @@ select * from costage_st_studiengaenge where 1=0; @@ -409,7 +409,31 @@ select * from costage_st_studiengaenge where 1=0;
<comment>Schluesseltabelle cifx</comment>
<extraction-sql sourcesystem="co" database="" version="">
<![CDATA[
SELECT
11,
0,
SR.land_sub_reg_nr::char(10),--apnr,
substring(SR.name from 1 for 10) as ktxt,
SR.name as dtxt,
SR.name as ltxt ,
SR.statistik_code as astat,
null::char(10) as parent,
SR.land_sub_reg_nr::varchar(255) as uniquename,
null::integer as sortorder,
R.statistik_code as bland,
' ', --sprache
null::date as gueltig_von,
null::date as gueltig_bis,
SR.land_sub_reg_nr::varchar(255), --sourcesystem_id
null::char(10) , --hiskey_id
'A'::char(10), --struktur_c
null as lid,
null as parent_lid
FROM costage_land_subregionen SR, costage_st_land_regionen R, costage_st_laender L
where L.st_land_nr=R.st_land_nr
and R.st_land_reg_nr=SR.st_land_reg_nr
and L.statistik_code='000'
union
SELECT
30,
0,

2
src-modules/module/costage/upgrade/costage_upgrade_man.sql

@ -35,6 +35,8 @@ ALTER COLUMN st_studium_nr drop not null; @@ -35,6 +35,8 @@ ALTER COLUMN st_studium_nr drop not null;
ALTER TABLE costage_st_pruef_aggr
ALTER COLUMN leistung_nr drop not null;
alter table costage_ergebnisse alter column zahl type float;
</#if>
--Länder Schlüssel ggf. doppelt aus sospos, daher löschen:

Loading…
Cancel
Save