diff --git a/src-modules/module/sxc/conf/sxc.xml b/src-modules/module/sxc/conf/sxc.xml index fa99735..daadcb4 100644 --- a/src-modules/module/sxc/conf/sxc.xml +++ b/src-modules/module/sxc/conf/sxc.xml @@ -1233,6 +1233,18 @@ parent="SuperX-Connect">Abfragen zur Administration von SuperX-Connect $SXC_PFAD/masken + + + + $SXC_PFAD/masken + + + + + + $SXC_PFAD/masken + + @@ -1274,6 +1286,31 @@ parent="SuperX-Connect">Abfragen zur Administration von SuperX-Connect + + + @@ -1301,6 +1338,7 @@ parent="SuperX-Connect">Abfragen zur Administration von SuperX-Connect + @@ -1317,6 +1355,7 @@ parent="SuperX-Connect">Abfragen zur Administration von SuperX-Connect + @@ -1326,6 +1365,31 @@ parent="SuperX-Connect">Abfragen zur Administration von SuperX-Connect + + + @@ -1353,6 +1417,7 @@ parent="SuperX-Connect">Abfragen zur Administration von SuperX-Connect + @@ -1371,6 +1436,7 @@ parent="SuperX-Connect">Abfragen zur Administration von SuperX-Connect + diff --git a/src-modules/module/sxc/masken/47200_felderinfo.unl b/src-modules/module/sxc/masken/47200_felderinfo.unl index ae4fcd9..617286a 100644 --- a/src-modules/module/sxc/masken/47200_felderinfo.unl +++ b/src-modules/module/sxc/masken/47200_felderinfo.unl @@ -1,35 +1,24 @@ -47200^Spaltenlayout^3000^350^-1^140^180^1^char^31^1^1^<>SELECT uniquename,\ - caption\ -FROM rpta_column_layout \ -where uniquename in ('sos_stud_zugang_abgang')\ -order by sortnr, caption\ - ;^ ^<>SELECT uniquename,\ - caption\ -FROM rpta_column_layout \ -where uniquename='sos_stud_zugang_abgang';^ -47201^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<> select tid, eintrag from semester order by tid DESC;^ ^<> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ +47201^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<> select tid, eintrag from semester \ +where substring('' || tid from 5 for 1)='2' \ +and sem_beginn < today() order by tid DESC;^ ^<> select tid, eintrag from semester \ +where substring('' || tid from 5 for 1)='2' \ +and sem_beginn < (today()-(3*365)) order by tid DESC limit 1;^ 47202^Fächer^30^0^0^130^200^6^integer^1000^0^12^<> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^ 47203^Abschluss^40^0^0^100^200^3^char^1500^0^12^<> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^ 47204^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^ -47205^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^hidden^ ^ 47206^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^ ^ ^ -47207^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<> select tid, eintrag from semester order by tid DESC;^ ^<> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ +47207^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<> select tid, eintrag from semester \ +where substring('' || tid from 5 for 1)='1' \ +and sem_beginn < today() order by tid DESC;^ ^<> select tid, eintrag from semester \ +where substring('' || tid from 5 for 1)='1' \ +and sem_beginn < today() order by tid DESC limit 1;^ 47208^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^ 47209^Studiengang^25^0^0^140^150^50^char^1000^0^12^<> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^ 47210^Semester^100^0^0^140^80^1^integer^30^0^1^<> select tid, eintrag from semester order by tid DESC;^hidden^ ^ 47211^Stichtag^23^330^-1^130^100^1^sql^30^1^1^<> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='1';^ 47213^Jahr^110^0^0^140^80^1^integer^30^0^13^^ ^ ^ 47214^Filter Studierende^100^0^0^140^150^1^sql^20^0^1^<> 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;^ ^ ^ -47215^Nur Endsemester^21^0^0^140^80^1^integer^30^0^1^<> select 1,'ja' from xdummy^hidden^ ^ -47216^Matrikel-Nr.^35^350^-1^140^80^1^char^30^0^13^^ ^ ^ -47217^Grafik^1000^300^-1^170^150^1^char^30^0^1^<> --freemarker template\ -<#if K_VIZ_ZEITR_SEM_ANZ?exists>select uniquename, caption from viz_chart where maskeninfo_id=47140 and chart_active=1 order by 2;\ -<#else>\ -select 0,'Keine Visualisierungen verfügbar' from xdummy;\ -^ ^<>--freemarker template\ -<#if K_VIZ_ZEITR_SEM_ANZ?exists>select uniquename, caption from viz_chart where maskeninfo_id=47140 and chart_active=1 order by 2 limit 1;\ -^ +47216^Matrikel-Nr.^35^350^-1^140^80^1^integer^30^0^0^^ ^ ^ 47218^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<> select apnr, eintrag from koepfe_oder_faelle order by 2^hidden^<> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Köpfe';^ -47219^tablestylesheet^1500^0^0^100^100^1^char^255^1^1^<> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=47140 order by ord^ ^<> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=47140 order by ord limit 1^ +47219^tablestylesheet^1500^0^0^100^100^1^char^255^0^1^<> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=47140 order by ord^hidden^<> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=47140 order by ord limit 1^ 47222^Geschlecht^110^0^0^140^80^1^integer^30^0^1^<> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^hidden^ ^ -47223^Vergleichshochschule^100^0^0^140^80^1^char^255^0^18^^ ^<> select '../edit/sxc/sxc_hochschule_vergleichsgruppe_list.jsp' from xdummy;^ diff --git a/src-modules/module/sxc/masken/47200_masken_felder_bez.unl b/src-modules/module/sxc/masken/47200_masken_felder_bez.unl index 7532d86..ce16da1 100644 --- a/src-modules/module/sxc/masken/47200_masken_felder_bez.unl +++ b/src-modules/module/sxc/masken/47200_masken_felder_bez.unl @@ -1,9 +1,7 @@ -47200^47200^ 47200^47201^ 47200^47202^ 47200^47203^ 47200^47204^ -47200^47205^ 47200^47206^ 47200^47207^ 47200^47208^ @@ -12,10 +10,7 @@ 47200^47211^ 47200^47213^ 47200^47214^ -47200^47215^ 47200^47216^ -47200^47217^ 47200^47218^ 47200^47219^ 47200^47222^ -47200^47223^ diff --git a/src-modules/module/sxc/masken/47200_maskeninfo.unl b/src-modules/module/sxc/masken/47200_maskeninfo.unl index 2a20ebb..c2e2feb 100644 --- a/src-modules/module/sxc/masken/47200_maskeninfo.unl +++ b/src-modules/module/sxc/masken/47200_maskeninfo.unl @@ -1,139 +1,25 @@ -47200^Studierendenströme Hochschulvergleich^--Freemarker Template\ +47200^Studierendenströme Hochschulvergleich (intern)^--Freemarker Template\ <#include "SQL_lingua_franca"/>\ <#include "SuperX_general"/>\ --\ ---Autor D. Quathamer 2024\ -\ ->;]]>\ -\ -\ -\ -\ ->;\ -\ -]]>\ ->\ -/* and C.uniquename in (<>) */\ -order by CL.sortnr\ - ;\ -]]>\ -= <> */\ -/* and tid <= <> */\ -<#if "<>"="1" || "<>"="2">\ -and substring('' || tid from 5 for 1)='<>'\ -\ -;\ -\ -]]>\ -\ -\ -\ -<#assign jahr_param="" />\ -<#assign jahr_filter="1=1" />\ -/* <#assign jahr_param="<>" /> */\ ---Akad. Jahr 2022: WS + SS - Beispiel: WS 22/23 + SS 2023\ -<#if jahr_param !="">\ -<#assign jahr_filter="(" />\ -<#assign jahr_filter=jahr_filter + "(substring('' || sem_rueck_beur_ein from 5 for 1)='2' and val(substring('' || sem_rueck_beur_ein from 1 for 4))="+jahr_param+")" />\ -<#assign jahr_filter=jahr_filter + " or "/>\ -<#assign jahr_filter=jahr_filter + "(substring('' || sem_rueck_beur_ein from 5 for 1)='1' and (val(substring('' || sem_rueck_beur_ein from 1 for 4))-1)="+jahr_param+")" />\ -<#assign jahr_filter=jahr_filter + ")" />\ -\ +--Autor D. Quathamer 2026\ \ <#assign semester_filter ="1=1\ -/* and sem_rueck_beur_ein >= <> */\ -/* and sem_rueck_beur_ein <= <> */\ +/* and A.sem_rueck_beur_ein >= <> */\ +/* and A.sem_rueck_beur_ein <= <> */\ " />\ -<#if "<>"="1" || "<>"="2">\ -<#assign semester_filter = semester_filter+ " and substring('' || sem_rueck_beur_ein from 5 for 1)='<>'" />\ -\ -<#if "<>"="1">\ ---nur Endsemester\ -<#assign semester_filter = semester_filter+ " and 1=1 and sem_rueck_beur_ein = "+endsemester /> \ -\ \ -<#assign filter="<>\ -/* and sem_rueck_beur_ein = <> */\ -/* and stichtag = <> */\ +<#assign filter="1=1\ +/* and A.stichtag = <> */\ /* and <> */\ /* and <>*/\ /* and geschlecht = <> */\ /* and fach_sem_zahl <= <> */\ /* and substring('' || sem_rueck_beur_ein from 5 for 1)='<>' */\ /* and ${<>} */\ +/* and matrikel_nr=<> */\ " />\ \ -<#assign filter= filter + " and " + jahr_filter />\ -\ <#assign filter= filter + " and " + semester_filter />\ \ \ @@ -142,189 +28,80 @@ limit 2;\ /* <#assign filter = filter + " and stg in "+Fächer.allNeededKeysList /> --<> */\ /* <#assign filter = filter + " and tid_stg in (select L2.tid from lehr_stg_ab L2 where L2.abschluss in "+Abschluss.allNeededKeysList +")" /> --<> */\ \ +create temp table tmp_meta as\ +select\ + H.hs_nr,\ + H.name as hochschulinfo_name,\ + (select datum from systeminfo where tid=7) as datenstand,\ + (select version from db_version where his_system='sxc') as sxc_version,\ + (case when K.apnr=1 then 'HISinOne-BI' else 'SuperX' end)::varchar(50) as dwh_name\ + from hochschulinfo H, konstanten K\ + where K.beschreibung='PLATTFORM'\ +;\ \ +create temp table tmp_sos_sos\ +as select matrikel_nr,sem_rueck_beur_ein as sem_rueck_beur_ein_max\ +from sos_sos\ +where 1=1\ +/* and matrikel_nr=<> */\ +;\ \ create temp table tmp_sos_stud_astat as\ -select dim_studiengang.tid as dim_studiengang_tid,\ -dim_studiengang.stg as dim_studiengang_stg,\ -dim_studiengang.stg_str as dim_studiengang_stg_str,\ -dim_studiengang.stg_ktxt as dim_studiengang_stg_ktxt,\ -dim_studiengang.stg_ltxt as dim_studiengang_stg_ltxt,\ -dim_studiengang.stg_astat as dim_studiengang_stg_astat,\ -dim_studiengang.stg_astat_str as dim_studiengang_stg_astat_str,\ -dim_studiengang.stg_astgrp as dim_studiengang_stg_astgrp,\ -dim_studiengang.stg_astgrp_str as dim_studiengang_stg_astgrp_str,\ -dim_studiengang.vertfg as dim_studiengang_vertfg,\ -dim_studiengang.vertfg_str as dim_studiengang_vertfg_str,\ -dim_studiengang.schwerpunkt as dim_studiengang_schwerpunkt,\ -dim_studiengang.schwerpunkt_str as dim_studiengang_schwerpunkt_str,\ -dim_studiengang.pversion as dim_studiengang_pversion,\ -dim_studiengang.kz_fach as dim_studiengang_kz_fach,\ -dim_studiengang.kz_fach_str as dim_studiengang_kz_fach_str,\ -dim_studiengang.abschluss as dim_studiengang_abschluss,\ -dim_studiengang.abschluss_str as dim_studiengang_abschluss_str,\ -dim_studiengang.abschluss_astat as dim_studiengang_abschluss_astat,\ -dim_studiengang.abschluss_astat_str as dim_studiengang_abschluss_astat_str,\ -dim_studiengang.abschlussart as dim_studiengang_abschlussart,\ -dim_studiengang.abschlussart_str as dim_studiengang_abschlussart_str,\ -dim_studiengang.abschluss_grp as dim_studiengang_abschluss_grp,\ -dim_studiengang.abschluss_grp_str as dim_studiengang_abschluss_grp_str,\ -dim_studiengang.text as dim_studiengang_text,\ -dim_studiengang.regel as dim_studiengang_regel,\ -dim_studiengang.stort as dim_studiengang_stort,\ -dim_studiengang.stort_str as dim_studiengang_stort_str,\ -dim_studiengang.fb as dim_studiengang_fb,\ -dim_studiengang.fb_str as dim_studiengang_fb_str,\ -dim_studiengang.lehr as dim_studiengang_lehr,\ -dim_studiengang.lehr_str as dim_studiengang_lehr_str,\ -dim_studiengang.stutyp as dim_studiengang_stutyp,\ -dim_studiengang.stutyp_str as dim_studiengang_stutyp_str,\ -dim_studiengang.stg_astat_bund as dim_studiengang_stg_astat_bund,\ -dim_studiengang.stg_astat_bund_str as dim_studiengang_stg_astat_bund_str,\ -dim_studiengang.abschluss_astat_bund as dim_studiengang_abschluss_astat_bund,\ -dim_studiengang.abschluss_astat_bund_str as dim_studiengang_abschluss_astat_bund_str,\ -dim_studiengang.stg_astat_sb as dim_studiengang_stg_astat_sb,\ -dim_studiengang.stg_astat_sb_str as dim_studiengang_stg_astat_sb_str,\ -dim_studiengang.fgrp as dim_studiengang_fgrp,\ -dim_studiengang.fgrp_str as dim_studiengang_fgrp_str,\ -dim_studiengang.sb as dim_studiengang_sb,\ -dim_studiengang.sb_str as dim_studiengang_sb_str,\ -dim_studiengang.abstgvnr as dim_studiengang_abstgvnr,\ -dim_studiengang.pversion_uniquename as dim_studiengang_pversion_uniquename,\ -dim_studiengang.pversion_kurztext as dim_studiengang_pversion_kurztext,\ -dim_studiengang.pversion_drucktext as dim_studiengang_pversion_drucktext,\ -dim_studiengang.unikey as dim_studiengang_unikey,\ -dim_studiengang.ist_lehramt as dim_studiengang_ist_lehramt,\ ---dim_studiengang.stufrm_diff_rsz as dim_studiengang_stufrm_diff_rsz,\ -sos_stg_aggr.tid_stg as tid_stg,\ -sos_stg_aggr.ca12_staat as ca12_staat,\ -sos_stg_aggr.geschlecht as geschlecht,\ -sos_stg_aggr.alter as alter,\ -sos_stg_aggr.hzbart as hzbart,\ -sos_stg_aggr.hmkfzkz as hmkfzkz,\ -sos_stg_aggr.hmkfz as hmkfz,\ -sos_stg_aggr.semkfzkz as semkfzkz,\ -sos_stg_aggr.semkfz as semkfz,\ -sos_stg_aggr.hzbkfzkz as hzbkfzkz,\ -sos_stg_aggr.hzbkfz as hzbkfz,\ -sos_stg_aggr.hrst as hrst,\ -sos_stg_aggr.studiengang_nr as studiengang_nr,\ -sos_stg_aggr.fach_nr as fach_nr,\ -sos_stg_aggr.fach_sem_zahl as fach_sem_zahl,\ -sos_stg_aggr.sem_rueck_beur_ein as sem_rueck_beur_ein,\ -sos_stg_aggr.kz_rueck_beur_ein as kz_rueck_beur_ein,\ -sos_stg_aggr.klinsem as klinsem,\ -sos_stg_aggr.hssem as hssem,\ -sos_stg_aggr.stuart as stuart,\ -sos_stg_aggr.stufrm as stufrm,\ -sos_stg_aggr.stichtag as stichtag,\ -sos_stg_aggr.summe as summe,\ -sos_stg_aggr.hzbart_int as hzbart_int,\ -sos_stg_aggr.matrikel_nr as matrikel_nr,\ -sos_stg_aggr.ch27_grund_beurl as ch27_grund_beurl,\ -sos_stg_aggr.ch62_grund_exmatr as ch62_grund_exmatr,\ -sos_stg_aggr.hzbnote as hzbnote,\ -sos_stg_aggr.pseudonym as pseudonym,\ -sos_stg_aggr.sem_rueck_beur_ein_max as sem_rueck_beur_ein_max,\ -sos_stg_aggr.ruebeudat as ruebeudat,\ -sos_stg_aggr.semgewicht as semgewicht,\ -sos_stg_aggr.d_exmatr as d_exmatr,\ -sos_stg_aggr.second_nationality as second_nationality,\ -sos_stg_aggr.district_astat as district_astat,\ -sos_stg_aggr.country_astat as country_astat,\ -sos_stg_aggr.orgrole_valid_from as orgrole_valid_from,\ -sos_stg_aggr.orgrole_valid_to as orgrole_valid_to,\ -sos_stg_aggr.geb_gezahlt as geb_gezahlt,\ -sos_stg_aggr.aktiv as aktiv,\ -sos_stg_aggr.individual_number_of_semesters as individual_number_of_semesters,\ -sos_stg_aggr.ersthzbkfz as ersthzbkfz,\ -sos_stg_aggr.ersthzbkfzkz as ersthzbkfzkz,\ -sos_stg_aggr.ersthzbart as ersthzbart,\ -sos_stg_aggr.ersthzbjahr as ersthzbjahr,\ -sos_stg_aggr.ersthzbnote as ersthzbnote,\ -sos_stg_aggr.lepsem as lepsem,\ -sos_stg_aggr.stgsemgewicht as stgsemgewicht,\ -sos_stg_aggr.degree_program_id as degree_program_id,\ -sos_stg_aggr.endedat as endedat,\ -sos_stg_aggr.kz_rueck_beur_ein_tsg as kz_rueck_beur_ein_tsg,\ -sos_stg_aggr.endedat_tsg as endedat_tsg,\ -sos_stg_aggr.abmeldegrund as abmeldegrund,\ -sos_stg_aggr.abmeldegrund_tsg as abmeldegrund_tsg,\ -sos_stg_aggr.degree_program_uniquename as degree_program_uniquename,\ -sos_stg_aggr.aktiv_intern as aktiv_intern,\ -sos_stg_aggr.aktiv_intern_p as aktiv_intern_p,\ -sos_k_hrst.apnr as sos_k_hrst_apnr,\ -sos_k_hrst.kurz as sos_k_hrst_kurz,\ -sos_k_hrst.druck as sos_k_hrst_druck,\ -sos_k_hrst.astat as sos_k_hrst_astat,\ -sos_k_hrst.his_hrst as sos_k_hrst_his_hrst,\ -sos_k_stort.apnr as sos_k_stort_apnr,\ -sos_k_stort.kurz as sos_k_stort_kurz,\ -sos_k_stort.druck as sos_k_stort_druck,\ -sos_k_stort.astat as sos_k_stort_astat,\ -sos_k_stuart.apnr as sos_k_stuart_apnr,\ -sos_k_stuart.druck as sos_k_stuart_druck,\ -sos_k_stuart.astat as sos_k_stuart_astat,\ -sos_k_stufrm.apnr as sos_k_stufrm_apnr,\ -sos_k_stufrm.druck as sos_k_stufrm_druck,\ -sos_k_stufrm.astat as sos_k_stufrm_astat,\ -sos_k_stutyp.apnr as sos_k_stutyp_apnr,\ -sos_k_stutyp.druck as sos_k_stutyp_druck,\ -sos_k_stutyp.astat as sos_k_stutyp_astat,\ -null::varchar as dummy \ -from sos_stg_aggr\ -left outer join dim_studiengang on (dim_studiengang.tid=sos_stg_aggr.tid_stg)\ -left outer join sos_k_stort on (dim_studiengang.stort=sos_k_stort.apnr)\ -left outer join sos_k_stutyp on (sos_stg_aggr.stutyp=sos_k_stutyp.apnr)\ -left outer join sos_k_stuart on (sos_stg_aggr.stuart=sos_k_stuart.apnr)\ -left outer join sos_k_stufrm on (sos_stg_aggr.stufrm=sos_k_stufrm.apnr)\ -left outer join sos_k_hrst on (sos_stg_aggr.hrst=sos_k_hrst.apnr) \ -where 1=1\ +select \ +dim_studiengang.tid as dim_studiengang_tid,\ +A.sem_rueck_beur_ein as sem_rueck_beur_ein,\ +get_akad_jahr(A.sem_rueck_beur_ein,'P') as jahr,\ +A.kz_rueck_beur_ein as kz_rueck_beur_ein,\ +A.summe as summe,\ +A.matrikel_nr as matrikel_nr,\ +O.sem_rueck_beur_ein_max,\ +S.sem_beginn,\ +S.sem_ende\ +from semester S, tmp_sos_sos O,sos_stg_aggr A\ +left outer join dim_studiengang on (dim_studiengang.tid=A.tid_stg)\ +where O.matrikel_nr=A.matrikel_nr\ +and S.tid=A.sem_rueck_beur_ein\ +and A.studiengang_nr=1\ +and A.fach_nr=1\ and ${filter}\ ;\ \ select \ --zuerst die Basisdaten:\ - (select hs_nr from hochschulinfo) as hs_nr,\ - (select name from hochschulinfo) as hochschulinfo_name,\ - 'Studienjahr'::varchar(255) as studienjahr_label,\ - get_akad_jahr(sem_rueck_beur_ein,'P') as jahr,\ - case when substring('' || sem_rueck_beur_ein from 5 for 1)='2' and kz_rueck_beur_ein=3 then summe else 0 end as anfangsbestand,\ - (select '' from semester where sem_beginn <= current_date and sem_ende >= current_date and semester.tid= tmp_sos_stud_astat.sem_rueck_beur_ein \ -union select 'nein' where tmp_sos_stud_astat.sem_rueck_beur_ein_max <= tmp_sos_stud_astat.sem_rueck_beur_ein\ -union select 'ja' where add_sem(tmp_sos_stud_astat.sem_rueck_beur_ein,1) = tmp_sos_stud_astat.sem_rueck_beur_ein_max\ -union select 'ja' from xdummy where exists \ -(select S2.matrikel_nr from sos_stg_aggr S2 where S2.matrikel_nr=tmp_sos_stud_astat.matrikel_nr \ -and S2.sem_rueck_beur_ein=add_sem(tmp_sos_stud_astat.sem_rueck_beur_ein,1)\ -)\ -union select 'nein' from xdummy where not exists \ -(select S2.matrikel_nr from sos_stg_aggr S2 where S2.matrikel_nr=tmp_sos_stud_astat.matrikel_nr \ -and S2.sem_rueck_beur_ein=add_sem(tmp_sos_stud_astat.sem_rueck_beur_ein,1)\ -) order by 1 limit 1) as status_folgesem,\ - (case when exists (select L.matrikel_nr \ -from sos_lab_stg L, lehr_stg_ab L2, sos_stichtag I \ -where L2.tid=L.tid_stg and L.stichtag=I.tid \ +T.jahr,\ +case when substring('' || T.sem_rueck_beur_ein from 5 for 1)='2' and kz_rueck_beur_ein=3 then summe else 0 end as anfangsbestand,\ +--status Folgesemester:\ +(case when sem_beginn <= current_date and sem_ende >= current_date then '' \ +when sem_rueck_beur_ein_max = sem_rueck_beur_ein then 'nein'\ +when add_sem(T.sem_rueck_beur_ein,1) = T.sem_rueck_beur_ein_max then 'ja'\ +when exists \ +(select S2.matrikel_nr from sos_stg_aggr S2 where S2.matrikel_nr=T.matrikel_nr \ +and S2.sem_rueck_beur_ein=add_sem(T.sem_rueck_beur_ein,1)) then 'ja'\ +when not exists \ +(select S2.matrikel_nr from sos_stg_aggr S2 where S2.matrikel_nr=T.matrikel_nr \ +and S2.sem_rueck_beur_ein=add_sem(T.sem_rueck_beur_ein,1)) then 'nein'\ +else '' end)::varchar(50) as status_folgesem,\ +(case when exists (select L.matrikel_nr\ +from sos_lab_stg L, sos_stichtag I \ +where L.stichtag=I.tid \ and I.appl_key='2' \ -and L.matrikel_nr=tmp_sos_stud_astat.matrikel_nr \ -and L2.stg=tmp_sos_stud_astat.dim_studiengang_stg \ -and L2.abschluss=tmp_sos_stud_astat.dim_studiengang_abschluss \ +and L.matrikel_nr=T.matrikel_nr \ +--and L2.stg=tmp_sos_stud_astat.dim_studiengang_stg \ +--and L2.abschluss=tmp_sos_stud_astat.dim_studiengang_abschluss \ +and L.sem_d_abg_pruefung <= T.sem_rueck_beur_ein\ and L.pstatus='BE' \ and L.abschnitt=2) then 1 else 0 end) as hauptpruefung,\ - case when kz_rueck_beur_ein in (1,2) then summe else 0 end as zugang,\ - case when kz_rueck_beur_ein in (1) then summe else 0 end as zugang_ersteinschr,\ - 0::integer as abgang,\ - summe as summe,\ +case when T.kz_rueck_beur_ein in (1,2) then T.summe else 0 end as zugang,\ +case when T.kz_rueck_beur_ein in (1) then T.summe else 0 end as zugang_ersteinschr,\ +0::integer as abgang,\ +T.summe as summe,\ 0::integer as abgang_hauptpr,\ 0::integer as abgang_ohne_hauptpr,\ 0::integer as hauptpr_summe,\ 0::integer as hauptpr_bleibt,\ - null::integer as endbestand,\ - 'SuperX' as dwh_name,\ - (select datum from systeminfo where tid=7) as datenstand,\ - (select version from db_version where his_system='sxc') as sxc_version,\ - null::char(1) as dummycol\ + null::integer as endbestand\ into temp tmp_stud\ - from tmp_sos_stud_astat\ + from tmp_sos_stud_astat T\ where 1=1 \ ;\ -- select * from tmp_stud;\ @@ -338,18 +115,8 @@ update tmp_stud set hauptpr_bleibt=summe where hauptpruefung=1 and status_folges --ergebnistabelle:\ select \ --zuerst die nicht-Aggregate:\ - -- preparingColumns ausgeschlossen, da sie von processingColumns aggregiert werden\ - -- computedColumns immer mitnehmen, da später im finalen select verarbeitet\ - hs_nr,\ - hochschulinfo_name,\ - studienjahr_label,\ jahr,\ - -- status_folgesem,\ - -- hauptpruefung,\ null::integer as endbestand,\ - dwh_name,\ - datenstand,\ - sxc_version,\ --dann die Aggregate:\ sum(abgang) as abgang,\ sum(abgang_hauptpr) as abgang_hauptpr,\ @@ -365,103 +132,85 @@ update tmp_stud set hauptpr_bleibt=summe where hauptpruefung=1 and status_folges from tmp_stud\ where 1=1\ group by\ - 1,2,3,4,5,6,7,8\ + 1,2\ ;\ - update tmp_stud2 set endbestand= anfangsbestand+zugang-abgang;\ +update tmp_stud2 set endbestand= anfangsbestand+zugang-abgang;\ \ - drop table if exists tmp_sos_stud_astat;\ - drop table if exists tmp_stud;\ +drop table if exists tmp_sos_stud_astat;\ +drop table if exists tmp_stud;\ +drop table if exists tmp_sos_sos;\ \ select \ - hs_nr\ - as hs_nr\ -\ - ,\ - hochschulinfo_name\ - as hochschulinfo_name\ -\ - ,\ - studienjahr_label\ - as studienjahr_label\ -\ - ,\ - jahr\ - as jahr\ -\ - ,\ - anfangsbestand\ - as anfangsbestand\ -\ - ,\ - zugang\ - as zugang\ -\ - ,\ - zugang_ersteinschr\ - as zugang_ersteinschr\ -\ - ,\ - abgang\ -\ - ,\ - abgang_hauptpr\ -\ - ,\ - abgang_ohne_hauptpr\ -\ - ,\ - hauptpr_summe\ -\ - ,\ - hauptpr_bleibt\ -\ - ,\ - endbestand\ -\ - ,\ - dwh_name\ - as dwh_name\ -\ - ,\ - datenstand\ - as datenstand\ -\ - ,\ - sxc_version\ - as sxc_version\ -\ - \ - from tmp_stud2\ - order by \ - 1\ - ,\ -2\ - ,\ -3\ - ,\ -4\ - ,\ -5\ - ,\ -6\ - ,\ -7\ - ,\ -8\ - ,\ -9\ - ,\ -10\ - ,\ -11\ - ,\ -12\ - ,\ -13\ - ,\ -14\ - ,\ -15\ - ,\ -16\ - ;^select xil_proplist from maskeninfo where tid=48000^Studienfach^Anzahl bzw. Anteil^Studierende (Anfangsbestand, Zugang und Abgang) pro Hochschule und Studienjahr^select cleanup_stmt from maskeninfo where tid=48000^^2^850^540^^1^<>SELECT description FROM rpta_column_layout where uniquename=<>;^ +M.hs_nr,\ +M.hochschulinfo_name,\ +'Studienjahr' as studienjahr_label,\ +'' || jahr as jahr,\ +anfangsbestand,\ +zugang,\ +zugang_ersteinschr,\ +abgang,\ +abgang_hauptpr,\ +abgang_ohne_hauptpr,\ +hauptpr_summe,\ +hauptpr_bleibt,\ +endbestand,\ +M.dwh_name,\ +M.datenstand,\ +M.sxc_version\ + from tmp_stud2, tmp_meta M\ + order by 1,2,3,4,5,6,7,8,9,10,11,12,13,14\ + ;^XIL List\ + sizable_columns horizontal_scrolling\ + drop_and_delete movable_columns \ + white_space_color=COLOR_WHITE fixed_columns=1\ + min_heading_height=55\ +Column CID=0 heading_text="Hochschule_ID" center_heading explanation="Amtliche Standortnummer"\ + row_selectable heading_platform readonly\ + width=10 text_size=60\ +Column CID=0 heading_text="Hochschule_NAME" center_heading explanation=""\ + row_selectable heading_platform readonly\ + width=10 text_size=60\ +Column CID=0 heading_text="Semester" center_heading explanation=""\ + row_selectable heading_platform readonly\ + width=10 text_size=60\ +Column CID=0 heading_text="Jahr" center_heading explanation="(WS + darauffolgendes SS)"\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Anfangsbestand" center_heading explanation="Studierende im WiSe"\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Zugang" center_heading explanation="Studierende (Erst- und Neueinschreiber) im WiSe und SoSe"\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Zugang_Ersteinschreibung" center_heading explanation="Studierende (Ersteinschreiber) im WiSe und SoSe"\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Abgang" center_heading explanation="Exmatrikuliert"\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Abgang_mit_Hauptpruefung" center_heading explanation="Hauptprüfung, im Folgesemester nicht eingeschrieben"\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Abgang_ohne_Hauptpruefung" center_heading explanation="Keine Hauptprüfung, im Folgesemester nicht eingeschrieben"\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Hauptpruefung_gesamt" center_heading explanation="Hauptprüfung"\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Hauptpruefung_bleibt" center_heading explanation="Hauptprüfung, im Folgesem.- eingeschrieben"\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Endbestand" center_heading explanation="Endbestand (Anfangsbestand + Zugang - Abgang)"\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Quellsystem" center_heading explanation=""\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Datenstand" center_heading explanation=""\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +Column CID=0 heading_text="Version-Export" center_heading explanation=""\ + row_selectable heading_platform readonly\ + width=5 text_size=60\ +@@@^Studienfach^Anzahl bzw. Anteil^Studierende (Anfangsbestand, Zugang und Abgang) pro Hochschule und Studienjahr^drop table tmp_meta;\ +drop table tmp_stud2;^^2^850^540^^1^ ^ diff --git a/src-modules/module/sxc/masken/47230_felderinfo.unl b/src-modules/module/sxc/masken/47230_felderinfo.unl new file mode 100644 index 0000000..0a448bf --- /dev/null +++ b/src-modules/module/sxc/masken/47230_felderinfo.unl @@ -0,0 +1,43 @@ +47230^Spaltenlayout^3000^350^-1^140^180^1^char^31^1^1^<>SELECT uniquename,\ + caption\ +FROM rpta_column_layout \ +where uniquename in ('sos_stud_zugang_abgang')\ +order by sortnr, caption\ + ;^ ^<>SELECT uniquename,\ + caption\ +FROM rpta_column_layout \ +where uniquename='sos_stud_zugang_abgang';^ +47231^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<> select tid, eintrag from semester \ +where substring('' || tid from 5 for 1)='2' \ +and sem_beginn < today() order by tid DESC;^ ^<> select tid, eintrag from semester \ +where substring('' || tid from 5 for 1)='2' \ +and sem_beginn < (today()-(3*365)) order by tid DESC limit 1;^ +47232^Fächer^30^0^0^130^200^6^integer^1000^0^12^<> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^ +47233^Abschluss^40^0^0^100^200^3^char^1500^0^12^<> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^ +47234^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^ +47235^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^hidden^ ^ +47236^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^ ^ ^ +47237^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<> select tid, eintrag from semester \ +where substring('' || tid from 5 for 1)='1' \ +and sem_beginn < today() order by tid DESC;^ ^<> select tid, eintrag from semester \ +where substring('' || tid from 5 for 1)='1' \ +and sem_beginn < today() order by tid DESC limit 1;^ +47238^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^ +47239^Studiengang^25^0^0^140^150^50^char^1000^0^12^<> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^ +47240^Semester^100^0^0^140^80^1^integer^30^0^1^<> select tid, eintrag from semester order by tid DESC;^hidden^ ^ +47241^Stichtag^23^330^-1^130^100^1^sql^30^1^1^<> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='1';^ +47243^Jahr^110^0^0^140^80^1^integer^30^0^13^^ ^ ^ +47244^Filter Studierende^100^0^0^140^150^1^sql^20^0^1^<> 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;^ ^ ^ +47245^Nur Endsemester^21^0^0^140^80^1^integer^30^0^1^<> select 1,'ja' from xdummy^hidden^ ^ +47246^Matrikel-Nr.^35^350^-1^140^80^1^char^30^0^13^^ ^ ^ +47247^Grafik^1000^300^-1^170^150^1^char^30^0^1^<> --freemarker template\ +<#if K_VIZ_ZEITR_SEM_ANZ?exists>select uniquename, caption from viz_chart where maskeninfo_id=47140 and chart_active=1 order by 2;\ +<#else>\ +select 0,'Keine Visualisierungen verfügbar' from xdummy;\ +^ ^<>--freemarker template\ +<#if K_VIZ_ZEITR_SEM_ANZ?exists>select uniquename, caption from viz_chart where maskeninfo_id=47140 and chart_active=1 order by 2 limit 1;\ +^ +47248^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<> select apnr, eintrag from koepfe_oder_faelle order by 2^hidden^<> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Köpfe';^ +47249^tablestylesheet^1500^0^0^100^100^1^char^255^1^1^<> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=47140 order by ord^ ^<> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=47140 order by ord limit 1^ +47252^Geschlecht^110^0^0^140^80^1^integer^30^0^1^<> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^hidden^ ^ +47253^Vergleichshochschule^100^0^0^140^80^1^char^255^0^18^^ ^<> select '../edit/sxc/sxc_hochschule_vergleichsgruppe_list.jsp' from xdummy;^ diff --git a/src-modules/module/sxc/masken/47230_maske_system_bez.unl b/src-modules/module/sxc/masken/47230_maske_system_bez.unl new file mode 100644 index 0000000..5a3e198 --- /dev/null +++ b/src-modules/module/sxc/masken/47230_maske_system_bez.unl @@ -0,0 +1 @@ +47230^360^ diff --git a/src-modules/module/sxc/masken/47230_masken_felder_bez.unl b/src-modules/module/sxc/masken/47230_masken_felder_bez.unl new file mode 100644 index 0000000..2c80910 --- /dev/null +++ b/src-modules/module/sxc/masken/47230_masken_felder_bez.unl @@ -0,0 +1,21 @@ +47230^47230^ +47230^47231^ +47230^47232^ +47230^47233^ +47230^47234^ +47230^47235^ +47230^47236^ +47230^47237^ +47230^47238^ +47230^47239^ +47230^47240^ +47230^47241^ +47230^47243^ +47230^47244^ +47230^47245^ +47230^47246^ +47230^47247^ +47230^47248^ +47230^47249^ +47230^47252^ +47230^47253^ diff --git a/src-modules/module/sxc/masken/47230_maskeninfo.unl b/src-modules/module/sxc/masken/47230_maskeninfo.unl new file mode 100644 index 0000000..2518451 --- /dev/null +++ b/src-modules/module/sxc/masken/47230_maskeninfo.unl @@ -0,0 +1,248 @@ +47230^Studierendenströme Hochschulvergleich (extern)^--Freemarker Template\ +<#include "SQL_lingua_franca"/>\ +<#include "SuperX_general"/>\ +--\ +--Autor D. Quathamer 2024\ +\ +>;]]>\ +\ +\ +\ +\ +>;\ +\ +]]>\ +>\ +/* and C.uniquename in (<>) */\ +order by CL.sortnr\ + ;\ +]]>\ += <> */\ +/* and tid <= <> */\ +<#if "<>"="1" || "<>"="2">\ +and substring('' || tid from 5 for 1)='<>'\ +\ +;\ +\ +]]>\ +\ +\ +\ +<#assign semester_filter ="1=1\ +/* and A.sem_rueck_beur_ein >= <> */\ +/* and A.sem_rueck_beur_ein <= <> */\ +" />\ +\ +<#assign filter="1=1\ +/* and A.stichtag = <> */\ +/* and <> */\ +/* and <>*/\ +/* and geschlecht = <> */\ +/* and fach_sem_zahl <= <> */\ +/* and substring('' || sem_rueck_beur_ein from 5 for 1)='<>' */\ +/* and ${<>} */\ +" />\ +\ +<#assign filter= filter + " and " + semester_filter />\ +\ +\ +<#assign filter = filter + " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \ +/* <#assign filter = filter + " and '' || ca12_staat in "+Staatsangehörigkeit.allNeededKeysList /> --<> */\ +/* <#assign filter = filter + " and stg in "+Fächer.allNeededKeysList /> --<> */\ +/* <#assign filter = filter + " and tid_stg in (select L2.tid from lehr_stg_ab L2 where L2.abschluss in "+Abschluss.allNeededKeysList +")" /> --<> */\ +\ +create temp table tmp_meta as\ +select\ + H.hs_nr,\ + H.name as hochschulinfo_name,\ + (select datum from systeminfo where tid=7) as datenstand,\ + (select version from db_version where his_system='sxc') as sxc_version,\ + (case when K.apnr=1 then 'HISinOne-BI' else 'SuperX' end)::varchar(50) as dwh_name\ + from hochschulinfo H, konstanten K\ + where K.beschreibung='PLATTFORM'\ +;\ +\ +\ +create temp table tmp_sos_stud_astat as\ +select \ +dim_studiengang.tid as dim_studiengang_tid,\ +A.sem_rueck_beur_ein as sem_rueck_beur_ein,\ +get_akad_jahr(A.sem_rueck_beur_ein,'P') as jahr,\ +A.kz_rueck_beur_ein as kz_rueck_beur_ein,\ +A.summe as summe,\ +A.matrikel_nr as matrikel_nr,\ +O.sem_rueck_beur_ein as sem_rueck_beur_ein_max,\ +S.sem_beginn,\ +S.sem_ende\ +from semester S, sos_sos O,sos_stg_aggr A\ +left outer join dim_studiengang on (dim_studiengang.tid=A.tid_stg)\ +where O.matrikel_nr=A.matrikel_nr\ +and S.tid=A.sem_rueck_beur_ein\ +and A.studiengang_nr=1\ +and A.fach_nr=1\ +and ${filter}\ +;\ +\ +select \ + --zuerst die Basisdaten:\ +T.jahr,\ +case when substring('' || T.sem_rueck_beur_ein from 5 for 1)='2' and kz_rueck_beur_ein=3 then summe else 0 end as anfangsbestand,\ +--status Folgesemester:\ +(case when sem_beginn <= current_date and sem_ende >= current_date then '' \ +when sem_rueck_beur_ein_max = sem_rueck_beur_ein then 'nein'\ +when add_sem(T.sem_rueck_beur_ein,1) = T.sem_rueck_beur_ein_max then 'ja'\ +when exists \ +(select S2.matrikel_nr from sos_stg_aggr S2 where S2.matrikel_nr=T.matrikel_nr \ +and S2.sem_rueck_beur_ein=add_sem(T.sem_rueck_beur_ein,1)) then 'ja'\ +when not exists \ +(select S2.matrikel_nr from sos_stg_aggr S2 where S2.matrikel_nr=T.matrikel_nr \ +and S2.sem_rueck_beur_ein=add_sem(T.sem_rueck_beur_ein,1)) then 'nein'\ +else '' end)::varchar(50) as status_folgesem,\ +(case when exists (select L.matrikel_nr\ +from sos_lab_stg L, sos_stichtag I \ +where L.stichtag=I.tid \ +and I.appl_key='2' \ +and L.matrikel_nr=T.matrikel_nr \ +--and L2.stg=tmp_sos_stud_astat.dim_studiengang_stg \ +--and L2.abschluss=tmp_sos_stud_astat.dim_studiengang_abschluss \ +and L.sem_d_abg_pruefung <= T.sem_rueck_beur_ein\ +and L.pstatus='BE' \ +and L.abschnitt=2) then 1 else 0 end) as hauptpruefung,\ +case when T.kz_rueck_beur_ein in (1,2) then T.summe else 0 end as zugang,\ +case when T.kz_rueck_beur_ein in (1) then T.summe else 0 end as zugang_ersteinschr,\ +0::integer as abgang,\ +T.summe as summe,\ + 0::integer as abgang_hauptpr,\ + 0::integer as abgang_ohne_hauptpr,\ + 0::integer as hauptpr_summe,\ + 0::integer as hauptpr_bleibt,\ + null::integer as endbestand\ + into temp tmp_stud\ + from tmp_sos_stud_astat T\ + where 1=1 \ + ;\ +-- select * from tmp_stud;\ + \ +update tmp_stud set abgang=summe where status_folgesem='nein';\ +update tmp_stud set abgang_hauptpr=summe where status_folgesem='nein' and hauptpruefung=1;\ +update tmp_stud set abgang_ohne_hauptpr=summe where status_folgesem='nein' and hauptpruefung=0;\ +update tmp_stud set hauptpr_summe=summe where hauptpruefung=1;\ +update tmp_stud set hauptpr_bleibt=summe where hauptpruefung=1 and status_folgesem='ja';\ +\ + --ergebnistabelle:\ + select \ + --zuerst die nicht-Aggregate:\ + jahr,\ + null::integer as endbestand,\ + --dann die Aggregate:\ + sum(abgang) as abgang,\ + sum(abgang_hauptpr) as abgang_hauptpr,\ + sum(abgang_ohne_hauptpr) as abgang_ohne_hauptpr,\ + sum(hauptpr_summe) as hauptpr_summe,\ + sum(hauptpr_bleibt) as hauptpr_bleibt,\ + sum(anfangsbestand) as anfangsbestand,\ + sum(zugang) as zugang,\ + sum(zugang_ersteinschr) as zugang_ersteinschr,\ + sum(summe) as summe,\ + null::char(1) as dummycol\ + into temp tmp_stud2\ + from tmp_stud\ + where 1=1\ + group by\ + 1,2\ + ;\ +update tmp_stud2 set endbestand= anfangsbestand+zugang-abgang;\ +\ +drop table if exists tmp_sos_stud_astat;\ +drop table if exists tmp_stud;\ + \ + select \ +M.hs_nr,\ +M.hochschulinfo_name,\ +'Studienjahr' as studienjahr_label,\ +jahr,\ +anfangsbestand,\ +zugang,\ +zugang_ersteinschr,\ +abgang,\ +abgang_hauptpr,\ +abgang_ohne_hauptpr,\ +hauptpr_summe,\ +hauptpr_bleibt,\ +endbestand,\ +M.dwh_name,\ +M.datenstand,\ +M.sxc_version\ + from tmp_stud2, tmp_meta M\ + order by 1,2,3,4,5,6,7,8,9,10,11,12,13,14\ + ;^select xil_proplist from maskeninfo where tid=48000^Studienfach^Anzahl bzw. Anteil^Studierende (Anfangsbestand, Zugang und Abgang) pro Hochschule und Studienjahr^drop table tmp_meta;\ +drop table tmp_stud2;^^2^850^540^^1^<>SELECT description FROM rpta_column_layout where uniquename=<>;^ diff --git a/src-modules/module/sxc/masken/47230_sachgeb_maske_bez.unl b/src-modules/module/sxc/masken/47230_sachgeb_maske_bez.unl new file mode 100644 index 0000000..8e08f39 --- /dev/null +++ b/src-modules/module/sxc/masken/47230_sachgeb_maske_bez.unl @@ -0,0 +1 @@ +360^47230^ diff --git a/src-modules/module/sxc/schluesseltabellen/sx_stylesheets_einfuegen.sql b/src-modules/module/sxc/schluesseltabellen/sx_stylesheets_einfuegen.sql index 7e30aaf..f62fe3f 100755 --- a/src-modules/module/sxc/schluesseltabellen/sx_stylesheets_einfuegen.sql +++ b/src-modules/module/sxc/schluesseltabellen/sx_stylesheets_einfuegen.sql @@ -14,25 +14,40 @@ select sp_table_exists('viz_chart') from xdummy; <#assign masken = [ {"mask":"47140", "filename":"tabelle_html.xsl", "ord":"10"} +] /> +<#assign stylesheet = [ ] /> <#else> <#assign masken = [ -{"mask":"47140", "filename":"tabelle_html.xsl", "ord":"10"} +{"mask":"47140", "filename":"tabelle_html.xsl", "ord":"10"}, +{"mask":"47140", "filename":"viz_html_chart_viewer.xsl", "ord":"20"} ] /> - - <#assign stylesheet = [ +{"filename":"viz_html_chart_viewer.xsl", +"caption":"Diagramm-Viewer (einfach)", +"description":"Viewer-Stylesheet für VIZ Charts in einer Einzelansicht", +"relation":"table", +"contenttype":"text/html", +"is_generic":"0", +"toolbar_icon_filepath":"", +"usage_resultset_data":"T", +"stylesheet_type":"XSL", +"jr_datasource":"" +} ] /> + + + + <#assign stylesheet_field = [ ] /> - --Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen. <@sx_stylesheets_insert diff --git a/src-modules/module/sxc/schluesseltabellen/viz_chart.unl b/src-modules/module/sxc/schluesseltabellen/viz_chart.unl new file mode 100644 index 0000000..d2b7e62 --- /dev/null +++ b/src-modules/module/sxc/schluesseltabellen/viz_chart.unl @@ -0,0 +1,23 @@ +324^echarts_line_y_sxc_stud_anteilfs1^Anteil der Studienanfänger_innen (Hochschulvergleich)^ ^{"version":"0.2b","id":1,"name":"","renderer":"echarts","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],\ +"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"echarts_line_y","caption":"echarts_line_y","datasource":"0","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sem_rueck_beur_ein_str","propertyType":"string"},\ +{"nr":1,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"anteil","propertyType":"string"}]},\ +{"elemID":2,"vizTypeUniquename":"echarts_line_y","caption":"echarts_line_y","datasource":"0","elementTypeProperties":[{"nr":2,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sem_rueck_beur_ein_str","propertyType":"string"},\ +{"nr":2,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sxc_stud_anteil_anf_vergleich1","propertyType":"string"}]},\ +{"elemID":3,"vizTypeUniquename":"echarts_line_y","caption":"echarts_line_y","datasource":"0","elementTypeProperties":[{"nr":3,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sem_rueck_beur_ein_str","propertyType":"string"},\ +{"nr":3,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sxc_stud_anteil_anf_vergleich2","propertyType":"string"}]}],\ +"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Anteil der Studienanfänger_innen (Hochschulvergleich)"}],\ +"dataTransformation":[]}^^^29.04.2026^29.04.2026^47140^^3^ ^^1^800^600^100^60^0^ +323^echarts_line_y_sxc_stud_sh1^Studienanfänger_innen 1. HS (Hochschulvergleich)^ ^{"version":"0.2b","id":1,"name":"","renderer":"echarts","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],\ +"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"echarts_line_y","caption":"echarts_line_y","datasource":"0","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sem_rueck_beur_ein_str","propertyType":"string"},\ +{"nr":1,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"summe_hs1","propertyType":"string"}]}],\ +"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen 1. HS (Hochschulvergleich)"},\ +{"name":"x","vizPropertyVariablename":"x","propertyValue":"sem_rueck_beur_ein_str","propUnit":""},\ +{"name":"x","vizPropertyVariablename":"x","propertyValue":"sem_rueck_beur_ein_str","propUnit":""},\ +{"name":"y","vizPropertyVariablename":"y","propertyValue":"summe_hs1","propUnit":""},\ +{"name":"y","vizPropertyVariablename":"y","propertyValue":"summe_hs1","propUnit":""}],\ +"dataTransformation":[]}^^^29.04.2026^29.04.2026^47140^^3^ ^^1^800^600^100^60^0^ +322^echarts_line_y_sxc_vergleich1^Studierende (Hochschulvergleich)^ ^{"version":"0.2b","id":1,"name":"","renderer":"echarts","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],\ +"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"echarts_line_y","caption":"echarts_line_y","datasource":"0","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sem_rueck_beur_ein_str","propertyType":"string"},\ +{"nr":1,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"summe","propertyType":"string"}]}],\ +"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende / Studienanfänger_innen (Hochschulvergleich)"}],\ +"dataTransformation":[]}^^^29.04.2026^29.04.2026^47140^^3^ ^^1^800^600^100^60^0^ diff --git a/src-modules/module/sxc/schluesseltabellen/viz_chart_fuellen.sql b/src-modules/module/sxc/schluesseltabellen/viz_chart_fuellen.sql new file mode 100644 index 0000000..029a33d --- /dev/null +++ b/src-modules/module/sxc/schluesseltabellen/viz_chart_fuellen.sql @@ -0,0 +1,64 @@ +--freemarker template + + +select count(*) from systeminfo where tid=320; + + + +<#if viz_installed==1> + +delete from viz_chart where uniquename in (select uniquename from tmp_viz_chart) +and is_custom=0; + +select sp_update_sequence('viz_chart'); + +insert into viz_chart( +uniquename, + caption, + description, + chartmodel, + preview_svg, + userinfo_id, + creation_date, + update_date, + maskeninfo_id, + mask_params, + renderer_id, + chartmodel_miniature, + chart_position, + chart_active, + chart_width, + chart_height, + chart_miniature_width, + chart_miniature_height, + is_custom) + select + +uniquename, + caption, + description, + chartmodel, + preview_svg, + userinfo_id, + creation_date, + update_date, + maskeninfo_id, + mask_params, + renderer_id, + chartmodel_miniature, + chart_position, + chart_active, + chart_width, + chart_height, + chart_miniature_width, + chart_miniature_height, + is_custom +FROM tmp_viz_chart +where is_custom=0; + + + + +drop table tmp_viz_chart; + + diff --git a/src-modules/module/sxc/schluesseltabellen/viz_chart_unload.x b/src-modules/module/sxc/schluesseltabellen/viz_chart_unload.x new file mode 100755 index 0000000..ac9755a --- /dev/null +++ b/src-modules/module/sxc/schluesseltabellen/viz_chart_unload.x @@ -0,0 +1,33 @@ +#!/bin/bash +#entlädt nur die charts, die Teil der Auslieferung sind: + +DOQUERY "select tid, + uniquename, + caption, + description, + chartmodel, + preview_svg, + userinfo_id, + creation_date, + update_date, + maskeninfo_id, + mask_params, + renderer_id, + chartmodel_miniature, + chart_position, + chart_active, + chart_width, + chart_height, + chart_miniature_width, + chart_miniature_height, + is_custom --, + -- js_handler , + -- chart_card_class, + -- chart_container_class, + -- chart_container_id, + -- chart_class_name, + -- chart_element_id, + -- chart_title_position + from viz_chart where is_custom=0 and maskeninfo_id=47140 order by uniquename" false ^ viz_chart.unl txt + + diff --git a/src-modules/module/sxc/schluesseltabellen/viz_chart_upload.x b/src-modules/module/sxc/schluesseltabellen/viz_chart_upload.x new file mode 100755 index 0000000..2a64955 --- /dev/null +++ b/src-modules/module/sxc/schluesseltabellen/viz_chart_upload.x @@ -0,0 +1,33 @@ +#!/bin/bash +#lädt nur die charts, die Teil der Auslieferung sind: + +DOQUERY "drop table if exists tmp_viz_chart ;" +DOQUERY "create table tmp_viz_chart( +tid SERIAL not null, +uniquename VARCHAR(255) not null, +caption VARCHAR(255) , +description TEXT , +chartmodel TEXT , +preview_svg TEXT , +userinfo_id INTEGER , +creation_date DATE default today(), +update_date DATE default today(), +maskeninfo_id INTEGER , +mask_params TEXT , +renderer_id INTEGER , +chartmodel_miniature TEXT , +chart_position CHAR(10) , +chart_active SMALLINT default 1 , +chart_width VARCHAR(255) default '600' , +chart_height VARCHAR(255) default '400' , +chart_miniature_width VARCHAR(255) default '200' , +chart_miniature_height VARCHAR(255) default '100' , +is_custom SMALLINT + +) +;" + +sx_auto_upload_table.x tmp_viz_chart viz_chart.unl + +DOSQL viz_chart_fuellen.sql +