Compare commits

..

2 Commits

  1. 7
      src-modules/module/costage/conf/costage.xml
  2. 41
      src-modules/module/costage/hilfstabellen/costage_st_pruef_aggr_fuellen.sql
  3. 20
      src-modules/module/costage/hilfstabellen/costage_st_studien_aggr_fuellen.sql
  4. 18
      src-modules/module/costage/rohdaten/costage_unload.xml
  5. 61
      src-modules/module/costage/rohdaten_sos/sos_costage_unload.xml

7
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.6b" sachgebiet_id="310"
<module name="costage" version="0.6" 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">
@ -600,7 +600,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> @@ -600,7 +600,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
</column>-->
<column name="praxissemester" type ="INTEGER" size ="4" default ="" notnull ="false" description="Praxissemester" />
<column name="klinsem" type ="INTEGER" size ="4" default ="" notnull ="false" description="Klinische Semester" />
<column name="st_studium_nr_msg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Studium des MSG (ID)" />
</columns>
<indexes>
@ -640,10 +639,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" /> @@ -640,10 +639,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[CO]" />
<column name="leistungsdatum_msg" type ="DATE" size ="7" default ="" notnull ="false" description="Prüfungsdatum MSG"/>
<column name="semester_msg" type ="INTEGER" size ="8" default ="" notnull ="false" description="Semester MSG" />
<column name="summe" type ="INTEGER" size ="2" default ="" notnull ="false" description="Summe" />
<column name="po_stp_stp_version_kb" type ="CHAR" size ="10" default ="" notnull ="false" description="SPO-Version" >
<sourcefield table="costage_st_studien_spoversionen" name="po_stp_stp_version_kb" sourcesystem="co" />
<comment>Lookup via: st_studium_nr - costage_st_studien_spoversionen.st_studium_nr, hierbei die jeweils letzte (max(gueltig_ab) </comment>
</column>
</columns>
<indexes>
<index name="ix_costage_st_pruef_aggr1" unique="false">

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

@ -57,8 +57,7 @@ null::integer as pnr, @@ -57,8 +57,7 @@ null::integer as pnr,
null::integer as leistung_nr_msg,
null::integer as st_studiengang_nr_msg,
null::date as leistungsdatum_msg,
null::integer as semester_msg,
null::char(10) as po_stp_stp_version_kb
null::integer as semester_msg
into temp tmp_pruef
FROM costage_st_semester E, costage_leistungen_typen T, costage_leistungen L, costage_st_studierendenstammdaten S
where E.semester_id=L.veranstaltung_semester
@ -150,15 +149,6 @@ from costage_st_studien S @@ -150,15 +149,6 @@ from costage_st_studien S
where S.st_studium_nr=tmp_pruef.st_studium_nr
and S.st_studstamm_nr=tmp_pruef.st_studstamm_nr
;
--Fachsemester bei TSAB aus Sem. des Prüfungsdatums holen:
update tmp_pruef set
fachsemester = S.fachsemester
from costage_st_studien_aggr S
where S.semester=tmp_pruef.semester
and S.st_studium_nr=tmp_pruef.st_studium_nr
and S.matrikelnummer=tmp_pruef.matrikelnummer
and tmp_pruef.leistungsdetailtyp_kb='TSAB'
;
--Prüfung kann nach letztem eingeschr. Semester sein, daher zuerst letztes Sem. ermitteln:
select S.st_studium_nr,
@ -178,12 +168,11 @@ group by 1,2 @@ -178,12 +168,11 @@ group by 1,2
--Dann Studium vom letzten Semester in den Prüfungs-Datensatz schreiben:
update tmp_pruef set
st_studienstatus_nr=S.st_studienstatus_nr,
--fachsemester = S.fachsemester, --wird oben ermittelt, ab 0.6 nicht mehr aus letztem Studiums-Semester
fachsemester = S.fachsemester,
studiengang_nr=S.studiengang_nr,
fach_nr=S.fach_nr,
unikey=S.unikey,
st_studiengang_nr_msg=S.st_studiengang_nr_msg,
po_stp_stp_version_kb=S.po_stp_stp_version_kb
st_studiengang_nr_msg=S.st_studiengang_nr_msg
from tmp_max_sem M, costage_st_studien_aggr S
where S.matrikelnummer=M.matrikelnummer
and S.st_studium_nr=M.st_studium_nr
@ -224,24 +213,6 @@ leistungsdatum_msg=leistungsdatum, @@ -224,24 +213,6 @@ leistungsdatum_msg=leistungsdatum,
semester_msg=semester
where tmp_pruef.leistungsdetailtyp_kb !='TSAB'
;
--Fachsemester bei MSG gibt es in CO nicht. Daher die Regel:
--die Fachsemesterzahl sollte die höchste FS-Zahl aus allen TSG enthalten:
select matrikelnummer,st_studiengang_nr_msg,max(semester) as semester_max,max(fachsemester) as fachsem_max
into temp tmp_fachsem_msg
from tmp_pruef
where leistungsdetailtyp_kb='TSAB'
and st_studiengang_nr_msg is not null
group by 1,2;
update tmp_pruef set fachsemester=T.fachsem_max
from tmp_fachsem_msg T
where T.matrikelnummer=tmp_pruef.matrikelnummer
and T.st_studiengang_nr_msg=tmp_pruef.st_studiengang_nr
and T.semester_max <=tmp_pruef.semester
and tmp_pruef.leistungsdetailtyp_kb='BAKN'
;
drop table tmp_fachsem_msg;
--unikey setzen, wenn noch nicht vorhanden (z.B. bei MSG):
update tmp_pruef set unikey=K.unikey
@ -251,8 +222,6 @@ and K.st_skz_nr=G.st_skz_nr @@ -251,8 +222,6 @@ and K.st_skz_nr=G.st_skz_nr
and tmp_pruef.unikey is null
;
delete from costage_st_pruef_aggr
where semester >= ${beginn_semester};
@ -274,7 +243,6 @@ insert into costage_st_pruef_aggr(st_studium_nr, @@ -274,7 +243,6 @@ insert into costage_st_pruef_aggr(st_studium_nr,
pnr,
abschnitt,
stp_sp_nr,
po_stp_stp_version_kb,
note,
credits,
leistungsdatum,
@ -304,7 +272,6 @@ select @@ -304,7 +272,6 @@ select
pnr,
abschnitt,
stp_sp_nr,
po_stp_stp_version_kb,
case when pv_notenskala_typ_kb in ('DE1','DE2','DE3','DE4','DE5','DE6','DE7') or pv_notenskala_typ_kb is null then note_zahl else null::float end as note,
credits,
leistungsdatum,
@ -316,7 +283,7 @@ select @@ -316,7 +283,7 @@ select
semester_msg,
count(*)
from tmp_pruef
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,24,25,26,27,28;
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,24,25,26,27;
drop table tmp_pruef;
drop table tmp_pruef2;

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

@ -426,7 +426,6 @@ null::timestamp as beginn_datum, @@ -426,7 +426,6 @@ null::timestamp as beginn_datum,
null::timestamp AS gueltig_ab,
null::integer as st_studienstatus_nr,
null::integer as primaerflag_studien_msg,
null::integer as st_studium_nr_msg,
max(T.semester) as letztes_tsg_semester,
max(T.fachsemester) as fachsemester,
max(T.praxissemester) as praxissemester,
@ -436,7 +435,7 @@ from tmp_studien_msg_tsg_fehlend F, tmp_studien_tsg T @@ -436,7 +435,7 @@ from tmp_studien_msg_tsg_fehlend F, tmp_studien_tsg T
where F.st_studstamm_nr=T.st_studstamm_nr
and F.st_studiengang_nr_tsg=T.st_studiengang_nr
and T.semester=F.endsemester_tsg
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
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
;
update tmp_studien_msg_tsg_fehlend2 set
@ -446,8 +445,7 @@ abm_art_s=S.abm_art_s, @@ -446,8 +445,7 @@ abm_art_s=S.abm_art_s,
abm_art_s_msg=S.abm_art_s_msg,
beginn_datum =S.beginn_datum,
gueltig_ab=S.gueltig_ab,
st_studienstatus_nr=S.st_studienstatus_nr,
st_studium_nr_msg=S.st_studium_nr_msg
st_studienstatus_nr=S.st_studienstatus_nr
from tmp_studien_tsg S
where S.st_studiengang_nr=tmp_studien_msg_tsg_fehlend2.st_studiengang_nr_tsg
and S.st_studstamm_nr=tmp_studien_msg_tsg_fehlend2.st_studstamm_nr
@ -505,8 +503,7 @@ praxissemester, @@ -505,8 +503,7 @@ praxissemester,
klinsem,
studienfach_sortierung,
letztes_tsg_semester,
primaerflag_studien_msg,
st_studium_nr_msg
primaerflag_studien_msg
)
select distinct semester,
semester_anfang,
@ -549,8 +546,7 @@ praxissemester, @@ -549,8 +546,7 @@ praxissemester,
klinsem,
studienfach_sortierung,
letztes_tsg_semester,
primaerflag_studien_msg,
st_studium_nr_msg
primaerflag_studien_msg
from tmp_studien_msg_tsg_fehlend2 F, costage_st_studiengaenge G
where G.st_studiengang_nr=F.st_studiengang_nr_msg
;
@ -601,7 +597,6 @@ studiengangs_identifikator, @@ -601,7 +597,6 @@ studiengangs_identifikator,
studiengangs_bezeichnung,
st_sem_nr,
st_studium_nr,
st_studium_nr_msg,
st_studstamm_nr,
studienstatustyp,
st_studienstatus_nr,
@ -811,7 +806,6 @@ studiengangs_identifikator, @@ -811,7 +806,6 @@ studiengangs_identifikator,
studiengangs_bezeichnung,
st_sem_nr,
T.st_studium_nr,
T.st_studium_nr_msg,
st_studstamm_nr,
studienstatustyp,
st_studienstatus_nr,
@ -859,7 +853,7 @@ into temp tmp_studien3 @@ -859,7 +853,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,42,43,44,45 ,46, 47,48,49 --,50,51,52
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,43,44,45 ,46, 47,48 --,49,50,51,52
;
select 160,timestamp_str(now()) from xdummy;
@ -890,7 +884,6 @@ create index ix_tmp_studien2 on tmp_studien3(kz_rueck_beur_ein) @@ -890,7 +884,6 @@ create index ix_tmp_studien2 on tmp_studien3(kz_rueck_beur_ein)
;
insert into costage_st_studien_aggr(
st_studium_nr,
st_studium_nr_msg,
st_studstamm_nr,
matrikelnummer,
st_studiengang_nr,
@ -931,7 +924,6 @@ st_studium_nr_msg, @@ -931,7 +924,6 @@ st_studium_nr_msg,
)
select st_studium_nr,
st_studium_nr_msg,
st_studstamm_nr,
matrikelnummer,
st_studiengang_nr,
@ -992,7 +984,6 @@ st_studium_nr_msg, @@ -992,7 +984,6 @@ st_studium_nr_msg,
-- from above to accomodate ranking in studiengangNummer field
insert into costage_st_studien_aggr(
st_studium_nr,
st_studium_nr_msg,
st_studstamm_nr,
matrikelnummer,
st_studiengang_nr,
@ -1033,7 +1024,6 @@ st_studium_nr_msg, @@ -1033,7 +1024,6 @@ st_studium_nr_msg,
)
select st_studium_nr,
st_studium_nr_msg,
st_studstamm_nr,
matrikelnummer,
st_studiengang_nr,

18
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.4b" systeminfo_id="310">COSTAGE-Modul</module>
<module id="costage" version="0.6" systeminfo_id="310">COSTAGE-Modul</module>
<parameters>
<param name="VERSION" defaultValue="2" description="Datenbank-Version"><comment>CO-Version, wird derzeit ignoriert</comment></param>
@ -932,22 +932,6 @@ FROM px_studienplankontexte_v @@ -932,22 +932,6 @@ FROM px_studienplankontexte_v
where 1=0
;
]]>
</extraction-sql>
</unload-job>
<unload-job id="px_bewerb_mzb_v" target-table="costage_bewerb_mzb" extraction-script="" transfer-unload-file="unl/costage_bewerb_mzb.unl" >
<comment>Bewerbungen zugeordnete MZB</comment>
<extraction-sql sourcesystem="co" database="" version="">
<![CDATA[
SELECT
bw_bewerbng_nr,
mzb_typ_kb,
abschluss_status_flag,
abschluss_note
FROM
px_bewerb_mzb_v
;
]]>
</extraction-sql>
</unload-job>

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

@ -236,7 +236,7 @@ null::char(1) as field_of_study, @@ -236,7 +236,7 @@ null::char(1) as field_of_study,
primaerflag as primaerfach,
unikey ,
po_regelstudienzeit ,-- individual_number_of_semesters
coalesce(F.st_studium_nr_msg,F.st_studium_nr) as degree_program_id ,
F.st_studium_nr as degree_program_id ,
null::char(10) as hssem_valid,
null::Char(10) as k_field_of_study_subj_id,
F.kz_rueck_beur_ein_tsg,
@ -292,18 +292,18 @@ P.studiengang_nr, @@ -292,18 +292,18 @@ P.studiengang_nr,
P.fach_nr,
G.abschluss,
P.semester,
(case when leistungsdetailtyp_kb!='TSAB' then P.leistungsdatum else null::date end),
P.leistungsdatum,
G.skz_key as stg,
null::integer as vert,
null::integer as schwp,
string_not_null(G.fachkennzeichen),
(case when leistungsdetailtyp_kb!='TSAB' then round(P.note::decimal(15,4),2) else null::decimal end) as note,
round(P.note::decimal(15,4),2) as note,
null::integer as vken1,
null::char(7), --pruefungsamt_nr
P.abschnitt as pnr,
P.po_stp_stp_version_kb as pversion,
(case when leistungsdetailtyp_kb!='TSAB' then P.leistungsstatus_map_kb else null::char(10) end) as pstatus,
(case when leistungsdetailtyp_kb!='TSAB' then P.fachsemester else null::integer end) as fachsemester,
val(G.pversion),
P.leistungsstatus_map_kb as pstatus,
P.fachsemester ,
P.leistungsdetailtyp_kb as part,
P.leistung_nr,
null::integer as pversuch,
@ -336,11 +336,11 @@ null::char(1) as ut_top_k_elementtype_id, @@ -336,11 +336,11 @@ null::char(1) as ut_top_k_elementtype_id,
null::char(1) as child_ut_top_unit_id,
null::char(1) as child_ut_top_unit_stat,
null::char(1) as k_unit_purpose_id,
(case when leistungsdetailtyp_kb='TSAB' then semester else null::integer end) as sem_der_pruefung_exa,
(case when leistungsdetailtyp_kb='TSAB' then leistungsdatum else null::date end) as d_abg_pruefung_exa,
(case when leistungsdetailtyp_kb='TSAB' then leistungsstatus_map_kb else null::char(10) end) as pstatus_tsg,
(case when leistungsdetailtyp_kb='TSAB' then note else null::float end) as note_tsg,
(case when leistungsdetailtyp_kb='TSAB' then fachsemester else null::integer end) as fach_sem_zahl_tsg
null::char(1) as sem_der_pruefung_exa,
null::char(1) as d_abg_pruefung_exa,
null::char(1) as pstatus_tsg,
null::char(1) as note_tsg,
null::char(1) as fach_sem_zahl_tsg
FROM costage_st_pruef_aggr P, costage_st_studiengaenge G
where G.st_studiengang_nr=P.st_studiengang_nr
AND P.semester >= $start_pruef_sem
@ -880,30 +880,7 @@ null as lid, @@ -880,30 +880,7 @@ null as lid,
null as parent_lid,
null as sortorder
FROM xdummy
union
SELECT
9002,
-1,
leistungsdetailtyp_kb as apnr,
substring(name_de from 1 for 10),--ktxt,
substring(name_de from 1 for 255) as dtxt,
substring(name_de from 1 for 255) as ltxt,
null::char(10) as astat,
null::char(10) as parent,
leistungsdetailtyp_kb,--sortc1 wird später uniquename
' ',
null as sprache,
null::date as gueltig_von,
null::date as gueltig_bis,
leistungsdetailtyp_kb::varchar(255), --sourcesystem_id
' ', --hiskey_id
'A', --struktur_c
null as lid,
null as parent_lid,
null as sortorder
FROM costage_leistungen_detail_typen
WHERE leistungsdetailtyp_kb is not null
;
]]>
</extraction-sql>
@ -1064,18 +1041,8 @@ select * from k_stg where 1=0; @@ -1064,18 +1041,8 @@ select * from k_stg where 1=0;
</unload-job>
<unload-job id="sos_labzuord" extraction-table="" extraction-script="" transfer-unload-file="unl/sos_labzuord.unl" >
<extraction-sql sourcesystem="co" database="" version="">
<![CDATA[ select
matrikelnummer as mtknr,
leistung_nr as labnr,
null::char(1) as artzuordnung,
null::char(1) as pordnrzu,
leistung_nr_msg as labnrzu,
null::char(1) as bonus,
null::char(1) as malus
from costage_st_pruef_aggr
where leistung_nr_msg != leistung_nr
--AND semester >= $start_pruef_sem
;
<![CDATA[
select * from k_stg where 1=0;
]]>
</extraction-sql>
</unload-job>

Loading…
Cancel
Save