Browse Source

Dashboard Metadaten und JR #7

master
Daniel Quathamer 4 weeks ago
parent
commit
3435b9f5ee
  1. 15
      src-modules/module/viz/conf/includes.txt
  2. 264
      src-modules/module/viz/conf/viz.xml
  3. 1
      src-modules/module/viz/masken/44000_felderinfo.unl
  4. 1
      src-modules/module/viz/masken/44000_masken_felder_bez.unl
  5. 5
      src-modules/module/viz/masken/44630_felderinfo.unl
  6. 1
      src-modules/module/viz/masken/44630_masken_felder_bez.unl
  7. 83
      src-modules/module/viz/masken/44630_maskeninfo.unl
  8. 49
      src-modules/module/viz/schluesseltabellen/customxmladd.sql
  9. 2
      src-modules/module/viz/schluesseltabellen/fm_templates.unl
  10. 6
      src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql
  11. 7
      src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql
  12. 1428
      src-modules/module/viz/schluesseltabellen/viz_chart.unl
  13. 31
      src-modules/module/viz/schluesseltabellen/viz_chart_unload.x
  14. 30
      src-modules/module/viz/schluesseltabellen/viz_chart_upload.x
  15. 235
      src-modules/module/viz/schluesseltabellen/viz_colorscheme_fuellen.sql
  16. 2
      src-modules/module/viz/schluesseltabellen/viz_dashboard.unl
  17. 21
      src-modules/module/viz/schluesseltabellen/viz_dashboard_tab.unl
  18. 57
      src-modules/module/viz/schluesseltabellen/viz_dashboard_tab_fuellen.sql
  19. 30
      src-modules/module/viz/schluesseltabellen/viz_dashboard_upload.x
  20. 46
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_bar_fuellen.sql
  21. 160
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql
  22. 7
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_fuellen.sql
  23. 407
      superx/WEB-INF/reports/44690_sub_0.jrxml
  24. 408
      superx/WEB-INF/reports/44690_sub_1.jrxml
  25. 410
      superx/WEB-INF/reports/44690_sub_2.jrxml
  26. 409
      superx/WEB-INF/reports/44690_sub_3.jrxml
  27. 407
      superx/WEB-INF/reports/44690_sub_4.jrxml
  28. 463
      superx/WEB-INF/reports/44690_sub_5.jrxml
  29. 519
      superx/WEB-INF/reports/44690_sub_6.jrxml
  30. 2
      superx/WEB-INF/reports/viz_report_44690_xmlsource.jrxml
  31. 80
      superx/edit/viz/viz_chart_bearbeiten.jsp
  32. 108
      superx/edit/viz/viz_chart_bearbeitet.jsp
  33. 53
      superx/xml/js/viz/viz_assistent.js
  34. 314
      superx/xml/js/viz/viz_viewer.js
  35. 207
      superx/xml/viz_components.xsl
  36. 85
      superx/xml/viz_html_chart.xsl
  37. 13
      superx/xml/viz_html_chart_viewer_grid.xsl
  38. 727
      superx/xml/viz_html_chart_viewer_grid_ude2.xsl
  39. 7
      superx/xml/viz_html_chart_viewer_mask.xsl

15
src-modules/module/viz/conf/includes.txt

@ -39,6 +39,21 @@ WEB-INF/reports/44660_sub_3.jasper
WEB-INF/reports/44660_sub_3.jrxml WEB-INF/reports/44660_sub_3.jrxml
WEB-INF/reports/viz_report_44190_xmlsource.jrxml WEB-INF/reports/viz_report_44190_xmlsource.jrxml
WEB-INF/reports/viz_report_44660_xmlsource.jrxml WEB-INF/reports/viz_report_44660_xmlsource.jrxml
WEB-INF/reports/44690_sub_6.jasper
WEB-INF/reports/44690_sub_3.jasper
WEB-INF/reports/44690_sub_2.jasper
WEB-INF/reports/44690_sub_5.jasper
WEB-INF/reports/44690_sub_4.jasper
WEB-INF/reports/44690_sub_1.jasper
WEB-INF/reports/44690_sub_0.jasper
WEB-INF/reports/viz_report_44690_xmlsource.jrxml
WEB-INF/reports/44690_sub_6.jrxml
WEB-INF/reports/44690_sub_5.jrxml
WEB-INF/reports/44690_sub_4.jrxml
WEB-INF/reports/44690_sub_3.jrxml
WEB-INF/reports/44690_sub_2.jrxml
WEB-INF/reports/44690_sub_1.jrxml
WEB-INF/reports/44690_sub_0.jrxml
xml/js/viz/d3.min.js xml/js/viz/d3.min.js
xml/js/viz/d3-7.8.0-license.txt xml/js/viz/d3-7.8.0-license.txt
xml/js/viz/echarts.min.js xml/js/viz/echarts.min.js

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

@ -125,7 +125,7 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
<column name="update_date" type="DATE" size="255" default="today()" notnull="" description="Letzte Änderung (Datum)" /> <column name="update_date" type="DATE" size="255" default="today()" notnull="" description="Letzte Änderung (Datum)" />
<column name="maskeninfo_id" type="INTEGER" size="255" default="" notnull="" description="Maske" /> <column name="maskeninfo_id" type="INTEGER" size="255" default="" notnull="" description="Maske" />
<column name="mask_params" type="TEXT" size="255" default="" notnull="" description="Maskenparameter" /> <column name="mask_params" type="TEXT" size="255" default="" notnull="" description="Maskenparameter" />
<column name="renderer_id" type="INTEGER" size="" default="" notnull="false" description="Renderer" isKey="true"/> <column name="renderer_id" type="INTEGER" size="" default="" notnull="true" description="Renderer" isKey=""/>
<column name="chartmodel_miniature" type="TEXT" size="255" default="" notnull="" description="Quellcode des Diagramms (Miniatur)" /> <column name="chartmodel_miniature" type="TEXT" size="255" default="" notnull="" description="Quellcode des Diagramms (Miniatur)" />
<column name="chart_position" type="CHAR" size="10" default="" notnull="" description="Position des Diagramms"><comment>CENTER,TOP,BOTTOM,LEFT,RIGHT,INLINE</comment></column> <column name="chart_position" type="CHAR" size="10" default="" notnull="" description="Position des Diagramms"><comment>CENTER,TOP,BOTTOM,LEFT,RIGHT,INLINE</comment></column>
<column name="chart_active" type="SMALLINT" size="2" <column name="chart_active" type="SMALLINT" size="2"
@ -468,6 +468,135 @@ caption="Staaten (Geocodes)" releaseUnload="demo">
<privileges><rs> <privileges><rs>
</rs></privileges> </rs></privileges>
</table> </table>
<table name="viz_colorscheme" thema="Visualisierungen" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Schlüsseltabelle für Farbpaletten</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="uniquename" type="VARCHAR" size="255" default="" notnull="true" description="Schlüssel" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="is_custom" type="SMALLINT" size="255"
default="1" notnull="false" description="Palette der Hochschule">
<comment>1=ja, d.h. von der Hochschule angepaßt, 0=nein, d.h.
Auslieferung der Software</comment>
</column>
<column name="specifier" type="VARCHAR" size="255" default="" notnull="" description="Quelle (komprimiert)" />
<column name="sortnr" type="SMALLINT" size="255" default="0" notnull="false" description="Sortiernr." sortable="true" ><comment></comment></column>
<column name="colorscheme_active" type="SMALLINT" size="2"
default="1" notnull="false" description="Palette aktiv"></column>
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_colorscheme</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_colorscheme_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
<index name="ix_viz_colorscheme" type="unique">
<index-column name="uniquename"/>
</index>
</indexes>
</table>
<table name="viz_colorscheme_element" thema="Administration" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Zuordnung einzelner Farben zu einer Palette </description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="colorscheme_id" type="INTEGER" size="255" default="" notnull="true" description="Farbpalette" isKey="true"/>
<column name="colorcode" type="VARCHAR" size="255" default="" notnull="true" description="Farbcode" />
<column name="target_uniquename" type="VARCHAR" size="255" default="" notnull="" description="Ziel-Schlüssel" ><comment>Optional: Wenn eine Farbe zu einem definierten Schlüssel zugeordnet werden soll (z.B. eine Farbe zu einer Fakultät)</comment></column>
<column name="sortnr" type="SMALLINT" size="255" default="0" notnull="false" description="Sortiernr." sortable="true" ><comment></comment></column>
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_colorscheme_element</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_colorscheme_element_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="viz_dashboard" thema="Visualisierungen" typ="Datentabelle"
releaseUnload="demo">
<description>Dashboard Metadaten</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="uniquename" type="VARCHAR" size="255" default="" notnull="true" description="Unique Name" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="maskeninfo_id" type="INTEGER" size="255" default="" notnull="" description="Maske" />
<column name="booklet_stylesheet" type="VARCHAR" size="255" default="" notnull="" description="Stylesheet für Druckversion" />
<column name="gridtitle_felderinfo_id" type="INTEGER" size="255" default="" notnull="" description="Maskenfeld für Titelelement" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_dashboard</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_dashboard_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
<index name="ix_viz_dashboard" type="unique">
<index-column name="uniquename"/>
</index>
</indexes>
</table>
<table name="viz_dashboard_tab" thema="Visualisierungen" typ="Datentabelle"
releaseUnload="demo">
<description>Dashboard-Tab Metadaten</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="dashboard_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Dashboard" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="maskeninfo_id" type="INTEGER" size="255" default="" notnull="" description="Maske" />
<column name="sortnr" type="SMALLINT" size="255" default="0" notnull="false" description="Sortiernr." sortable="true" ><comment></comment></column>
<column name="select_clause" type="VARCHAR" size="255" default="" notnull="" description="SQL der Kennzahl" />
<column name="fact_table" type="VARCHAR" size="255" default="" notnull="" description="Quelltabelle der Kennzahl" />
<column name="where_clause" type="TEXT" size="255" default="" notnull="" description="SQL-Filter der Kennzahl" />
<column name="optional_filter_name" type="VARCHAR" size="255" default="" notnull="" description="Optionaler Filter der Kennzahl" />
<column name="optional_filter_value" type="VARCHAR" size="255" default="" notnull="" description="Optionaler Filterwert der Kennzahl" />
<column name="booklet_stylesheet" type="VARCHAR" size="255" default="" notnull="" description="Stylesheet für Druckversion" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_dashboard_tab</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_dashboard_tab_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
<index name="ix_viz_dashboard" type="unique">
<index-column name="uniquename"/>
</index>
</indexes>
</table>
<views> <views>
<view name="viz_property_dimension_measure"> <view name="viz_property_dimension_measure">
@ -714,6 +843,20 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
</relation> </relation>
</data-integrity> </data-integrity>
<!--viz_dashboard-->
<relation from="maskeninfo" to="viz_dashboard" delete="FALSE"
displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="maskeninfo_id" />
</relation>
<relation from="viz_dashboard" to="viz_dashboard_tab" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="dashboard_id" />
</relation>
<relation from="maskeninfo" to="viz_dashboard_tab" delete="FALSE"
displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="maskeninfo_id" />
</relation>
</database> </database>
@ -759,11 +902,37 @@ gueltig_bis DATE
version integer default 1 version integer default 1
) ;" ) ;"
scriptfile="" database=""/> scriptfile="" database=""/>
<nativeaction sql="create table tmp_viz_dashboard(
tid SERIAL not null,
uniquename VARCHAR(255) not null,
caption VARCHAR(255) ,
maskeninfo_id INTEGER ,
booklet_stylesheet VARCHAR(255) ,
gridtitle_felderinfo_id integer
)
;" scriptfile="" database=""/>
<nativeaction sql="create table tmp_viz_dashboard_tab(
tid SERIAL not null,
dashboard_id INTEGER not null,
caption VARCHAR(255) ,
maskeninfo_id INTEGER ,
sortnr SMALLINT default 0 ,
select_clause VARCHAR(255) ,
fact_table VARCHAR(255) ,
where_clause TEXT ,
optional_filter_name VARCHAR(255) ,
optional_filter_value VARCHAR(255) ,
booklet_stylesheet VARCHAR(255)
)
;" scriptfile="" database=""/>
</action> </action>
<action error="stop"> <action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_repository"><file path="$VIZ_PFAD/schluesseltabellen/sx_repository.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="tmp_repository"><file path="$VIZ_PFAD/schluesseltabellen/sx_repository.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_templates"><file path="$VIZ_PFAD/schluesseltabellen/fm_templates.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="tmp_templates"><file path="$VIZ_PFAD/schluesseltabellen/fm_templates.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_viz_dashboard"><file path="$VIZ_PFAD/schluesseltabellen/viz_dashboard.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_viz_dashboard_tab"><file path="$VIZ_PFAD/schluesseltabellen/viz_dashboard_tab.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_type.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_type.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_property.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_property.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_input_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_input_type.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_input_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_input_type.unl"/></loadtable>
@ -778,8 +947,13 @@ scriptfile="" database=""/>
<action error="stop"> <action error="stop">
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_repository_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_repository_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/fm_templates_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/fm_templates_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_dashboard_tab_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_colorscheme_fuellen.sql" database=""/>
<!-- <!--
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_type_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_type_type.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_type_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_type_type.unl"/></loadtable>
@ -935,16 +1109,43 @@ chart_height INTEGER default 400 ,
chart_miniature_width INTEGER default 200 , chart_miniature_width INTEGER default 200 ,
chart_miniature_height INTEGER default 100 chart_miniature_height INTEGER default 100
)
;" scriptfile="" database=""/>
<nativeaction sql="create table tmp_viz_dashboard(
tid SERIAL not null,
uniquename VARCHAR(255) not null,
caption VARCHAR(255) ,
maskeninfo_id INTEGER ,
booklet_stylesheet VARCHAR(255) ,
gridtitle_felderinfo_id integer
)
;" scriptfile="" database=""/>
<nativeaction sql="create table tmp_viz_dashboard_tab(
tid SERIAL not null,
dashboard_id INTEGER ,
caption VARCHAR(255) ,
maskeninfo_id INTEGER ,
sortnr SMALLINT default 0 ,
select_clause VARCHAR(255) ,
fact_table VARCHAR(255) ,
where_clause TEXT ,
optional_filter_name VARCHAR(255) ,
optional_filter_value VARCHAR(255) ,
booklet_stylesheet VARCHAR(255)
) )
;" scriptfile="" database=""/> ;" scriptfile="" database=""/>
</action> </action>
<action error="stop"> <action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_repository"><file path="$VIZ_PFAD/schluesseltabellen/sx_repository.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="tmp_repository"><file path="$VIZ_PFAD/schluesseltabellen/sx_repository.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_templates"><file path="$VIZ_PFAD/schluesseltabellen/fm_templates.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="tmp_templates"><file path="$VIZ_PFAD/schluesseltabellen/fm_templates.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_templates"><file path="$VIZ_PFAD/schluesseltabellen/viz_chart.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="tmp_viz_chart"><file path="$VIZ_PFAD/schluesseltabellen/viz_chart.unl"/></loadtable>
<!--<loadtable refresh="true" delimiter="^" header="false" tabname="viz_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_type.unl"/></loadtable> <!--<loadtable refresh="true" delimiter="^" header="false" tabname="viz_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_type.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_property.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_property.unl"/></loadtable>
--><loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_input_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_input_type.unl"/></loadtable> -->
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_viz_dashboard"><file path="$VIZ_PFAD/schluesseltabellen/viz_dashboard.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_viz_dashboard_tab"><file path="$VIZ_PFAD/schluesseltabellen/viz_dashboard_tab.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_input_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_input_type.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_group"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_group.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_group"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_group.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_renderer.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_renderer.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_renderer.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_renderer.unl"/></loadtable>
@ -956,6 +1157,8 @@ chart_miniature_height INTEGER default 100
<action error="stop"> <action error="stop">
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_repository_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_repository_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/fm_templates_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/fm_templates_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_dashboard_tab_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_colorscheme_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_chart_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_chart_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/konstanten_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/konstanten_fuellen.sql" database=""/>
@ -1270,6 +1473,61 @@ mode="full">
<customfield name="caption" nullFieldValue="" visibleSize="30" /> <customfield name="caption" nullFieldValue="" visibleSize="30" />
<customfield name="uniquename" nullFieldValue="" visibleSize="30" /> <customfield name="uniquename" nullFieldValue="" visibleSize="30" />
</form> </form>
<form name="viz_colorscheme_list"
table="viz_colorscheme"
path="/edit/viz/viz_colorscheme_list.jsp"
followUp=""
caption="Farbpaletten verwalten"
orderBy="sortnr,caption"
gotoHt=""
helpfile=""
maxRows="*"
mode="full">
<description>In diesem Formular können Sie Farbpaletten verwalten. </description>
<filters>
</filters>
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="caption" nullFieldValue="" visibleSize="30" />
<customfield name="uniquename" nullFieldValue="" visibleSize="30" />
<customfield name="sortnr" nullFieldValue="" visibleSize="5" />
<customfield name="colorscheme_active" nullFieldValue="" visibleSize="5" />
<customfield type="link" name="Details" path="/superx/edit/viz/viz_colorscheme_edit.jsp" linkid="tid"/>
</form>
<form name="viz_colorscheme_edit"
table="viz_colorscheme"
path="/edit/viz/viz_colorscheme_edit.jsp"
followUp=""
caption="Farbpaletten bearbeiten"
orderBy="caption"
gotoHt=""
helpfile=""
javascriptFieldsArray="true"
maxRows="1"
mode="full">
<description>In diesem Formular können Sie Farbpaletten verwalten. Achtung: Paletten mit dem Präfix "D3" sind nicht bearbeitbar.</description>
<filters>
<filter mandatory="true" type="equals">tid</filter>
</filters>
<field-selection complete="false" />
<customfield name="tid" />
<customfield name="caption" visibleSize="50" nullFieldValue="" />
<customfield name="uniquename" visibleSize="10" nullFieldValue="" />
<customfield name="sortnr" nullFieldValue="" visibleSize="5" />
<customfield name="colorscheme_active" nullFieldValue="" visibleSize="5" />
<customfield name="is_custom" nullFieldValue="" visibleSize="30" />
<customfield name="Elemente" type="subform" multipart="false" autoUpdate="false"
maxRows="*" table="viz_colorscheme_element" parentField="tid" childField="viz_colorscheme_id"
orderBy="sortnr" allowNew="true"
mode="full">
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="viz_colorscheme_id" type="hidden" overrideValue="tid" />
<customfield name="colorcode" nullFieldValue="" visibleSize="30" />
<customfield name="target_uniquename" visibleSize="10" nullFieldValue="" />
<customfield name="sortnr" visibleSize="10" nullFieldValue="" />
</customfield>
</form>
</dbforms> </dbforms>
</module> </module>

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

@ -17,3 +17,4 @@ FROM viz_renderer \
where uniquename='echarts'\ where uniquename='echarts'\
;^ ;^
44007^Diagrammtypen verwalten^220^0^0^150^200^1^char^200^0^18^ ^^<<SQL>> select '../edit/viz/viz_type_list.jsp' from xdummy;^ 44007^Diagrammtypen verwalten^220^0^0^150^200^1^char^200^0^18^ ^^<<SQL>> select '../edit/viz/viz_type_list.jsp' from xdummy;^
44008^Farbpaletten verwalten^300^0^0^150^200^1^char^200^0^18^ ^^<<SQL>> select '../edit/viz/viz_colorscheme_list.jsp' from xdummy;^

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

@ -6,3 +6,4 @@
44000^44005^ 44000^44005^
44000^44006^ 44000^44006^
44000^44007^ 44000^44007^
44000^44008^

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

@ -11,7 +11,10 @@ and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ order by tid DESC;^Eintrag^<<SQL>> 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^<<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;^hidden^^ 44635^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;^hidden^^
44636^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^ 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^<<SQL>> 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^<<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^ 44637^Dashboard^1000^300^-1^170^150^1^char^30^1^1^<<SQL>> select uniquename,uniquename from viz_dashboard order by 2;^ ^ ^
44645^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M , macro_masken_bez B\
where S.tid=M.stylesheet_id and M.maskeninfo_id =B.maskeninfo_id1 and B.maskeninfo_id2=44630 group by 1,2,ord order by ord^hidden^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M , macro_masken_bez B\
where S.tid=M.stylesheet_id and M.maskeninfo_id =B.maskeninfo_id1 and B.maskeninfo_id2=44630 group by 1,2,ord 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^ ^ 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 \ 44649^Spaltenanzahl^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> SELECT 0,'Dynamisch' from xdummy \
union SELECT 1,'1-spaltig' from xdummy \ union SELECT 1,'1-spaltig' from xdummy \

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

@ -5,6 +5,7 @@
44630^44634^ 44630^44634^
44630^44635^ 44630^44635^
44630^44636^ 44630^44636^
44630^44637^
44630^44645^ 44630^44645^
44630^44647^ 44630^44647^
44630^44649^ 44630^44649^

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

@ -6,6 +6,35 @@
<sqlvar name="zul_antr_aggr_exists">\ <sqlvar name="zul_antr_aggr_exists">\
select sp_table_exists('zul_antr_aggr') from xdummy;\ select sp_table_exists('zul_antr_aggr') from xdummy;\
</sqlvar>\ </sqlvar>\
<sqlvar name="dashboard" type="hash"><![CDATA[ \
select tid,\
uniquename,\
caption,\
maskeninfo_id,\
booklet_stylesheet,\
gridtitle_felderinfo_id\
from viz_dashboard \
where uniquename=<<Dashboard>>;\
]]>\
</sqlvar>\
<sqlvar name="dashboard_tabs" type="hashsequence"><![CDATA[ \
select T.tid,\
T.dashboard_id,\
T.caption as name,\
T.maskeninfo_id,\
T.sortnr,\
T.select_clause,\
T.fact_table,\
T.where_clause,\
T.optional_filter_name ,\
T.optional_filter_value ,\
T.booklet_stylesheet\
FROM viz_dashboard_tab T, viz_dashboard D\
where T.dashboard_id=D.tid\
and D.uniquename=<<Dashboard>>\
order by T.sortnr;\
]]>\
</sqlvar>\
</sqlvars>\ </sqlvars>\
\ \
\ \
@ -29,6 +58,17 @@ select sp_table_exists('zul_antr_aggr') from xdummy;\
<#assign stg_filter = " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \ <#assign stg_filter = " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \
\ \
<#assign kennzahlen = [\ <#assign kennzahlen = [\
{"name":"Studierende", \
"selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\
"whereClause":"studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0')",\
"optionalFilterName":"",\
"optionalFilterValue":"",\
"linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
},\
{"name":"Studienanfänger*innen im 1. HS", \ {"name":"Studienanfänger*innen im 1. HS", \
"selectClause":"sum(summe) as summe", \ "selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\ "factTable":"sos_stg_aggr",\
@ -50,18 +90,8 @@ and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0') and fach_se
"optionalFilterValue":"1",\ "optionalFilterValue":"1",\
"linkMaskeninfoTID":"44190",\ "linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\ "booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
},\
{"name":"Studierende", \
"selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\
"whereClause":"studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0')",\
"optionalFilterName":"",\
"optionalFilterValue":"",\
"linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
}\ }\
\
] />\ ] />\
\ \
create temp table tmp_erg(\ create temp table tmp_erg(\
@ -71,7 +101,8 @@ wert integer,\
hidden_link_maskeninfo_id integer,\ hidden_link_maskeninfo_id integer,\
hidden_optional_filter_name varchar(255),\ hidden_optional_filter_name varchar(255),\
hidden_optional_filter_value varchar(255),\ hidden_optional_filter_value varchar(255),\
hidden_booklet_stylesheet varchar(255)\ hidden_booklet_stylesheet varchar(255),\
gridtitle_felderinfo_id integer\
);\ );\
\ \
--erster Reiter:\ --erster Reiter:\
@ -80,18 +111,20 @@ ord,\
kennz,\ kennz,\
--wert,\ --wert,\
hidden_link_maskeninfo_id,\ hidden_link_maskeninfo_id,\
hidden_booklet_stylesheet --,\ hidden_booklet_stylesheet,\
--optional_filter_name,\ --optional_filter_name,\
--optional_filter_value\ --optional_filter_value\
gridtitle_felderinfo_id\
)\ )\
select 1,\ select 1,\
'${VIZ_HS_KUERZEL} im Überblick' ,\ '${VIZ_HS_KUERZEL} ${dashboard.caption}' ,\
44660,\ ${dashboard.maskeninfo_id},\
'viz_report_44660_xmlsource.jrxml'\ '${dashboard.booklet_stylesheet}',\
val('${dashboard.gridtitle_felderinfo_id}')\
from xdummy;\ from xdummy;\
\ \
<#assign ord=1 />\ <#assign ord=1 />\
<#foreach kennzahl in kennzahlen>\ <#foreach kennzahl in dashboard_tabs>\
<#assign ord=ord+1 />\ <#assign ord=ord+1 />\
\ \
insert into tmp_erg(\ insert into tmp_erg(\
@ -104,15 +137,15 @@ hidden_optional_filter_value,\
hidden_booklet_stylesheet\ hidden_booklet_stylesheet\
)\ )\
select ${ord},'${kennzahl.name}',\ select ${ord},'${kennzahl.name}',\
${kennzahl.selectClause},\ ${kennzahl.select_clause},\
${kennzahl.linkMaskeninfoTID},\ ${kennzahl.maskeninfo_id},\
'${kennzahl.optionalFilterName}',\ '${kennzahl.optional_filter_name}',\
'${kennzahl.optionalFilterValue}',\ '${kennzahl.optional_filter_value}',\
'${kennzahl.booklet_stylesheet}'\ '${kennzahl.booklet_stylesheet}'\
from ${kennzahl.factTable}\ from ${kennzahl.fact_table}\
where ${filter}\ where ${filter}\
and 's_' || tid_stg in <@printkeys Studiengang.allNeededKeysList/>\ and 's_' || tid_stg in <@printkeys Studiengang.allNeededKeysList/>\
and ${kennzahl.whereClause}\ and ${kennzahl.where_clause}\
group by 1,2;\ group by 1,2;\
\ \
</#foreach>\ </#foreach>\
@ -123,7 +156,9 @@ wert,\
hidden_link_maskeninfo_id,\ hidden_link_maskeninfo_id,\
hidden_optional_filter_name,\ hidden_optional_filter_name,\
hidden_optional_filter_value,\ hidden_optional_filter_value,\
hidden_booklet_stylesheet\ hidden_booklet_stylesheet,\
gridtitle_felderinfo_id as hiddengridtitle_felderinfo_id\
\
from tmp_erg\ from tmp_erg\
order by ord;^XIL List\ order by ord;^XIL List\
sizable_columns horizontal_scrolling\ sizable_columns horizontal_scrolling\

49
src-modules/module/viz/schluesseltabellen/customxmladd.sql

@ -164,6 +164,29 @@ and (P.is_generic=1 or TP.viz_property_id=P.tid)
--and T.uniquename='echarts_bar_y_series' --and T.uniquename='echarts_bar_y_series'
order by 1,2,R.sortnr; order by 1,2,R.sortnr;
</sqlvar>
<sqlvar name="viz_colorscheme" type="hashsequence">
SELECT tid,
uniquename ,
caption ,
is_custom,
specifier,
sortnr
from viz_colorscheme
where colorscheme_active=1
order by sortnr,caption
;
</sqlvar>
<sqlvar name="viz_colorscheme_element" type="hashsequence">
SELECT E.colorscheme_id ,
C.uniquename as colorscheme_uniquename,
E.colorcode,
E.target_uniquename ,
E.sortnr
from viz_colorscheme_element E, viz_colorscheme C
where C.tid=E.colorscheme_id
order by 2,5,3
;
</sqlvar> </sqlvar>
</sqlvars> </sqlvars>
<#if !Semester?exists><#assign Semester=""></#if> <#if !Bezugssemester?exists><#assign Bezugssemester=""/></#if> <#if !Jahr?exists><#assign Jahr=""></#if> <#if !faecherkeys?exists><#assign faecherkeys=""></#if> <#if !Fächer?exists><#assign Fächer={"selectedKey":""}></#if> <#if !Kostenstelle?exists><#assign Kostenstelle={"selectedKey":""}></#if> <#if !(.vars["Datum (Personal)"]?exists)><#assign "Datum (Personal)"=""></#if> <#if !(.vars["Beschäftigungsstelle (Person)"]?exists)><#assign "Beschäftigungsstelle (Person)"=""></#if> <#if !Semester?exists><#assign Semester=""></#if> <#if !Bezugssemester?exists><#assign Bezugssemester=""/></#if> <#if !Jahr?exists><#assign Jahr=""></#if> <#if !faecherkeys?exists><#assign faecherkeys=""></#if> <#if !Fächer?exists><#assign Fächer={"selectedKey":""}></#if> <#if !Kostenstelle?exists><#assign Kostenstelle={"selectedKey":""}></#if> <#if !(.vars["Datum (Personal)"]?exists)><#assign "Datum (Personal)"=""></#if> <#if !(.vars["Beschäftigungsstelle (Person)"]?exists)><#assign "Beschäftigungsstelle (Person)"=""></#if>
@ -283,3 +306,29 @@ order by 1,2,R.sortnr;
</#foreach> </#foreach>
</#if> </#if>
</viz_property_trees> </viz_property_trees>
<vizColorSchemes>
<#if viz_colorscheme?is_sequence>
<#foreach sc in viz_colorscheme>
<vizColorscheme tid="${sc.tid}"
caption="${sc.caption}"
uniquename="${sc.uniquename}"
is_custom="${sc.is_custom}"
specifier="${sc.specifier}"
/>
</#foreach>
</#if>
</vizColorSchemes>
<vizColorSchemeElements>
<#if viz_colorscheme_element?is_sequence>
<#foreach el in viz_colorscheme_element>
<vizColorschemeElem colorscheme_id="${el.colorscheme_id}"
colorscheme_uniquename="${el.colorscheme_uniquename}"
colorcode="${el.colorcode}"
target_uniquename="${el.target_uniquename}"
sortnr="${el.sortnr}"
/>
</#foreach>
</#if>
</vizColorSchemeElements>

2
src-modules/module/viz/schluesseltabellen/fm_templates.unl

@ -181,7 +181,7 @@ set caption=T.caption,\
prop_default=T.prop_default,\ prop_default=T.prop_default,\
prop_unit=T.prop_unit,\ prop_unit=T.prop_unit,\
is_generic=T.is_generic,\ is_generic=T.is_generic,\
static_values=T.static_values,\ --static_values=T.static_values,\
is_mandatory=T.is_mandatory,\ is_mandatory=T.is_mandatory,\
input_type_id=T.input_type_id,\ input_type_id=T.input_type_id,\
property_group_id=T.property_group_id,\ property_group_id=T.property_group_id,\

6
src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql

@ -108,7 +108,7 @@
{"makro":"44070", "sortnr":"80", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"}, {"makro":"44070", "sortnr":"80", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"},
{"makro":"44070", "sortnr":"80", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, {"makro":"44070", "sortnr":"80", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44190", "sortnr":"0", "feldname":"Dashboard", "value":"STUD"},
{"makro":"44190", "sortnr":"1", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, {"makro":"44190", "sortnr":"1", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44190", "sortnr":"1", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"}, {"makro":"44190", "sortnr":"1", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"},
{"makro":"44190", "sortnr":"1", "feldname":"Grafik", "value":"STUD_SEM_LINE"}, {"makro":"44190", "sortnr":"1", "feldname":"Grafik", "value":"STUD_SEM_LINE"},
@ -150,6 +150,8 @@
{"makro":"44190", "sortnr":"60", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, {"makro":"44190", "sortnr":"60", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44190", "sortnr":"60", "feldname":"Nur Endsemester", "value":"1"}, {"makro":"44190", "sortnr":"60", "feldname":"Nur Endsemester", "value":"1"},
{"makro":"44660", "sortnr":"0", "feldname":"Dashboard", "value":"STUD"},
{"makro":"44660", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, {"makro":"44660", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44660", "sortnr":"10", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"}, {"makro":"44660", "sortnr":"10", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"},
{"makro":"44660", "sortnr":"10", "feldname":"Grafik", "value":"STUD_SEM_LINE"}, {"makro":"44660", "sortnr":"10", "feldname":"Grafik", "value":"STUD_SEM_LINE"},
@ -169,6 +171,8 @@
{"makro":"44660", "sortnr":"30", "feldname":"Grafik", "value":"STUD_SEM_LINE"}, {"makro":"44660", "sortnr":"30", "feldname":"Grafik", "value":"STUD_SEM_LINE"},
{"makro":"44660", "sortnr":"30", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, {"makro":"44660", "sortnr":"30", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44690", "sortnr":"0", "feldname":"Dashboard", "value":"STUDABSOLV"},
{"makro":"44690", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"}, {"makro":"44690", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44690", "sortnr":"10", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"}, {"makro":"44690", "sortnr":"10", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"},
{"makro":"44690", "sortnr":"10", "feldname":"Grafik", "value":"STUD_SEM_LINE"}, {"makro":"44690", "sortnr":"10", "feldname":"Grafik", "value":"STUD_SEM_LINE"},

7
src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql

@ -72,7 +72,12 @@
{"mask":"44720", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"}, {"mask":"44720", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44720", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"mask":"44720", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44720", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"}, {"mask":"44720", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44720", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"} {"mask":"44720", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"48460", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"48460", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"48460", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"48460", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"}
] /> ] />

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

File diff suppressed because one or more lines are too long

31
src-modules/module/viz/schluesseltabellen/viz_chart_unload.x

@ -0,0 +1,31 @@
#!/bin/bash
#entlädt nur die charts, die Teil der Auslieferung sind:
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 not null,
chartmodel_miniature TEXT ,
chart_position CHAR(10) ,
chart_active SMALLINT default 1 ,
chart_width INTEGER default 600 ,
chart_height INTEGER default 400 ,
chart_miniature_width INTEGER default 200 ,
chart_miniature_height INTEGER default 100
)
;"
sx_auto_upload_table.x tmp_viz_chart viz_chart.unl
DOQUERY "select * from viz_chart where uniquename in (select T.uniquename from tmp_viz_chart T)" false ^ viz_chart.unl txt
DOQUERY "drop table tmp_viz_chart;"

30
src-modules/module/viz/schluesseltabellen/viz_chart_upload.x

@ -0,0 +1,30 @@
#!/bin/bash
#lädt nur die charts, die Teil der Auslieferung sind:
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 not null,
chartmodel_miniature TEXT ,
chart_position CHAR(10) ,
chart_active SMALLINT default 1 ,
chart_width INTEGER default 600 ,
chart_height INTEGER default 400 ,
chart_miniature_width INTEGER default 200 ,
chart_miniature_height INTEGER default 100
)
;"
sx_auto_upload_table.x tmp_viz_chart viz_chart.unl
DOSQL viz_chart_fuellen.sql

235
src-modules/module/viz/schluesseltabellen/viz_colorscheme_fuellen.sql

@ -0,0 +1,235 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#include "VIZ-Makros"/>
<#assign viz_colorschemes = [
{"uniquename":"D3_Tableau10","specifier":"4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"},
{"uniquename":"D3_category10","specifier":"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"},
{"uniquename":"D3_Accent","specifier":"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"},
{"uniquename":"D3_Dark2","specifier":"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"},
{"uniquename":"D3_observable10","specifier":"4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"},
{"uniquename":"D3_Paired","specifier":"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"},
{"uniquename":"D3_Pastel1","specifier":"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"},
{"uniquename":"D3_Pastel2","specifier":"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"},
{"uniquename":"D3_Set1","specifier":"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"},
{"uniquename":"D3_Set2","specifier":"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"},
{"uniquename":"D3_Set3","specifier":"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"},
{"uniquename":"unique", "caption":"Eine einzige Farbe"},
{"uniquename":"dichotom", "caption":"Dichotom"},
{"uniquename":"abgrp", "caption":"Abschlussgruppen"},
{"uniquename":"fak", "caption":"Fakultäten"},
{"uniquename":"quadroColor", "caption":"Vier Farben"},
{"uniquename":"blandLocalized", "caption":"Bundesland (eigenes)"},
{"uniquename":"colorGrades", "caption":"Blautöne"}
]
/>
<#assign viz_colorscheme_elements = [
{"colorscheme":"unique",
"colorcode":"#004c93"},
{"colorscheme":"dichotom",
"colorcode":"rgb(97,162,124)"},
{"colorscheme":"dichotom",
"colorcode":"#c3df35"},
{"colorscheme":"dichotom",
"colorcode":"#9d96f5"},
{"colorscheme":"dichotom",
"colorcode":"#e7bcf3"},
{"colorscheme":"abgrp",
"colorcode":"#374ca"},
{"colorscheme":"abgrp",
"colorcode":"#5e70ba"},
{"colorscheme":"abgrp",
"colorcode":"#64a6d9"},
{"colorscheme":"abgrp",
"colorcode":"#8cb7e1"},
{"colorscheme":"abgrp",
"colorcode":"#7aa2ba"},
{"colorscheme":"abgrp",
"colorcode":"#98b4c9"},
{"colorscheme":"abgrp",
"colorcode":"#ff933e"},
{"colorscheme":"fak",
"colorcode":"#488a7c"},
{"colorscheme":"fak",
"colorcode":"#374ca9"},
{"colorscheme":"fak",
"colorcode":"#ffd705"},
{"colorscheme":"fak",
"colorcode":"#a68eca"},
{"colorscheme":"fak",
"colorcode":"#e84035"},
{"colorscheme":"fak",
"colorcode":"#64a6d9"},
{"colorscheme":"fak",
"colorcode":"#ff933e"},
{"colorscheme":"fak",
"colorcode":"#ee79ad"},
{"colorscheme":"fak",
"colorcode":"#7aa2ba"},
{"colorscheme":"fak",
"colorcode":"#c3df35"},
{"colorscheme":"fak",
"colorcode":"#9bceab"},
{"colorscheme":"fak",
"colorcode":"#782f88"},
{"colorscheme":"fak",
"colorcode":"#96BFFF"},
{"colorscheme":"quadroColor",
"colorcode":"#374ca9"},
{"colorscheme":"quadroColor",
"colorcode":"#5e70ba"},
{"colorscheme":"quadroColor",
"colorcode":"#8794cb"},
{"colorscheme":"quadroColor",
"colorcode":"#afb7dc"},
{"colorscheme":"blandLocalized",
"colorcode":"#004c93",
"target_uniquename":"8"},
{"colorscheme":"blandLocalized",
"colorcode":"#666666"},
{"colorscheme":"colorGrades",
"colorcode":"#374ca9"},
{"colorscheme":"colorGrades",
"colorcode":"#3c53b8"},
{"colorscheme":"colorGrades",
"colorcode":"#455cc3"},
{"colorscheme":"colorGrades",
"colorcode":"#556ac8"},
{"colorscheme":"colorGrades",
"colorcode":"#6477cc"},
{"colorscheme":"colorGrades",
"colorcode":"#7384d1"},
{"colorscheme":"colorGrades",
"colorcode":"#8291d6"},
{"colorscheme":"colorGrades",
"colorcode":"#919fdb"},
{"colorscheme":"colorGrades",
"colorcode":"#a0ace0"},
{"colorscheme":"colorGrades",
"colorcode":"#afb9e5"},
{"colorscheme":"colorGrades",
"colorcode":"#bec6ea"},
{"colorscheme":"colorGrades",
"colorcode":"#cdd4ef"},
{"colorscheme":"colorGrades",
"colorcode":"#dce1f4"},
{"colorscheme":"colorGrades",
"colorcode":"#eceef9"},
{"colorscheme":"colorGrades",
"colorcode":"#f4f6fb"},
{"colorscheme":"colorGrades",
"colorcode":"#f6f7fc"}
]
/>
create temp table tmp_viz_colorscheme(
tid integer,
uniquename VARCHAR(255) not null,
caption VARCHAR(255) ,
is_custom SMALLINT default 1 ,
specifier varchar(255),
sortnr smallint
)
;
<#assign sortnr=0 />
<#foreach scheme in viz_colorschemes>
<#assign sortnr=sortnr + 1 />
insert into tmp_viz_colorscheme(uniquename ,
caption ,
is_custom,
specifier,
sortnr)
values ('${scheme.uniquename}',
<#if scheme.caption?exists>
'${scheme.caption}',
<#else>
'${scheme.uniquename}',
</#if>
0,
<#if scheme.specifier?exists>
'${scheme.specifier}',
<#else>
null::varchar,
</#if>
${sortnr}*10
);
update tmp_viz_colorscheme set tid=(select C.tid
from viz_colorscheme C
where C.uniquename='${scheme.uniquename}')
where tmp_viz_colorscheme.uniquename='${scheme.uniquename}';
update viz_colorscheme set caption=(select T.caption
from tmp_viz_colorscheme T
where T.tid=viz_colorscheme.tid)
where tid in (select T.tid
from tmp_viz_colorscheme T
where T.tid is not null);
delete from tmp_viz_colorscheme
where tid is null
and uniquename in (select uniquename from viz_colorscheme);
insert into viz_colorscheme(uniquename ,
caption ,
is_custom,
specifier,
sortnr)
select uniquename ,
caption ,
is_custom,
specifier,
sortnr
from tmp_viz_colorscheme T
where T.tid is null;
update tmp_viz_colorscheme set tid=(select C.tid
from viz_colorscheme C
where C.uniquename='${scheme.uniquename}')
where tid is null;
delete from viz_colorscheme_element
where colorscheme_id in (select C.tid
from viz_colorscheme C
where C.uniquename='${scheme.uniquename}');
<#assign counter=0 />
<#foreach color in viz_colorscheme_elements>
<#if color.colorscheme==scheme.uniquename>
<#assign counter=counter+1 />
insert into viz_colorscheme_element(colorscheme_id ,
colorcode,
target_uniquename ,
sortnr )
select C.tid as colorscheme_id,
'${color.colorcode}',
<#if color.target_uniquename?exists > '${color.target_uniquename}',
<#else>
null::varchar,
</#if>
${counter}
from tmp_viz_colorscheme C
where C.uniquename='${scheme.uniquename}'
;
</#if>
</#foreach>
</#foreach>

2
src-modules/module/viz/schluesseltabellen/viz_dashboard.unl

@ -0,0 +1,2 @@
7^STUD^im Überblick^44660^viz_report_44660_xmlsource.jrxml^44631^
8^STUDABSOLV^im Überblick^44690^viz_report_44690_xmlsource.jrxml^44631^

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

@ -0,0 +1,21 @@
7^7^Studierende^44190^10^sum(summe) as summe^sos_stg_aggr^studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0')^^^viz_report_44190_xmlsource.jrxml^
10^8^Studierende^44190^10^sum(summe) as summe^sos_stg_aggr^studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0')^^^viz_report_44190_xmlsource.jrxml^
8^7^Studienanfänger*innen im 1. HS^44190^20^sum(summe) as summe^sos_stg_aggr^studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0') and hssem=1^Filter Studierende^SOS_HSSEM_1^viz_report_44190_xmlsource.jrxml^
9^7^Studienanfänger*innen im 1. FS^44190^30^sum(summe) as summe^sos_stg_aggr^studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0')\
and fach_sem_zahl=1^bis Fachsemester^1^viz_report_44190_xmlsource.jrxml^
11^8^Studienanfänger*innen im 1. HS^44190^20^sum(summe) as summe^sos_stg_aggr^studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0')\
and hssem=1^Filter Studierende^SOS_HSSEM_1^viz_report_44190_xmlsource.jrxml^
12^8^Studienanfänger*innen im 1. FS^44190^30^sum(summe) as summe^sos_stg_aggr^studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0')\
and fach_sem_zahl=1^bis Fachsemester^1^viz_report_44190_xmlsource.jrxml^

57
src-modules/module/viz/schluesseltabellen/viz_dashboard_tab_fuellen.sql

@ -0,0 +1,57 @@
begin work;
delete from viz_dashboard_tab where dashboard_id in (
select D.tid
from viz_dashboard D,tmp_viz_dashboard T
where D.uniquename=T.uniquename
);
delete from viz_dashboard where uniquename in (
select T.uniquename from tmp_viz_dashboard T);
insert into viz_dashboard(uniquename,
caption,
maskeninfo_id,
booklet_stylesheet)
select
uniquename,
caption,
maskeninfo_id,
booklet_stylesheet
from tmp_viz_dashboard;
update tmp_viz_dashboard_tab set dashboard_id=(select D.tid
from viz_dashboard D, tmp_viz_dashboard T
where D.uniquename=T.uniquename
and tmp_viz_dashboard_tab.dashboard_id=T.tid);
insert into viz_dashboard_tab(
dashboard_id,
caption,
maskeninfo_id,
sortnr,
select_clause,
fact_table,
where_clause,
optional_filter_name,
optional_filter_value,
booklet_stylesheet
) select
dashboard_id,
caption,
maskeninfo_id,
sortnr,
select_clause,
fact_table,
where_clause,
optional_filter_name,
optional_filter_value,
booklet_stylesheet
FROM tmp_viz_dashboard_tab
;
drop table tmp_viz_dashboard_tab;
drop table tmp_viz_dashboard;
commit;

30
src-modules/module/viz/schluesseltabellen/viz_dashboard_upload.x

@ -0,0 +1,30 @@
#!/bin/bash
#lädt nur die charts, die Teil der Auslieferung sind:
DOQUERY "create table tmp_viz_dashboard(
tid SERIAL not null,
uniquename VARCHAR(255) not null,
caption VARCHAR(255) ,
maskeninfo_id INTEGER ,
booklet_stylesheet VARCHAR(255)
)
;"
DOQUERY "create table tmp_viz_dashboard_tab(
tid SERIAL not null,
dashboard_id INTEGER not null,
caption VARCHAR(255) ,
maskeninfo_id INTEGER ,
sortnr SMALLINT default 0 ,
select_clause VARCHAR(255) ,
fact_table VARCHAR(255) ,
where_clause TEXT ,
optional_filter_name VARCHAR(255) ,
optional_filter_value VARCHAR(255) ,
booklet_stylesheet VARCHAR(255)
)
;"
sx_auto_upload_table.x tmp_viz_dashboard viz_dashboard.unl
sx_auto_upload_table.x tmp_viz_dashboard_tab viz_dashboard_tab.unl
DOSQL viz_dashboard_tab_fuellen.sql

46
src-modules/module/viz/schluesseltabellen/viz_properties_echarts_bar_fuellen.sql

@ -0,0 +1,46 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#include "VIZ-Makros"/>
<sqlvars>
<sqlvar name="renderer">
select tid from viz_renderer where uniquename='echarts';
</sqlvar>
</sqlvars>
<#assign viz_types = [
{"uniquename":"echarts_bar_y", "caption":"Säulendiagramm (vertikal)",
"orientation":"V",
"description":"Vertikales Balkendiagramm",
"explanation":""},
{"uniquename":"echarts_bar_x", "caption":"Balkendiagramm (horizontal)",
"orientation":"H",
"description":"Horizontales Balkendiagramm",
"explanation":""}
]
/>
<#assign viz_type_properties = [
{"viz_property_uniquename":"barStacked"}
]
/>
<@create_temp_tables />
<#foreach viz_type in viz_types>
<@fill_viz_types viz_type_p=viz_type />
<@fill_viz_type_properties viz_type_p=viz_type />
</#foreach>

160
src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql

@ -172,6 +172,90 @@
"parent_property_uniquename":"titleNode", "parent_property_uniquename":"titleNode",
"variableName":"title.top" "variableName":"title.top"
}, },
{ "caption":"Legende",
"prop_uniquename":"legendNode",
"explanation":"Legenden-Element",
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"NODE",
"sortnr":"5",
"range_from":"",
"range_to":"",
"prop_value_type":"NODE",
"parent_property_uniquename":"",
"variableName":"legendNode"
},
{ "caption":"Legende anzeigen",
"prop_uniquename":"legendShow",
"explanation":"",
"prop_default":"true",
"prop_unit":"",
"is_generic":"1",
"static_values":"true|false",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"",
"sortnr":"410",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"legendNode",
"variableName":"legendShow"
},
{ "caption":"Legenden-Ausrichtung (vertikal)",
"prop_uniquename":"legend.top",
"explanation":"",
"prop_default":"bottom",
"prop_unit":"",
"is_generic":"1",
"static_values":"top|middle|bottom",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"",
"sortnr":"10",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"legendNode",
"variableName":"legend.top"
},
{ "caption":"Legenden-Ausrichtung (horizontal)",
"prop_uniquename":"legend.left",
"explanation":"",
"prop_default":"left",
"prop_unit":"",
"is_generic":"1",
"static_values":"left|center|right",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"",
"sortnr":"10",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"legendNode",
"variableName":"legend.left"
},
{ "caption":"Legende scrollbar",
"prop_uniquename":"legend.scroll",
"explanation":"",
"prop_default":"false",
"prop_unit":"",
"is_generic":"1",
"static_values":"true|false",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"",
"sortnr":"10",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"legendNode",
"variableName":"legend.scroll"
},
{ "caption":"Ränder", { "caption":"Ränder",
"prop_uniquename":"marginNode", "prop_uniquename":"marginNode",
"explanation":"", "explanation":"",
@ -529,7 +613,7 @@
}, },
{ "caption":"Wertelabel: Distanz Beschriftung", { "caption":"Wertelabel: Distanz Beschriftung",
"prop_uniquename":"distance_valueLabel", "prop_uniquename":"distance_valueLabel",
"explanation":"Wertelabel Abstand Beschriftung zum Item", "explanation":"Wertelabel Abstand Beschriftung zum Item. Wird nur ausgewertet wenn Ausrichtung Wertelabel (vertikal)=top gesetzt wird.",
"prop_default":"10", "prop_default":"10",
"prop_unit":"", "prop_unit":"",
"is_generic":"1", "is_generic":"1",
@ -546,7 +630,7 @@
{ "caption":"Ausrichtung Wertelabel (vertikal)", { "caption":"Ausrichtung Wertelabel (vertikal)",
"prop_uniquename":"position_valueLabel", "prop_uniquename":"position_valueLabel",
"explanation":"", "explanation":"",
"prop_default":"center", "prop_default":"top",
"prop_unit":"", "prop_unit":"",
"is_generic":"1", "is_generic":"1",
"static_values":"top|center|bottom", "static_values":"top|center|bottom",
@ -560,6 +644,40 @@
"parent_property_uniquename":"valueLabelNode", "parent_property_uniquename":"valueLabelNode",
"variableName":"position_valueLabel" "variableName":"position_valueLabel"
}, },
{ "caption":"Wertelabel offset (horizontal)",
"prop_uniquename":"offset_x_valueLabel",
"explanation":"Wertelabel wird horizontal leicht verschoben, z.B. 30 bedeutet 30 Pixel nach rechts",
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"",
"sortnr":"440",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"valueLabelNode",
"variableName":"offset_x_valueLabel"
},
{ "caption":"Wertelabel offset (vertikal)",
"prop_uniquename":"offset_y_valueLabel",
"explanation":"Wertelabel wird vertikal leicht verschoben, z.B. 40 bedeutet 40 Pixel nach unten",
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"",
"sortnr":"450",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"valueLabelNode",
"variableName":"offset_y_valueLabel"
},
{ "caption":"Diagrammelement", { "caption":"Diagrammelement",
"prop_uniquename":"seriesNode", "prop_uniquename":"seriesNode",
"explanation":"Layout der Diagrammelemente", "explanation":"Layout der Diagrammelemente",
@ -581,7 +699,7 @@
"explanation":"Linien- oder Balkenfarbe (einfach). Wird mit höherer Priorität ausgewertet als die Palette", "explanation":"Linien- oder Balkenfarbe (einfach). Wird mit höherer Priorität ausgewertet als die Palette",
"prop_default":"", "prop_default":"",
"prop_unit":"", "prop_unit":"",
"is_generic":"1", "is_generic":"0",
"static_values":"", "static_values":"",
"is_mandatory":"0", "is_mandatory":"0",
"input_type_uniquename":"COLOR", "input_type_uniquename":"COLOR",
@ -599,7 +717,7 @@
"prop_default":"", "prop_default":"",
"prop_unit":"", "prop_unit":"",
"is_generic":"1", "is_generic":"1",
"static_values":"abgrp|fak|unique|dichotom|quadroColor|blandLocalized|colorGrades", "static_values":"D3_Tableau10|D3_category10|D3_Accent|D3_Dark2|D3_observable10|D3_Paired|D3_Pastel1|D3_Pastel2|D3_Set1|D3_Set2|D3_Set3|unique|dichotom|abgrp|fak|quadroColor|blandLocalized|colorGrades",
"is_mandatory":"0", "is_mandatory":"0",
"input_type_uniquename":"SELECT", "input_type_uniquename":"SELECT",
"property_group_uniquename":"", "property_group_uniquename":"",
@ -610,6 +728,23 @@
"parent_property_uniquename":"seriesNode", "parent_property_uniquename":"seriesNode",
"variableName":"schemeArray" "variableName":"schemeArray"
}, },
{ "caption":"Farbpalette Ziel",
"prop_uniquename":"seriesColorBy",
"explanation":"Farbpalette gilt für die Serie oder zur Untrscheidung der Daten",
"prop_default":"series",
"prop_unit":"",
"is_generic":"0",
"static_values":"series|data",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"",
"sortnr":"415",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"seriesNode",
"variableName":"seriesColorBy"
},
{ "caption":"Innerer Radius in %", { "caption":"Innerer Radius in %",
"prop_uniquename":"innerRadius", "prop_uniquename":"innerRadius",
"explanation":"Innerer Radius bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.", "explanation":"Innerer Radius bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.",
@ -694,6 +829,23 @@
"prop_value_type":"STRING", "prop_value_type":"STRING",
"parent_property_uniquename":"seriesNode", "parent_property_uniquename":"seriesNode",
"variableName":"series_selection_column" "variableName":"series_selection_column"
},
{ "caption":"Gestapelte Balken",
"prop_uniquename":"barStacked",
"explanation":"",
"prop_default":"false",
"prop_unit":"",
"is_generic":"0",
"static_values":"true|false",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"",
"sortnr":"100",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"seriesNode",
"variableName":"barStacked"
} }
] ]
/> />

7
src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_fuellen.sql

@ -49,7 +49,12 @@
{"viz_property_uniquename":"yAxisLabelNode"}, {"viz_property_uniquename":"yAxisLabelNode"},
{"viz_property_uniquename":"tickRotate_y"}, {"viz_property_uniquename":"tickRotate_y"},
{"viz_property_uniquename":"width_y"}, {"viz_property_uniquename":"width_y"},
{"viz_property_uniquename":"padding_y"} {"viz_property_uniquename":"padding_y"},
{"viz_property_uniquename":"singleColor"},
{"viz_property_uniquename":"barStacked"},
{"viz_property_uniquename":"seriesColorBy"}
] ]
/> />

407
superx/WEB-INF/reports/44690_sub_0.jrxml

@ -0,0 +1,407 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="Campus-Dashboard Kopfzeile"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="0"
isIgnorePagination="false">
<!--Import von jr_properties-->
<property name="net.sf.jasperreports.export.xls.create.custom.palette"
value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows"
value="true"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.rows"
value="true"/>
<template>"simple_table.jrtx"</template>
<style name="TableRowDetail"
mode="Opaque"
forecolor="#000000"
backcolor="#FFFFFF"
hTextAlign="Right"
vTextAlign="Middle"
isBlankWhenNull="true"
fontName="Liberation Sans"
fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2"
rightIndent="1"
spacingBefore="0"
spacingAfter="0"/>
<conditionalStyle>
<conditionExpression>Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )</conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement[@ordnr='0']/sqlerg/row</queryString>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/maskenname</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/explanation</fieldDescription>
</field>
<field name="Hinweis" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/hinweis</fieldDescription>
</field>
<!-- dann die Tabellenspalten -->
<field name="tab_0Kennzahl Nr." class="java.lang.Integer">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Kennzahl" class="java.lang.String">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Wert" class="java.lang.Integer">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Maske" class="java.lang.Integer">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Zusatzfilter Name" class="java.lang.String">
<fieldDescription>col[@id="4" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Zusatzfilter Wert" class="java.lang.String">
<fieldDescription>col[@id="5" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="tab_0Booklet-Stylesheet" class="java.lang.String">
<fieldDescription>col[@id="6" and wert!="" and ../../../@ordnr='0']/wert</fieldDescription>
</field>
<field name="legende_Seit Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="Seit Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Seit Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="Seit Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Bis Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="Bis Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Bis Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="Bis Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Spaltenanzahl_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="Spaltenanzahl"]/@varname</fieldDescription>
</field>
<field name="legende_Spaltenanzahl_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="Spaltenanzahl"]/value_caption</fieldDescription>
</field>
<field name="legende_Studiengang_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="Studiengang"]/@varname</fieldDescription>
</field>
<field name="legende_Studiengang_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="Studiengang"]/value_caption</fieldDescription>
</field>
<field name="legende_Kachelbreite_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="Kachelbreite"]/@varname</fieldDescription>
</field>
<field name="legende_Kachelbreite_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="Kachelbreite"]/value_caption</fieldDescription>
</field>
<field name="legende_Kachelhöhe_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="Kachelhöhe"]/@varname</fieldDescription>
</field>
<field name="legende_Kachelhöhe_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="Kachelhöhe"]/value_caption</fieldDescription>
</field>
<field name="legende_Filter Studierende_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="Filter Studierende"]/@varname</fieldDescription>
</field>
<field name="legende_Filter Studierende_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="Filter Studierende"]/value_caption</fieldDescription>
</field>
<field name="legende_Jahr_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="Jahr"]/@varname</fieldDescription>
</field>
<field name="legende_Jahr_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="Jahr"]/value_caption</fieldDescription>
</field>
<field name="legende_tablestylesheet_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="tablestylesheet"]/@varname</fieldDescription>
</field>
<field name="legende_tablestylesheet_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="tablestylesheet"]/value_caption</fieldDescription>
</field>
<field name="legende_Dashboard_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="Dashboard"]/@varname</fieldDescription>
</field>
<field name="legende_Dashboard_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="Dashboard"]/value_caption</fieldDescription>
</field>
<field name="legende_Tabnr._label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="Tabnr."]/@varname</fieldDescription>
</field>
<field name="legende_Tabnr._value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="Tabnr."]/value_caption</fieldDescription>
</field>
<field name="legende_bis Fachsemester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="bis Fachsemester"]/@varname</fieldDescription>
</field>
<field name="legende_bis Fachsemester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="bis Fachsemester"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafik_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/completefields/feld [@varname="Grafik"]/@varname</fieldDescription>
</field>
<field name="legende_Grafik_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=0]/felder/feld [@varname="Grafik"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression>0</variableExpression>
</variable>
<!--Fülle tabellennr für 00-->
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="50">
<property name="com.jaspersoft.studio.layout"
value="com.jaspersoft.studio.editor.layout.spreadsheet.SpreadsheetLayout"/>
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="818" height="20"/>
<textFieldExpression>"Campus-Dashboard Kopfzeile"</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendLabel" x="0" y="20" width="818" height="20"/>
<textElement verticalAlignment="Bottom">
<font isBold="true"/>
</textElement>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement style="LegendContent"
isPrintWhenDetailOverflows="true"
x="0"
y="40"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textFieldExpression>""+(($F{legende_Seit Semester_value}==null || $F{legende_Seit Semester_value}=="")?"":($F{legende_Seit Semester_label}+": "+$F{legende_Seit Semester_value}+"; "))
+(($F{legende_Bis Semester_value}==null || $F{legende_Bis Semester_value}=="")?"":($F{legende_Bis Semester_label}+": "+$F{legende_Bis Semester_value}+"; "))
+(($F{legende_Spaltenanzahl_value}==null || $F{legende_Spaltenanzahl_value}=="")?"":($F{legende_Spaltenanzahl_label}+": "+$F{legende_Spaltenanzahl_value}+"; "))
+(($F{legende_Studiengang_value}==null || $F{legende_Studiengang_value}=="")?"":($F{legende_Studiengang_label}+": "+$F{legende_Studiengang_value}+"; "))
+(($F{legende_Kachelbreite_value}==null || $F{legende_Kachelbreite_value}=="")?"":($F{legende_Kachelbreite_label}+": "+$F{legende_Kachelbreite_value}+"; "))
+(($F{legende_Kachelhöhe_value}==null || $F{legende_Kachelhöhe_value}=="")?"":($F{legende_Kachelhöhe_label}+": "+$F{legende_Kachelhöhe_value}+"; "))
+(($F{legende_Dashboard_value}==null || $F{legende_Dashboard_value}=="")?"":($F{legende_Dashboard_label}+": "+$F{legende_Dashboard_value}+"; "))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
</band>
<band height="10">
<printWhenExpression>$F{Hinweis}.length() &gt;0</printWhenExpression>
<textField isStretchWithOverflow="true">
<reportElement style="HinweisContent"
positionType="Float"
isPrintWhenDetailOverflows="true"
x="0"
y="0"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression>$F{Hinweis}</textFieldExpression>
</textField>
</band>
<band splitType="Stretch" height="30">
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="0"
y="0"
width="136"
height="30"/>
<textFieldExpression>"Kennzahl Nr."</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="136"
y="0"
width="545"
height="30"/>
<textFieldExpression>"Kennzahl"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="681"
y="0"
width="137"
height="30"/>
<textFieldExpression>"Wert"</textFieldExpression>
</textField>
</band>
</groupHeader>
</group>
<detail>
<band height="20" splitType="Stretch">
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="136"
height="20"
style="TableRowStandard"/>
<!--4-->
<textElement textAlignment="Right"/>
<!--4-F-->
<textFieldExpression>$F{tab_0Kennzahl Nr.}</textFieldExpression>
<patternExpression>"#,##0"</patternExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="136"
y="0"
width="545"
height="20"
style="TableRowStandard"/>
<!--1-->
<textElement textAlignment="Left"/>
<!--1-F-->
<textFieldExpression>$F{tab_0Kennzahl}==null?null:""+$F{tab_0Kennzahl}</textFieldExpression>
<patternExpression/>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="681"
y="0"
width="137"
height="20"
style="TableRowStandard"/>
<!--4-->
<textElement textAlignment="Right"/>
<!--4-F-->
<textFieldExpression>$F{tab_0Wert}</textFieldExpression>
<patternExpression>"#,##0"</patternExpression>
</textField>
</band>
</detail>
<pageFooter>
<band height="15">
<staticText>
<reportElement mode="Transparent"
x="0"
y="3"
width="89"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<text>Erzeugungsdatum:</text>
</staticText>
<textField pattern="dd.MM.yyyy">
<reportElement mode="Transparent"
x="89"
y="3"
width="96"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<textFieldExpression class="java.util.Date">new java.util.Date()</textFieldExpression>
</textField>
<textField evaluationTime="Report" isBlankWhenNull="false">
<reportElement key="textField" x="773" y="3" width="39" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement>
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"" + $V{PAGE_NUMBER} + ""</textFieldExpression>
</textField>
<textField isBlankWhenNull="false">
<reportElement key="textField" x="676" y="3" width="94" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Right">
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"Seite " + $V{PAGE_NUMBER} + " von "</textFieldExpression>
</textField>
</band>
</pageFooter>
</jasperReport>

408
superx/WEB-INF/reports/44690_sub_1.jrxml

@ -0,0 +1,408 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="Studierende nach Semester"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="0"
isIgnorePagination="false">
<!--Import von jr_properties-->
<property name="net.sf.jasperreports.export.xls.create.custom.palette"
value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows"
value="true"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.rows"
value="true"/>
<template>"simple_table.jrtx"</template>
<style name="TableRowDetail"
mode="Opaque"
forecolor="#000000"
backcolor="#FFFFFF"
hTextAlign="Right"
vTextAlign="Middle"
isBlankWhenNull="true"
fontName="Liberation Sans"
fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2"
rightIndent="1"
spacingBefore="0"
spacingAfter="0"/>
<conditionalStyle>
<conditionExpression>Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )</conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement[@ordnr='1']/sqlerg/row</queryString>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='1']/maskenname</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='1']/explanation</fieldDescription>
</field>
<field name="Hinweis" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='1']/hinweis</fieldDescription>
</field>
<!-- dann die Tabellenspalten -->
<field name="tab_1Semester" class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="tab_1Anzahl der Studierenden" class="java.lang.Double">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='1']/wert</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Köpfe oder Fälle ?"]/@varname</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Köpfe oder Fälle ?"]/value_caption</fieldDescription>
</field>
<field name="legende_Stichtag_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Stichtag"]/@varname</fieldDescription>
</field>
<field name="legende_Stichtag_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Stichtag"]/value_caption</fieldDescription>
</field>
<field name="legende_Seit Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Seit Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Seit Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Seit Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Bis Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Bis Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Bis Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Bis Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Semestertyp_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Semestertyp"]/@varname</fieldDescription>
</field>
<field name="legende_Semestertyp_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Semestertyp"]/value_caption</fieldDescription>
</field>
<field name="legende_Studiengang_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Studiengang"]/@varname</fieldDescription>
</field>
<field name="legende_Studiengang_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Studiengang"]/value_caption</fieldDescription>
</field>
<field name="legende_Abschluss_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Abschluss"]/@varname</fieldDescription>
</field>
<field name="legende_Abschluss_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Abschluss"]/value_caption</fieldDescription>
</field>
<field name="legende_Status_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Status"]/@varname</fieldDescription>
</field>
<field name="legende_Status_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Status"]/value_caption</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Matrikel-Nr."]/@varname</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Matrikel-Nr."]/value_caption</fieldDescription>
</field>
<field name="legende_##line##_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="##line##"]/@varname</fieldDescription>
</field>
<field name="legende_##line##_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="##line##"]/value_caption</fieldDescription>
</field>
<field name="legende_Hörerstatus_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Hörerstatus"]/@varname</fieldDescription>
</field>
<field name="legende_Hörerstatus_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Hörerstatus"]/value_caption</fieldDescription>
</field>
<field name="legende_bis Fachsemester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="bis Fachsemester"]/@varname</fieldDescription>
</field>
<field name="legende_bis Fachsemester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="bis Fachsemester"]/value_caption</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Staatsangehörigkeit"]/@varname</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Staatsangehörigkeit"]/value_caption</fieldDescription>
</field>
<field name="legende_Jahr_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Jahr"]/@varname</fieldDescription>
</field>
<field name="legende_Jahr_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Jahr"]/value_caption</fieldDescription>
</field>
<field name="legende_Filter Studierende_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Filter Studierende"]/@varname</fieldDescription>
</field>
<field name="legende_Filter Studierende_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Filter Studierende"]/value_caption</fieldDescription>
</field>
<field name="legende_tablestylesheet_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="tablestylesheet"]/@varname</fieldDescription>
</field>
<field name="legende_tablestylesheet_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="tablestylesheet"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafik_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Grafik"]/@varname</fieldDescription>
</field>
<field name="legende_Grafik_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Grafik"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafiktitel_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Grafiktitel"]/@varname</fieldDescription>
</field>
<field name="legende_Grafiktitel_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Grafiktitel"]/value_caption</fieldDescription>
</field>
<field name="legende_Spaltenlayout_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/completefields/feld [@varname="Spaltenlayout"]/@varname</fieldDescription>
</field>
<field name="legende_Spaltenlayout_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=1]/felder/feld [@varname="Spaltenlayout"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression>1</variableExpression>
</variable>
<!--Fülle tabellennr für 10-->
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="50">
<property name="com.jaspersoft.studio.layout"
value="com.jaspersoft.studio.editor.layout.spreadsheet.SpreadsheetLayout"/>
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="818" height="20"/>
<textFieldExpression>"Studierende nach Semester"</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendLabel" x="0" y="20" width="818" height="20"/>
<textElement verticalAlignment="Bottom">
<font isBold="true"/>
</textElement>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement style="LegendContent"
isPrintWhenDetailOverflows="true"
x="0"
y="40"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textFieldExpression>""+(($F{legende_Köpfe oder Fälle ?_value}==null || $F{legende_Köpfe oder Fälle ?_value}=="")?"":($F{legende_Köpfe oder Fälle ?_label}+": "+$F{legende_Köpfe oder Fälle ?_value}+"; "))
+(($F{legende_Seit Semester_value}==null || $F{legende_Seit Semester_value}=="")?"":($F{legende_Seit Semester_label}+": "+$F{legende_Seit Semester_value}+"; "))
+(($F{legende_Bis Semester_value}==null || $F{legende_Bis Semester_value}=="")?"":($F{legende_Bis Semester_label}+": "+$F{legende_Bis Semester_value}+"; "))
+(($F{legende_Semestertyp_value}==null || $F{legende_Semestertyp_value}=="")?"":($F{legende_Semestertyp_label}+": "+$F{legende_Semestertyp_value}+"; "))
+(($F{legende_Studiengang_value}==null || $F{legende_Studiengang_value}=="")?"":($F{legende_Studiengang_label}+": "+$F{legende_Studiengang_value}+"; "))
+(($F{legende_Abschluss_value}==null || $F{legende_Abschluss_value}=="")?"":($F{legende_Abschluss_label}+": "+$F{legende_Abschluss_value}+"; "))
+(($F{legende_Status_value}==null || $F{legende_Status_value}=="")?"":($F{legende_Status_label}+": "+$F{legende_Status_value}+"; "))
+(($F{legende_##line##_value}==null || $F{legende_##line##_value}=="")?"":($F{legende_##line##_label}+": "+$F{legende_##line##_value}+"; "))
+(($F{legende_Hörerstatus_value}==null || $F{legende_Hörerstatus_value}=="")?"":($F{legende_Hörerstatus_label}+": "+$F{legende_Hörerstatus_value}+"; "))
+(($F{legende_Staatsangehörigkeit_value}==null || $F{legende_Staatsangehörigkeit_value}=="")?"":($F{legende_Staatsangehörigkeit_label}+": "+$F{legende_Staatsangehörigkeit_value}+"; "))
+(($F{legende_Grafik_value}==null || $F{legende_Grafik_value}=="")?"":($F{legende_Grafik_label}+": "+$F{legende_Grafik_value}+"; "))
+(($F{legende_Spaltenlayout_value}==null || $F{legende_Spaltenlayout_value}=="")?"":($F{legende_Spaltenlayout_label}+": "+$F{legende_Spaltenlayout_value}+"; "))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
</band>
<band height="10">
<printWhenExpression>$F{Hinweis}.length() &gt;0</printWhenExpression>
<textField isStretchWithOverflow="true">
<reportElement style="HinweisContent"
positionType="Float"
isPrintWhenDetailOverflows="true"
x="0"
y="0"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression>$F{Hinweis}</textFieldExpression>
</textField>
</band>
<band splitType="Stretch" height="30">
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="0"
y="0"
width="409"
height="30"/>
<textFieldExpression>"Semester"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="409"
y="0"
width="409"
height="30"/>
<textFieldExpression>"Anzahl der Studierenden"</textFieldExpression>
</textField>
</band>
</groupHeader>
</group>
<detail>
<band height="20" splitType="Stretch">
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="409"
height="20"
style="TableRowStandard"/>
<!--1-->
<textElement textAlignment="Left"/>
<!--1-F-->
<textFieldExpression>$F{tab_1Semester}==null?null:""+$F{tab_1Semester}</textFieldExpression>
<patternExpression/>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="409"
y="0"
width="409"
height="20"
style="TableRowStandard"/>
<!--3-->
<textElement textAlignment="Right"/>
<!--3-F-->
<textFieldExpression>$F{tab_1Anzahl der Studierenden}</textFieldExpression>
<patternExpression>"#,##0.00;-#,##0.00"</patternExpression>
</textField>
</band>
</detail>
<pageFooter>
<band height="15">
<staticText>
<reportElement mode="Transparent"
x="0"
y="3"
width="89"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<text>Erzeugungsdatum:</text>
</staticText>
<textField pattern="dd.MM.yyyy">
<reportElement mode="Transparent"
x="89"
y="3"
width="96"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<textFieldExpression class="java.util.Date">new java.util.Date()</textFieldExpression>
</textField>
<textField evaluationTime="Report" isBlankWhenNull="false">
<reportElement key="textField" x="773" y="3" width="39" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement>
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"" + $V{PAGE_NUMBER} + ""</textFieldExpression>
</textField>
<textField isBlankWhenNull="false">
<reportElement key="textField" x="676" y="3" width="94" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Right">
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"Seite " + $V{PAGE_NUMBER} + " von "</textFieldExpression>
</textField>
</band>
</pageFooter>
</jasperReport>

410
superx/WEB-INF/reports/44690_sub_2.jrxml

@ -0,0 +1,410 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="Studierende nach Semester"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="0"
isIgnorePagination="false">
<!--Import von jr_properties-->
<property name="net.sf.jasperreports.export.xls.create.custom.palette"
value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows"
value="true"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.rows"
value="true"/>
<template>"simple_table.jrtx"</template>
<style name="TableRowDetail"
mode="Opaque"
forecolor="#000000"
backcolor="#FFFFFF"
hTextAlign="Right"
vTextAlign="Middle"
isBlankWhenNull="true"
fontName="Liberation Sans"
fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2"
rightIndent="1"
spacingBefore="0"
spacingAfter="0"/>
<conditionalStyle>
<conditionExpression>Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )</conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement[@ordnr='2']/sqlerg/row</queryString>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='2']/maskenname</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='2']/explanation</fieldDescription>
</field>
<field name="Hinweis" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='2']/hinweis</fieldDescription>
</field>
<!-- dann die Tabellenspalten -->
<field name="tab_2Semester" class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="tab_2Anzahl der Studierenden" class="java.lang.Double">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='2']/wert</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Köpfe oder Fälle ?"]/@varname</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Köpfe oder Fälle ?"]/value_caption</fieldDescription>
</field>
<field name="legende_Stichtag_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Stichtag"]/@varname</fieldDescription>
</field>
<field name="legende_Stichtag_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Stichtag"]/value_caption</fieldDescription>
</field>
<field name="legende_Seit Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Seit Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Seit Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Seit Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Bis Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Bis Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Bis Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Bis Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Semestertyp_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Semestertyp"]/@varname</fieldDescription>
</field>
<field name="legende_Semestertyp_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Semestertyp"]/value_caption</fieldDescription>
</field>
<field name="legende_Studiengang_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Studiengang"]/@varname</fieldDescription>
</field>
<field name="legende_Studiengang_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Studiengang"]/value_caption</fieldDescription>
</field>
<field name="legende_Abschluss_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Abschluss"]/@varname</fieldDescription>
</field>
<field name="legende_Abschluss_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Abschluss"]/value_caption</fieldDescription>
</field>
<field name="legende_Status_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Status"]/@varname</fieldDescription>
</field>
<field name="legende_Status_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Status"]/value_caption</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Matrikel-Nr."]/@varname</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Matrikel-Nr."]/value_caption</fieldDescription>
</field>
<field name="legende_##line##_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="##line##"]/@varname</fieldDescription>
</field>
<field name="legende_##line##_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="##line##"]/value_caption</fieldDescription>
</field>
<field name="legende_Hörerstatus_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Hörerstatus"]/@varname</fieldDescription>
</field>
<field name="legende_Hörerstatus_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Hörerstatus"]/value_caption</fieldDescription>
</field>
<field name="legende_bis Fachsemester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="bis Fachsemester"]/@varname</fieldDescription>
</field>
<field name="legende_bis Fachsemester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="bis Fachsemester"]/value_caption</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Staatsangehörigkeit"]/@varname</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Staatsangehörigkeit"]/value_caption</fieldDescription>
</field>
<field name="legende_Jahr_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Jahr"]/@varname</fieldDescription>
</field>
<field name="legende_Jahr_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Jahr"]/value_caption</fieldDescription>
</field>
<field name="legende_Filter Studierende_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Filter Studierende"]/@varname</fieldDescription>
</field>
<field name="legende_Filter Studierende_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Filter Studierende"]/value_caption</fieldDescription>
</field>
<field name="legende_tablestylesheet_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="tablestylesheet"]/@varname</fieldDescription>
</field>
<field name="legende_tablestylesheet_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="tablestylesheet"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafik_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Grafik"]/@varname</fieldDescription>
</field>
<field name="legende_Grafik_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Grafik"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafiktitel_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Grafiktitel"]/@varname</fieldDescription>
</field>
<field name="legende_Grafiktitel_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Grafiktitel"]/value_caption</fieldDescription>
</field>
<field name="legende_Spaltenlayout_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/completefields/feld [@varname="Spaltenlayout"]/@varname</fieldDescription>
</field>
<field name="legende_Spaltenlayout_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=2]/felder/feld [@varname="Spaltenlayout"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression>2</variableExpression>
</variable>
<!--Fülle tabellennr für 20-->
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="50">
<property name="com.jaspersoft.studio.layout"
value="com.jaspersoft.studio.editor.layout.spreadsheet.SpreadsheetLayout"/>
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="818" height="20"/>
<textFieldExpression>"Studierende nach Semester"</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendLabel" x="0" y="20" width="818" height="20"/>
<textElement verticalAlignment="Bottom">
<font isBold="true"/>
</textElement>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement style="LegendContent"
isPrintWhenDetailOverflows="true"
x="0"
y="40"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textFieldExpression>""+(($F{legende_Köpfe oder Fälle ?_value}==null || $F{legende_Köpfe oder Fälle ?_value}=="")?"":($F{legende_Köpfe oder Fälle ?_label}+": "+$F{legende_Köpfe oder Fälle ?_value}+"; "))
+(($F{legende_Seit Semester_value}==null || $F{legende_Seit Semester_value}=="")?"":($F{legende_Seit Semester_label}+": "+$F{legende_Seit Semester_value}+"; "))
+(($F{legende_Bis Semester_value}==null || $F{legende_Bis Semester_value}=="")?"":($F{legende_Bis Semester_label}+": "+$F{legende_Bis Semester_value}+"; "))
+(($F{legende_Semestertyp_value}==null || $F{legende_Semestertyp_value}=="")?"":($F{legende_Semestertyp_label}+": "+$F{legende_Semestertyp_value}+"; "))
+(($F{legende_Studiengang_value}==null || $F{legende_Studiengang_value}=="")?"":($F{legende_Studiengang_label}+": "+$F{legende_Studiengang_value}+"; "))
+(($F{legende_Abschluss_value}==null || $F{legende_Abschluss_value}=="")?"":($F{legende_Abschluss_label}+": "+$F{legende_Abschluss_value}+"; "))
+(($F{legende_Status_value}==null || $F{legende_Status_value}=="")?"":($F{legende_Status_label}+": "+$F{legende_Status_value}+"; "))
+(($F{legende_##line##_value}==null || $F{legende_##line##_value}=="")?"":($F{legende_##line##_label}+": "+$F{legende_##line##_value}+"; "))
+(($F{legende_Hörerstatus_value}==null || $F{legende_Hörerstatus_value}=="")?"":($F{legende_Hörerstatus_label}+": "+$F{legende_Hörerstatus_value}+"; "))
+(($F{legende_Staatsangehörigkeit_value}==null || $F{legende_Staatsangehörigkeit_value}=="")?"":($F{legende_Staatsangehörigkeit_label}+": "+$F{legende_Staatsangehörigkeit_value}+"; "))
+(($F{legende_Filter Studierende_value}==null || $F{legende_Filter Studierende_value}=="")?"":($F{legende_Filter Studierende_label}+": "+$F{legende_Filter Studierende_value}+"; "))
+(($F{legende_Grafik_value}==null || $F{legende_Grafik_value}=="")?"":($F{legende_Grafik_label}+": "+$F{legende_Grafik_value}+"; "))
+(($F{legende_Grafiktitel_value}==null || $F{legende_Grafiktitel_value}=="")?"":($F{legende_Grafiktitel_label}+": "+$F{legende_Grafiktitel_value}+"; "))
+(($F{legende_Spaltenlayout_value}==null || $F{legende_Spaltenlayout_value}=="")?"":($F{legende_Spaltenlayout_label}+": "+$F{legende_Spaltenlayout_value}+"; "))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
</band>
<band height="10">
<printWhenExpression>$F{Hinweis}.length() &gt;0</printWhenExpression>
<textField isStretchWithOverflow="true">
<reportElement style="HinweisContent"
positionType="Float"
isPrintWhenDetailOverflows="true"
x="0"
y="0"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression>$F{Hinweis}</textFieldExpression>
</textField>
</band>
<band splitType="Stretch" height="30">
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="0"
y="0"
width="409"
height="30"/>
<textFieldExpression>"Semester"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="409"
y="0"
width="409"
height="30"/>
<textFieldExpression>"Anzahl der Studierenden"</textFieldExpression>
</textField>
</band>
</groupHeader>
</group>
<detail>
<band height="20" splitType="Stretch">
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="409"
height="20"
style="TableRowStandard"/>
<!--1-->
<textElement textAlignment="Left"/>
<!--1-F-->
<textFieldExpression>$F{tab_2Semester}==null?null:""+$F{tab_2Semester}</textFieldExpression>
<patternExpression/>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="409"
y="0"
width="409"
height="20"
style="TableRowStandard"/>
<!--3-->
<textElement textAlignment="Right"/>
<!--3-F-->
<textFieldExpression>$F{tab_2Anzahl der Studierenden}</textFieldExpression>
<patternExpression>"#,##0.00;-#,##0.00"</patternExpression>
</textField>
</band>
</detail>
<pageFooter>
<band height="15">
<staticText>
<reportElement mode="Transparent"
x="0"
y="3"
width="89"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<text>Erzeugungsdatum:</text>
</staticText>
<textField pattern="dd.MM.yyyy">
<reportElement mode="Transparent"
x="89"
y="3"
width="96"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<textFieldExpression class="java.util.Date">new java.util.Date()</textFieldExpression>
</textField>
<textField evaluationTime="Report" isBlankWhenNull="false">
<reportElement key="textField" x="773" y="3" width="39" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement>
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"" + $V{PAGE_NUMBER} + ""</textFieldExpression>
</textField>
<textField isBlankWhenNull="false">
<reportElement key="textField" x="676" y="3" width="94" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Right">
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"Seite " + $V{PAGE_NUMBER} + " von "</textFieldExpression>
</textField>
</band>
</pageFooter>
</jasperReport>

409
superx/WEB-INF/reports/44690_sub_3.jrxml

@ -0,0 +1,409 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="Studierende nach Semester"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="0"
isIgnorePagination="false">
<!--Import von jr_properties-->
<property name="net.sf.jasperreports.export.xls.create.custom.palette"
value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows"
value="true"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.rows"
value="true"/>
<template>"simple_table.jrtx"</template>
<style name="TableRowDetail"
mode="Opaque"
forecolor="#000000"
backcolor="#FFFFFF"
hTextAlign="Right"
vTextAlign="Middle"
isBlankWhenNull="true"
fontName="Liberation Sans"
fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2"
rightIndent="1"
spacingBefore="0"
spacingAfter="0"/>
<conditionalStyle>
<conditionExpression>Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )</conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement[@ordnr='3']/sqlerg/row</queryString>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='3']/maskenname</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='3']/explanation</fieldDescription>
</field>
<field name="Hinweis" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='3']/hinweis</fieldDescription>
</field>
<!-- dann die Tabellenspalten -->
<field name="tab_3Semester" class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='3']/wert</fieldDescription>
</field>
<field name="tab_3Anzahl der Studierenden" class="java.lang.Double">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='3']/wert</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Köpfe oder Fälle ?"]/@varname</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Köpfe oder Fälle ?"]/value_caption</fieldDescription>
</field>
<field name="legende_Stichtag_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Stichtag"]/@varname</fieldDescription>
</field>
<field name="legende_Stichtag_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Stichtag"]/value_caption</fieldDescription>
</field>
<field name="legende_Seit Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Seit Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Seit Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Seit Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Bis Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Bis Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Bis Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Bis Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Semestertyp_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Semestertyp"]/@varname</fieldDescription>
</field>
<field name="legende_Semestertyp_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Semestertyp"]/value_caption</fieldDescription>
</field>
<field name="legende_Studiengang_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Studiengang"]/@varname</fieldDescription>
</field>
<field name="legende_Studiengang_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Studiengang"]/value_caption</fieldDescription>
</field>
<field name="legende_Abschluss_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Abschluss"]/@varname</fieldDescription>
</field>
<field name="legende_Abschluss_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Abschluss"]/value_caption</fieldDescription>
</field>
<field name="legende_Status_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Status"]/@varname</fieldDescription>
</field>
<field name="legende_Status_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Status"]/value_caption</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Matrikel-Nr."]/@varname</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Matrikel-Nr."]/value_caption</fieldDescription>
</field>
<field name="legende_##line##_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="##line##"]/@varname</fieldDescription>
</field>
<field name="legende_##line##_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="##line##"]/value_caption</fieldDescription>
</field>
<field name="legende_Hörerstatus_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Hörerstatus"]/@varname</fieldDescription>
</field>
<field name="legende_Hörerstatus_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Hörerstatus"]/value_caption</fieldDescription>
</field>
<field name="legende_bis Fachsemester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="bis Fachsemester"]/@varname</fieldDescription>
</field>
<field name="legende_bis Fachsemester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="bis Fachsemester"]/value_caption</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Staatsangehörigkeit"]/@varname</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Staatsangehörigkeit"]/value_caption</fieldDescription>
</field>
<field name="legende_Jahr_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Jahr"]/@varname</fieldDescription>
</field>
<field name="legende_Jahr_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Jahr"]/value_caption</fieldDescription>
</field>
<field name="legende_Filter Studierende_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Filter Studierende"]/@varname</fieldDescription>
</field>
<field name="legende_Filter Studierende_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Filter Studierende"]/value_caption</fieldDescription>
</field>
<field name="legende_tablestylesheet_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="tablestylesheet"]/@varname</fieldDescription>
</field>
<field name="legende_tablestylesheet_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="tablestylesheet"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafik_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Grafik"]/@varname</fieldDescription>
</field>
<field name="legende_Grafik_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Grafik"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafiktitel_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Grafiktitel"]/@varname</fieldDescription>
</field>
<field name="legende_Grafiktitel_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Grafiktitel"]/value_caption</fieldDescription>
</field>
<field name="legende_Spaltenlayout_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/completefields/feld [@varname="Spaltenlayout"]/@varname</fieldDescription>
</field>
<field name="legende_Spaltenlayout_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=3]/felder/feld [@varname="Spaltenlayout"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression>3</variableExpression>
</variable>
<!--Fülle tabellennr für 30-->
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="50">
<property name="com.jaspersoft.studio.layout"
value="com.jaspersoft.studio.editor.layout.spreadsheet.SpreadsheetLayout"/>
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="818" height="20"/>
<textFieldExpression>"Studierende nach Semester"</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendLabel" x="0" y="20" width="818" height="20"/>
<textElement verticalAlignment="Bottom">
<font isBold="true"/>
</textElement>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement style="LegendContent"
isPrintWhenDetailOverflows="true"
x="0"
y="40"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textFieldExpression>""+(($F{legende_Köpfe oder Fälle ?_value}==null || $F{legende_Köpfe oder Fälle ?_value}=="")?"":($F{legende_Köpfe oder Fälle ?_label}+": "+$F{legende_Köpfe oder Fälle ?_value}+"; "))
+(($F{legende_Seit Semester_value}==null || $F{legende_Seit Semester_value}=="")?"":($F{legende_Seit Semester_label}+": "+$F{legende_Seit Semester_value}+"; "))
+(($F{legende_Bis Semester_value}==null || $F{legende_Bis Semester_value}=="")?"":($F{legende_Bis Semester_label}+": "+$F{legende_Bis Semester_value}+"; "))
+(($F{legende_Semestertyp_value}==null || $F{legende_Semestertyp_value}=="")?"":($F{legende_Semestertyp_label}+": "+$F{legende_Semestertyp_value}+"; "))
+(($F{legende_Studiengang_value}==null || $F{legende_Studiengang_value}=="")?"":($F{legende_Studiengang_label}+": "+$F{legende_Studiengang_value}+"; "))
+(($F{legende_Abschluss_value}==null || $F{legende_Abschluss_value}=="")?"":($F{legende_Abschluss_label}+": "+$F{legende_Abschluss_value}+"; "))
+(($F{legende_Status_value}==null || $F{legende_Status_value}=="")?"":($F{legende_Status_label}+": "+$F{legende_Status_value}+"; "))
+(($F{legende_##line##_value}==null || $F{legende_##line##_value}=="")?"":($F{legende_##line##_label}+": "+$F{legende_##line##_value}+"; "))
+(($F{legende_Hörerstatus_value}==null || $F{legende_Hörerstatus_value}=="")?"":($F{legende_Hörerstatus_label}+": "+$F{legende_Hörerstatus_value}+"; "))
+(($F{legende_Staatsangehörigkeit_value}==null || $F{legende_Staatsangehörigkeit_value}=="")?"":($F{legende_Staatsangehörigkeit_label}+": "+$F{legende_Staatsangehörigkeit_value}+"; "))
+(($F{legende_Grafik_value}==null || $F{legende_Grafik_value}=="")?"":($F{legende_Grafik_label}+": "+$F{legende_Grafik_value}+"; "))
+(($F{legende_Grafiktitel_value}==null || $F{legende_Grafiktitel_value}=="")?"":($F{legende_Grafiktitel_label}+": "+$F{legende_Grafiktitel_value}+"; "))
+(($F{legende_Spaltenlayout_value}==null || $F{legende_Spaltenlayout_value}=="")?"":($F{legende_Spaltenlayout_label}+": "+$F{legende_Spaltenlayout_value}+"; "))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
</band>
<band height="10">
<printWhenExpression>$F{Hinweis}.length() &gt;0</printWhenExpression>
<textField isStretchWithOverflow="true">
<reportElement style="HinweisContent"
positionType="Float"
isPrintWhenDetailOverflows="true"
x="0"
y="0"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression>$F{Hinweis}</textFieldExpression>
</textField>
</band>
<band splitType="Stretch" height="30">
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="0"
y="0"
width="409"
height="30"/>
<textFieldExpression>"Semester"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="409"
y="0"
width="409"
height="30"/>
<textFieldExpression>"Anzahl der Studierenden"</textFieldExpression>
</textField>
</band>
</groupHeader>
</group>
<detail>
<band height="20" splitType="Stretch">
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="409"
height="20"
style="TableRowStandard"/>
<!--1-->
<textElement textAlignment="Left"/>
<!--1-F-->
<textFieldExpression>$F{tab_3Semester}==null?null:""+$F{tab_3Semester}</textFieldExpression>
<patternExpression/>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="409"
y="0"
width="409"
height="20"
style="TableRowStandard"/>
<!--3-->
<textElement textAlignment="Right"/>
<!--3-F-->
<textFieldExpression>$F{tab_3Anzahl der Studierenden}</textFieldExpression>
<patternExpression>"#,##0.00;-#,##0.00"</patternExpression>
</textField>
</band>
</detail>
<pageFooter>
<band height="15">
<staticText>
<reportElement mode="Transparent"
x="0"
y="3"
width="89"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<text>Erzeugungsdatum:</text>
</staticText>
<textField pattern="dd.MM.yyyy">
<reportElement mode="Transparent"
x="89"
y="3"
width="96"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<textFieldExpression class="java.util.Date">new java.util.Date()</textFieldExpression>
</textField>
<textField evaluationTime="Report" isBlankWhenNull="false">
<reportElement key="textField" x="773" y="3" width="39" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement>
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"" + $V{PAGE_NUMBER} + ""</textFieldExpression>
</textField>
<textField isBlankWhenNull="false">
<reportElement key="textField" x="676" y="3" width="94" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Right">
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"Seite " + $V{PAGE_NUMBER} + " von "</textFieldExpression>
</textField>
</band>
</pageFooter>
</jasperReport>

407
superx/WEB-INF/reports/44690_sub_4.jrxml

@ -0,0 +1,407 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="Absolvierende nach Semester"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="0"
isIgnorePagination="false">
<!--Import von jr_properties-->
<property name="net.sf.jasperreports.export.xls.create.custom.palette"
value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows"
value="true"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.rows"
value="true"/>
<template>"simple_table.jrtx"</template>
<style name="TableRowDetail"
mode="Opaque"
forecolor="#000000"
backcolor="#FFFFFF"
hTextAlign="Right"
vTextAlign="Middle"
isBlankWhenNull="true"
fontName="Liberation Sans"
fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2"
rightIndent="1"
spacingBefore="0"
spacingAfter="0"/>
<conditionalStyle>
<conditionExpression>Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )</conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement[@ordnr='4']/sqlerg/row</queryString>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='4']/maskenname</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='4']/explanation</fieldDescription>
</field>
<field name="Hinweis" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='4']/hinweis</fieldDescription>
</field>
<!-- dann die Tabellenspalten -->
<field name="tab_4Semester Name" class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='4']/wert</fieldDescription>
</field>
<field name="tab_4Anzahl der Absolvierenden" class="java.lang.Integer">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='4']/wert</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Köpfe oder Fälle ?"]/@varname</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Köpfe oder Fälle ?"]/value_caption</fieldDescription>
</field>
<field name="legende_Stichtag_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Stichtag"]/@varname</fieldDescription>
</field>
<field name="legende_Stichtag_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Stichtag"]/value_caption</fieldDescription>
</field>
<field name="legende_Seit Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Seit Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Seit Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Seit Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Bis Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Bis Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Bis Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Bis Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Semestertyp_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Semestertyp"]/@varname</fieldDescription>
</field>
<field name="legende_Semestertyp_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Semestertyp"]/value_caption</fieldDescription>
</field>
<field name="legende_Studiengang_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Studiengang"]/@varname</fieldDescription>
</field>
<field name="legende_Studiengang_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Studiengang"]/value_caption</fieldDescription>
</field>
<field name="legende_Abschluss_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Abschluss"]/@varname</fieldDescription>
</field>
<field name="legende_Abschluss_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Abschluss"]/value_caption</fieldDescription>
</field>
<field name="legende_Status_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Status"]/@varname</fieldDescription>
</field>
<field name="legende_Status_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Status"]/value_caption</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Matrikel-Nr."]/@varname</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Matrikel-Nr."]/value_caption</fieldDescription>
</field>
<field name="legende_##line##_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="##line##"]/@varname</fieldDescription>
</field>
<field name="legende_##line##_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="##line##"]/value_caption</fieldDescription>
</field>
<field name="legende_Hörerstatus_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Hörerstatus"]/@varname</fieldDescription>
</field>
<field name="legende_Hörerstatus_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Hörerstatus"]/value_caption</fieldDescription>
</field>
<field name="legende_bis Fachsemester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="bis Fachsemester"]/@varname</fieldDescription>
</field>
<field name="legende_bis Fachsemester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="bis Fachsemester"]/value_caption</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Staatsangehörigkeit"]/@varname</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Staatsangehörigkeit"]/value_caption</fieldDescription>
</field>
<field name="legende_Jahr_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Jahr"]/@varname</fieldDescription>
</field>
<field name="legende_Jahr_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Jahr"]/value_caption</fieldDescription>
</field>
<field name="legende_Filter Studierende_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Filter Studierende"]/@varname</fieldDescription>
</field>
<field name="legende_Filter Studierende_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Filter Studierende"]/value_caption</fieldDescription>
</field>
<field name="legende_tablestylesheet_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="tablestylesheet"]/@varname</fieldDescription>
</field>
<field name="legende_tablestylesheet_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="tablestylesheet"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafik_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Grafik"]/@varname</fieldDescription>
</field>
<field name="legende_Grafik_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Grafik"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafiktitel_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Grafiktitel"]/@varname</fieldDescription>
</field>
<field name="legende_Grafiktitel_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Grafiktitel"]/value_caption</fieldDescription>
</field>
<field name="legende_Spaltenlayout_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/completefields/feld [@varname="Spaltenlayout"]/@varname</fieldDescription>
</field>
<field name="legende_Spaltenlayout_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=4]/felder/feld [@varname="Spaltenlayout"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression>4</variableExpression>
</variable>
<!--Fülle tabellennr für 40-->
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="50">
<property name="com.jaspersoft.studio.layout"
value="com.jaspersoft.studio.editor.layout.spreadsheet.SpreadsheetLayout"/>
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="818" height="20"/>
<textFieldExpression>"Absolvierende nach Semester"</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendLabel" x="0" y="20" width="818" height="20"/>
<textElement verticalAlignment="Bottom">
<font isBold="true"/>
</textElement>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement style="LegendContent"
isPrintWhenDetailOverflows="true"
x="0"
y="40"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textFieldExpression>""+(($F{legende_Köpfe oder Fälle ?_value}==null || $F{legende_Köpfe oder Fälle ?_value}=="")?"":($F{legende_Köpfe oder Fälle ?_label}+": "+$F{legende_Köpfe oder Fälle ?_value}+"; "))
+(($F{legende_Seit Semester_value}==null || $F{legende_Seit Semester_value}=="")?"":($F{legende_Seit Semester_label}+": "+$F{legende_Seit Semester_value}+"; "))
+(($F{legende_Bis Semester_value}==null || $F{legende_Bis Semester_value}=="")?"":($F{legende_Bis Semester_label}+": "+$F{legende_Bis Semester_value}+"; "))
+(($F{legende_Semestertyp_value}==null || $F{legende_Semestertyp_value}=="")?"":($F{legende_Semestertyp_label}+": "+$F{legende_Semestertyp_value}+"; "))
+(($F{legende_Studiengang_value}==null || $F{legende_Studiengang_value}=="")?"":($F{legende_Studiengang_label}+": "+$F{legende_Studiengang_value}+"; "))
+(($F{legende_Abschluss_value}==null || $F{legende_Abschluss_value}=="")?"":($F{legende_Abschluss_label}+": "+$F{legende_Abschluss_value}+"; "))
+(($F{legende_Status_value}==null || $F{legende_Status_value}=="")?"":($F{legende_Status_label}+": "+$F{legende_Status_value}+"; "))
+(($F{legende_##line##_value}==null || $F{legende_##line##_value}=="")?"":($F{legende_##line##_label}+": "+$F{legende_##line##_value}+"; "))
+(($F{legende_Staatsangehörigkeit_value}==null || $F{legende_Staatsangehörigkeit_value}=="")?"":($F{legende_Staatsangehörigkeit_label}+": "+$F{legende_Staatsangehörigkeit_value}+"; "))
+(($F{legende_Grafik_value}==null || $F{legende_Grafik_value}=="")?"":($F{legende_Grafik_label}+": "+$F{legende_Grafik_value}+"; "))
+(($F{legende_Spaltenlayout_value}==null || $F{legende_Spaltenlayout_value}=="")?"":($F{legende_Spaltenlayout_label}+": "+$F{legende_Spaltenlayout_value}+"; "))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
</band>
<band height="10">
<printWhenExpression>$F{Hinweis}.length() &gt;0</printWhenExpression>
<textField isStretchWithOverflow="true">
<reportElement style="HinweisContent"
positionType="Float"
isPrintWhenDetailOverflows="true"
x="0"
y="0"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression>$F{Hinweis}</textFieldExpression>
</textField>
</band>
<band splitType="Stretch" height="30">
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="0"
y="0"
width="409"
height="30"/>
<textFieldExpression>"Semester Name"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="409"
y="0"
width="409"
height="30"/>
<textFieldExpression>"Anzahl der Absolvierenden"</textFieldExpression>
</textField>
</band>
</groupHeader>
</group>
<detail>
<band height="20" splitType="Stretch">
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="409"
height="20"
style="TableRowStandard"/>
<!--1-->
<textElement textAlignment="Left"/>
<!--1-F-->
<textFieldExpression>$F{tab_4Semester Name}==null?null:""+$F{tab_4Semester Name}</textFieldExpression>
<patternExpression/>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="409"
y="0"
width="409"
height="20"
style="TableRowStandard"/>
<!--4-->
<textElement textAlignment="Right"/>
<!--4-F-->
<textFieldExpression>$F{tab_4Anzahl der Absolvierenden}</textFieldExpression>
<patternExpression>"#,##0"</patternExpression>
</textField>
</band>
</detail>
<pageFooter>
<band height="15">
<staticText>
<reportElement mode="Transparent"
x="0"
y="3"
width="89"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<text>Erzeugungsdatum:</text>
</staticText>
<textField pattern="dd.MM.yyyy">
<reportElement mode="Transparent"
x="89"
y="3"
width="96"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<textFieldExpression class="java.util.Date">new java.util.Date()</textFieldExpression>
</textField>
<textField evaluationTime="Report" isBlankWhenNull="false">
<reportElement key="textField" x="773" y="3" width="39" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement>
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"" + $V{PAGE_NUMBER} + ""</textFieldExpression>
</textField>
<textField isBlankWhenNull="false">
<reportElement key="textField" x="676" y="3" width="94" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Right">
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"Seite " + $V{PAGE_NUMBER} + " von "</textFieldExpression>
</textField>
</band>
</pageFooter>
</jasperReport>

463
superx/WEB-INF/reports/44690_sub_5.jrxml

@ -0,0 +1,463 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="Absolvierende nach Semester"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="0"
isIgnorePagination="false">
<!--Import von jr_properties-->
<property name="net.sf.jasperreports.export.xls.create.custom.palette"
value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows"
value="true"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.rows"
value="true"/>
<template>"simple_table.jrtx"</template>
<style name="TableRowDetail"
mode="Opaque"
forecolor="#000000"
backcolor="#FFFFFF"
hTextAlign="Right"
vTextAlign="Middle"
isBlankWhenNull="true"
fontName="Liberation Sans"
fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2"
rightIndent="1"
spacingBefore="0"
spacingAfter="0"/>
<conditionalStyle>
<conditionExpression>Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )</conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement[@ordnr='5']/sqlerg/row</queryString>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='5']/maskenname</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='5']/explanation</fieldDescription>
</field>
<field name="Hinweis" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='5']/hinweis</fieldDescription>
</field>
<!-- dann die Tabellenspalten -->
<field name="tab_5Semester" class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='5']/wert</fieldDescription>
</field>
<field name="tab_5Absolv. in der RSZ" class="java.lang.Integer">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='5']/wert</fieldDescription>
</field>
<field name="tab_5Absolv. über der RSZ" class="java.lang.Integer">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='5']/wert</fieldDescription>
</field>
<field name="tab_5Unbekannt" class="java.lang.Integer">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='5']/wert</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Köpfe oder Fälle ?"]/@varname</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Köpfe oder Fälle ?"]/value_caption</fieldDescription>
</field>
<field name="legende_Stichtag_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Stichtag"]/@varname</fieldDescription>
</field>
<field name="legende_Stichtag_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Stichtag"]/value_caption</fieldDescription>
</field>
<field name="legende_Seit Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Seit Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Seit Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Seit Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Bis Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Bis Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Bis Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Bis Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Semestertyp_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Semestertyp"]/@varname</fieldDescription>
</field>
<field name="legende_Semestertyp_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Semestertyp"]/value_caption</fieldDescription>
</field>
<field name="legende_Studiengang_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Studiengang"]/@varname</fieldDescription>
</field>
<field name="legende_Studiengang_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Studiengang"]/value_caption</fieldDescription>
</field>
<field name="legende_Abschluss_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Abschluss"]/@varname</fieldDescription>
</field>
<field name="legende_Abschluss_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Abschluss"]/value_caption</fieldDescription>
</field>
<field name="legende_Status_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Status"]/@varname</fieldDescription>
</field>
<field name="legende_Status_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Status"]/value_caption</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Matrikel-Nr."]/@varname</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Matrikel-Nr."]/value_caption</fieldDescription>
</field>
<field name="legende_##line##_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="##line##"]/@varname</fieldDescription>
</field>
<field name="legende_##line##_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="##line##"]/value_caption</fieldDescription>
</field>
<field name="legende_Hörerstatus_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Hörerstatus"]/@varname</fieldDescription>
</field>
<field name="legende_Hörerstatus_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Hörerstatus"]/value_caption</fieldDescription>
</field>
<field name="legende_bis Fachsemester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="bis Fachsemester"]/@varname</fieldDescription>
</field>
<field name="legende_bis Fachsemester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="bis Fachsemester"]/value_caption</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Staatsangehörigkeit"]/@varname</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Staatsangehörigkeit"]/value_caption</fieldDescription>
</field>
<field name="legende_Jahr_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Jahr"]/@varname</fieldDescription>
</field>
<field name="legende_Jahr_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Jahr"]/value_caption</fieldDescription>
</field>
<field name="legende_Filter Studierende_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Filter Studierende"]/@varname</fieldDescription>
</field>
<field name="legende_Filter Studierende_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Filter Studierende"]/value_caption</fieldDescription>
</field>
<field name="legende_tablestylesheet_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="tablestylesheet"]/@varname</fieldDescription>
</field>
<field name="legende_tablestylesheet_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="tablestylesheet"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafik_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Grafik"]/@varname</fieldDescription>
</field>
<field name="legende_Grafik_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Grafik"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafiktitel_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Grafiktitel"]/@varname</fieldDescription>
</field>
<field name="legende_Grafiktitel_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Grafiktitel"]/value_caption</fieldDescription>
</field>
<field name="legende_Spaltenlayout_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/completefields/feld [@varname="Spaltenlayout"]/@varname</fieldDescription>
</field>
<field name="legende_Spaltenlayout_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=5]/felder/feld [@varname="Spaltenlayout"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression>5</variableExpression>
</variable>
<!--Fülle tabellennr für 50-->
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="50">
<property name="com.jaspersoft.studio.layout"
value="com.jaspersoft.studio.editor.layout.spreadsheet.SpreadsheetLayout"/>
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="818" height="20"/>
<textFieldExpression>"Absolvierende nach Semester"</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendLabel" x="0" y="20" width="818" height="20"/>
<textElement verticalAlignment="Bottom">
<font isBold="true"/>
</textElement>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement style="LegendContent"
isPrintWhenDetailOverflows="true"
x="0"
y="40"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textFieldExpression>""+(($F{legende_Köpfe oder Fälle ?_value}==null || $F{legende_Köpfe oder Fälle ?_value}=="")?"":($F{legende_Köpfe oder Fälle ?_label}+": "+$F{legende_Köpfe oder Fälle ?_value}+"; "))
+(($F{legende_Seit Semester_value}==null || $F{legende_Seit Semester_value}=="")?"":($F{legende_Seit Semester_label}+": "+$F{legende_Seit Semester_value}+"; "))
+(($F{legende_Bis Semester_value}==null || $F{legende_Bis Semester_value}=="")?"":($F{legende_Bis Semester_label}+": "+$F{legende_Bis Semester_value}+"; "))
+(($F{legende_Semestertyp_value}==null || $F{legende_Semestertyp_value}=="")?"":($F{legende_Semestertyp_label}+": "+$F{legende_Semestertyp_value}+"; "))
+(($F{legende_Studiengang_value}==null || $F{legende_Studiengang_value}=="")?"":($F{legende_Studiengang_label}+": "+$F{legende_Studiengang_value}+"; "))
+(($F{legende_Abschluss_value}==null || $F{legende_Abschluss_value}=="")?"":($F{legende_Abschluss_label}+": "+$F{legende_Abschluss_value}+"; "))
+(($F{legende_Status_value}==null || $F{legende_Status_value}=="")?"":($F{legende_Status_label}+": "+$F{legende_Status_value}+"; "))
+(($F{legende_##line##_value}==null || $F{legende_##line##_value}=="")?"":($F{legende_##line##_label}+": "+$F{legende_##line##_value}+"; "))
+(($F{legende_Staatsangehörigkeit_value}==null || $F{legende_Staatsangehörigkeit_value}=="")?"":($F{legende_Staatsangehörigkeit_label}+": "+$F{legende_Staatsangehörigkeit_value}+"; "))
+(($F{legende_Grafik_value}==null || $F{legende_Grafik_value}=="")?"":($F{legende_Grafik_label}+": "+$F{legende_Grafik_value}+"; "))
+(($F{legende_Spaltenlayout_value}==null || $F{legende_Spaltenlayout_value}=="")?"":($F{legende_Spaltenlayout_label}+": "+$F{legende_Spaltenlayout_value}+"; "))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
</band>
<band height="10">
<printWhenExpression>$F{Hinweis}.length() &gt;0</printWhenExpression>
<textField isStretchWithOverflow="true">
<reportElement style="HinweisContent"
positionType="Float"
isPrintWhenDetailOverflows="true"
x="0"
y="0"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression>$F{Hinweis}</textFieldExpression>
</textField>
</band>
<band splitType="Stretch" height="30">
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="0"
y="0"
width="205"
height="30"/>
<textFieldExpression>"Semester"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="205"
y="0"
width="205"
height="30"/>
<textFieldExpression>"Absolv. in der RSZ"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="410"
y="0"
width="205"
height="30"/>
<textFieldExpression>"Absolv. über der RSZ"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="615"
y="0"
width="203"
height="30"/>
<textFieldExpression>"Unbekannt"</textFieldExpression>
</textField>
</band>
</groupHeader>
</group>
<detail>
<band height="20" splitType="Stretch">
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="205"
height="20"
style="TableRowStandard"/>
<!--1-->
<textElement textAlignment="Left"/>
<!--1-F-->
<textFieldExpression>$F{tab_5Semester}==null?null:""+$F{tab_5Semester}</textFieldExpression>
<patternExpression/>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="205"
y="0"
width="205"
height="20"
style="TableRowStandard"/>
<!--4-->
<textElement textAlignment="Right"/>
<!--4-F-->
<textFieldExpression>$F{tab_5Absolv. in der RSZ}</textFieldExpression>
<patternExpression>"#,##0"</patternExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="410"
y="0"
width="205"
height="20"
style="TableRowStandard"/>
<!--4-->
<textElement textAlignment="Right"/>
<!--4-F-->
<textFieldExpression>$F{tab_5Absolv. über der RSZ}</textFieldExpression>
<patternExpression>"#,##0"</patternExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="615"
y="0"
width="203"
height="20"
style="TableRowStandard"/>
<!--4-->
<textElement textAlignment="Right"/>
<!--4-F-->
<textFieldExpression>$F{tab_5Unbekannt}</textFieldExpression>
<patternExpression>"#,##0"</patternExpression>
</textField>
</band>
</detail>
<pageFooter>
<band height="15">
<staticText>
<reportElement mode="Transparent"
x="0"
y="3"
width="89"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<text>Erzeugungsdatum:</text>
</staticText>
<textField pattern="dd.MM.yyyy">
<reportElement mode="Transparent"
x="89"
y="3"
width="96"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<textFieldExpression class="java.util.Date">new java.util.Date()</textFieldExpression>
</textField>
<textField evaluationTime="Report" isBlankWhenNull="false">
<reportElement key="textField" x="773" y="3" width="39" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement>
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"" + $V{PAGE_NUMBER} + ""</textFieldExpression>
</textField>
<textField isBlankWhenNull="false">
<reportElement key="textField" x="676" y="3" width="94" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Right">
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"Seite " + $V{PAGE_NUMBER} + " von "</textFieldExpression>
</textField>
</band>
</pageFooter>
</jasperReport>

519
superx/WEB-INF/reports/44690_sub_6.jrxml

@ -0,0 +1,519 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="Absolvierende nach Semester"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="0"
isIgnorePagination="false">
<!--Import von jr_properties-->
<property name="net.sf.jasperreports.export.xls.create.custom.palette"
value="true"/>
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows"
value="true"/>
<property name="com.jaspersoft.studio.unit." value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
<property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1"
value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2"
value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.columns"
value="true"/>
<property name="net.sf.jasperreports.export.xlsx.remove.empty.space.between.rows"
value="true"/>
<template>"simple_table.jrtx"</template>
<style name="TableRowDetail"
mode="Opaque"
forecolor="#000000"
backcolor="#FFFFFF"
hTextAlign="Right"
vTextAlign="Middle"
isBlankWhenNull="true"
fontName="Liberation Sans"
fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2"
rightIndent="1"
spacingBefore="0"
spacingAfter="0"/>
<conditionalStyle>
<conditionExpression>Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )</conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
<queryString language="xPath">/ergebnisse/ergebnis/ergebniselement[@ordnr='6']/sqlerg/row</queryString>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='6']/maskenname</fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='6']/explanation</fieldDescription>
</field>
<field name="Hinweis" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='6']/hinweis</fieldDescription>
</field>
<!-- dann die Tabellenspalten -->
<field name="tab_6Semester" class="java.lang.String">
<fieldDescription>col[@id="0" and wert!="" and ../../../@ordnr='6']/wert</fieldDescription>
</field>
<field name="tab_6Bachelor" class="java.lang.Integer">
<fieldDescription>col[@id="1" and wert!="" and ../../../@ordnr='6']/wert</fieldDescription>
</field>
<field name="tab_6Bachelor Lehramt" class="java.lang.Integer">
<fieldDescription>col[@id="2" and wert!="" and ../../../@ordnr='6']/wert</fieldDescription>
</field>
<field name="tab_6Master" class="java.lang.Integer">
<fieldDescription>col[@id="3" and wert!="" and ../../../@ordnr='6']/wert</fieldDescription>
</field>
<field name="tab_6Master Lehramt" class="java.lang.Integer">
<fieldDescription>col[@id="4" and wert!="" and ../../../@ordnr='6']/wert</fieldDescription>
</field>
<field name="tab_6Promotion" class="java.lang.Integer">
<fieldDescription>col[@id="5" and wert!="" and ../../../@ordnr='6']/wert</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Köpfe oder Fälle ?"]/@varname</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Köpfe oder Fälle ?"]/value_caption</fieldDescription>
</field>
<field name="legende_Stichtag_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Stichtag"]/@varname</fieldDescription>
</field>
<field name="legende_Stichtag_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Stichtag"]/value_caption</fieldDescription>
</field>
<field name="legende_Seit Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Seit Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Seit Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Seit Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Bis Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Bis Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Bis Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Bis Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Semestertyp_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Semestertyp"]/@varname</fieldDescription>
</field>
<field name="legende_Semestertyp_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Semestertyp"]/value_caption</fieldDescription>
</field>
<field name="legende_Studiengang_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Studiengang"]/@varname</fieldDescription>
</field>
<field name="legende_Studiengang_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Studiengang"]/value_caption</fieldDescription>
</field>
<field name="legende_Abschluss_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Abschluss"]/@varname</fieldDescription>
</field>
<field name="legende_Abschluss_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Abschluss"]/value_caption</fieldDescription>
</field>
<field name="legende_Status_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Status"]/@varname</fieldDescription>
</field>
<field name="legende_Status_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Status"]/value_caption</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Matrikel-Nr."]/@varname</fieldDescription>
</field>
<field name="legende_Matrikel-Nr._value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Matrikel-Nr."]/value_caption</fieldDescription>
</field>
<field name="legende_##line##_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="##line##"]/@varname</fieldDescription>
</field>
<field name="legende_##line##_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="##line##"]/value_caption</fieldDescription>
</field>
<field name="legende_Hörerstatus_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Hörerstatus"]/@varname</fieldDescription>
</field>
<field name="legende_Hörerstatus_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Hörerstatus"]/value_caption</fieldDescription>
</field>
<field name="legende_bis Fachsemester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="bis Fachsemester"]/@varname</fieldDescription>
</field>
<field name="legende_bis Fachsemester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="bis Fachsemester"]/value_caption</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Staatsangehörigkeit"]/@varname</fieldDescription>
</field>
<field name="legende_Staatsangehörigkeit_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Staatsangehörigkeit"]/value_caption</fieldDescription>
</field>
<field name="legende_Jahr_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Jahr"]/@varname</fieldDescription>
</field>
<field name="legende_Jahr_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Jahr"]/value_caption</fieldDescription>
</field>
<field name="legende_Filter Studierende_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Filter Studierende"]/@varname</fieldDescription>
</field>
<field name="legende_Filter Studierende_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Filter Studierende"]/value_caption</fieldDescription>
</field>
<field name="legende_tablestylesheet_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="tablestylesheet"]/@varname</fieldDescription>
</field>
<field name="legende_tablestylesheet_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="tablestylesheet"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafik_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Grafik"]/@varname</fieldDescription>
</field>
<field name="legende_Grafik_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Grafik"]/value_caption</fieldDescription>
</field>
<field name="legende_Grafiktitel_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Grafiktitel"]/@varname</fieldDescription>
</field>
<field name="legende_Grafiktitel_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Grafiktitel"]/value_caption</fieldDescription>
</field>
<field name="legende_Spaltenlayout_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/completefields/feld [@varname="Spaltenlayout"]/@varname</fieldDescription>
</field>
<field name="legende_Spaltenlayout_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[@ordnr=6]/felder/feld [@varname="Spaltenlayout"]/value_caption</fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis[ @ordnr='0']/stand</fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription>/ergebnisse/user</fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression>6</variableExpression>
</variable>
<!--Fülle tabellennr für 60-->
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="50">
<property name="com.jaspersoft.studio.layout"
value="com.jaspersoft.studio.editor.layout.spreadsheet.SpreadsheetLayout"/>
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="818" height="20"/>
<textFieldExpression>"Absolvierende nach Semester"</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendLabel" x="0" y="20" width="818" height="20"/>
<textElement verticalAlignment="Bottom">
<font isBold="true"/>
</textElement>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement style="LegendContent"
isPrintWhenDetailOverflows="true"
x="0"
y="40"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textFieldExpression>""+(($F{legende_Köpfe oder Fälle ?_value}==null || $F{legende_Köpfe oder Fälle ?_value}=="")?"":($F{legende_Köpfe oder Fälle ?_label}+": "+$F{legende_Köpfe oder Fälle ?_value}+"; "))
+(($F{legende_Seit Semester_value}==null || $F{legende_Seit Semester_value}=="")?"":($F{legende_Seit Semester_label}+": "+$F{legende_Seit Semester_value}+"; "))
+(($F{legende_Bis Semester_value}==null || $F{legende_Bis Semester_value}=="")?"":($F{legende_Bis Semester_label}+": "+$F{legende_Bis Semester_value}+"; "))
+(($F{legende_Semestertyp_value}==null || $F{legende_Semestertyp_value}=="")?"":($F{legende_Semestertyp_label}+": "+$F{legende_Semestertyp_value}+"; "))
+(($F{legende_Studiengang_value}==null || $F{legende_Studiengang_value}=="")?"":($F{legende_Studiengang_label}+": "+$F{legende_Studiengang_value}+"; "))
+(($F{legende_Abschluss_value}==null || $F{legende_Abschluss_value}=="")?"":($F{legende_Abschluss_label}+": "+$F{legende_Abschluss_value}+"; "))
+(($F{legende_Status_value}==null || $F{legende_Status_value}=="")?"":($F{legende_Status_label}+": "+$F{legende_Status_value}+"; "))
+(($F{legende_##line##_value}==null || $F{legende_##line##_value}=="")?"":($F{legende_##line##_label}+": "+$F{legende_##line##_value}+"; "))
+(($F{legende_Staatsangehörigkeit_value}==null || $F{legende_Staatsangehörigkeit_value}=="")?"":($F{legende_Staatsangehörigkeit_label}+": "+$F{legende_Staatsangehörigkeit_value}+"; "))
+(($F{legende_Grafik_value}==null || $F{legende_Grafik_value}=="")?"":($F{legende_Grafik_label}+": "+$F{legende_Grafik_value}+"; "))
+(($F{legende_Spaltenlayout_value}==null || $F{legende_Spaltenlayout_value}=="")?"":($F{legende_Spaltenlayout_label}+": "+$F{legende_Spaltenlayout_value}+"; "))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
</band>
<band height="10">
<printWhenExpression>$F{Hinweis}.length() &gt;0</printWhenExpression>
<textField isStretchWithOverflow="true">
<reportElement style="HinweisContent"
positionType="Float"
isPrintWhenDetailOverflows="true"
x="0"
y="0"
width="818"
height="10"/>
<box topPadding="10"
leftPadding="2"
bottomPadding="10"
rightPadding="2"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression>$F{Hinweis}</textFieldExpression>
</textField>
</band>
<band splitType="Stretch" height="30">
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="0"
y="0"
width="74"
height="30"/>
<textFieldExpression>"Semester"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="74"
y="0"
width="149"
height="30"/>
<textFieldExpression>"Bachelor"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="223"
y="0"
width="149"
height="30"/>
<textFieldExpression>"Bachelor Lehramt"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="372"
y="0"
width="149"
height="30"/>
<textFieldExpression>"Master"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="521"
y="0"
width="149"
height="30"/>
<textFieldExpression>"Master Lehramt"</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float"
style="TableColumnHeader"
mode="Opaque"
x="670"
y="0"
width="148"
height="30"/>
<textFieldExpression>"Promotion"</textFieldExpression>
</textField>
</band>
</groupHeader>
</group>
<detail>
<band height="20" splitType="Stretch">
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="0"
y="0"
width="74"
height="20"
style="TableRowStandard"/>
<!--1-->
<textElement textAlignment="Left"/>
<!--1-F-->
<textFieldExpression>$F{tab_6Semester}==null?null:""+$F{tab_6Semester}</textFieldExpression>
<patternExpression/>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="74"
y="0"
width="149"
height="20"
style="TableRowStandard"/>
<!--4-->
<textElement textAlignment="Right"/>
<!--4-F-->
<textFieldExpression>$F{tab_6Bachelor}</textFieldExpression>
<patternExpression>"#,##0"</patternExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="223"
y="0"
width="149"
height="20"
style="TableRowStandard"/>
<!--4-->
<textElement textAlignment="Right"/>
<!--4-F-->
<textFieldExpression>$F{tab_6Bachelor Lehramt}</textFieldExpression>
<patternExpression>"#,##0"</patternExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="372"
y="0"
width="149"
height="20"
style="TableRowStandard"/>
<!--4-->
<textElement textAlignment="Right"/>
<!--4-F-->
<textFieldExpression>$F{tab_6Master}</textFieldExpression>
<patternExpression>"#,##0"</patternExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="521"
y="0"
width="149"
height="20"
style="TableRowStandard"/>
<!--4-->
<textElement textAlignment="Right"/>
<!--4-F-->
<textFieldExpression>$F{tab_6Master Lehramt}</textFieldExpression>
<patternExpression>"#,##0"</patternExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
evaluationTime="Now">
<reportElement stretchType="ContainerHeight"
x="670"
y="0"
width="148"
height="20"
style="TableRowStandard"/>
<!--4-->
<textElement textAlignment="Right"/>
<!--4-F-->
<textFieldExpression>$F{tab_6Promotion}</textFieldExpression>
<patternExpression>"#,##0"</patternExpression>
</textField>
</band>
</detail>
<pageFooter>
<band height="15">
<staticText>
<reportElement mode="Transparent"
x="0"
y="3"
width="89"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<text>Erzeugungsdatum:</text>
</staticText>
<textField pattern="dd.MM.yyyy">
<reportElement mode="Transparent"
x="89"
y="3"
width="96"
height="12"
forecolor="#000000"
backcolor="#FFFFFF"/>
<textElement textAlignment="Left"
verticalAlignment="Top"
rotation="None"
lineSpacing="Single"
markup="none">
<font fontName="Liberation Sans"
size="10"
isBold="false"
isItalic="false"
isUnderline="false"
isStrikeThrough="false"
pdfFontName="Liberation Sans"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
</textElement>
<textFieldExpression class="java.util.Date">new java.util.Date()</textFieldExpression>
</textField>
<textField evaluationTime="Report" isBlankWhenNull="false">
<reportElement key="textField" x="773" y="3" width="39" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement>
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"" + $V{PAGE_NUMBER} + ""</textFieldExpression>
</textField>
<textField isBlankWhenNull="false">
<reportElement key="textField" x="676" y="3" width="94" height="12"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Right">
<font fontName="Liberation Sans" size="10"/>
</textElement>
<textFieldExpression class="java.lang.String">"Seite " + $V{PAGE_NUMBER} + " von "</textFieldExpression>
</textField>
</band>
</pageFooter>
</jasperReport>

2
superx/WEB-INF/reports/viz_report_44690_xmlsource.jrxml

File diff suppressed because one or more lines are too long

80
superx/edit/viz/viz_chart_bearbeiten.jsp

@ -9,7 +9,7 @@
<LINK href="/superx/xml/superxml_html.css" type="text/css" REL="stylesheet"> <LINK href="/superx/xml/superxml_html.css" type="text/css" REL="stylesheet">
<LINK href="/superx/xml/maske_html.css" type="text/css" REL="stylesheet"> <LINK href="/superx/xml/maske_html.css" type="text/css" REL="stylesheet">
<LINK href="/superx/style/dbforms_40.css" type="text/css" REL="stylesheet"> <LINK href="/superx/style/dbforms_40.css" type="text/css" REL="stylesheet">
<title>Maske Diagrammenw&uuml;rfe bearbeiten</title> <title>Maske Diagrammentw&uuml;rfe bearbeiten</title>
<% <%
String renderer_id = request.getParameter("renderer_id"); String renderer_id = request.getParameter("renderer_id");
String renderer = request.getParameter("renderer"); String renderer = request.getParameter("renderer");
@ -45,8 +45,49 @@ if(renderer != null && (renderer_id == null || renderer_id.equals("")))
var targetField=referrerDocument.getElementById("viz_chart_variant").value; var targetField=referrerDocument.getElementById("viz_chart_variant").value;
document.getElementById(targetField).innerHTML=referrerDocument.getElementById("chartModelSrcCode").innerHTML; document.getElementById(targetField).innerHTML=referrerDocument.getElementById("chartModelSrcCode").innerHTML;
document.getElementById("key_viz_chartrenderer_id").value=renderer_id; document.getElementById("key_viz_chartrenderer_id").value=renderer_id;
document.getElementById("inp_viz_chartrenderer_id").value=renderer_id;
var title=referrerDocument.getElementById("chartName").value;
document.getElementById("inp_viz_chartcaption").value=title;
var maskennr=referrerDocument.getElementById("fldMaskennr").value;
document.getElementById("key_viz_chartmaskeninfo_id").value=maskennr;
document.getElementById("inp_viz_chartmaskeninfo_id").value=maskennr;
var uniquename=referrerDocument.getElementById("chartElementVizType").value;
uniquename+="_"+maskennr+"_"+Math.floor(Math.random() * 100);
if(document.getElementById("inp_viz_chartuniquename").value=="")
document.getElementById("inp_viz_chartuniquename").value=uniquename;
if(document.getElementById("inp_viz_chartchart_width").value=="0")
document.getElementById("inp_viz_chartchart_width").value="800";
if(document.getElementById("inp_viz_chartchart_height").value=="0")
document.getElementById("inp_viz_chartchart_height").value="600";
if(document.getElementById("inp_viz_chartchart_miniature_width").value=="0")
document.getElementById("inp_viz_chartchart_miniature_width").value="100";
if(document.getElementById("inp_viz_chartchart_miniature_height").value=="0")
document.getElementById("inp_viz_chartchart_miniature_height").value="60";
if(document.getElementById("inp_viz_chartchart_miniature_height").value=="0")
document.getElementById("inp_viz_chartchart_miniature_height").value="60";
//if(document.getElementById("inp_viz_chartchart_active").value=="")
// document.getElementById("inp_viz_chartchart_active").value="1";
} }
async function ManagerCacheRefresh()
{
const url="../../sxrest/managercache_refresh";
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`Serverantwort: ${response.status}`);
}
const cacheStatus = await response.text();
document.getElementById("ManagerCacheStatus").innerHTML = cacheStatus;
} catch (error) {
document.getElementById("ManagerCacheStatus").innerHTML = error.message;
}
}
</script> </script>
<body class="clsPageBody" onLoad="initPage()"><%@ page import ="java.util.Hashtable" %> <body class="clsPageBody" onLoad="initPage()"><%@ page import ="java.util.Hashtable" %>
<% <%
@ -96,12 +137,24 @@ keyfieldsused=kf.toString();
<div style="margin: 0px; padding: 0px; overflow: hidden; width: 100%;" id="menuCaption"> <div style="margin: 0px; padding: 0px; overflow: hidden; width: 100%;" id="menuCaption">
<span class="menuCaptionTitle" id="menuCaptionTitle">Diagrammenw&uuml;rfe bearbeiten. </span><img border="0" height="18px" alt="Erl&auml;uterung" src="/superx/images/information.svg"><span style="display:none" connectId="menuCaption" dojoType="tooltip">In diesem Formular k&ouml;nnen Sie Diagramme verwalten.</span> <span class="menuCaptionTitle" id="menuCaptionTitle">Diagrammentw&uuml;rfe bearbeiten. </span><img border="0" height="18px" alt="Erl&auml;uterung" src="/superx/images/information.svg"><span style="display:none" connectId="menuCaption" dojoType="tooltip">In diesem Formular k&ouml;nnen Sie Diagramme verwalten.</span>
<br />Nach einer Änderung sollten Sie den <button class="button is-small has-tooltip-multiline has-tooltip-right" data-tooltip="Grafiken werden gecacht."
onClick="ManagerCacheRefresh();">Cache</button> leeren
<br /> <span id="ManagerCacheStatus"></span>
</div> </div>
<% <%
String followUp="/edit/viz/viz_chart_bearbeiten.jsp";
String tid = request.getParameter("tid"); String tid = request.getParameter("tid");
if(tid==null || tid.equals(""))
{
followUp="/edit/viz/viz_chart_bearbeitet.jsp";
filter +="tid=0";
}
else
{
filter +="tid="+tid; filter +="tid="+tid;
}
%> %>
<% <%
@ -112,7 +165,7 @@ if(created_by != null && !created_by.equals("null")){
%> %>
<db:dbform tableName="viz_chart" maxRows="1" autoUpdate="false" <db:dbform tableName="viz_chart" maxRows="1" autoUpdate="false"
captionResource="true" multipart="false" captionResource="true" multipart="false"
followUp="/edit/viz/viz_chart_edit.jsp" followUp="<%= followUp %>"
filter="<%= filter %>" orderBy="caption" filter="<%= filter %>" orderBy="caption"
dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/><db:header/> dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/><db:header/>
<db:errors/> <db:errors/>
@ -121,13 +174,6 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<tr> <tr>
<td class="naviBtn"> <td class="naviBtn">
<db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/></td><td class="naviBtn"> <db:updateButton styleClass="clsButtonStyle" style="height:18px" alt="button.update" src="../../images/save.svg" flavor="image" id="db_updateButton"/></td><td class="naviBtn">
<db:navFirstButton styleClass="clsButtonStyle" style="height:18px" caption="button.nav.first" alt="button.nav.first" src="../../images/resultset_first.svg" flavor="image" id="db_navFirstButton"/></td><td class="naviBtn">
<db:navPrevButton styleClass="clsButtonStyle" style="height:18px" alt="button.nav.previous" src="../../images/resultset_previous.svg" flavor="image" id="db_navPrevButton"/></td><td class="naviBtn">
<db:navNextButton styleClass="clsButtonStyle" style="height:18px" alt="button.nav.next" src="../../images/resultset_next.svg" flavor="image" id="db_navNextButton"/></td><td class="naviBtn">
<db:navLastButton styleClass="clsButtonStyle" style="height:18px" alt="button.nav.last" src="../../images/resultset_last.svg" flavor="image" id="db_navLastButton"/></td><td class="naviBtn">
<db:deleteButton confirmMessage="button.delete.confirm" styleClass="clsButtonStyle" style="height:18px" alt="button.delete" src="../../images/delete.svg" id="db_deleteButton" flavor="image"/></td><td class="naviBtn"><span connectId="copy1" dojoType="tooltip">Datensatz kopieren. Mit Mausklick auf diesen Button kopieren Sie den aktuellen Datensatz. Zum Einf&uuml;gen des neuen Datensatzes klicken Sie dann auf das H&auml;kchen-Symbol rechts neben bzw. unter mir.</span>
<db:navCopyButton styleClass="clsButtonStyle" style="height:18px" showAlwaysInFooter="false" alt="button.nav.copy" src="../../images/copy.svg" id="copy1" flavor="image"/></td><td class="naviBtn"><span connectId="new1" dojoType="tooltip">Neuen Datensatz erzeugen. Mit Mausklick auf diesen Button geht das Formular bzw. Unterformular in den Einf&uuml;gemodus, alle vorhandenen Datens&auml;tze werden ausgeblendet. Zum Einf&uuml;gen des neuen Datensatzes klicken Sie dann auf das H&auml;kchen-Symbol rechts neben bzw. unter mir.</span>
<db:navNewButton styleClass="clsButtonStyle" style="height:18px" showAlwaysInFooter="false" alt="button.nav.new" src="../../images/context_add.svg" id="new1" flavor="image"/></td><td class="naviBtn"><span connectId="ins1" dojoType="tooltip">Datensatz einf&uuml;gen. Wenn Sie einen neuen Datensatz erzeugt haben, k&ouml;nnen Sie diesen mit diesem Button speichern.</span>
<db:insertButton showAlways="false" style="height:18px" styleClass="clsButtonStyle" alt="Datensatz einf&uuml;gen" src="../../images/circle_tick.svg" id="ins1" flavor="image"/></td><td class="naviBtn"><input type="hidden" name="keyfieldsused" value="<%= keyfieldsused %>" /><a onclick="maskeTogglekeyfields()" title="Schl&uuml;sselfelder an/aus"><img alt="Schl&uuml;sselfelder an/aus" src="../../images/key.svg" border="0"></a></td> <db:insertButton showAlways="false" style="height:18px" styleClass="clsButtonStyle" alt="Datensatz einf&uuml;gen" src="../../images/circle_tick.svg" id="ins1" flavor="image"/></td><td class="naviBtn"><input type="hidden" name="keyfieldsused" value="<%= keyfieldsused %>" /><a onclick="maskeTogglekeyfields()" title="Schl&uuml;sselfelder an/aus"><img alt="Schl&uuml;sselfelder an/aus" src="../../images/key.svg" border="0"></a></td>
</tr> </tr>
</table> </table>
@ -158,6 +204,7 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<db:message key="Unique Name"/></td><td align="left"> <db:message key="Unique Name"/></td><td align="left">
<div id="fld_uniquename"> <div id="fld_uniquename">
<db:textField nullFieldValue="" styleClass="clsInputStyle" onBlur="" maxlength="255" size="50" id="inp_viz_chartuniquename" fieldName="uniquename"/> <db:textField nullFieldValue="" styleClass="clsInputStyle" onBlur="" maxlength="255" size="50" id="inp_viz_chartuniquename" fieldName="uniquename"/>
<span style="display:none" connectId="fld_uniquename" dojoType="tooltip">Vergeben Sie einen eindeutigen Schlüssel mit Buchstaben und Unterstrich/Bindestrich, ohne Umlaute, Leer- oder Sonderzeichen</span>
</div> </div>
</td> </td>
</tr> </tr>
@ -173,11 +220,12 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<td class="db_label"> <td class="db_label">
<db:message key="Maske"/></td><td align="left"> <db:message key="Maske"/></td><td align="left">
<div id="fld_maskeninfo_id"> <div id="fld_maskeninfo_id">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_viz_chartmaskeninfo_id" class="schluesselfeld" type="text"> <input onblur="updateSelect(this)" style="display:none" size="10" id="key_viz_chartmaskeninfo_id" name="key_viz_chartmaskeninfo_id" class="schluesselfeld" type="text">
<db:select id="inp_viz_chartmaskeninfo_id" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="maskeninfo_id" customEntry=",,true"><% sql = "select tid, name from maskeninfo order by name;"; %><db:queryData name="viz_chart_maskeninfo5" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select> <db:select id="inp_viz_chartmaskeninfo_id" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="maskeninfo_id" customEntry=",,true"><% sql = "select tid, name from maskeninfo order by name;"; %><db:queryData name="viz_chart_maskeninfo5" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div> </div>
</td> </td>
</tr> </tr>
<!--
<tr> <tr>
<td class="db_label"> <td class="db_label">
<db:message key="Maskenparameter"/></td><td align="left"> <db:message key="Maskenparameter"/></td><td align="left">
@ -185,12 +233,12 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
<db:textArea nullFieldValue="" onBlur="" styleClass="editform" wrap="virtual" rows="6" cols="80" fieldName="mask_params"/> <db:textArea nullFieldValue="" onBlur="" styleClass="editform" wrap="virtual" rows="6" cols="80" fieldName="mask_params"/>
</div> </div>
</td> </td>
</tr> </tr>-->
<tr> <tr>
<td class="db_label"> <td class="db_label">
<db:message key="Renderer"/></td><td align="left"> <db:message key="Renderer"/></td><td align="left">
<div id="fld_renderer_id"> <div id="fld_renderer_id">
<input onblur="updateSelect(this)" style="display:none" size="10" name="key_viz_chartrenderer_id" class="schluesselfeld" type="text"> <input onblur="updateSelect(this)" style="display:none" size="10" id="key_viz_chartrenderer_id" name="key_viz_chartrenderer_id" class="schluesselfeld" type="text">
<db:select id="inp_viz_chartrenderer_id" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="renderer_id" customEntry=",,true"><% sql = "select tid, caption from viz_renderer order by caption;"; %><db:queryData name="viz_chart_viz_renderer3" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select> <db:select id="inp_viz_chartrenderer_id" styleClass="clsInputStyle" readOnly="false" onChange="updateKeyfield(this)" fieldName="renderer_id" customEntry=",,true"><% sql = "select tid, caption from viz_renderer order by caption;"; %><db:queryData name="viz_chart_viz_renderer3" query="<%= sql %>" dbConnectionName="<%= mandantenid %>" /> </db:select>
</div> </div>
</td> </td>
@ -243,14 +291,14 @@ dbConnectionName="<%= mandantenid %>" ><input type="hidden" name="${_csrf.parame
</div> </div>
<span style="display:none" connectId="fld_chart_miniature_height" dojoType="tooltip">in px</span></td> <span style="display:none" connectId="fld_chart_miniature_height" dojoType="tooltip">in px</span></td>
</tr> </tr>
<tr> <!-- neu entworfene Grafiken sind immer aktiv:<tr>
<td class="db_label"> <td class="db_label">
<db:message key="Grafik aktiv"/></td><td align="left"> <db:message key="Grafik aktiv"/></td><td align="left">
<div id="fld_chart_active"> <div id="fld_chart_active">
<db:textField nullFieldValue="" onBlur="" styleClass="clsInputStyle" id="inp_viz_chartchart_active" size="6" fieldName="chart_active"/> <db:textField nullFieldValue="" onBlur="" styleClass="clsInputStyle" id="inp_viz_chartchart_active" size="6" fieldName="chart_active"/>
</div> </div>
</td> </td>
</tr> </tr>-->
</table> </table>
</td><td align="center" style="padding-left:10px"></td> </td><td align="center" style="padding-left:10px"></td>
</table> </table>

108
superx/edit/viz/viz_chart_bearbeitet.jsp

@ -0,0 +1,108 @@
<%@ taglib uri="/WEB-INF/dbforms.tld" prefix="db" %>
<%@page pageEncoding="utf-8" contentType="text/html; charset=UTF-8" %>
<html xmlns:jsp="http://www.java.com/jsp" xmlns:db="http://www.wap-force.com/dbforms"><!--Automatically generated by module_scripts_create.x (SuperX)-->
<head xmlns:sx="http://memtext.de">
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta content="0" http-equiv="expires">
<LINK href="/superx/style/superx.css" type="text/css" REL="stylesheet">
<LINK href="/superx/xml/superxml_html.css" type="text/css" REL="stylesheet">
<LINK href="/superx/xml/maske_html.css" type="text/css" REL="stylesheet">
<LINK href="/superx/style/dbforms_40.css" type="text/css" REL="stylesheet">
<!--<LINK href="/superx/style/bulma.css" type="text/css" REL="stylesheet">-->
<title>Maske Diagrammentwurf bearbeitet</title>
<script type="text/javascript">
var djConfig = {isDebug: false };
//djConfig.debugAtAllCosts = true;
</script><script src="/superx/xml/js/dojo/dojo.js" type="text/javascript">&nbsp;</script><script type="text/javascript">
dojo.require("dojo.widget.Dialog");
dojo.require("dojo.widget.Button");
dojo.require("dojo.widget.Tooltip");
dojo.require("dojo.string.common");
dojo.hostenv.writeIncludes();
</script><script src="/superx/xml/js/memtext/dbforms.js" type="text/javascript">&nbsp;</script>
<db:base/>
</head>
<script language="javascript"
src=<%= "\"" +request.getContextPath() + "/dbformslib/jscal/calendar.js\""%>>
</script>
<script language="Javascript">
async function ManagerCacheRefresh()
{
const url="../../sxrest/managercache_refresh";
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`Serverantwort: ${response.status}`);
}
const cacheStatus = await response.text();
document.getElementById("ManagerCacheStatus").innerHTML = cacheStatus;
} catch (error) {
document.getElementById("ManagerCacheStatus").innerHTML = error.message;
}
}
</script>
<body class="clsPageBody"><%@ page import ="java.util.Hashtable" %>
<%
//HttpSession session=request.getSession(true);
if (request.getCharacterEncoding() == null)
request.setCharacterEncoding("UTF-8");
Object userobject=request.getSession().getAttribute("UserID");
String userid;
String filter="";
String sql="";
if(userobject == null)
{
%>
<jsp:forward page="/edit/not_authenticated.htm"/>
<%
}
else
userid=userobject.toString();
Object mandantobject=request.getSession().getAttribute("MandantenID");
String mandantenid="";
if(mandantobject != null)
mandantenid=mandantobject.toString();
//der superx-Default-Mandant ist bei dbforms ein Leerstring
if(mandantenid.equals("default"))
mandantenid="";
String db_form_name="viz_chart";
String erlaubt="0";
%>
<%@ include file="/edit/check_authentication.inc" %>
<%
if(erlaubt.equals("0"))
{
%>
<jsp:forward page="/edit/not_authorized.htm"/>
<%
}
String keyfieldsused="false";
Object kf=request.getParameter("keyfieldsused");
if(kf != null)
keyfieldsused=kf.toString();
%>
<div style="margin: 0px; padding: 0px; overflow: hidden; width: 100%;" id="menuCaption">
<span class="menuCaptionTitle" id="menuCaptionTitle">Diagrammenwurf bearbeitet. </span><img border="0" height="18px" alt="Erl&auml;uterung" src="/superx/images/information.svg"><span style="display:none" connectId="menuCaption" dojoType="tooltip">In diesem Formular k&ouml;nnen Sie Diagramme verwalten.</span>
</div>
<p align="center">Diagramm wurde angelegt. Bitte leeren Sie den <button class="button is-small has-tooltip-multiline has-tooltip-right" data-tooltip="Grafiken werden gecacht."
onClick="ManagerCacheRefresh();">Cache</button>, danach können Sie das Fenster schließen.
<br /> <span id="ManagerCacheStatus"></span> </p>
</body>
</html>

53
superx/xml/js/viz/viz_assistent.js

@ -661,6 +661,12 @@ function resetChartPropertiesForm(chosenRenderer)
myDiv.style.display="block"; myDiv.style.display="block";
else else
myDiv.style.display="none"; myDiv.style.display="none";
if(chosenRenderer=="plot")
document.getElementById("fldChartTypeSelection").style="display:block;";
else
document.getElementById("fldChartTypeSelection").style="display:none;";
createChartElementConfig1Form(chosenRenderer,null); createChartElementConfig1Form(chosenRenderer,null);
return true; return true;
} }
@ -1027,8 +1033,10 @@ function renderTreeInput(chartProperty,inputId, previousValue)
zs+="></input></span>"; zs+="></input></span>";
break; break;
case "COLOR": case "COLOR":
zs="&nbsp;<span class=\"field\"><input type=\"color\" " +styleAttr+" id=\""+inputId+"\" name=\""+inputId+"\""; zs="&nbsp;<span class=\"field\"><input type=\"text\"" +styleAttr+"size=\"6\" id=\""+inputId+"\" name=\""+inputId+"\"";
zs+=" value=\""+previousValue +"\" onChange=\"treeInputOnchange('chartDiv',myChartModel);\">"; zs+=" value=\""+previousValue +"\" onChange=\"treeInputOnchange('chartDiv',myChartModel);\" /></span>";
zs+="&nbsp;<input type=\"color\" " +styleAttr+" id=\"colorpicker"+inputId+"\" ";
zs+=" onChange=\"changeColorWithColorPicker(this,'"+inputId+"');treeInputOnchange('chartDiv',myChartModel);\">";
zs+="</input></span>"; zs+="</input></span>";
break; break;
default: default:
@ -1037,6 +1045,10 @@ function renderTreeInput(chartProperty,inputId, previousValue)
} }
return zs; return zs;
} }
function changeColorWithColorPicker(colorpickerInput,targetInputid)
{
document.getElementById(targetInputid).value=colorpickerInput.value;
}
function getTreeInputSelectOptions(myValues,selectedValue,isMandatory) function getTreeInputSelectOptions(myValues,selectedValue,isMandatory)
{ {
var zs=""; var zs="";
@ -1682,11 +1694,40 @@ var mySrcDiv=document.getElementById("chartModelsrc");
mySrcDiv.style.display="none"; mySrcDiv.style.display="none";
else else
mySrcDiv.style.display="block"; mySrcDiv.style.display="block";
}
function showLoadMenu()
{
mySelect=document.getElementById("viz_chart_id_load");
fillVizChartSelectOptions(mySelect);
var myLoadDiv=document.getElementById("loadMenu");
if(myLoadDiv.style.display=="block")
myLoadDiv.style.display="none";
else
myLoadDiv.style.display="block";
}
function loadVizChartDef()
{
loadVizChartSrcCode(document.getElementById('viz_chart_id_load').value,document.getElementById('viz_chart_variant_load').value);
loadChartModelCode('chartModelSrcCode','chartDiv');
} }
function loadVizChartSrcCode(vizChartTid,chartVariant)
{
zs="Kein quellcode verfügbar";
for(var i=0; i < vizCharts.length ; i++){
if(vizCharts[i].tid==vizChartTid)
{
zs=vizCharts[i].chartmodel.replace(/§/g,"\"");
}
}
var myCodeDiv= document.getElementById("chartModelSrcCode");
myCodeDiv.innerHTML=zs;
myCodeDiv.value=zs;
}
function showChartCode() function showChartCode()
{ {
var mySrcDiv=document.getElementById("chartCodeTextAreaDiv"); var mySrcDiv=document.getElementById("chartCodeTextAreaDiv");
@ -1764,7 +1805,7 @@ var ergtabelle=document.getElementById(mydiv);
selection.removeAllRanges(); selection.removeAllRanges();
} }
function showLoadSaveDialog(myDiv) function showVizChartSaveDialog(myDiv)
{ {
var myLoadSaveDialog= document.getElementById(myDiv); var myLoadSaveDialog= document.getElementById(myDiv);
if(myLoadSaveDialog.style.display=="block") if(myLoadSaveDialog.style.display=="block")
@ -1772,6 +1813,11 @@ var myLoadSaveDialog= document.getElementById(myDiv);
else else
myLoadSaveDialog.style.display="block"; myLoadSaveDialog.style.display="block";
mySelect=document.getElementById("viz_chart_id"); mySelect=document.getElementById("viz_chart_id");
fillVizChartSelectOptions(mySelect);
}
function fillVizChartSelectOptions(mySelect)
{
var zs=""; var zs="";
for(var i=0; i < vizCharts.length ; i++){ for(var i=0; i < vizCharts.length ; i++){
if(vizCharts[i].maskeninfo_id==currentMaskeninfoId if(vizCharts[i].maskeninfo_id==currentMaskeninfoId
@ -1784,6 +1830,7 @@ var myLoadSaveDialog= document.getElementById(myDiv);
mySelect.innerHTML=zs; mySelect.innerHTML=zs;
} }
function openVizChartDBForm(tid) function openVizChartDBForm(tid)
{ {
if(tid==null || tid=="") if(tid==null || tid=="")

314
superx/xml/js/viz/viz_viewer.js

@ -173,6 +173,7 @@ function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel)
break; break;
case "echarts_bar_y_series": case "echarts_bar_y_series":
case "echarts_line_y_series": case "echarts_line_y_series":
var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","stroke"); var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","stroke");
var seriesSelectionLine=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"series_selection_line"); var seriesSelectionLine=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"series_selection_line");
var seriesSelectionColumn=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"series_selection_column"); var seriesSelectionColumn=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"series_selection_column");
@ -1480,7 +1481,103 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl
if(chartTitle=="") if(chartTitle=="")
titleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"caption"); titleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"caption");
var myDataset=fillEchartsDataSet(rs[ergebniselementOrdnr],rsColumnMetaData[ergebniselementOrdnr],currentChartModel); var myDataset=fillEchartsDataSet(rs[ergebniselementOrdnr],rsColumnMetaData[ergebniselementOrdnr],currentChartModel);
if(chartType=="echarts_native_interactive")
{
var option;
myDataset=fillEchartsDataSetSeries(rs[ergebniselementOrdnr],rsColumnMetaData[ergebniselementOrdnr],"fibu_cifx_geldgebergruppe","2,3,4,5,6,7,8","3,4,5,6,7,8");
//myDataset={source: pivotTable(rs[ergebniselementOrdnr],rsColumnMetaData[ergebniselementOrdnr],) };
//option=getEchartOptionsNative(currentChartModel,myDataset,titleText);
setTimeout(function () {
option = {
legend: {top:"bottom"},
tooltip: {
trigger: 'axis',
showContent: false
},
dataset: myDataset,
xAxis: { type: 'category' },
yAxis: { gridIndex: 0 },
grid: { top: '55%' },
series: [
{
type: 'line',
smooth: true,
seriesLayoutBy: 'row',
emphasis: { focus: 'series' } //,
//encode:{"x":"fibu_cifx_geldgebergruppe","y":"jahr_minus_4"}
},
{
type: 'line',
smooth: true,
seriesLayoutBy: 'row',
emphasis: { focus: 'series' } //,
//encode:{"x":"fibu_cifx_geldgebergruppe","y":"jahr_minus_3"}
},
{
type: 'line',
smooth: true,
seriesLayoutBy: 'row',
emphasis: { focus: 'series' } //,
//encode:{"x":"fibu_cifx_geldgebergruppe","y":"jahr_minus_3"}
},
{
type: 'line',
smooth: true,
seriesLayoutBy: 'row',
emphasis: { focus: 'series' } //,
//encode:{"x":"fibu_cifx_geldgebergruppe","y":"jahr_minus_3"}
},
{
type: 'line',
smooth: true,
seriesLayoutBy: 'row',
emphasis: { focus: 'series' } //,
//encode:{"x":"fibu_cifx_geldgebergruppe","y":"jahr_minus_3"}
},
{
type: 'pie',
id: 'pie',
radius: '30%',
center: ['50%', '25%'],
emphasis: {
focus: 'self'
},
label: {
formatter: '{b}: {@2020} ({d}%)'
//formatter: '{c}'
},
encode: {
itemName: 'Geldgebergruppe',
value: '2020',
tooltip: '2020'
}
}
]
};
myChart.on('updateAxisPointer', function (event) {
const xAxisInfo = event.axesInfo[0];
if (xAxisInfo) {
const dimension = xAxisInfo.value + 1;
console.log("DIM "+dimension);
myChart.setOption({
series: {
id: 'pie',
label: {
formatter: '{b}: {@[' + dimension + ']} ({d}%)'
},
encode: {
value: dimension,
tooltip: dimension
}
}
});
}
});
myChart.setOption(option);
});
}
else
{
var option; var option;
switch (chartType) switch (chartType)
{ {
@ -1516,6 +1613,7 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl
myChart.setOption(option); myChart.setOption(option);
}
} }
/* /*
function determineChartSkeleton(datasourceDef,ergebniselementOrdnr) function determineChartSkeleton(datasourceDef,ergebniselementOrdnr)
@ -1580,6 +1678,7 @@ function getEchartOptionsBarLine(currentChartModel,myDataset,chartType,titleText
var scheme = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"schemeArray"); var scheme = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"schemeArray");
var singleColor = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"singleColor"); var singleColor = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"singleColor");
var myPalette=getPaletteArray(scheme,singleColor); var myPalette=getPaletteArray(scheme,singleColor);
var chartType=chartTypes[1];
var orientation=chartTypes[2]; var orientation=chartTypes[2];
var measure1Axis="y"; var measure1Axis="y";
var dimension1Axis="x"; var dimension1Axis="x";
@ -1594,15 +1693,12 @@ if(orientation=="x")
xAxisType="value"; xAxisType="value";
} }
var subtitleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"subtitle");
//var measure1Fldname=getChartPropertyValue(currentChartModel.chartPropertiesUsed,measure1Axis); //var measure1Fldname=getChartPropertyValue(currentChartModel.chartPropertiesUsed,measure1Axis);
var measure1Fldname=getChartElementPropertyValueFromModel(currentChartModel,1,measure1Axis);
var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,1,dimension1Axis); var seriesArray=getEchartSeriesArray(currentChartModel,chartType,orientation,dimension1Axis,measure1Axis,myPalette);
//var dimension1Fldname=getChartPropertyValue(currentChartModel.chartPropertiesUsed,dimension1Axis); //var dimension1Fldname=getChartPropertyValue(currentChartModel.chartPropertiesUsed,dimension1Axis);
var subtitleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"subtitle");
var encodeObj={x:dimension1Fldname,y:measure1Fldname};
if(orientation=="x")
encodeObj={y:dimension1Fldname,x:measure1Fldname};
var option = { var option = {
dataset: myDataset, dataset: myDataset,
@ -1612,7 +1708,13 @@ if(orientation=="x")
config: { dimension: "dim_studiengang_fb", order: 'asc' } config: { dimension: "dim_studiengang_fb", order: 'asc' }
} }
,*/ ,*/
title: { legend: {
show: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"legendShow")=="false")?false:true, //true
type: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"legend.scroll")=="false")?"plain":"scroll",
top:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"legend.top"),
left:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"legend.left")
},
title: {
text: titleText, text: titleText,
subtext: subtitleText, subtext: subtitleText,
left: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"title.left"), //"center", left: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"title.left"), //"center",
@ -1624,7 +1726,7 @@ if(orientation=="x")
fontSize: 15 fontSize: 15
} }
}, },
grid: { grid: {
top: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"margin.top")+"%", top: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"margin.top")+"%",
bottom: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"margin.bottom")+"%", bottom: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"margin.bottom")+"%",
left: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"margin.left")+"%", left: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"margin.left")+"%",
@ -1674,44 +1776,68 @@ if(orientation=="x")
} }
}, },
series: [ series: seriesArray,
{ color:myPalette
type: chartTypes[1], //bar,line };
encode: encodeObj, return option;
barWidth: '30%',
showBackground: true, }
backgroundStyle: { function getEchartSeriesArray(currentChartModel,chartType,orientation,dimension1Axis,measure1Axis,myPalette)
color: '#dfe4f2' {
}, var seriesArray= new Array();
margin: 50, for(var k=0;k < currentChartModel.chartElements.length;k++) {
fontSize: 14,
//colorBy: 'data', var measure1Fldname=getChartElementPropertyValueFromModel(currentChartModel,k+1,measure1Axis);
color: myPalette, var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,k+1,dimension1Axis);
lineStyle: { var encodeObj={x:dimension1Fldname,y:measure1Fldname};
width: 7 var datasource=currentChartModel.dataSources[0].value;
var measureCaption=getMetadataOfVizTypeProperty(rsColumnMetaData[datasource],measure1Fldname);
if(orientation=="x")
encodeObj={y:dimension1Fldname,x:measure1Fldname};
var mySeriesObj={
type: chartType, //bar,line,
name:measureCaption,
smooth: true,
encode: encodeObj,
stack:(getChartPropertyValue(currentChartModel.chartPropertiesUsed,"barStacked")=="false")?"":"myStack",
barWidth: '30%',
showBackground: true,
backgroundStyle: {
color: '#dfe4f2'
},
margin: 50,
fontSize: 14,
colorBy: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"seriesColorBy"),//'series',// 'data',
//color: myPalette,
lineStyle: {
width: 7
}, },
label: { label: {
show: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"valueLabelShow")=="false")?false:true, //true show: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"valueLabelShow")=="false")?false:true, //true
fontWeight:'bolder', fontWeight:'bolder',
/*distance:10,*/ fontSize: 14,
/* offset:[30, 40]*/ distance:30,
//offset:[30, 40],
// position:"bottom",
/*labelLayout:{}*/ /*labelLayout:{}*/
distance:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"distance_valueLabel"), //10,
position:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"position_valueLabel"), //"bottom", position:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"position_valueLabel"), //"bottom",
formatter: function (params) { offset: getOffsetValuelabelArray(getChartPropertyValue(currentChartModel.chartPropertiesUsed,"offset_x_valueLabel"),
getChartPropertyValue(currentChartModel.chartPropertiesUsed,"offset_y_valueLabel")),
formatter: function (params) {
return params.value[params.dimensionNames[params.encode.y[0]]].toLocaleString() return params.value[params.dimensionNames[params.encode.y[0]]].toLocaleString()
} }
}, },
labelLayout(params) { labelLayout(params) {
return getLabelLayout(chartTypes[1],params,orientation) return getLabelLayout(chartType,params,orientation)
} }
} };
], seriesArray.push(mySeriesObj);
color:myPalette }
}; return seriesArray;
return option;
} }
@ -1830,6 +1956,20 @@ return option;
} }
function getOffsetValuelabelArray(xOffset,yOffset)
{
var offsetArray= new Array();
if(xOffset!="")
offsetArray[0]=+xOffset; //String to INT
else
offsetArray[0]=0;
if(yOffset!="")
offsetArray[1]=+yOffset;
else
offsetArray[1]=0;
return offsetArray;
}
/* Labels bei Balkendiagramm je nach Orientierung /* Labels bei Balkendiagramm je nach Orientierung
- horizontal: rechts neben Balken - horizontal: rechts neben Balken
- vertikal: zentriert im Balken - vertikal: zentriert im Balken
@ -1976,7 +2116,7 @@ function getChartPropertyValue(propArray,propName)
function getChartElementPropertyValueFromModel(myChartModel,elemID,propUniquename) function getChartElementPropertyValueFromModel(myChartModel,elemID,propUniquename)
{ {
var elemID="1"; //var elemID="1";
var retVal=null; var retVal=null;
var myChartElem=null; var myChartElem=null;
if(myChartModel.chartElements && elemID !=null) if(myChartModel.chartElements && elemID !=null)
@ -2338,58 +2478,36 @@ function getPaletteArray(schemeName,singleColor)
var schemeArray=new Array(); var schemeArray=new Array();
if(singleColor=="") if(singleColor=="")
{ {
switch (schemeName) { if(schemeName=="")
case "abgrp": schemeName="D3_Tableau10"; //Default
/*Bachelor: BA blau #374ca und 80 % , LA BA #5e70ba var srcScheme=vizColorSchemes.find(sc => sc.uniquename == schemeName);
Master: #64a6d9 #8cb7e1 if(!srcScheme.specifier || srcScheme.specifier=="")
Promotion: #7aa2ba {
Sonstige: #98b4c9*/
schemeArray=['#374ca','#5e70ba','#64a6d9','#8cb7e1','#7aa2ba','#98b4c9','#ff933e']; var counter=0;
break; var firstColorCode="";
case "fak": for (let j = 0; j < vizColorSchemeElements.length; j++) {
schemeArray=['#488a7c','#374ca9','#ffd705','#a68eca','#e84035','#64a6d9','#ff933e','#ee79ad','#7aa2ba','#c3df35','#9bceab','#782f88','#96BFFF']; if(vizColorSchemeElements[j].colorscheme_uniquename == schemeName)
break;
case "unique":
schemeArray=['#004c93'];
break;
case "dichotom":
schemeArray=['rgb(97,162,124)','#c3df35','#9d96f5','#e7bcf3'];
break;
case "quadroColor":
schemeArray=['#374ca9','#5e70ba','#8794cb','#afb7dc'];
break;
case "blandLocalized":
myBland=9;
for(var j=0;j < 17;j++)
{ {
if(j==myBland) if(firstColorCode=="")
schemeArray[j]='#004c93'; firstColorCode=vizColorSchemeElements[j].colorcode;
else schemeArray[counter]=vizColorSchemeElements[j].colorcode;
schemeArray[j]='#666666'; counter++;
} }
break;
case "colorGrades": }
//cooles Tool:https://mdigi.tools/lighten-color/ in 7% Schritten heller //vizColorSchemeElements.find(el => el.colorscheme_uniquename == schemeName);
schemeArray=['#374ca9','#3c53b8','#455cc3','#556ac8','##6477cc','#7384d1','#8291d6','#919fdb','#a0ace0','#afb9e5','#bec6ea','#cdd4ef','#dce1f4','#eceef9','#f4f6fb','#f6f7fc']; if(schemeArray.length==0)
break; {
default: schemeArray[0]=firstColorCode;
schemeArray=[
'#ec7206',
'#61a27c',
'#b8103b',
'#feca00',
'#FFDB5C',
'#ff9f7f',
'#fb7293',
'#E062AE',
'#E690D1',
'#e7bcf3',
'#9d96f5',
'#8378EA',
'#96BFFF'
];
break;
} }
}
else
{
//D3 specifier:
schemeArray=colorSpecifierToArray(srcScheme.specifier);
}
} }
else else
{ {
@ -2398,7 +2516,7 @@ Sonstige: #98b4c9*/
return schemeArray; return schemeArray;
} }
function openDashboardTab(tabnr,maskennr,optional_filter_name,optional_filter_value,myOptionalFilters) function openDashboardTab(tabnr,maskennr,originalStylesheet,optional_filter_name,optional_filter_value,myOptionalFilters)
{ {
var myForm=document.forms["Weiterverarbeitung"]; var myForm=document.forms["Weiterverarbeitung"];
myForm.elements["tid"].value=maskennr; myForm.elements["tid"].value=maskennr;
@ -2409,6 +2527,16 @@ if(myForm.elements["Booklet-Stylesheet"])
{ {
myForm.elements["Booklet-Stylesheet"].value=""; myForm.elements["Booklet-Stylesheet"].value="";
} }
if(myForm.elements["tablestylesheet"])
{
myForm.elements["tablestylesheet"].value=originalStylesheet;
}
if(myForm.elements["stylesheet"])
{
myForm.elements["stylesheet"].value=originalStylesheet;
}
myForm.elements["contenttype"].value="text/html";
if(myOptionalFilters.length>0) if(myOptionalFilters.length>0)
{ {
for(var j=0;j < myOptionalFilters.length;j++) for(var j=0;j < myOptionalFilters.length;j++)
@ -2619,3 +2747,11 @@ function pivotTable(rsData,rsMetaData,srcColNrStart)
*/ */
return rsDataPivot; return rsDataPivot;
} }
/* color schemes from d3js */
function colorSpecifierToArray(specifier) {
var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;
while (i < n) colors[i] = "#" + specifier.slice(i * 6, ++i * 6);
return colors;
}

207
superx/xml/viz_components.xsl

@ -534,13 +534,87 @@ vizPropertyTreeNodes.push(newVizPropertyTreeNode);
var currentMaskeninfoId=</xsl:text><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id" /><xsl:text>; var currentMaskeninfoId=</xsl:text><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id" /><xsl:text>;
function vizColorScheme(tid,
uniquename,
caption,
specifier)
{
this.tid=tid;
this.uniquename=uniquename;
this.caption=caption;
this.specifier=specifier;
}
var vizColorSchemes=[];
</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/vizColorSchemes/vizColorscheme">
<xsl:text>
var myColorScheme = new vizColorScheme("</xsl:text>
<xsl:value-of select="@tid" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@caption" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@specifier" />
<xsl:text>");
vizColorSchemes.push(myColorScheme);
</xsl:text>
</xsl:for-each>
<xsl:text>
function vizColorSchemeElement(colorscheme_id,
colorscheme_uniquename,
colorcode,
target_uniquename,
sortnr)
{
this.colorscheme_id=colorscheme_id;
this.colorscheme_uniquename=colorscheme_uniquename;
this.colorcode=colorcode;
this.target_uniquename=target_uniquename;
this.sortnr=sortnr;
}
var vizColorSchemeElements=[];
</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/vizColorSchemeElements/vizColorschemeElem">
<xsl:text>
var myVizColorSchemeElement = new vizColorSchemeElement("</xsl:text>
<xsl:value-of select="@colorscheme_id" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@colorscheme_uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@colorcode" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@target_uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@sortnr" /><xsl:text>"
);
vizColorSchemeElements.push(myVizColorSchemeElement);
</xsl:text>
</xsl:for-each>
<xsl:text>
function vizChart(tid, function vizChart(tid,
uniquename, uniquename,
caption, caption,
renderer, renderer,
renderer_id, renderer_id,
maskeninfo_id, maskeninfo_id,
userinfo_id) userinfo_id,
chartmodel,
chartmodel_miniature
)
{ {
this.tid=tid; this.tid=tid;
this.uniquename=uniquename; this.uniquename=uniquename;
@ -549,6 +623,8 @@ this.renderer=renderer;
this.renderer_id=renderer_id; this.renderer_id=renderer_id;
this.maskeninfo_id=maskeninfo_id; this.maskeninfo_id=maskeninfo_id;
this.userinfo_id=userinfo_id; this.userinfo_id=userinfo_id;
this.chartmodel=chartmodel;
this.chartmodel_miniature=chartmodel_miniature;
} }
var vizCharts=[]; var vizCharts=[];
@ -569,6 +645,10 @@ var newVizChart = new vizChart(</xsl:text>
<xsl:value-of select="@maskeninfo_id" /> <xsl:value-of select="@maskeninfo_id" />
<xsl:text>","</xsl:text> <xsl:text>","</xsl:text>
<xsl:value-of select="@userinfo_id" /> <xsl:value-of select="@userinfo_id" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@chartmodel" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@chartmodel_miniature" />
<xsl:text>"); <xsl:text>");
vizCharts.push(newVizChart); vizCharts.push(newVizChart);
</xsl:text> </xsl:text>
@ -1237,6 +1317,8 @@ Platzhalter
<xsl:template name="renderTableDialogs" > <xsl:template name="renderTableDialogs" >
<xsl:param name="ergebniselementOrdnr" select="0" /> <xsl:param name="ergebniselementOrdnr" select="0" />
<xsl:param name="stylesheet" select="'tabelle_html_viz.xsl'" /> <xsl:param name="stylesheet" select="'tabelle_html_viz.xsl'" />
<xsl:param name="collapsible" select="'false'" />
<xsl:variable name="maskentid"> <xsl:variable name="maskentid">
<xsl:choose> <xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'"> <xsl:when test="/ergebnisse/@isMakro='true'">
@ -1295,7 +1377,7 @@ Platzhalter
<xsl:choose> <xsl:choose>
<xsl:when test="$feldname='##line##'"> <xsl:when test="$feldname='##line##' or $feldname='Dashboard'">
<!-- do nothing--> <!-- do nothing-->
</xsl:when> </xsl:when>
<xsl:when test="$showFieldValueInLegend='false' or $feldname='tablestylesheet' or $feldname='Grafik' or $feldname='Spaltenlayout' or $feldart='0' or $feldart='13'"> <xsl:when test="$showFieldValueInLegend='false' or $feldname='tablestylesheet' or $feldname='Grafik' or $feldname='Spaltenlayout' or $feldart='0' or $feldart='13'">
@ -1633,7 +1715,8 @@ Platzhalter
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row [col[f_name='wert']/wert !='']"> <xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row [col[f_name='wert']/wert !='']">
<div class="column"> <div class="column">
<span style="font-size:2rem;font-weight:bolder"><xsl:value-of select="col[f_name='wert']/wert"/></span><br /> <span style="font-size:2rem;font-weight:bolder"><xsl:value-of select="col[f_name='wert']/wert"/></span><br />
<span style="font-size:1rem;font-weight:bolder;color:red"><xsl:value-of select="col[f_name='kennz']/wert"/></span> <!--<span style="font-size:1rem;font-weight:bolder;color:red"><xsl:value-of select="col[f_name='kennz']/wert"/></span>-->
<span style="font-size:1rem;font-weight:bolder;color:#C00000;"><xsl:value-of select="col[f_name='kennz']/wert"/><xsl:text> (</xsl:text><xsl:value-of select="../../../felder/feld [@varname='Bis Semester']/value_caption"/><xsl:text>)</xsl:text></span>
</div> </div>
</xsl:for-each> </xsl:for-each>
<div class="column"><p align="right"> <div class="column"><p align="right">
@ -1712,6 +1795,9 @@ Platzhalter
<xsl:param name="optional_filter_name" select="''" /> <xsl:param name="optional_filter_name" select="''" />
<xsl:param name="optional_filter_value" select="''" /> <xsl:param name="optional_filter_value" select="''" />
<xsl:variable name="originalStylesheet">
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr=0]/felder/feld[@varname='tablestylesheet']/value"/>
</xsl:variable>
<xsl:choose> <xsl:choose>
<xsl:when test="$currentTabNr=$tabNr"> <xsl:when test="$currentTabNr=$tabNr">
<li data-target="{concat('pane-',$tabNr)}" id="{concat('tab-',$tabNr)}" style="" ><!----> <li data-target="{concat('pane-',$tabNr)}" id="{concat('tab-',$tabNr)}" style="" ><!---->
@ -1724,7 +1810,7 @@ Platzhalter
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<li data-target="{concat('pane-',$tabNr)}" id="{concat('tab-',$tabNr)}" style="" ><!--background-color:#ddefff;--> <li data-target="{concat('pane-',$tabNr)}" id="{concat('tab-',$tabNr)}" style="" ><!--background-color:#ddefff;-->
<a onclick="{concat('openDashboardTab(',$tabNr,',',$targetMaskennummer,',',$quote,$optional_filter_name,$quote,',',$quote,$optional_filter_value,$quote,',optionalFilters);')}"> <a onclick="{concat('openDashboardTab(',$tabNr,',',$targetMaskennummer,',',$quote,$originalStylesheet,$quote,',',$quote,$optional_filter_name,$quote,',',$quote,$optional_filter_value,$quote,',optionalFilters);')}">
<xsl:call-template name="tabHeaderSpan"> <xsl:call-template name="tabHeaderSpan">
<xsl:with-param name="textcontent" select="$textcontent"/> <xsl:with-param name="textcontent" select="$textcontent"/>
@ -1807,6 +1893,13 @@ td.integer {
border: thin solid gray; border: thin solid gray;
font-size:1.5em; font-size:1.5em;
} }
table td.decimal {
empty-cells: show;
vertical-align: top;
border: thin solid gray;
font-size:1.5em;
}
</style> </style>
<xsl:call-template name="nd_singleTable"> <xsl:call-template name="nd_singleTable">
@ -1914,7 +2007,35 @@ td.integer {
</xsl:template> </xsl:template>
<xsl:template name="vizSidebar" > <xsl:template name="vizSidebar" >
<xsl:param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" /> <xsl:param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" />
<xsl:param name="collapsible" select="'true'" />
<style>
.card-content {
border: thin solid hsl(0, 0%, 71%);
border-radius: 0.3rem !important;
padding-right:20%
}
.vizLabel-container {
display: flex;
background: inherit;
min-width: 13.5rem;
}
.label.is-small { width: 100%; } /*einheitliche Labelbreite*/
.button { font-weight: bold; }
/* Tooltip-Farbe */
[data-tooltip]:not(.is-disabled).has-tooltip-bottom::before,
[data-tooltip]:not(.is-loading).has-tooltip-bottom::before,
[data-tooltip]:not([disabled]).has-tooltip-bottom::before {
background-color: #a6a6a6ff; /*#333;*/
color: white;
}
</style>
<xsl:choose>
<xsl:when test="$collapsible='true'">
<style> <style>
.fixed-right-buttons { .fixed-right-buttons {
@ -1953,31 +2074,26 @@ td.integer {
z-index: 700; /*für Anzeige über Content*/ z-index: 700; /*für Anzeige über Content*/
} }
.card-content {
border: thin solid hsl(0, 0%, 71%);
border-radius: 0.3rem !important;
padding-right:20%
}
.vizLabel-container {
display: flex;
background: inherit;
min-width: 13.5rem;
}
.label.is-small { width: 100%; } /*einheitliche Labelbreite*/
.button { font-weight: bold; } </style>
<script>
function toggleSideBarDiv(mySidebarDivId)
{
var myDiv=document.getElementById(mySidebarDivId);
if(myDiv.style.display=="block")
{
myDiv.style.display="none";
myDiv.classList.remove("sidebar");
}
else
{
myDiv.style.display="block";
myDiv.classList.add("sidebar");
}
/* Tooltip-Farbe */ }
[data-tooltip]:not(.is-disabled).has-tooltip-bottom::before, </script>
[data-tooltip]:not(.is-loading).has-tooltip-bottom::before,
[data-tooltip]:not([disabled]).has-tooltip-bottom::before {
background-color: #a6a6a6ff; /*#333;*/
color: white;
}
</style>
<xsl:call-template name="vizSideBarButtons" /> <xsl:call-template name="vizSideBarButtons" />
<div class="column"> <div class="column">
@ -2004,6 +2120,18 @@ td.integer {
</div> </div>
</div> </div>
</xsl:when>
<xsl:otherwise>
<!--<xsl:call-template name="vizSideBarButtons" />-->
<div class="column">
<xsl:call-template name="renderTableDialogs" >
<xsl:with-param name="stylesheet" select="$stylesheet" />
<xsl:with-param name="collapsible" select="$collapsible" />
</xsl:call-template>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template> </xsl:template>
<xsl:template name="erlaeuterung"> <xsl:template name="erlaeuterung">
@ -2393,4 +2521,31 @@ vertical-align:center;
<xsl:template name="getChartCollapsibleHeading"> <xsl:template name="getChartCollapsibleHeading">
<xsl:text>Diagramm</xsl:text> <xsl:text>Diagramm</xsl:text>
</xsl:template> </xsl:template>
<xsl:template name="vizGridTitle" >
<xsl:param name="icon_classname" />
<xsl:variable name="gridtitle_felderinfo_id">
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row/col[f_name='hiddengridtitle_felderinfo_id']/wert" />
</xsl:variable>
<xsl:variable name="selectedName">
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr=0]/felder/feld[@tid=$gridtitle_felderinfo_id]/value_caption" />
</xsl:variable>
<div id="nd_pagetitle">
<p class="title is-4">
<xsl:call-template name="renderIconIfExists">
<xsl:with-param name="classname" select="$icon_classname" />
<xsl:with-param name="context" select="'normal'" />
</xsl:call-template>
<xsl:choose>
<xsl:when test="$selectedName='keine Einschränkung' or $selectedName=''">
<xsl:value-of select="/ergebnisse/generalinfo/REPORT_HEADING_INSTITUTION"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$selectedName" />
</xsl:otherwise>
</xsl:choose>
</p>
</div>
</xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

85
superx/xml/viz_html_chart.xsl

@ -337,10 +337,21 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<p class="control-new"> <p class="control-new">
<div class="chartName"> <div class="chartName">
<textarea class="textarea is-small" id="chartName" name="chartName" rows="2" cols="20" onChange="updateChartModel();renderChart('chartDiv',myChartModel);"/> <textarea class="textarea is-small" id="chartName" name="chartName" rows="2" cols="20" onChange="updateChartModel();renderChart('chartDiv',myChartModel);"/>
<input type="hidden" id="fldMaskennr">
<xsl:attribute name="value"><xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/@id"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</input>
</div> </div>
</p> </p>
</div> </div>
<xsl:call-template name="Infobutton" />
</div> </div>
</div> </div>
@ -424,11 +435,12 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</p> </p>
<p class="control"> <p class="control">
<button class="button is-small is-info is-inverted is-outlined" onclick="loadChartModelCode('chartModelSrcCode','chartDiv');return false;">Laden</button> <button class="button is-small is-info is-inverted is-outlined" onclick="loadChartModelCode('chartModelSrcCode','chartDiv');return false;">Einspielen</button>
</p> </p>
</div> </div>
<!--<a class="button" onClick="copySrcCode('chartModelSrcCode');">Kopieren</a>--> <!--<a class="button" onClick="copySrcCode('chartModelSrcCode');">Kopieren</a>-->
@ -451,6 +463,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</svg></div> </svg></div>
</div> </div>
<xsl:call-template name="chartLoadMenu" />
<!--Beginn chartCode--> <!--Beginn chartCode-->
<div class="field is-grouped" id="chartCodeDiv" style="display:block"> <div class="field is-grouped" id="chartCodeDiv" style="display:block">
<div class="label-container"> <div class="label-container">
@ -644,10 +658,10 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!-- Aufruf/Anzeige SVG-Quellcode--> <!-- Aufruf/Anzeige SVG-Quellcode-->
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container">
<label class="label is-required is-small"><strong>Grafikdefinition laden/speichern</strong> <label class="label is-required is-small"><strong>Grafikdefinition speichern</strong>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<a <a
onClick="showLoadSaveDialog('showLoadSaveDialogDiv');"> onClick="showVizChartSaveDialog('showLoadSaveDialogDiv');">
<span class="icon"> <span class="icon">
<img src="../images/icons/more.svg" title="Laden" /> <img src="../images/icons/more.svg" title="Laden" />
</span> </span>
@ -662,7 +676,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<div id="showLoadSaveDialogDiv" style="display:none"> <div id="showLoadSaveDialogDiv" style="display:none">
<div class="field is-horizontal"> <div class="field is-horizontal">
<div class="field-label is-normal"> <div class="field-label is-normal">
<label class="label">Grafikdefinition speichern:</label> <label class="label has-tooltip-bottom" data-tooltip="Gafikdefinition, die Sie gerade erstellt haben, in der Datenbank speichern. Sie müssen einen Namen und Schlüssel vergeben, und können entscheiden ob die entworfene Grafik eine Normalansicht ist oder eine Miniatur. Das eigentliche Speichern geschieht im Folgedialog.">Grafikdefinition speichern:</label>
</div> </div>
<div class="field-body"> <div class="field-body">
<div class="field is-narrow"> <div class="field is-narrow">
@ -681,13 +695,22 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<p class="control"> <p class="control">
<a target="nextedit" onclick="openVizChartDBForm(document.getElementById('viz_chart_id').value)"> <a target="nextedit" onclick="openVizChartDBForm(document.getElementById('viz_chart_id').value)">
<img src="../images/pencil.svg" class="svg_icon" border="0" alt="Bearbeiten" title="Bearbeiten" /></a> <img src="../images/pencil.svg" class="svg_icon" border="0" alt="Bearbeiten" title="Aufruf des Formulars um Metadaten zu bearbeiten und zu speichern" /></a>
</p> </p>
</div> </div>
</div> </div>
</div> </div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label"></label>
</div>
<div class="field-body">
<div class="field is-narrow">
<p class="control">(Im nachfolgenden Dialog können Sie weitere Metadaten bearbeiten)</p>
</div>
</div>
</div>
<!--<div class="field"> <!--<div class="field">
@ -771,7 +794,7 @@ Stand: <xsl:value-of select="../stand" /></p>
</xsl:template> </xsl:template>
<xsl:template name="ChartTypeSelection"> <xsl:template name="ChartTypeSelection">
<div class="field"><!-- is-grouped--> <div class="field" id="fldChartTypeSelection"><!-- style="display:none;"-->
<div class="label-container" lang="de"><span class="labelNormal has-tooltip-bottom" data-tooltip="Nur für Grafiktool Plot: Übersicht Grafikelemente, wählen Sie ein Element zum Bearbeiten, oder erzeugen einen neuen Grafikelementtyp. Sie können auch mehrere erzeugen bzw. entfernen mit dem + bzw - Button"> <div class="label-container" lang="de"><span class="labelNormal has-tooltip-bottom" data-tooltip="Nur für Grafiktool Plot: Übersicht Grafikelemente, wählen Sie ein Element zum Bearbeiten, oder erzeugen einen neuen Grafikelementtyp. Sie können auch mehrere erzeugen bzw. entfernen mit dem + bzw - Button">
Grafikelement</span></div> Grafikelement</span></div>
<div class="control"> <div class="control">
@ -789,7 +812,7 @@ Stand: <xsl:value-of select="../stand" /></p>
<img src="../images/plus-circled.svg" width="12" height="12" title="Neues Element anlegen" /> <img src="../images/plus-circled.svg" width="12" height="12" title="Neues Element anlegen" />
</a> </a>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<a onClick="removeChartElementConfig()"> <a onClick="removeChartElementConfig()">
<img src="../images/minus-circled.svg" width="12" height="12" title="Ausgewähltes Element entfernen" /> <img src="../images/minus-circled.svg" width="12" height="12" title="Ausgewähltes Element entfernen" />
</a> </a>
</div> </div>
@ -799,6 +822,7 @@ Stand: <xsl:value-of select="../stand" /></p>
</div><!--ende Feld Grafikelemente--> </div><!--ende Feld Grafikelemente-->
</xsl:template> </xsl:template>
<xsl:template name="chartPropertiesFormPlotD3" > <xsl:template name="chartPropertiesFormPlotD3" >
<div id="ChartElementsDiv" style="display:none" class="box"> <div id="ChartElementsDiv" style="display:none" class="box">
@ -856,4 +880,47 @@ Stand: <xsl:value-of select="../stand" /></p>
<div id="chartPropertiesTreeFormElementsDiv"> </div> <div id="chartPropertiesTreeFormElementsDiv"> </div>
</div> </div>
</xsl:template> </xsl:template>
<xsl:template name="chartLoadMenu">
<div class="field is-grouped">
<div class="label-container">
<label class="label has-tooltip-bottom" data-tooltip="Grafikdefinition aus der Datenbank speichern. Es werden die Grafikdefinitionen angezeigt, die zu der jew. Maskennnummer passen. Sie können entscheiden ob die Miniatur- oder Normalansicht geladen wird. Nach dem Laden sehen Sie direkt eine Vorschau, und wenn Sie oben links auf die Grafikelemente klicken, können Sie die Grafik weiter bearbeiten.">
<strong>Grafikdefinition laden</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<a onClick="showLoadMenu();">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="loadMenu" class="field is-horizontal" style="display:none">
<div class="field-label is-normal">
</div>
<div class="field-body">
<div class="field is-narrow">
<p class="control">
<select class="select" name="viz_chart_id_load" id="viz_chart_id_load"><option>Keine Auswahl möglich</option></select>
</p>
</div>
<div class="field is-narrow">
<p class="control">
<select class="select" name="viz_chart_variant_load" id="viz_chart_variant_load">
<option value="chartmodel">Normalgröße</option>
<option value="chartmodel_miniature">Miniatur</option></select>
</p>
</div>
<div class="field is-narrow">
<p class="control">
<button class="button is-info is-inverted has-tooltip-bottom is-outlined" onclick="loadVizChartDef();return false;"
data-tooltip="Achtung: wenn Sie auf Laden klicken, wird der etwaig vorhandene Grafikentwurf überschrieben!">Laden</button>
</p>
</div>
</div>
</div>
</xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

13
superx/xml/viz_html_chart_viewer_grid.xsl

@ -75,11 +75,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<div id="content" style="padding-left:1rem;padding-top:6rem"> <div id="content" style="padding-left:1rem;padding-top:6rem">
<!--#Template Beginn Seitentitel--> <!--#Template Beginn Seitentitel-->
<xsl:variable name="masken_tid"><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:variable> <xsl:variable name="masken_tid"><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:variable>
<xsl:call-template name="nd_pagetitle" > <xsl:call-template name="vizGridTitle" >
<xsl:with-param name="title" select="$maskenname" />
<xsl:with-param name="subtitle" />
<xsl:with-param name="icon_classname" select="/ergebnisse/menue/eintraege/eintrag[@isMaske='true' and tid=$masken_tid]/css_class" /> <xsl:with-param name="icon_classname" select="/ergebnisse/menue/eintraege/eintrag[@isMaske='true' and tid=$masken_tid]/css_class" />
</xsl:call-template> </xsl:call-template>
<!--#Template Krümelpfad--> <!--#Template Krümelpfad-->
@ -94,12 +91,18 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:with-param name="openModalCardDetail" select="'false'" /> <xsl:with-param name="openModalCardDetail" select="'false'" />
</xsl:call-template> </xsl:call-template>
</div> </div>
<xsl:call-template name="vizSidebar" >
<xsl:with-param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" />
<xsl:with-param name="collapsible" select="'true'" />
</xsl:call-template>
<!-- ohne collapsible zerschießt das Layout:
<xsl:if test="/ergebnisse/ergebnis[@ordnr='0']/felder/feld[@varname='Spaltenanzahl']/value!=0"> <xsl:if test="/ergebnisse/ergebnis[@ordnr='0']/felder/feld[@varname='Spaltenanzahl']/value!=0">
<xsl:call-template name="vizSidebar" > <xsl:call-template name="vizSidebar" >
<xsl:with-param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" /> <xsl:with-param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" />
</xsl:call-template> </xsl:call-template>
</xsl:if> </xsl:if>-->
</div> </div>
</div><!--content--> </div><!--content-->

727
superx/xml/viz_html_chart_viewer_grid_ude2.xsl

@ -0,0 +1,727 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils">
<xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" />
<xsl:import href="nd_templates.xsl" />
<xsl:import href="pageComponents_html.xsl" />
<xsl:import href="viz_components.xsl" />
<!--In diesem Stylesheet können Sie individuelle templates unterbringen,
die in ihrer Präzedenz das normale Stylesheet
pageComponents_html.xsl überragt. -->
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
<!-- wichtig für DOJO!-->
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/>
<xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<!--<xsl:variable name="defaultRenderer" select="'echarts'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" />
-->
<xsl:template match="/">
<xsl:variable name="maskenname">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/name" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html>
<head>
<xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="vizTableCSS" />
<xsl:call-template name="importVizViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<!--#Template Beginn Top-Navigation-->
<!--<xsl:call-template name="viz_navi_top" />-->
<xsl:call-template name="viz_header_dashboard" />
<!--#Template Ende Top-Navigation-->
<!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
<xsl:for-each select="/ergebnisse">
<xsl:call-template name="nd_navi_panel" />
</xsl:for-each>
</xsl:if>
<!--#Template Ende Navigations-Panel Auswertungen-->
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung-->
<xsl:call-template name="nd_progressbar" />
<div id="content" style="padding-left:0rem;padding-top:7.5rem;padding-bottom:0rem;">
<!--#Template Beginn Seitentitel <p class="subtitle is-4" style="color:white;"><xsl:call-template name="nd_legendeHeaderContent" /></p>-->
<xsl:variable name="masken_tid"><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:variable>
<!--<xsl:call-template name="nd_pagetitle" >
<xsl:with-param name="title" select="$maskenname" />
<xsl:with-param name="subtitle" />
<xsl:with-param name="icon_classname" select="/ergebnisse/menue/eintraege/eintrag[@isMaske='true' and tid=$masken_tid]/css_class" />
</xsl:call-template>
-->
<xsl:call-template name="viz_dashboard_pagetitle" />
<!--#Template Krümelpfad-->
<!--<xsl:call-template name="nd_breadcrumb" />-->
<!--#Template Ende Krümelpfad-->
<xsl:call-template name="buildVizMetadata" />
<div class="columns features is-mobile is-left">
<div class="column is-1">
<xsl:call-template name="leadingColumn">
<xsl:with-param name="ergebniselement_ordnr" select="0" />
<xsl:with-param name="colorKey" select="/ergebnisse/ergebnis[@ordnr=0]/felder/feld[@varname='Studiengang']/value" />
<xsl:with-param name="caption" select="/ergebnisse/ergebnis[@ordnr=0]/felder/feld[@varname='Studiengang']/value_caption" />
<xsl:with-param name="showContent" select="'true'" />
</xsl:call-template>
</div>
<div class="column" style="padding-top:0px;margin-top:5px;">
<xsl:variable name="selectedStudiengangName">
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr=0]/felder/feld[@varname='Studiengang']/value_caption" />
</xsl:variable>
<div style="font-size:1.8rem;font-weight:bolder;padding-top:8px;">
<xsl:choose>
<xsl:when test="$selectedStudiengangName='keine Einschränkung'">
<xsl:value-of select="/ergebnisse/generalinfo/REPORT_HEADING_INSTITUTION"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$selectedStudiengangName" />
</xsl:otherwise>
</xsl:choose>
</div>
</div>
</div>
<!--<div class="column" />
</div>-->
<!-- nun Leerzeile:
<div class="columns features is-mobile is-left" style="margin:0px;padding:0px">
<div class="column is-1">&#160;</div>
<div class="column" />
<div class="column" />
</div>-->
<!-- nun der Inhalt: -->
<div class="columns features is-mobile is-left">
<div class="column is-1">
<xsl:call-template name="leadingColumn">
<xsl:with-param name="ergebniselement_ordnr" select="0" />
<xsl:with-param name="colorKey" select="/ergebnisse/ergebnis[@ordnr=0]/felder/feld[@varname='Studiengang']/value" />
<xsl:with-param name="caption" select="''" />
<xsl:with-param name="showContent" select="'false'" />
</xsl:call-template>
</div>
<div class="column" style="padding-top:0px;">
<xsl:call-template name="viz_viewer_grid" >
<xsl:with-param name="openModalCardDetail" select="'false'" />
</xsl:call-template>
</div>
<xsl:call-template name="vizSidebar" >
<xsl:with-param name="stylesheet" select="'viz_html_chart_viewer_grid_ude2.xsl'" />
<xsl:with-param name="collapsible" select="'true'" />
</xsl:call-template>
</div>
</div>
<!-- ende content-->
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
<xsl:call-template name="modalCards" />
</body>
<!-- end body -->
</html>
</xsl:template>
<!-- end main -->
<!--<xsl:template name="vizSidebar" >
<style>
.fixed-right-buttons {
position: fixed;
right: 0.1%; /* Abstand vom rechten Bildschirmrand */
top: 70%; /* Zentriert den Button-Block vertikal */
transform: translateY(-50%); /* Zentrierung anpassen */
display: flex;
flex-direction: column; /* Buttons vertikal anordnen */
gap: 10px; /* Abstand zwischen den Buttons */
z-index: 1000; /* Sicherstellen, dass die Buttons immer sichtbar sind */
padding: 0.7% 0% 0.7% 0%;
}
.inside-buttons { /*20250530 BF ergänzt: wenn sidebar offen*/
display: block;
position: fixed;
top: 70%;
z-index: 700;
left: calc(100vw - 325px - 25px);/* Viewport-Breite minus Sidebar-Breite minus Abstand */
transform: none; /* keine vertikale Zentrierung */
}
/*.card-content {
border: thin solid hsl(0, 0%, 71%);
border-radius: 0.3rem !important;
padding-right:20%
}*/
.sidebar { /*20250523 BF ergänzt*/
position: fixed;
top: 120px; /*Abstand zur oberen Leiste*/
padding-top:2em;
padding-left:0.5em;
padding-right: 1.5em;
right: 0em;
bottom: 0;
width: 325px; /*Breite nach Bedarf */
background: white;
box-shadow: -2px 0 5px rgba(0,0,0,0.1);
overflow-y: auto;
z-index: 700; /*für Anzeige über Content*/
}
.vizLabel-container {
display: flex;
background: inherit;
min-width: 7.5rem;
}
</style>
<xsl:call-template name="vizSideBarButtons" />
<script>
function toggleSideBarDiv(mySidebarDivId)
{
var myDiv=document.getElementById(mySidebarDivId);
if(myDiv.style.display=="block")
{
myDiv.style.display="none";
myDiv.classList.remove("sidebar");
}
else
{
myDiv.style.display="block";
myDiv.classList.add("sidebar");
}
}
</script>
<div class="column">
<div id="mySidebarMaske" class="sidebar" style="display:none;">
<xsl:call-template name="renderTableDialogs" >
<xsl:with-param name="stylesheet" select="'viz_html_chart_viewer_grid_ude2.xsl'" />
</xsl:call-template>
</div>
<div id="mySidebarInfo" class="sidebar" style="display:none;">
<xsl:call-template name="erlaeuterung">
<xsl:with-param name="ergebniselementOrdnr" select="0" />
</xsl:call-template>
</div>
</div>
</xsl:template>-->
<xsl:template name="viz_navi_top">
<nav class="navbar is-fixed-top" style="padding-top:5px" >
<div class="navbar-brand">
<div class="navbar-item" >
<div class="pagetitle">
<p class="title is-3" style="color:white;font-weight:bolder;">Management Cockpit</p>
</div>
</div>
</div>
<div class="navbar-end">
<img src="../images/UDE-logo-claim_white_blue.svg" width="256" height="256" title="UDE. Akademisches Controlling"/>
</div>
</nav>
</xsl:template>
<xsl:template name="viz_header_dashboard">
<xsl:variable name="tabnr" select="/ergebnisse/ergebnis[@ordnr='0']/felder/feld[@varname='Tabnr.']/value" />
<xsl:variable name="bookletStylesheet" select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row[col[f_name='ord']/wert=$tabnr]/col[f_name='hidden_booklet_stylesheet']/wert" />
<xsl:call-template name="viz_navi_top" />
<header style="padding-top:4rem;"> <!--20250222 style eingefügt-->
<div class="hs_header" style="padding-bottom:0px;margin-bottom:0px;">
<div style="padding-bottom:0px;margin-bottom:0px;border-bottom:thin solid black;">
<div class="columns" style="margin:0px; 0px; 0px; 10px;">
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row [col[f_name='wert']/wert !='']">
<div class="column" style="padding-top:0px;padding-bottom:0px;">
<span style="font-size:2rem;font-weight:bolder"><xsl:value-of select="format-number(col[f_name='wert']/wert,'###.###.###.###.###','German')"/></span><br />
<span style="font-size:1rem;font-weight:bolder;color:#C00000;"><xsl:value-of select="col[f_name='kennz']/wert"/><xsl:text> (</xsl:text><xsl:value-of select="../../../felder/feld [@varname='Bis Semester']/value_caption"/><xsl:text>)</xsl:text></span>
</div>
</xsl:for-each>
<div class="column" style="padding-top:0px;padding-bottom:0px;"><div class="buttons-container">
<xsl:if test="$bookletStylesheet!=''">
<a onmouseover="window.status='Export starten';return true" onfocus="window.status='Download starten';return true" onmouseout="window.status='Download starten';return true;" >
<xsl:attribute name="href"><xsl:text>javascript:exportVizBooklet('application/pdf','</xsl:text><xsl:value-of select="$bookletStylesheet"/><xsl:text>');</xsl:text>
</xsl:attribute>
<img title="Ausgabe im PDF-Querformat" alt="Ausgabe im PDF-Querformat" src="../images/icons/UDE-Buttons-PDF-blue.svg" style="width:30px;height:40px" border="0" /></a>
<span class="separator">&#160;</span>
<a onmouseover="window.status='Export starten';return true" onfocus="window.status='Download starten';return true" onmouseout="window.status='Download starten';return true">
<xsl:attribute name="href"><xsl:text>javascript:exportVizBooklet('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','</xsl:text><xsl:value-of select="$bookletStylesheet"/><xsl:text>');</xsl:text>
</xsl:attribute>
<img title="Ausgabe in Excel" alt="Ausgabe in Excel" src="../images/icons/UDE-Button-Excel-blue.svg" style="width:30px;height:40px" border="0" /></a>
<span class="separator">&#160;</span>
<a onmouseover="window.status='Export starten';return true" onfocus="window.status='Download starten';return true" onmouseout="window.status='Download starten';return true">
<xsl:attribute name="href"><xsl:text>javascript:exportVizBooklet('application/vnd.openxmlformats-officedocument.wordprocessingml.document','</xsl:text><xsl:value-of select="$bookletStylesheet"/><xsl:text>');</xsl:text>
</xsl:attribute>
<img title="Ausgabe in Word" alt="Ausgabe in Word" width="25px" height="25px" src="../images/icons/UDE-Button-Word-blue.svg" style="width:30px;height:40px" border="0" /></a>
</xsl:if><!-- wenn JR Stylesheet -->
</div>
<!--<xsl:call-template name="weiterverarbeitungHiddenInputs" >
<xsl:with-param name="formName" select="'Weiterverarbeitung'" />
<xsl:with-param name="ergebniselement_ordnr" select="0" />
</xsl:call-template>-->
</div>
</div>
</div>
<style type="text/css">
.tab-container {
display: flex;
flex-wrap: wrap;
position: relative;
margin-bottom: -7px;
margin-left:5px;
}
.tab { /* 20250711 erweitert*/
min-width: 150px;
max-width: 300px;
width: 20vw; /* responsive Breite */
position: relative;
display: inline-block;
}
.tab-svg { /*20250711 eingefügt*/
width: 100%;
height: auto; /* skalierbar ohne Höhenverzerrung */
aspect-ratio: 200 / 30;
display: block;
}
</style>
<script language="Javascript">
<xsl:text>
var optionalFilters = new Array();
</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row [col[f_name='hidden_optional_filter_name']/wert !='']">
<xsl:variable name="i" select="position()" />
<xsl:text>
optionalFilters[</xsl:text><xsl:value-of select="$i" /><xsl:text>]='</xsl:text>
<xsl:value-of select="./col[f_name='hidden_optional_filter_name']/wert" />
<xsl:text>';
</xsl:text>
</xsl:for-each>
</script>
<div style="display:flex; background-color:#a6a6a6;padding-top:15px; border-bottom: solid thin; border-color:#004c93ff">
<div class="tab-container">
<xsl:variable name="currentTabNr" select="/ergebnisse/ergebnis[@ordnr='0']/felder/feld[@varname='Tabnr.']/value" />
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row">
<xsl:call-template name="tabBox">
<xsl:with-param name="tabNr" select="col[f_name='ord']/wert"/>
<xsl:with-param name="currentTabNr" select="$currentTabNr"/>
<xsl:with-param name="textcontent" select="col[f_name='kennz']/wert"/>
<xsl:with-param name="targetMaskennummer" select="col[f_name='hidden_link_maskeninfo_id']/wert" />
<xsl:with-param name="optional_filter_name" select="col[f_name='hidden_optional_filter_name']/wert" />
<xsl:with-param name="optional_filter_value" select="col[f_name='hidden_optional_filter_value']/wert" />
</xsl:call-template>
</xsl:for-each>
</div><!--Ende grauer Hintergrund der tabs-->
</div>
</div>
</header>
</xsl:template>
<xsl:template name="buildVizMetadata">
<xsl:variable name="vizInitialName">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/name"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!--<xsl:call-template name="navigationsmenue" />-->
<script language="Javascript">
<xsl:text>
var vizInitialName='</xsl:text><xsl:value-of select="$vizInitialName"/><xsl:text>';
function dataRowMetaData(tableId,nr,colname,colcaption,coltype,colfunction)
{
this.tableId=tableId;
this.nr=nr;
this.colname=colname;
this.colcaption=colcaption;
this.coltype=coltype;
this.colfunction=colfunction;
}
function tableMetaData(nr,value,name,isDefault)
{
this.value=value;
this.nr=nr;
this.name=name
this.isDefault=isDefault;
}
var rsTableMetaData=new Array();
var rsColumnMetaData=new Array();
var rs=new Array();
</xsl:text>
</script>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement">
<xsl:call-template name="buildVizData" >
<xsl:with-param name="tableId" select="@ordnr" />
</xsl:call-template>
</xsl:for-each>
</xsl:template>
<xsl:template name="buildVizData">
<xsl:param name="tableId" />
<script language="Javascript">
<xsl:text>
rsTableMetaData.push(new tableMetaData(
</xsl:text>
<xsl:value-of select="position()"/>
<xsl:text>,'</xsl:text>
<xsl:value-of select="$tableId"/>
<xsl:text>','</xsl:text>
<xsl:value-of select="concat('Tab. ',$tableId+1)"/>
<xsl:text>',
</xsl:text>
<xsl:choose>
<xsl:when test="position()=1">
<xsl:text>true</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>false</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text>
));
rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]=new Array();
//var myChartModel=new chartModel(1,"","",rsTableMetaData);
function dataRow_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(rownr</xsl:text>
<xsl:for-each select="sqlerg/complete_headers/header">
<xsl:text>,</xsl:text>
<xsl:call-template name="getColumnNameJS">
<xsl:with-param name="columnNameFromDB" select="f_name"/>
</xsl:call-template>
</xsl:for-each>
<xsl:text>
)
{
this.rownr=rownr;
</xsl:text>
<xsl:for-each select="sqlerg/complete_headers/header">
<xsl:text>this.</xsl:text><xsl:call-template name="getColumnNameJS">
<xsl:with-param name="columnNameFromDB" select="f_name"/>
</xsl:call-template><xsl:text>=</xsl:text>
<xsl:call-template name="getColumnNameJS">
<xsl:with-param name="columnNameFromDB" select="f_name"/>
</xsl:call-template><xsl:text>;
</xsl:text>
</xsl:for-each><xsl:text>
}
rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]=new Array();
rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>].push(new dataRowMetaData('</xsl:text>
<xsl:value-of select="$tableId"/><xsl:text>',</xsl:text>
<xsl:value-of select="0"/>
<xsl:text>,'rownr','Zeilennr.',0,4));
</xsl:text>
<xsl:for-each select="sqlerg/complete_headers/header">
<xsl:variable name="rownr">
<xsl:value-of select="position()"/>
</xsl:variable>
<xsl:text>
rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>].push(new dataRowMetaData('</xsl:text>
<xsl:value-of select="$tableId"/><xsl:text>',</xsl:text>
<xsl:value-of select="$rownr"/>
<xsl:text>,'</xsl:text>
<xsl:call-template name="getColumnNameJS">
<xsl:with-param name="columnNameFromDB" select="f_name"/>
</xsl:call-template>
<xsl:text>','</xsl:text>
<xsl:call-template name="remove_linebreaksAndQuot">
<xsl:with-param name="volltext" select="wert" />
</xsl:call-template>
<xsl:text>',0,null));</xsl:text> <!--coltype noch unbekannt, colfunction unnötig-->
</xsl:for-each>
<xsl:for-each select="sqlerg/row">
<xsl:variable name="rownr">
<xsl:value-of select="position()"/>
</xsl:variable>
<xsl:if test="$rownr=1">
<!-- first metadata -->
<xsl:for-each select="col">
<xsl:variable name="colnr">
<xsl:value-of select="position()"/>
</xsl:variable>
<xsl:text>
rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>][</xsl:text><xsl:value-of select="number($colnr)"/><xsl:text>].coltype=</xsl:text><xsl:value-of select="@typ"/>
<xsl:text>;
</xsl:text>
</xsl:for-each>
</xsl:if>
<!--now resultset-->
<xsl:text>
//rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]= new Array();
rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>].push(new dataRow_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(</xsl:text><xsl:value-of select="$rownr"/>
<xsl:for-each select="col">
<xsl:text>,</xsl:text>
<xsl:choose>
<xsl:when test="@typ='1'"><xsl:text>'</xsl:text>
<xsl:call-template name="remove_linebreaksAndQuot">
<xsl:with-param name="volltext" select="wert" />
</xsl:call-template>
<xsl:text>'</xsl:text></xsl:when>
<!--todo:Typ Datum -->
<xsl:when test="string-length(wert)=0"><xsl:text>null</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="wert"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:text>));
</xsl:text>
</xsl:for-each>
</script>
</xsl:template>
<xsl:template name="nd_legendeHeaderContent">
<xsl:param name="ergebniselement_ordnr" select="0" />
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr=$ergebniselement_ordnr]/felder/feld[@varname='Bis Semester' or @varname='Studiengang']">
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and value_caption != ''">
<xsl:if test="string-length(value_caption) &lt; 50">
<xsl:value-of select="value_caption" /><![CDATA[]]>
</xsl:if>
<xsl:if test="string-length(value_caption) &gt; 49">
<![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...
</xsl:if>
</xsl:if>
<span class="separator">&#160;</span>
</xsl:for-each>
</xsl:template>
<xsl:template name="tabBox">
<xsl:param name="tabNr" select="'1'"/>
<xsl:param name="currentTabNr" select="'1'"/>
<xsl:param name="textcontent" />
<xsl:param name="targetMaskennummer" />
<xsl:param name="optional_filter_name" select="''" />
<xsl:param name="optional_filter_value" select="''" />
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<div class="tab" style="{concat('margin-left: -5px; z-index: ',(120 -($tabNr * 10 )),' ;')}">
<xsl:choose>
<xsl:when test="$currentTabNr=$tabNr">
<xsl:call-template name="tabBoxSvg">
<xsl:with-param name="textcontent" select="$textcontent"/>
<xsl:with-param name="bgColor" select="'white'" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<a onclick="{concat('openDashboardTab(',$tabNr,',',$targetMaskennummer,',',$quote,$optional_filter_name,$quote,',',$quote,$optional_filter_value,$quote,',optionalFilters);')}">
<xsl:call-template name="tabBoxSvg">
<xsl:with-param name="textcontent" select="$textcontent"/>
<xsl:with-param name="bgColor" select="'#ddefff'" />
</xsl:call-template>
</a>
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:template>
<xsl:template name="tabBoxSvg">
<xsl:param name="textcontent" />
<xsl:param name="bgColor" select="'#ddefff'" />
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<!--<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4702"
version="1.1"
viewBox="0 0 199.78899 29.348383"
height="auto"
width="100%">
<defs
id="defs4696" />
<metadata
id="metadata4699">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(186.59954,-140.52949)"
id="layer1">
<g
id="g850">
<path
style="{concat('opacity:1;fill:',$bgColor,';fill-opacity:1;stroke:#004c93;stroke-width:1.06922317;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1')}" />
d="m -186.06493,141.0641 194.0648263,0.19891 4.5245017,3.58285 0.130433,24.11167 -198.719761,0.38573 z"
id="rect822" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.59358692px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.44969806"
x="-98.542191"
y="140.31142"
id="text836"
transform="scale(0.88396681,1.1312642)"><tspan
id="tspan834"
x="-98.542191"
y="140.31142"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:10.25972748px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.44969806">
<xsl:value-of select="$textcontent" />
</tspan>
</text>
</g>
</g>
</svg>-->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4702"
version="1.1"
viewBox="0 0 199.78899 29.348383"
height="auto"
width="100%">
<defs
id="defs4696" />
<metadata
id="metadata4699">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(186.59954,-140.52949)"
id="layer1">
<g
id="g850">
<path
style="{concat('opacity:1;fill:',$bgColor,';fill-opacity:1;stroke:#004c93;stroke-width:1.06922317;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1')}"
d="m -186.06493,141.0641 194.0648263,0.19891 4.5245017,3.58285 0.130433,24.11167 -198.719761,0.38573 z"
id="rect822" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.59358692px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.44969806"
x="-98.542191"
y="140.31142"
id="text836"
transform="scale(0.88396681,1.1312642)"><tspan
id="tspan834"
x="-98.542191"
y="140.31142"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:10.25972748px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.44969806">
<xsl:value-of select="$textcontent" /></tspan>
</text>
</g>
</g>
</svg>
</xsl:template>
<xsl:template name="viz_dashboard_pagetitle" >
<!--empty for UDE-->
</xsl:template>
</xsl:stylesheet>

7
superx/xml/viz_html_chart_viewer_mask.xsl

@ -139,11 +139,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</xsl:for-each> </xsl:for-each>
</div> </div>
<div class="column"> <xsl:call-template name="vizSidebar" />
<xsl:if test="count(/ergebnisse/ergebnis[@ordnr='0']/completefields/feld[@art='1']) &gt; 0">
<xsl:call-template name="renderTableDialogs" />
</xsl:if>
</div><!--Ende column-->
</div> <!--Ende hero-columns--> </div> <!--Ende hero-columns-->

Loading…
Cancel
Save