Auswahl Köpfe oder Fälle mit Abhängigkeit beim Spaltenlayout auf gewichtete Fälle und Fallback wenn noch Köpfe oder Fälle noch nicht in sx_repository (altes SOS Modul).
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat','sos_stud_astat_archiv')\
and R.systeminfo_id=7)\
and 1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA' and id='<<Köpfe oder Fälle ?>>')\
order by sortnr, caption;^ ^<<SQL>>SELECT uniquename,\
caption\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA' and id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where apnr='<<Köpfe oder Fälle ?>>')\
)\
order by sortnr, caption;^ ^<<SQL>> --Freemarker Template\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat_gew')\
and R.systeminfo_id=7)\
and 1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA_GEW' and id='<<Köpfe oder Fälle ?>>')\
\
union\
\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\
and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz';^
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat','sos_stud_astat_archiv')\
and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz'\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA' and id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where apnr='<<Köpfe oder Fälle ?>>')\
)\
order by sortnr, caption\
limit 1;^
48001^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48002^Fächer^30^0^0^130^200^6^integer^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
48003^Abschluss^40^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
@ -31,7 +46,47 @@ and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz';^
@@ -31,7 +46,47 @@ and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz';^
48014^Filter Studierende^100^0^0^140^150^1^sql^20^0^1^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^ ^ ^
48015^Nur Endsemester^21^0^0^140^80^1^integer^30^0^1^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
48018^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art in ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW') order by sort1, 2;^ ^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_KOEPFE_FAELLE_RPTA' and caption='Fälle';^
48018^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>>SELECT id, caption\
FROM (\
SELECT sort1, id, caption\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
\
UNION ALL\
\
SELECT 999999 AS sort1, apnr AS id, eintrag AS caption\
FROM koepfe_oder_faelle\
WHERE apnr NOT ILIKE '%gew%'\
AND NOT EXISTS (\
SELECT 1\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
)\
) x\
ORDER BY sort1, caption;^ ^<<SQL>>SELECT id, caption\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art = 'SOS_KOEPFE_FAELLE_RPTA'\
AND caption = 'Fälle'\
\
UNION ALL\
\
SELECT apnr AS id, eintrag AS caption\
FROM koepfe_oder_faelle\
WHERE eintrag = 'Fälle'\
AND apnr NOT ILIKE '%gew%'\
AND NOT EXISTS (\
SELECT 1\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
);^
48019^Status^340^330^-1^130^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^ ^ ^
48022^Geschlecht^110^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^
@ -111,6 +111,7 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
@@ -111,6 +111,7 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
<#assign semester_filter = semester_filter+ " and 1=1 and sem_rueck_beur_ein = "+endsemester /> \
</#if>\
\
<#if "<<Köpfe oder Fälle ?>>"?contains("KoF_RPTA")>\
<#assign filter="${<<Köpfe oder Fälle ?>>}\
/* and sem_rueck_beur_ein = <<Semester>> */\
/* and stichtag = <<Stichtag>> */\
@ -121,6 +122,18 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
@@ -121,6 +122,18 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
/* and substring('' || sem_rueck_beur_ein from 5 for 1)='<<Semestertyp>>' */\
/* and ${<<Filter Studierende>>} */\
" />\
<#else>\
<#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_rueck_beur_ein = <<Semester>> */\
/* and stichtag = <<Stichtag>> */\
/* and <<Hochschulzugangsberechtigung>> */\
/* and <<Hörerstatus>>*/\
/* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_rueck_beur_ein from 5 for 1)='<<Semestertyp>>' */\
/* and ${<<Filter Studierende>>} */\
" />\
</#if>\
\
--die Maske 48000 wird auch im dashboard benutzt.\
--dort gibt es die Spalte kz_rueck_beur_ein nicht im optimierten Resultset, daher:\
48490^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^ ^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Fälle';^
48490^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>>SELECT id, caption\
FROM (\
SELECT sort1, id, caption\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
\
UNION ALL\
\
SELECT 999999 AS sort1, apnr AS id, eintrag AS caption\
FROM koepfe_oder_faelle\
WHERE apnr NOT ILIKE '%gew%'\
AND NOT EXISTS (\
SELECT 1\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
)\
) x\
ORDER BY sort1, caption;^ ^<<SQL>>SELECT id, caption\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art = 'SOS_KOEPFE_FAELLE_RPTA'\
AND caption = 'Fälle'\
\
UNION ALL\
\
SELECT apnr AS id, eintrag AS caption\
FROM koepfe_oder_faelle\
WHERE eintrag = 'Fälle'\
AND apnr NOT ILIKE '%gew%'\
AND NOT EXISTS (\
SELECT 1\
FROM sx_repository\
WHERE aktiv = 1\
AND today() BETWEEN gueltig_seit AND gueltig_bis\
AND art IN ('SOS_KOEPFE_FAELLE_RPTA','SOS_KOEPFE_FAELLE_RPTA_GEW')\
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('rpta_sos_lab_aggr','rpta_sos_lab_stg','rpta_sos_lab_stg_archiv')\
and R.systeminfo_id=7)\
and 1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA' and id='<<Köpfe oder Fälle ?>>')\
order by sortnr, caption;^ ^<<SQL>>SELECT uniquename,\
caption\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA' and id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where apnr='<<Köpfe oder Fälle ?>>')\
)\
order by sortnr, caption;^ ^<<SQL>><<SQL>> --Freemarker Template\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('rpta_sos_lab_stg_gew')\
and R.systeminfo_id=7)\
and 1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA_GEW' and id='<<Köpfe oder Fälle ?>>')\
\
union\
\
SELECT uniquename, caption, sortnr\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sos_lab_aggr'\
and R.systeminfo_id=7) and uniquename='rpta_sos_lab_aggr_sem';^
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('rpta_sos_lab_aggr')\
and R.systeminfo_id=7) and uniquename='rpta_sos_lab_aggr_sem'\
and (1=(select 1 from sx_repository where art='SOS_KOEPFE_FAELLE_RPTA' and id='<<Köpfe oder Fälle ?>>')\
or 1=(select 1 from koepfe_oder_faelle where apnr='<<Köpfe oder Fälle ?>>')\
)\
order by sortnr, caption\
limit 1;^
48509^Semestertyp^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^ ^
@ -108,6 +108,29 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
@@ -108,6 +108,29 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
<#assign semester_filter = semester_filter+ " and 1=1 and sem_der_pruefung = "+endsemester /> \
</#if>\
\
\
<#if "<<Köpfe oder Fälle ?>>"?contains("KoF_RPTA")>\
<#if my_base_rs = "rpta_sos_lab_aggr">\
<#assign filter="${<<Köpfe oder Fälle ?>>}\
/* and sem_der_pruefung = <<Semester>> */\
/* and stichtag = <<Stichtag>> */\
/* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\
/* and pstatus=<<Prüfungsstatus>> */\
" />\
<#elseif my_base_rs = "rpta_sos_lab_stg">\
<#assign filter="${<<Köpfe oder Fälle ?>>}\
/* and sem_d_abg_pruefung = <<Semester>> */\
/* and stichtag = <<Stichtag>> */\
/* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\
/* and pstatus=<<Prüfungsstatus>> */\
" />\
</#if>\
\
<#else>\
<#if my_base_rs = "rpta_sos_lab_aggr">\
<#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_der_pruefung = <<Semester>> */\
@ -128,6 +151,11 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
@@ -128,6 +151,11 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
" />\
</#if>\
\
</#if>\
\
\
\
\
<#assign filter= filter + " and " + jahr_filter />\
\
<#assign filter= filter + " and " + semester_filter />\