From a49a536c209534ea67f3076fcaa08931280b9f48 Mon Sep 17 00:00:00 2001 From: Daniel Quathamer Date: Wed, 21 May 2025 11:15:34 +0200 Subject: [PATCH] Echarts im Assistenten #11 --- .../module/viz/masken/44630_felderinfo.unl | 8 +- ...ayout_sos_stud_fak_abschl_fach_fuellen.sql | 83 +++++++++++++++++++ .../viz_type_d3js_fuellen.sql | 21 ++++- .../viz_type_echarts_fuellen.sql | 49 ++++++++++- 4 files changed, 154 insertions(+), 7 deletions(-) create mode 100644 src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_abschl_fach_fuellen.sql diff --git a/src-modules/module/viz/masken/44630_felderinfo.unl b/src-modules/module/viz/masken/44630_felderinfo.unl index 6ff5afd..faa6a7c 100644 --- a/src-modules/module/viz/masken/44630_felderinfo.unl +++ b/src-modules/module/viz/masken/44630_felderinfo.unl @@ -1,11 +1,11 @@ -44630^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<> select tid, eintrag from semester order by tid DESC;^Eintrag^<> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ +44630^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<> select tid, eintrag from semester where 1=1 /* <> */ order by tid DESC;^Eintrag^<> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ 44631^Studiengang^6^0^0^140^150^50^char^30^0^12^<> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^ 44632^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^ 44633^Tabnr.^1000^0^0^140^80^1^integer^30^0^13^ ^^^ 44634^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<> select tid, eintrag from semester order by tid DESC;^Eintrag^<> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ 44635^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;^hidden^^ 44636^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^ -44645^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 in (44190,44660) order by ord^ ^<> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44190 order by ord limit 1^ +44645^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 in (44190,44660) 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=44190 order by ord limit 1^ 44647^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<> select tid, caption from viz_chart order by 2;^hidden^ ^ 44649^Spaltenanzahl^5^350^-1^140^80^1^integer^255^0^1^<> SELECT 0,'Dynamisch' from xdummy \ union SELECT 1,'1-spaltig' from xdummy \ @@ -13,5 +13,5 @@ union SELECT 2,'2-spaltig' from xdummy \ union SELECT 3,'3-spaltig' from xdummy \ union SELECT 4,'4-spaltig' from xdummy \ order by 1;^hidden^<> SELECT 2,'2-spaltig' from xdummy;^ -44650^Kachelbreite^30^0^0^100^100^1^integer^5000^0^0^^^800^ -44653^Kachelhöhe^40^0^0^100^100^1^integer^5000^0^0^^^600^ +44650^Kachelbreite^30^0^0^100^100^1^integer^5000^0^0^^hidden^800^ +44653^Kachelhöhe^40^0^0^100^100^1^integer^5000^0^0^^hidden^600^ diff --git a/src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_abschl_fach_fuellen.sql b/src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_abschl_fach_fuellen.sql new file mode 100644 index 0000000..358253c --- /dev/null +++ b/src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_abschl_fach_fuellen.sql @@ -0,0 +1,83 @@ +--freemarker template +<#include "RPTA-Makros"/> + + +select count(*) from systeminfo where tid=330; + + +<#assign rpta_column_layout = {"uniquename":"sos_stud_fak_abschl_fach", +"caption":"Studierende nach Fakultät, Abschlussgruppe und Fach", +"rpta_resultset":"sos_stud_astat", +"whereclause":"", +"description":"Studierende nach Fakultät, Abschlussgruppe und Fach" +} + /> + +<#assign rpta_columns = [ +{"uniquename":"dim_studiengang_fak", +"caption":"Fakultät (Schlüssel)", +"srcfieldname":"dim_studiengang_fb", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"visible_size":"10", +"is_aggregate":"0", +"description":"Fakultät (Schlüssel)" +}, +{"uniquename":"dim_studiengang_fak_str", +"caption":"Fakultät", +"srcfieldname":"dim_studiengang_fb_str", +"column_type":"lookupColumn", +"col_function":"select C.kurz from cifx C where C.key=90 and C.apnr=dim_studiengang_fb", +"is_visible":"1", +"visible_size":"10", +"is_aggregate":"0", +"description":"Fakultät (Name)" +}, +{"uniquename":"dim_studiengang_abschluss_grp_str", +"caption":"Abschlussgruppe", +"srcfieldname":"dim_studiengang_abschluss_grp_str", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"visible_size":"10", +"is_aggregate":"0", +"description":"Abschlussgruppe" +}, +{"uniquename":"dim_studiengang_stg_str", +"caption":"Fach", +"srcfieldname":"dim_studiengang_stg_str", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"visible_size":"10", +"is_aggregate":"0", +"description":"Fach (Name)" +}, +{"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" +}, +{"uniquename":"anteil", +"caption":"Anteil der Studierenden (in %)", +"srcfieldname":"", +"targetfieldname":"anteil", +"column_type":"computedColumn", +"col_function":"select (summe::float/(select G.summe from tmp_gesamt G)*100)::integer", +"is_visible":"1", +"visible_size":"5", +"is_aggregate":"0", +"description":"Anteil in % der Studierenden" +} +] + /> + +<#if rpta_installed==1> +<@rpta_column_layout_fuellen /> + diff --git a/src-modules/module/viz/schluesseltabellen/viz_type_d3js_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_type_d3js_fuellen.sql index 4837829..829d365 100644 --- a/src-modules/module/viz/schluesseltabellen/viz_type_d3js_fuellen.sql +++ b/src-modules/module/viz/schluesseltabellen/viz_type_d3js_fuellen.sql @@ -55,6 +55,21 @@ "range_from":"", "range_to":"", "prop_value_type":"string" +}, +{ "caption":"Dimension 3", +"prop_uniquename":"dimension3", +"explanation":"Dimension 3", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"SELECT", +"property_group_uniquename":"CATEGORY", +"sortnr":"609", +"range_from":"", +"range_to":"", +"prop_value_type":"string" } , { "caption":"Maß 1", @@ -216,9 +231,13 @@ "is_mandatory":"1", "sortnr":"10"}, { "viz_type_uniquename":"sunburst", +"viz_property_uniquename":"dimension3", +"is_mandatory":"1", +"sortnr":"20"}, +{ "viz_type_uniquename":"sunburst", "viz_property_uniquename":"measure1", "is_mandatory":"1", -"sortnr":"20"} +"sortnr":"30"} ] /> diff --git a/src-modules/module/viz/schluesseltabellen/viz_type_echarts_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_type_echarts_fuellen.sql index 6207196..a05a565 100644 --- a/src-modules/module/viz/schluesseltabellen/viz_type_echarts_fuellen.sql +++ b/src-modules/module/viz/schluesseltabellen/viz_type_echarts_fuellen.sql @@ -80,6 +80,36 @@ "range_to":"", "prop_value_type":"string" }, +{ "caption":"Dimension 2", +"prop_uniquename":"dimension2", +"explanation":"Dimension 2", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"SELECT", +"property_group_uniquename":"CATEGORY", +"sortnr":"609", +"range_from":"", +"range_to":"", +"prop_value_type":"string" +}, +{ "caption":"Dimension 3", +"prop_uniquename":"dimension3", +"explanation":"Dimension 3", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"SELECT", +"property_group_uniquename":"CATEGORY", +"sortnr":"609", +"range_from":"", +"range_to":"", +"prop_value_type":"string" +}, { "caption":"Maß 1", "prop_uniquename":"measure1", "explanation":"Maß", @@ -380,7 +410,7 @@ CREATE temp TABLE tmp_viz_property prop_value_type varchar(255) DEFAULT 'string'::character varying, variable_name varchar(255), is_general smallint, - viz_type_id integer //TODO + viz_type_id integer --//TODO ); @@ -595,6 +625,14 @@ delete from viz_property_group_renderer where (renderer_id,property_group_id) in (select distinct ${renderer},property_group_id from tmp_viz_property); +delete from viz_type_property_group where +(viz_type_id,viz_property_id,viz_property_group_id) in (select distinct VTP.viz_type_id, + P.tid, + P.property_group_id +from tmp_viz_property P,viz_type_property VTP + where P.tid=VTP.viz_property_id); + + insert into viz_property_group_renderer( renderer_id, property_group_id, @@ -611,5 +649,12 @@ insert into viz_property_group_renderer( viz_property_group_id, sortnr, is_mandatory) - select P. + select distinct VTP.viz_type_id, + P.tid, + P.property_group_id, + VTP.sortnr, + VTP.is_mandatory + FROM tmp_viz_property P,viz_type_property VTP + where P.tid=VTP.viz_property_id; +