From 1b210567e99bcf1362bfcf557da18fb93b2e8971 Mon Sep 17 00:00:00 2001 From: Daniel Quathamer Date: Thu, 30 Jan 2025 10:44:27 +0100 Subject: [PATCH] Studierende nach Region #10 --- src-modules/module/viz/conf/viz.xml | 8 + .../module/viz/masken/44600_felderinfo.unl | 29 +++ .../viz/masken/44600_maske_system_bez.unl | 1 + .../viz/masken/44600_masken_felder_bez.unl | 15 ++ .../module/viz/masken/44600_maskeninfo.unl | 1 + .../viz/masken/44600_sachgeb_maske_bez.unl | 1 + .../macro_masken_bez_fuellen.sql | 5 +- ..._column_layout_sos_stud_region_fuellen.sql | 246 ++++++++++++++++++ .../sx_stylesheets_einfuegen.sql | 5 +- superx/xml/viz_html_chart_viewer_grid_hms.xsl | 2 +- 10 files changed, 308 insertions(+), 5 deletions(-) create mode 100644 src-modules/module/viz/masken/44600_felderinfo.unl create mode 100644 src-modules/module/viz/masken/44600_maske_system_bez.unl create mode 100644 src-modules/module/viz/masken/44600_masken_felder_bez.unl create mode 100644 src-modules/module/viz/masken/44600_maskeninfo.unl create mode 100644 src-modules/module/viz/masken/44600_sachgeb_maske_bez.unl create mode 100644 src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_region_fuellen.sql diff --git a/src-modules/module/viz/conf/viz.xml b/src-modules/module/viz/conf/viz.xml index bdc62c1..cc3bbe7 100644 --- a/src-modules/module/viz/conf/viz.xml +++ b/src-modules/module/viz/conf/viz.xml @@ -438,6 +438,12 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen $VIZ_PFAD/masken + + + + $VIZ_PFAD/masken + + @@ -554,6 +560,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen + @@ -631,6 +638,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen + diff --git a/src-modules/module/viz/masken/44600_felderinfo.unl b/src-modules/module/viz/masken/44600_felderinfo.unl new file mode 100644 index 0000000..2346fda --- /dev/null +++ b/src-modules/module/viz/masken/44600_felderinfo.unl @@ -0,0 +1,29 @@ +44600^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<>SELECT uniquename,\ + caption\ +FROM rpta_column_layout \ +where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\ +and R.systeminfo_id=7)\ +and uniquename in ('sos_stud_hzb_bland')\ +order by sortnr, caption\ + ;^^<>SELECT uniquename,\ + caption\ +FROM rpta_column_layout \ +where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\ +and R.systeminfo_id=7)\ +and uniquename in ('sos_stud_hzb_bland')\ +order by sortnr, caption limit 1\ + ;^ +44601^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;^ +44602^Fächer^30^0^0^130^200^6^char^1000^0^12^<> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^ +44603^Abschluss^40^0^0^100^200^3^char^1500^0^1^<> select apnr, druck from cifx where key=35 order by 2;^ ^ ^ +44604^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^ ^ +44605^Grafik^4000^300^-1^170^150^1^char^30^0^1^<> select uniquename, caption from viz_chart where maskeninfo_id=44280 order by 2;^^<> select uniquename, caption from viz_chart where maskeninfo_id=44280 order by 2 limit 1;^ +44606^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^ +44607^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;^ +44608^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;^ ^ ^ +44609^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;^ ^ ^ +44610^tablestylesheet^150^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=44600 order by ord^ ^<> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44600 order by ord limit 1^ +44611^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='0';^ +44612^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<> select apnr, eintrag from hoererstatus where eintrag='alle';^ +44618^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^apnr, eintrag^<> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^ +44622^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;^ ^ ^ diff --git a/src-modules/module/viz/masken/44600_maske_system_bez.unl b/src-modules/module/viz/masken/44600_maske_system_bez.unl new file mode 100644 index 0000000..389da74 --- /dev/null +++ b/src-modules/module/viz/masken/44600_maske_system_bez.unl @@ -0,0 +1 @@ +44600^7^ diff --git a/src-modules/module/viz/masken/44600_masken_felder_bez.unl b/src-modules/module/viz/masken/44600_masken_felder_bez.unl new file mode 100644 index 0000000..5804920 --- /dev/null +++ b/src-modules/module/viz/masken/44600_masken_felder_bez.unl @@ -0,0 +1,15 @@ +44600^44600^ +44600^44601^ +44600^44602^ +44600^44603^ +44600^44604^ +44600^44605^ +44600^44606^ +44600^44607^ +44600^44608^ +44600^44609^ +44600^44610^ +44600^44611^ +44600^44612^ +44600^44618^ +44600^44622^ diff --git a/src-modules/module/viz/masken/44600_maskeninfo.unl b/src-modules/module/viz/masken/44600_maskeninfo.unl new file mode 100644 index 0000000..58fd49e --- /dev/null +++ b/src-modules/module/viz/masken/44600_maskeninfo.unl @@ -0,0 +1 @@ +44600^Studierende nach Region^select select_stmt from maskeninfo where tid=45000^select xil_proplist from maskeninfo where tid=45000^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Landkreis/Bundesland^select cleanup_stmt from maskeninfo where tid=45000^^2^850^540^^1^<>SELECT description FROM rpta_column_layout where tid=<>;^ diff --git a/src-modules/module/viz/masken/44600_sachgeb_maske_bez.unl b/src-modules/module/viz/masken/44600_sachgeb_maske_bez.unl new file mode 100644 index 0000000..9f2d864 --- /dev/null +++ b/src-modules/module/viz/masken/44600_sachgeb_maske_bez.unl @@ -0,0 +1 @@ +16^44600^ diff --git a/src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql b/src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql index 6bdcc6d..25102cc 100644 --- a/src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql +++ b/src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql @@ -22,7 +22,7 @@ {"makro":"44190", "tid":"44570", "sortnr":"1"}, {"makro":"44190", "tid":"44220", "sortnr":"10"}, {"makro":"44190", "tid":"44280", "sortnr":"20"}, -{"makro":"44190", "tid":"44280", "sortnr":"30"} +{"makro":"44190", "tid":"44600", "sortnr":"30"} ] /> @@ -107,8 +107,7 @@ {"makro":"44190", "sortnr":"20", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, {"makro":"44190", "sortnr":"30", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, -{"makro":"44190", "sortnr":"30", "feldname":"Spaltenlayout", "value":"sos_stud_fak"}, -{"makro":"44190", "sortnr":"30", "feldname":"Grafik", "value":"STUDANF_FAK_PIE"}, +{"makro":"44190", "sortnr":"30", "feldname":"Spaltenlayout", "value":"sos_stud_hzb_bland"}, {"makro":"44190", "sortnr":"30", "feldname":"bis Fachsemester", "value":"1"}, {"makro":"44190", "sortnr":"30", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"} diff --git a/src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_region_fuellen.sql b/src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_region_fuellen.sql new file mode 100644 index 0000000..1128879 --- /dev/null +++ b/src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_region_fuellen.sql @@ -0,0 +1,246 @@ +--freemarker template + + +select count(*) from systeminfo where tid=330; + + +<#assign rpta_column_layout = +{"uniquename":"sos_stud_hzb_bland", +"caption":"Studierende nach HZB-Bundesland", +"rpta_resultset":"sos_stud_astat", +"whereclause":"", +"description":"Studierende nach HZB-Bundesland" +} + /> + +<#assign rpta_columns = [ +{"uniquename":"hzb_bland", +"caption":"Bundesland (HZB)", +"srcfieldname":"", +"targetfieldname":"hzb_bland", +"column_type":"lookupColumn", +"col_function":"select B.druck from sos_hzb_wohnsitz W, sos_k_bland B where W.bland=B.apnr and W.astat=hzbkfz", +"is_visible":"1", +"format_code":"", +"visible_size":"5", +"is_aggregate":"0", +"description":"Bundesland (HZB)" +}, +{"uniquename":"summe", +"caption":"Anzahl der Studierenden", +"srcfieldname":"summe", +"column_type":"physicalColumn", +"col_function":"sum", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"1", +"description":"Summe der Studierenden" +} +] + /> + +<#if rpta_installed==1> + ---ab hier nicht mehr ändern: + +CREATE temp TABLE tmp_rpta_column +( + uniquename varchar(255) NOT NULL, + caption varchar(255), + srcfieldname varchar(255), + targetfieldname varchar(255), + column_type integer, + col_function text, + is_visible smallint, + visible_size smallint, + is_aggregate smallint, + resultset_id integer, + sortnr integer, + description TEXT +); + +CREATE temp TABLE tmp_rpta_column_layout +( + uniquename varchar(255) NOT NULL, + caption varchar(255), + resultset_id integer, + whereclause text, + description text +); + +insert into tmp_rpta_column_layout( +resultset_id, +uniquename, +caption, +whereclause, + description +) +select tid, +'${rpta_column_layout.uniquename}', +'${rpta_column_layout.caption}', +'${rpta_column_layout.whereclause}', +'${rpta_column_layout.description}' +FROM rpta_resultset +where uniquename='${rpta_column_layout.rpta_resultset}'; + +<#assign sortnr=0 /> +<#foreach column in rpta_columns> +<#assign sortnr=sortnr +1 /> + +INSERT INTO tmp_rpta_column +(resultset_id, + uniquename, + caption, + srcfieldname, + targetfieldname, + column_type, + col_function, + is_visible, + visible_size, + is_aggregate, + sortnr, + description + ) +select R.tid, +'${column.uniquename}', +'${column.caption}', +'${column.srcfieldname}', +<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' , +T.tid as column_type, +'${column.col_function}', +${column.is_visible}, +${column.visible_size}, +${column.is_aggregate}, +${sortnr*10}, +'${column.description}' +FROM rpta_resultset R, rpta_column_type T +where R.uniquename='${rpta_column_layout.rpta_resultset}' +and T.uniquename='${column.column_type}'; + + + + +select * into temp tmp_rpta_column2layout +from rpta_column2layout +where layout_id in (select L.tid +from rpta_column_layout L,rpta_resultset R +where R.tid=L.resultset_id +and R.uniquename='${rpta_column_layout.rpta_resultset}' +and L.uniquename='${rpta_column_layout.uniquename}' +) +; + +select * into temp tmp_rpta_column_layout_target +from rpta_column_layout +where resultset_id in (select tid +FROM rpta_resultset +where uniquename='${rpta_column_layout.rpta_resultset}') +and uniquename in (select uniquename from tmp_rpta_column_layout) +; + +insert into rpta_column_layout +(uniquename, + caption, + resultset_id, + whereclause, + description) + select uniquename, + caption, + resultset_id, + whereclause, + description +FROM tmp_rpta_column_layout T +where 0=(select count(*) from tmp_rpta_column_layout_target T2 +where T.uniquename=T2.uniquename); + +drop table tmp_rpta_column_layout_target; + +delete from rpta_column2layout +where layout_id in (select L.tid +from rpta_column_layout L,rpta_resultset R +where R.tid=L.resultset_id +and R.uniquename='${rpta_column_layout.rpta_resultset}' +and L.uniquename='${rpta_column_layout.uniquename}' +) +; + +select * into temp tmp_rpta_column2 +from tmp_rpta_column T +where (resultset_id,uniquename) not in +(select resultset_id,uniquename from rpta_column); + +INSERT INTO rpta_column +(resultset_id, + uniquename, + caption, + srcfieldname, + targetfieldname, + column_type, + col_function, + is_aggregate, + description, + custom + ) + select +resultset_id, + uniquename, + caption, + srcfieldname, + targetfieldname, + column_type, + col_function, + is_aggregate, + description, + 0 as custom +from tmp_rpta_column2; + +--evtl. neuen Satz einfügen, dann alle updaten + +update rpta_column set ( caption, + srcfieldname, + targetfieldname, + column_type, + col_function, + is_aggregate, + description) + = (select caption, + srcfieldname, + targetfieldname, + column_type, + col_function, + is_aggregate, + description + from tmp_rpta_column T + where T.resultset_id=rpta_column.resultset_id + and T.uniquename=rpta_column.uniquename) + where custom=0 + and (resultset_id,uniquename) in +(select T.resultset_id,T.uniquename +from tmp_rpta_column T) +; + +drop table tmp_rpta_column2; + +insert into rpta_column2layout(column_id, + layout_id, + sortnr, + is_visible, + visible_size, + caption, + description) +select C.tid as column_id, + L.tid as layout_id, + T.sortnr, + T.is_visible, + T.visible_size, + T.caption, + T.description +FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T +where C.uniquename=T.uniquename +and C.resultset_id=T.resultset_id +and L.uniquename='${rpta_column_layout.uniquename}' +and L.resultset_id=T.resultset_id + ; +drop table tmp_rpta_column; +drop TABLE tmp_rpta_column_layout; +drop TABLE tmp_rpta_column2layout; + diff --git a/src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql b/src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql index 54b9696..3480b9d 100755 --- a/src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql +++ b/src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql @@ -16,6 +16,7 @@ {"mask":"44190", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"}, {"mask":"44190", "filename":"viz_html_chart_viewer_grid.xsl", "ord":"1"}, {"mask":"44190", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"}, +{"mask":"44190", "filename":"viz_html_chart_viewer_echart.xsl", "ord":"40"}, {"mask":"44220", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"}, {"mask":"44220", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"mask":"44220", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"}, @@ -32,7 +33,8 @@ {"mask":"44250", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"}, {"mask":"44570", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"}, {"mask":"44570", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, -{"mask":"44570", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"} +{"mask":"44570", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"}, +{"mask":"44600", "filename":"tabelle_html_datenblatt.xsl", "ord":"1"} ] /> <#assign stylesheet = [ @@ -45,6 +47,7 @@ }, {"filename":"viz_html_chart_viewer_grid.xsl", "caption":"Dashboard", "description":"Viewer-Stylesheet für VIZ Charts in einer Kachelansicht ", "relation":"table", "contenttype":"text/html","is_generic":"0"}, {"filename":"viz_html_chart_viewer_mask.xsl", "caption":"Diagramm + Maskenfelder", "description":"Viewer-Stylesheet für VIZ Charts mit Maskenfeldern", "relation":"table", "contenttype":"text/html","is_generic":"0"}, +{"filename":"viz_html_chart_viewer_echart.xsl", "caption":"Diagramme (Echarts)", "description":"Viewer-Stylesheet für VIZ Charts mit Maskenfeldern", "relation":"table", "contenttype":"text/html","is_generic":"0"}, {"filename":"tabelle_html_viz.xsl", "caption":"Tabelle + Visualisierung", "description":"Viewer-Stylesheet für Tabellen und VIZ Charts", "relation":"table", "contenttype":"text/html","is_generic":"0"}, {"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"}, {"filename":"viz_html_chart_viewer_mask_and_table.xsl", "caption":"Diagramm, Tabelle + Maskenfelder", "description":"Viewer-Stylesheet für VIZ Charts mit Tabelle und Maskenfeldern", "relation":"table", "contenttype":"text/html","is_generic":"0"} diff --git a/superx/xml/viz_html_chart_viewer_grid_hms.xsl b/superx/xml/viz_html_chart_viewer_grid_hms.xsl index e1d5c2d..46b2f16 100644 --- a/superx/xml/viz_html_chart_viewer_grid_hms.xsl +++ b/superx/xml/viz_html_chart_viewer_grid_hms.xsl @@ -100,7 +100,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util -

+