Schnittstelle CampusOnline (TU Graz) zu SuperX-Modul COSTAGE http://www.superx-projekt.de/doku/costage_modul/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

130 lines
3.2 KiB

SELECT
S.st_studium_nr,
S.st_studstamm_nr,
S.matrikelnummer,
S.st_studiengang_nr,
S.st_studienstatus_nr,
S.semester,
S.fachsemester,
S.unikey,
L.leistung_nr,
L.leistungstyp_nr,
L.leistungsdetailtyp_kb,
L.studienidentifikator,
L.spov_abschluss,
L.stp_sp_nr,
L.veranstaltung_nummer,
L.veranstaltung_semester,
L.veranstaltung_titel,
L.veranstaltung_art,
L.semesterstunden,
L.unterrichtseinheiten,
L.thema_individuell,
L.pv_notenskala_nr,
L.note,
L.note_name,
L.note_zahl,
L.pv_pruef_zusatz_typen_nr,
L.note_zusatz,
L.note_zusatz_name,
L.note_positiv_flag,
L.note_negativ_flag,
L.pv_notenskala_typ_nr,
L.pv_notenskala_typ_kb,
L.pv_notenskala_typ_name,
L.credits,
date(L.leistungsdatum) as leistungsdatum,
L.anerkannt_flag,
L.zusatzleistung_flag,
L.leistungsstatus_nr,
L.leistungsstatus_map_kb,
2::integer as abschnitt, --provisorisch erstmal nur Hauptprüfungen
null::integer as pnr
into temp tmp_pruef
FROM costage_st_studien_aggr S, costage_leistungen L, costage_st_semester E, costage_leistungen_typen T
where L.st_studium_nr=S.st_studium_nr
and L.matrikelnummer=S.matrikelnummer::varchar(255)
and E.semester_id=L.veranstaltung_semester
and E.semester_tid=S.semester
and T.leistungstyp_nr=L.leistungstyp_nr
-- TSAB/AB:
and T.kurzbezeichnung='AP' --Abschlussprüfung
and L.leistungsstatus_nr in (4,2) --Letztgültig/Final/gültige Leistung
--px_leistungen_status_typen_v:
--4^F^Letztgültig^Final^
--1^P^in Bearbeitung^in process^
--2^V^gültige Leistung^valid^
--3^I^ungültige Leistung^invalid^
--5^D^gelöscht^deleted^
;
--TSAB:
update tmp_pruef set pnr=9068
where leistungsdetailtyp_kb in ('TSAB');
--Abschluss Bachelorstudium:
update tmp_pruef set pnr=9024
where leistungsdetailtyp_kb in ('BAKN')
;
--Abschluss Masterstudium
update tmp_pruef set pnr=9025
where leistungsdetailtyp_kb in ('BAKN');
--Staatsexamen
update tmp_pruef set pnr=9054
where leistungsdetailtyp_kb in ('STEX');
--Abschluss eines Ergänzungsstudiums
update tmp_pruef set pnr=9060
where leistungsdetailtyp_kb in ('ERGAB');
truncate table costage_st_pruef_aggr;
insert into costage_st_pruef_aggr(st_studium_nr,
st_studstamm_nr,
matrikelnummer,
semester,
st_studiengang_nr,
unikey,
studienidentifikator,
fachsemester,
leistung_nr,
leistungstyp_nr,
leistungsdetailtyp_kb,
pnr,
abschnitt,
stp_sp_nr,
note,
credits,
leistungsdatum,
anerkannt_flag,
leistungsstatus_map_kb,
summe)
select
st_studium_nr,
st_studstamm_nr,
matrikelnummer,
semester,
st_studiengang_nr,
unikey,
substring(studienidentifikator from 1 for 255),
fachsemester,
leistung_nr,
leistungstyp_nr,
leistungsdetailtyp_kb,
pnr,
abschnitt,
stp_sp_nr,
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,
anerkannt_flag,
leistungsstatus_map_kb,
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;
drop table tmp_pruef;