Browse Source

Redesign Spalten TSG/MSG Absolv. #25

master
Daniel Quathamer 4 weeks ago
parent
commit
a2c4bc62c4
  1. 25
      src-modules/module/costage/conf/costage.xml
  2. 43
      src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql
  3. 12
      src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql
  4. 6
      src-modules/module/costage/masken/43040_maskeninfo.unl
  5. 12
      src-modules/module/costage/masken/43080_maskeninfo.unl
  6. 13
      src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml
  7. 121
      src-modules/module/costage/schluesseltabellen/costage_dim_studiengang_fuellen.sql
  8. 8
      src-modules/module/costage/upgrade/costage_pre_upgrade_pg.sql

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

@ -272,7 +272,8 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
<table name="costage_st_studiengaenge" thema="Studierende und Gebühren" caption="Studiengänge (CO)" typ="Schlüsseltabelle" releaseUnload="empty"> <table name="costage_st_studiengaenge" thema="Studierende und Gebühren" caption="Studiengänge (CO)" typ="Schlüsseltabelle" releaseUnload="empty">
<description>Studiengänge (CO)</description> <description>Studiengänge (CO)</description>
<columns><column name="st_studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="true" /> <columns>
<column name="st_studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="Studiengangnr. CO" />
<column name="studiengangs_identifikator" type ="VARCHAR" size ="4000" default ="" notnull ="false" description="" /> <column name="studiengangs_identifikator" type ="VARCHAR" size ="4000" default ="" notnull ="false" description="" />
<column name="studiengangs_bezeichnung" type ="VARCHAR" size ="4000" default ="" notnull ="false" description="" /> <column name="studiengangs_bezeichnung" type ="VARCHAR" size ="4000" default ="" notnull ="false" description="" />
<column name="st_absz_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="" currentlyUsed="false"/> <column name="st_absz_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="" currentlyUsed="false"/>
@ -302,7 +303,9 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
</table> </table>
<table name="costage_dim_studiengang" thema="Studierende und Gebühren" caption="Studiengänge (CO)" typ="Schlüsseltabelle" releaseUnload="empty"> <table name="costage_dim_studiengang" thema="Studierende und Gebühren" caption="Studiengänge (CO)" typ="Schlüsseltabelle" releaseUnload="empty">
<columns><column name="st_studiengang_nr" type ="INTEGER" size ="10" default ="" notnull ="false" description="Studiengang Laufnr."/> <columns>
<column name="tid" type ="INTEGER" size ="8" default ="" notnull ="true" description="Laufnummer"/>
<column name="st_studiengang_nr" type ="INTEGER" size ="10" default ="" notnull ="false" description="Studiengang Laufnr."/>
<column name="studiengangs_identifikator" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studiengang ID"/> <column name="studiengangs_identifikator" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studiengang ID"/>
<column name="studiengangs_bezeichnung" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studiengang Name"/> <column name="studiengangs_bezeichnung" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studiengang Name"/>
<column name="st_absz_nr" type ="INTEGER" size ="10" default ="" notnull ="false" description="Abschlussziel Laufnr."/> <column name="st_absz_nr" type ="INTEGER" size ="10" default ="" notnull ="false" description="Abschlussziel Laufnr."/>
@ -331,6 +334,14 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
</columns> </columns>
<indexes></indexes> <indexes></indexes>
<primaryKeys><rs> <primaryKeys><rs>
<row>
<fld name='table_cat'></fld>
<fld name='table_schem'>public</fld>
<fld name='table_name'>costage_dim_studiengang</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>costage_dim_studiengang_pkey</fld>
</row>
</rs></primaryKeys> </rs></primaryKeys>
<foreignKeys></foreignKeys> <foreignKeys></foreignKeys>
<importedKeys></importedKeys> <importedKeys></importedKeys>
@ -548,11 +559,12 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
<column name="hzb_datum" type ="DATE" size ="7" default ="" notnull ="false" description="HZB Datum "/> <column name="hzb_datum" type ="DATE" size ="7" default ="" notnull ="false" description="HZB Datum "/>
<column name="hzb_note" type ="DECIMAL" size ="(14,7)" default ="" notnull ="false" description="HZB-Note"/> <column name="hzb_note" type ="DECIMAL" size ="(14,7)" default ="" notnull ="false" description="HZB-Note"/>
<!--studiengang--> <!--studiengang-->
<column name="studiengang_tid" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (Join-ID)" />
<column name="studiengangs_identifikator" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studiengang-Identifikator (ESG/MSG)" /> <column name="studiengangs_identifikator" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studiengang-Identifikator (ESG/MSG)" />
<column name="studiengangs_identifikator_tsg" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studiengang-Identifikator (TSG)" /> <column name="studiengangs_identifikator_tsg" type ="VARCHAR" size ="255" default ="" notnull ="false" description="Studiengang-Identifikator (TSG)" />
<column name="st_studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) des ESG/MSG" /> <column name="st_studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) des ESG/MSG" />
<column name="st_studiengang_nr_tsg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) des TSG" ><comment>nur bei TSG</comment></column> <column name="st_studiengang_nr_tsg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) des TSG" ><comment>nur bei TSG</comment></column>
<column name="studiengangs_typ_kb" type ="CHAR" size ="10" default ="" notnull ="false" description="Leistungstyp Studienabschnitt" ><comment>TSG/ESG/MSG</comment></column> <column name="studiengangs_typ_kb" type ="CHAR" size ="10" default ="" notnull ="false" description="Studiengangstyp" currentlyUsed="false"><comment>TSG/ESG</comment></column>
<column name="primaerflag" type ="SMALLINT" size ="2" default ="" notnull ="false" description="Primärfach" /> <column name="primaerflag" type ="SMALLINT" size ="2" default ="" notnull ="false" description="Primärfach" />
<column name="studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (Nr.)" /> <column name="studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (Nr.)" />
<column name="fach_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Fach (Nr.)" /> <column name="fach_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Fach (Nr.)" />
@ -618,6 +630,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
<column name="st_studstamm_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="Studierendenstammdaten (ID)" /> <column name="st_studstamm_nr" type ="INTEGER" size ="8" default ="" notnull ="true" description="Studierendenstammdaten (ID)" />
<column name="matrikelnummer" type ="INTEGER" size ="8" default ="" notnull ="false" description="Matrikelnummer" /> <column name="matrikelnummer" type ="INTEGER" size ="8" default ="" notnull ="false" description="Matrikelnummer" />
<!--Studiengang--> <!--Studiengang-->
<column name="studiengang_tid" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (Join-ID)" />
<column name="st_studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) ESG/MSG" /> <column name="st_studiengang_nr" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) ESG/MSG" />
<column name="st_studiengang_nr_tsg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) des TSG" ><comment>nur bei TSG</comment></column> <column name="st_studiengang_nr_tsg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studiengang (ID) des TSG" ><comment>nur bei TSG</comment></column>
<column name="unikey" type ="CHAR" size ="10" default ="" notnull ="false" description="Hochschulnummer" /> <column name="unikey" type ="CHAR" size ="10" default ="" notnull ="false" description="Hochschulnummer" />
@ -633,7 +646,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
<column name="semester" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester" ><comment>des Prüfungsdatums</comment></column> <column name="semester" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester" ><comment>des Prüfungsdatums</comment></column>
<column name="semester_tsg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester TSG" /> <column name="semester_tsg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester TSG" />
<column name="semester_veranst" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester der Veranstaltung" /> <column name="semester_veranst" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester der Veranstaltung" />
<column name="fachsemester" type ="INTEGER" size ="4" default ="" notnull ="false" description="Fachsemester (ESG,MSG)" /> <column name="fachsemester" type ="INTEGER" size ="4" default ="" notnull ="false" description="Fachsemester" />
<column name="fachsemester_tsg" type ="INTEGER" size ="4" default ="" notnull ="false" description="Fachsemester (TSG)" /> <column name="fachsemester_tsg" type ="INTEGER" size ="4" default ="" notnull ="false" description="Fachsemester (TSG)" />
<column name="abschnitt" type ="INTEGER" size ="4" default ="" notnull ="false" description="Studienabschnitt"><comment>Hauptprüfung/TSAB</comment></column> <column name="abschnitt" type ="INTEGER" size ="4" default ="" notnull ="false" description="Studienabschnitt"><comment>Hauptprüfung/TSAB</comment></column>
<!--Leistungsdaten--> <!--Leistungsdaten-->
@ -1691,7 +1704,7 @@ parent="CO Basisdaten">Abfragen zu Studienplänen und Ordnungen</thema>
</relation> </relation>
<relation from="costage_dim_studiengang" to="costage_st_studien_aggr" delete="FALSE" <relation from="costage_dim_studiengang" to="costage_st_studien_aggr" delete="FALSE"
displayType="select" visibleFields="studiengangs_bezeichnung" format="%s"> displayType="select" visibleFields="studiengangs_bezeichnung" format="%s">
<relation-column from="st_studiengang_nr" to="st_studiengang_nr" /> <relation-column from="tid" to="studiengang_tid" />
</relation> </relation>
<relation from="costage_st_laender" to="costage_st_studien_aggr" delete="FALSE" <relation from="costage_st_laender" to="costage_st_studien_aggr" delete="FALSE"
displayType="select" visibleFields="name" format="%s"> displayType="select" visibleFields="name" format="%s">
@ -1782,7 +1795,7 @@ parent="CO Basisdaten">Abfragen zu Studienplänen und Ordnungen</thema>
</relation> </relation>
<relation from="costage_dim_studiengang" to="costage_st_pruef_aggr" delete="FALSE" <relation from="costage_dim_studiengang" to="costage_st_pruef_aggr" delete="FALSE"
displayType="select" visibleFields="studiengangs_bezeichnung" format="%s"> displayType="select" visibleFields="studiengangs_bezeichnung" format="%s">
<relation-column from="st_studiengang_nr" to="st_studiengang_nr" /> <relation-column from="tid" to="studiengang_tid" />
</relation> </relation>
<relation from="costage_leistungen_typen" to="costage_st_pruef_aggr" delete="FALSE" <relation from="costage_leistungen_typen" to="costage_st_pruef_aggr" delete="FALSE"
displayType="select" visibleFields="name_de" format="%s"> displayType="select" visibleFields="name_de" format="%s">

43
src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql

@ -13,6 +13,7 @@ SELECT
L.st_studium_nr, L.st_studium_nr,
S.st_studstamm_nr, S.st_studstamm_nr,
L.matrikelnummer::integer as matrikelnummer, L.matrikelnummer::integer as matrikelnummer,
null::integer as studiengang_tid,
null::integer as st_studiengang_nr, null::integer as st_studiengang_nr,
null::integer as st_studiengang_nr_tsg, null::integer as st_studiengang_nr_tsg,
null::integer as studiengang_nr, null::integer as studiengang_nr,
@ -89,6 +90,7 @@ SELECT
L.st_studium_nr, L.st_studium_nr,
S.st_studstamm_nr, S.st_studstamm_nr,
L.matrikelnummer::integer as matrikelnummer, L.matrikelnummer::integer as matrikelnummer,
null::integer as studiengang_tid,
null::integer as st_studiengang_nr, null::integer as st_studiengang_nr,
null::integer as st_studiengang_nr_tsg, null::integer as st_studiengang_nr_tsg,
null::integer as studiengang_nr, null::integer as studiengang_nr,
@ -173,6 +175,18 @@ and S.st_studstamm_nr=tmp_pruef.st_studstamm_nr
and tmp_pruef.leistungsdetailtyp_kb='TSAB' and tmp_pruef.leistungsdetailtyp_kb='TSAB'
; ;
--Studiengangs-TID ermitteln:
update tmp_pruef set studiengang_tid=D.tid
from costage_dim_studiengang D
where D.st_studiengang_nr=tmp_pruef.st_studiengang_nr
and tmp_pruef.leistungsdetailtyp_kb!='TSAB';
update tmp_pruef set studiengang_tid=D.tid
from costage_dim_studiengang D
where D.st_studiengang_nr=tmp_pruef.st_studiengang_nr_tsg
and tmp_pruef.leistungsdetailtyp_kb='TSAB';
--Fachsemester aus Sem. des Prüfungsdatums holen: --Fachsemester aus Sem. des Prüfungsdatums holen:
update tmp_pruef set update tmp_pruef set
fachsemester = S.fachsemester fachsemester = S.fachsemester
@ -291,6 +305,14 @@ and T.semester_max <=tmp_pruef.semester
and tmp_pruef.leistungsdetailtyp_kb='BAKN' and tmp_pruef.leistungsdetailtyp_kb='BAKN'
; ;
update tmp_pruef set fachsemester=T.fachsem_max
from tmp_fachsem_msg T
where T.matrikelnummer=tmp_pruef.matrikelnummer
and T.st_studiengang_nr=tmp_pruef.st_studiengang_nr
and T.semester_max >=tmp_pruef.semester
and tmp_pruef.leistungsdetailtyp_kb='TSAB'
;
drop table tmp_fachsem_msg; drop table tmp_fachsem_msg;
--unikey setzen, wenn noch nicht vorhanden (z.B. bei MSG): --unikey setzen, wenn noch nicht vorhanden (z.B. bei MSG):
@ -313,6 +335,7 @@ insert into costage_st_pruef_aggr(st_studium_nr,
semester, semester,
semester_tsg, semester_tsg,
semester_veranst, semester_veranst,
studiengang_tid,
st_studiengang_nr, st_studiengang_nr,
st_studiengang_nr_tsg, st_studiengang_nr_tsg,
studiengang_nr, studiengang_nr,
@ -348,6 +371,7 @@ select
(case when leistungsdetailtyp_kb='TSAB' then semester (case when leistungsdetailtyp_kb='TSAB' then semester
else null::integer end) as semester_tsg , else null::integer end) as semester_tsg ,
semester_veranst, semester_veranst,
studiengang_tid,
st_studiengang_nr, st_studiengang_nr,
st_studiengang_nr_tsg, st_studiengang_nr_tsg,
studiengang_nr, studiengang_nr,
@ -390,6 +414,25 @@ select
--group by leistungsdatum,studiengangs_typ_kb,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 --group by leistungsdatum,studiengangs_typ_kb,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
; ;
--TSG Daten nachtragen:
update costage_st_pruef_aggr set
studiengang_nr=S.studiengang_nr,
st_studiengang_nr=S.st_studiengang_nr,
st_studiengang_nr_tsg=S.st_studiengang_nr_tsg,
fach_nr=S.fach_nr,
unikey=S.unikey,
fachsemester_tsg=S.fachsemester
from costage_st_studien_aggr S
where 1=1
and S.st_studium_nr_tsg=costage_st_pruef_aggr.st_studium_nr
and S.matrikelnummer=costage_st_pruef_aggr.matrikelnummer
and costage_st_pruef_aggr.leistungsdetailtyp_kb ='TSAB'
and costage_st_pruef_aggr.semester_tsg=S.semester
;
drop table tmp_pruef; drop table tmp_pruef;
drop table tmp_pruef2; drop table tmp_pruef2;

12
src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql

@ -1194,6 +1194,18 @@ and A.st_adresse_typ='H'
and costage_st_studien_aggr.semester >= ${beginn_semester} and costage_st_studien_aggr.semester >= ${beginn_semester}
; ;
--Studiengangs-TID ermitteln:
update costage_st_studien_aggr set studiengang_tid=D.tid
from costage_dim_studiengang D
where D.st_studiengang_nr=costage_st_studien_aggr.st_studiengang_nr
and costage_st_studien_aggr.studiengangs_typ_kb='ESG';
update costage_st_studien_aggr set studiengang_tid= D.tid
from costage_dim_studiengang D
where D.st_studiengang_nr=costage_st_studien_aggr.st_studiengang_nr_tsg
and costage_st_studien_aggr.studiengangs_typ_kb='TSG';
select 300,timestamp_str(now()) from xdummy; select 300,timestamp_str(now()) from xdummy;

6
src-modules/module/costage/masken/43040_maskeninfo.unl

@ -69,8 +69,8 @@ SELECT name,\
/* and semester <= <<Bis Semester>> */\ /* and semester <= <<Bis Semester>> */\
/* AND fachsemester <= <<bis Fachsemester>> */\ /* AND fachsemester <= <<bis Fachsemester>> */\
/* and statustyp in(<<Status>>) */\ /* and statustyp in(<<Status>>) */\
/* and costage_st_studien_aggr.st_studiengang_nr in (select G.st_studiengang_nr from costage_st_studiengaenge G where G.abschluss in (<<Abschluss>>)) */\ /* and costage_st_studien_aggr.studiengang_tid in (select G.tid from costage_st_studiengaenge G where G.abschluss in (<<Abschluss>>)) */\
/* and costage_st_studien_aggr.st_studiengang_nr in (select G.st_studiengang_nr from costage_st_studiengaenge G where G.skz_key in (<<Fach>>)) */\ /* and costage_st_studien_aggr.studiengang_tid in (select G.tid from costage_st_studiengaenge G where G.skz_key in (<<Fach>>)) */\
/* and studiengang_nr =<<Studiengang-Nr.>> */\ /* and studiengang_nr =<<Studiengang-Nr.>> */\
/* and fach_nr =<<Fach-Nr.>> */\ /* and fach_nr =<<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 (<<Staatsangehörigkeit>>) ) */\ /* 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 (<<Staatsangehörigkeit>>) ) */\
@ -84,7 +84,7 @@ SELECT name,\
</#if>\ </#if>\
\ \
\ \
/* <#assign filter = filter + " and 's_' || costage_st_studien_aggr.st_studiengang_nr in "+Studiengang.allNeededKeysList /> --<<Studiengang>> */ \ /* <#assign filter = filter + " and costage_st_studien_aggr.studiengang_tid in (select D.tid from costage_dim_studiengang D where 's_' ||D.st_studiengang_nr in "+Studiengang.allNeededKeysList +")" /> --<<Studiengang>> */ \
\ \
\ \
<@generate_resultset_multitable tabellen=table_list\ <@generate_resultset_multitable tabellen=table_list\

12
src-modules/module/costage/masken/43080_maskeninfo.unl

@ -67,7 +67,7 @@ SELECT name,\
/* and hrst in (<<Hörerstatus>>) */\ /* and hrst in (<<Hörerstatus>>) */\
/* AND leistungsdetailtyp_kb in (<<Leistungsdetailtyp>>) */\ /* AND leistungsdetailtyp_kb in (<<Leistungsdetailtyp>>) */\
/* and leistungsstatus_map_kb in(<<Prüfungsstatus>>) */\ /* and leistungsstatus_map_kb in(<<Prüfungsstatus>>) */\
/* and costage_st_pruef_aggr.st_studiengang_nr in (select G.st_studiengang_nr from costage_st_studiengaenge G where G.abschluss in (<<Abschluss>>)) */\ /* and costage_st_pruef_aggr.studiengang_tid in (select G.tid from costage_st_studiengaenge G where G.abschluss in (<<Abschluss>>)) */\
/* and studiengang_nr =<<Studiengang-Nr.>> */\ /* and studiengang_nr =<<Studiengang-Nr.>> */\
/* and fach_nr =<<Fach-Nr.>> */\ /* and fach_nr =<<Fach-Nr.>> */\
/* and costage_st_pruef_aggr.st_studstamm_nr in (select S.st_studstamm_nr from costage_st_studierendenstammdaten S where S.st_land1_nr in (<<Staatsangehörigkeit>>) ) */\ /* and costage_st_pruef_aggr.st_studstamm_nr in (select S.st_studstamm_nr from costage_st_studierendenstammdaten S where S.st_land1_nr in (<<Staatsangehörigkeit>>) ) */\
@ -75,11 +75,12 @@ SELECT name,\
/* and costage_st_pruef_aggr.unikey=<<Hochschule>> */\ /* and costage_st_pruef_aggr.unikey=<<Hochschule>> */\
" />\ " />\
\ \
/* <#assign filter = filter + " and costage_st_pruef_aggr.studiengang_tid in (select D.tid from costage_dim_studiengang D where 's_' ||D.st_studiengang_nr in "+Studiengang.allNeededKeysList +")" /> --<<Studiengang>> */ \
\
\ \
<#if "<<Matrikel-Nr.>>"!="">\ <#if "<<Matrikel-Nr.>>"!="">\
<#assign filter=filter+" and costage_st_pruef_aggr.matrikelnummer in (<<Matrikel-Nr.>>)"?replace("'","")/>\ <#assign filter=filter+" and costage_st_pruef_aggr.matrikelnummer in (<<Matrikel-Nr.>>)"?replace("'","")/>\
</#if>\ </#if>\
/* <#assign filter = filter + " and 's_' || costage_st_pruef_aggr.st_studiengang_nr in "+Studiengang.allNeededKeysList /> --<<Studiengang>> */ \
\ \
--Feld Auswertungsebene Prüfungen\ --Feld Auswertungsebene Prüfungen\
--Was wird ausgewertet? Welche Leistungsdetailtypen sin betroffen? Welches Prüfungsdatum/Semester soll ausgewertet werden?\ --Was wird ausgewertet? Welche Leistungsdetailtypen sin betroffen? Welches Prüfungsdatum/Semester soll ausgewertet werden?\
@ -92,7 +93,7 @@ SELECT name,\
\ \
<#assign fach_filter="1=1" />\ <#assign fach_filter="1=1" />\
--Default: \ --Default: \
/* <#assign fach_filter="costage_st_pruef_aggr.st_studiengang_nr in (select G.st_studiengang_nr from costage_st_studiengaenge G where G.skz_key in (<<Fach>>)) "/> \ /* <#assign fach_filter="costage_st_pruef_aggr.studiengang_tid in (select G.tid from costage_st_studiengaenge G where G.skz_key in (<<Fach>>)) "/> \
*/\ */\
\ \
\ \
@ -100,16 +101,17 @@ SELECT name,\
<#assign ldt_filter="1=1" />\ <#assign ldt_filter="1=1" />\
<#if <<Auswertungsebene Prüfungen>>=="G">\ <#if <<Auswertungsebene Prüfungen>>=="G">\
<#assign ldt_filter="leistungsdetailtyp_kb in ('BAKN', 'MAGN', 'STEX', 'ERGAB')" />\ <#assign ldt_filter="leistungsdetailtyp_kb in ('BAKN', 'MAGN', 'STEX', 'ERGAB')" />\
<#assign semester_feld="semester_msg" />\ <#assign semester_feld="semester" />\
\ \
\ \
</#if> \ </#if> \
<#if <<Auswertungsebene Prüfungen>>=="F">\ <#if <<Auswertungsebene Prüfungen>>=="F">\
<#assign ldt_filter="leistungsdetailtyp_kb in ('TSAB')" />\ <#assign ldt_filter="leistungsdetailtyp_kb in ('TSAB')" />\
<#assign semester_feld="semester_msg" />\ <#assign semester_feld="semester" />\
</#if> \ </#if> \
<#if <<Auswertungsebene Prüfungen>>=="T">\ <#if <<Auswertungsebene Prüfungen>>=="T">\
<#assign ldt_filter="leistungsdetailtyp_kb in ('TSAB')" />\ <#assign ldt_filter="leistungsdetailtyp_kb in ('TSAB')" />\
<#assign semester_feld="semester_tsg" />\
</#if> \ </#if> \
\ \
\ \

13
src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml

@ -294,9 +294,10 @@ SELECT
P.matrikelnummer, P.matrikelnummer,
P.studiengang_nr, P.studiengang_nr,
P.fach_nr, P.fach_nr,
G.abschluss, G.abschluss_code as abschluss,
(case when leistungsdetailtyp_kb='TSAB' then P.semester_tsg --(case when leistungsdetailtyp_kb='TSAB' then P.semester_tsg
else P.semester end) as semester, --else P.semester end) as semester,
P.semester,
P.leistungsdatum, P.leistungsdatum,
G.skz_key as stg, G.skz_key as stg,
null::integer as vert, null::integer as vert,
@ -325,14 +326,14 @@ null::integer as pstatkennz,
null::CHAR(1), --stuart null::CHAR(1), --stuart
G.stufrm, G.stufrm,
null::CHAR(1), --stutyp null::CHAR(1), --stutyp
st_studium_nr as degree_program_id, P.st_studium_nr as degree_program_id,
semester_tsg, semester_tsg,
leistungsdatum_tsg, leistungsdatum_tsg,
leistungsstatus_map_kb_tsg as pstatus_tsg, leistungsstatus_map_kb_tsg as pstatus_tsg,
note_tsg, note_tsg,
fachsemester_tsg as fach_sem_zahl_tsg fachsemester_tsg as fach_sem_zahl_tsg
FROM costage_st_pruef_aggr P, costage_st_studiengaenge G FROM costage_st_pruef_aggr P, costage_dim_studiengang G
where G.st_studiengang_nr=P.st_studiengang_nr where G.tid=P.studiengang_tid
and ($EXTERNAL_SUBJECTS ='true' and ($EXTERNAL_SUBJECTS ='true'
or P.unikey=(select H.hs_nr::char(10) from hochschulinfo H) or P.unikey=(select H.hs_nr::char(10) from hochschulinfo H)
) )

121
src-modules/module/costage/schluesseltabellen/costage_dim_studiengang_fuellen.sql

@ -1,7 +1,40 @@
create temp table tmp_costage_dim_studiengang (tid serial,
tid_orig integer,
st_studiengang_nr integer,
studiengangs_identifikator character varying(255),
studiengangs_bezeichnung character varying(255),
st_absz_nr integer,
st_skz_nr integer,
fachkennzeichen character varying(255),
st_std_art_nr integer,
studiengangs_typ_name character varying(255),
studiengangs_typ_kb character varying(255),
studientyp_name character varying(255),
studientyp_kb character varying(10),
stp_stp_nr integer,
stuart character(10),
stufrm character(10),
pversion character varying(255),
rsz integer,
skz_key character(10),
skz_name character varying(255),
unikey character varying(255),
fakultaet_key character varying(255),
abschluss_code character varying(255),
abschluss_name character varying(255),
fakultaet_kurztext character varying(255),
fakultaet_drucktext character varying(255),
stort_nr character varying(4),
stort_name character varying(255),
ist_neu smallint
);
truncate table costage_dim_studiengang;
insert into costage_dim_studiengang(st_studiengang_nr, insert into tmp_costage_dim_studiengang(
st_studiengang_nr,
studiengangs_identifikator, studiengangs_identifikator,
studiengangs_bezeichnung, studiengangs_bezeichnung,
st_absz_nr, st_absz_nr,
@ -26,7 +59,8 @@ insert into costage_dim_studiengang(st_studiengang_nr,
fakultaet_kurztext, fakultaet_kurztext,
fakultaet_drucktext, fakultaet_drucktext,
stort_nr, stort_nr,
stort_name) stort_name,
ist_neu)
SELECT G.st_studiengang_nr, SELECT G.st_studiengang_nr,
substring(G.studiengangs_identifikator from 1 for 255) as studiengangs_identifikator, substring(G.studiengangs_identifikator from 1 for 255) as studiengangs_identifikator,
@ -54,11 +88,88 @@ A.name as abschluss_name,
null::varchar(255) as fakultaet_kurztext, null::varchar(255) as fakultaet_kurztext,
null::varchar(255) as fakultaet_drucktext, null::varchar(255) as fakultaet_drucktext,
G.stort_nr, G.stort_nr,
G.stort_name G.stort_name,
FROM costage_st_studiengaenge G left outer join costage_st_studienkennzahlen SKZ 0
FROM costage_st_studiengaenge G left outer join costage_st_studienkennzahlen SKZ
on ( SKZ.st_skz_nr=G.st_skz_nr) on ( SKZ.st_skz_nr=G.st_skz_nr)
left outer join costage_st_abschlussziele_lokal A on (A.st_absz_nr=G.st_absz_nr); left outer join costage_st_abschlussziele_lokal A on (A.st_absz_nr=G.st_absz_nr);
update tmp_costage_dim_studiengang set tid_orig=D.tid
from costage_dim_studiengang D
where D.st_studiengang_nr=tmp_costage_dim_studiengang.st_studiengang_nr;
update tmp_costage_dim_studiengang set ist_neu=1
where tid_orig is null;
create temp table tmp_hilf(
maxtid integer);
insert into tmp_hilf select max(tid) from costage_dim_studiengang;
update tmp_costage_dim_studiengang set tid_orig=tid+(select maxtid from tmp_hilf)
where ist_neu=1;
drop table tmp_hilf;
truncate table costage_dim_studiengang;
insert into costage_dim_studiengang(tid,
st_studiengang_nr,
studiengangs_identifikator,
studiengangs_bezeichnung,
st_absz_nr,
st_skz_nr,
fachkennzeichen,
st_std_art_nr,
studiengangs_typ_name,
studiengangs_typ_kb,
studientyp_name,
studientyp_kb,
stp_stp_nr,
stuart,
stufrm,
pversion,
rsz,
skz_key,
skz_name,
unikey,
fakultaet_key,
abschluss_code,
abschluss_name,
fakultaet_kurztext,
fakultaet_drucktext,
stort_nr,
stort_name)
select tid_orig,
st_studiengang_nr,
studiengangs_identifikator,
studiengangs_bezeichnung,
st_absz_nr,
st_skz_nr,
fachkennzeichen,
st_std_art_nr,
studiengangs_typ_name,
studiengangs_typ_kb,
studientyp_name,
studientyp_kb,
stp_stp_nr,
stuart,
stufrm,
pversion,
rsz,
skz_key,
skz_name,
unikey,
fakultaet_key,
abschluss_code,
abschluss_name,
fakultaet_kurztext,
fakultaet_drucktext,
stort_nr,
stort_name
from tmp_costage_dim_studiengang;
update costage_dim_studiengang set fakultaet_kurztext=F.fakultaet_bezeichnung, update costage_dim_studiengang set fakultaet_kurztext=F.fakultaet_bezeichnung,
fakultaet_drucktext=F.fakultaet_name fakultaet_drucktext=F.fakultaet_name
from costage_st_fakultaeten F from costage_st_fakultaeten F

8
src-modules/module/costage/upgrade/costage_pre_upgrade_pg.sql

@ -0,0 +1,8 @@
--freemarker template
<#if TableFieldExists?exists && TableFieldExists('costage_dim_studiengang','tid')>
--do nothing
<#else>
drop table if exists costage_dim_studiengang cascade;
</#if>
Loading…
Cancel
Save