Browse Source

Echarts Viewer for bar/line/pie #11

master
Daniel Quathamer 3 days ago
parent
commit
7b9fefe62c
  1. 18
      src-modules/module/viz/conf/viz.xml
  2. 1
      src-modules/module/viz/masken/44130_felderinfo.unl
  3. 1
      src-modules/module/viz/masken/44130_masken_felder_bez.unl
  4. 2
      src-modules/module/viz/masken/44250_felderinfo.unl
  5. 3
      src-modules/module/viz/masken/44630_felderinfo.unl
  6. 3
      src-modules/module/viz/masken/44630_masken_felder_bez.unl
  7. 118
      src-modules/module/viz/masken/44630_maskeninfo.unl
  8. 21
      src-modules/module/viz/schluesseltabellen/viz_chart.unl
  9. 84
      superx/xml/js/viz/viz_viewer.js

18
src-modules/module/viz/conf/viz.xml

@ -428,7 +428,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -428,7 +428,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44540" name="Studierende nach Semester und Studiengang" thema="Visualisierungen">
<maske tid="44540" name="Studierende nach Semester und Studiengang" thema="">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
@ -568,6 +568,15 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -568,6 +568,15 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_hzbstaat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_staat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_region_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_nach_Alter_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bland_hmkfz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bland_hzbkfz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bland_semkfz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_lkreis_hmkfz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_lkreis_hzbkfz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_lkreis_semkfz_fuellen.sql" database=""/>
</action>
@ -646,6 +655,13 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -646,6 +655,13 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_hzbstaat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_staat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_region_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_nach_Alter_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bland_hmkfz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bland_hzbkfz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bland_semkfz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_lkreis_hmkfz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_lkreis_hzbkfz_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_lkreis_semkfz_fuellen.sql" database=""/>
</action>
<action>

1
src-modules/module/viz/masken/44130_felderinfo.unl

@ -26,6 +26,7 @@ order by sortnr, caption\ @@ -26,6 +26,7 @@ order by sortnr, caption\
44141^Stichtag^23^330^-1^130^100^1^sql^30^1^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44142^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44143^tablestylesheet^1500^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44130 order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44130 order by ord limit 1^
44144^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44148^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^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
44152^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;^ ^ ^
44153^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\

1
src-modules/module/viz/masken/44130_masken_felder_bez.unl

@ -12,6 +12,7 @@ @@ -12,6 +12,7 @@
44130^44141^
44130^44142^
44130^44143^
44130^44144^
44130^44148^
44130^44152^
44130^44153^

2
src-modules/module/viz/masken/44250_felderinfo.unl

@ -25,6 +25,6 @@ limit 1\ @@ -25,6 +25,6 @@ limit 1\
44260^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44250 order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44100 order by ord limit 1^
44261^Stichtag^23^330^-1^130^100^1^sql^30^1^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44262^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44263^Jahr^110^0^0^140^80^1^integer^30^0^0^ ^ ^ ^
44263^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44268^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^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
44272^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;^ ^ ^

3
src-modules/module/viz/masken/44630_felderinfo.unl

@ -1,3 +1,6 @@ @@ -1,3 +1,6 @@
44630^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> 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^<<SQL>> 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^ ^ ^ ^
44645^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> 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^ ^<<SQL>> 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^<<SQL>> select tid, caption from viz_chart order by 2;^hidden^ ^
44649^Spaltenanzahl^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> SELECT 0,'Dynamisch' from xdummy \

3
src-modules/module/viz/masken/44630_masken_felder_bez.unl

@ -1,3 +1,6 @@ @@ -1,3 +1,6 @@
44630^44630^
44630^44631^
44630^44632^
44630^44645^
44630^44647^
44630^44649^

118
src-modules/module/viz/masken/44630_maskeninfo.unl

@ -1 +1,117 @@ @@ -1 +1,117 @@
44630^VIZ-Dashboard Settings^ ^ ^ ^ ^Dashboard Inistialisierung^ ^^3^700^360^0^1^^
44630^Dashboard Kopfzeile^--Freemarker Template\
<#include "SQL_lingua_franca"/>\
<#include "SuperX_general"/>\
--Freemarker Template\
<sqlvars>\
<sqlvar name="zul_antr_aggr_exists">\
select sp_table_exists('zul_antr_aggr') from xdummy;\
</sqlvar>\
</sqlvars>\
\
\
--Autor D. Quathamer 2024\
<#assign jahr_filter="1=1" />\
--Akad. Jahr 2022: WS + SS - Beispiel: WS 22/23 + SS 2023\
<#if "<<Jahr>>" !="">\
<#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>>)" />\
<#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>>)" />\
<#assign jahr_filter=jahr_filter + ")" />\
</#if>\
\
<#assign filter="1=1\
/* and sem_rueck_beur_ein = <<Bis Semester>> */\
" />\
\
<#assign filter= filter + " and " + jahr_filter />\
\
<#assign stg_filter = " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \
\
create temp table tmp_erg(\
ord integer,\
kennz varchar(255),\
wert integer,\
link_maskeninfo_id integer\
);\
\
<#if zul_antr_aggr_exists==1>\
insert into tmp_erg(ord,kennz,wert)\
select 1,'Bewerbungen',sum(summe)\
from zul_antr_aggr A\
where A.bewsem=<<Bis Semester>>\
and A.stg in (select L.stg from lehr_stg_ab L where 's_' || L.tid in <@printkeys Studiengang.allNeededKeysList/>)\
and A.abschl in (select L.abschluss from lehr_stg_ab L where 's_' || L.tid in <@printkeys Studiengang.allNeededKeysList/>)\
group by 1,2;\
</#if>\
\
\
insert into tmp_erg(ord,kennz,wert)\
select 10,'Studienanfänger*innen im 1. HS',sum(summe)\
from sos_stg_aggr S, sos_stichtag I\
where ${filter}\
and S.studiengang_nr=1\
and S.fach_nr=1\
and S.stichtag=I.tid\
and I.appl_key='0'\
and 's_' || S.tid_stg in <@printkeys Studiengang.allNeededKeysList/>\
and S.hssem=1\
group by 1,2;\
\
\
insert into tmp_erg(ord,kennz,wert)\
select 20,'Studierende gesamt',sum(summe)\
from sos_stg_aggr S, sos_stichtag I\
where ${filter}\
and S.studiengang_nr=1\
and S.fach_nr=1\
and S.stichtag=I.tid\
and I.appl_key='0'\
and 's_' || S.tid_stg in <@printkeys Studiengang.allNeededKeysList/>\
group by 1,2;\
\
<#if TableFieldExists?exists && TableFieldExists('dim_studiengang','ist_lehramt')>\
\
insert into tmp_erg(ord,kennz,wert)\
select 30,'Studierende im Lehramt',sum(summe)\
from sos_stg_aggr S, sos_stichtag I, dim_studiengang D\
where ${filter}\
and S.studiengang_nr=1\
and S.fach_nr=1\
and S.stichtag=I.tid\
and D.tid=S.tid_stg\
and D.ist_lehramt=1\
and I.appl_key='0'\
and 's_' || S.tid_stg in <@printkeys Studiengang.allNeededKeysList/>\
group by 1,2;\
</#if>\
\
insert into tmp_erg(ord,kennz,wert)\
select 30,'Absolvent*innen',sum(summe)\
from sos_lab_aggr S, sos_stichtag I, dim_studiengang D\
where S.sem_der_pruefung=<<Bis Semester>>\
and S.studiengang_nr=1\
and S.fach_nr=1\
and S.stichtag=I.tid\
and D.tid=S.tid_stg\
and I.appl_key='2'\
and 's_' || S.tid_stg in <@printkeys Studiengang.allNeededKeysList/>\
group by 1,2;\
\
select kennz,wert,link_maskeninfo_id\
from tmp_erg\
order by ord;^XIL List\
sizable_columns horizontal_scrolling\
white_space_color=COLOR_WHITE fixed_columns=1\
drop_and_delete movable_columns\
min_heading_height=55\
Column CID=0 heading_text="Kennzahl" explanation="" center_heading\
row_selectable heading_platform readonly\
width=10\
Column CID=0 heading_text="Wert" explanation="" center_heading\
row_selectable heading_platform readonly\
width=30\
Column CID=0 heading_text="Maske" explanation="" center_heading\
row_selectable heading_platform readonly\
width=30\
@@@^ ^ ^Dashboard Inistialisierung^drop table tmp_erg;^^3^700^360^0^1^^

21
src-modules/module/viz/schluesseltabellen/viz_chart.unl

File diff suppressed because one or more lines are too long

84
superx/xml/js/viz/viz_viewer.js

@ -1643,4 +1643,88 @@ function vizTabelleComboOderSichtLaden(maskentid,fname, caption,fnameEscaped,zei @@ -1643,4 +1643,88 @@ function vizTabelleComboOderSichtLaden(maskentid,fname, caption,fnameEscaped,zei
}
function applyFunction(theValue,theFunction)
{
switch (theFunction) {
case "switchWord1and2ff":
var ret=switchWord1and2ff(theValue);
break;
case "justWord1":
var ret=justWord1(theValue);
break;
case "abbreviate":
var ret=abbreviate(theValue,20);
break;
default:
var ret=theValue;
break;
}
return ret;
}
function switchWord1and2ff(theString)
{
//erzeugt z.B. aus "WiSe 2020/2021" den Wert "2020/2021", zum Sortieren
var theWords = theString.split(/ /);
var word1=theWords[0];
var word2="";
var ret="";
if(theWords.length >1)
{
for(var k=1;k < theWords.length;k++)
{
word2+= theWords[k];
}
ret +=word2;
}
ret+=" "+ word1;
return ret.trim();
}
function justWord1(theString)
{
//nur erstes Wort, zum Sortieren
var word1End=-1;
var i=0;
var endFound=false;
do{
var myChar=theString.substr(i,1);
if(myChar=="|" || myChar==" "|| myChar=="-")
{
endFound=true;
word1End=i;
}
else
i++;
}
while (endFound==false && i<=theString.length);
if(word1End==-1)
word1End=theString.length;
return theString.substr(0,word1End);
}
function abbreviate(theString,theMaxLength)
{
//nur erste x Zeichen
if(theString.length > theMaxLength)
{
var theCut = theString.substr(0,theMaxLength-3)+"...";
return theCut;
}
else return theString.trim();
}
function getColumnCaption(columnName)
{
let rsMetaDataLen = rsMetaData.length;
var colCaption=columnName;
for (let i = 0; i < rsMetaDataLen; i++) {
if(rsMetaData[i].colname ==columnName)
colCaption=rsMetaData[i].colcaption;
}
return colCaption;
}
Loading…
Cancel
Save