Browse Source

Modulstruktur aufbauen, ANT Script zu installation in SuperX und HISinOne-BI #1

rpta_0.1_Release
Daniel Quathamer 2 years ago
parent
commit
61f93e9f97
  1. 76
      build.xml
  2. 10
      conf/excludes.txt
  3. 9
      conf/includes.txt
  4. 476
      conf/rpta.xml
  5. 178
      schluesseltabellen/sx_stylesheet_tabelle_jrxml_einfuegen.sql
  6. 10
      src-modules/module/rpta/conf/excludes.txt
  7. 9
      src-modules/module/rpta/conf/includes.txt
  8. 476
      src-modules/module/rpta/conf/rpta.xml
  9. 178
      src-modules/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql
  10. 64
      superx/WEB-INF/reports/simple_table.jrtx
  11. 536
      superx/WEB-INF/reports/tabelle_jrxml_a4_quer.xsl.jrxml
  12. 62
      superx/style/sx_rpta_muster.css
  13. 759
      superx/xml/jr_templates.xsl
  14. 1379
      superx/xml/rpta_assistent.xsl
  15. 63
      superx/xml/tabelle_jrxml_a4_quer.xsl

76
build.xml

@ -0,0 +1,76 @@ @@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="ModuleCreation" default="help" basedir=".">
<!--Aufruf mit
-->
<dirname file="${ant.file}" property="moduleCreateBaseDir" />
<property name="BASE_DIR" value="${moduleCreateBaseDir}/../.." />
<property name="WEBAPP" value="${MODULE_PATH}/../../../webserver/tomcat/webapps/superx" />
<path id="classpath">
<!--WEB-INF/lib-->
<fileset dir="${WEBAPP}/WEB-INF">
<include name="lib/**/*.jar" />
<include name="classes" />
</fileset>
</path>
<condition property="isWindoze">
<os family="windows" />
</condition>
<condition property="isUnix">
<os family="unix" />
</condition>
<target name="help" description="Bedienung">
<echo message="Aufruf: " />
<echo message="ant -DMODULE_PATH=$RPTA_PFAD -DBASE_DIR=. -DWEBAPP=$WEBAPP -DMODULE=rpta all" />
<echo message="So erzeugen Sie dann ein SuperX-Paket:" />
<echo message="ant -DMODULE_PATH=$RPTA_PFAD -DWEBAPP_DIR=$WEBAPP -DMODULE=rpta dist" />
</target>
<target name="all" description="Gruppe: Kopiere Modul Sourcen in den WEB-INF-Verzeichnisbaum">
<antcall target="module_copy_source" />
<antcall target="call_module_scripts_create_ant" />
<antcall target="module_copy_webapp_files" />
</target>
<target name="module_copy_source" description="Kopiere Modul Sourcen in den WEB-INF-Verzeichnisbaum">
<echo message="Start module_copy_sources für Modul ${MODULE} in Pfad ${MODULE_PATH}" />
<copy todir="${MODULE_PATH}" overwrite="true">
<fileset dir="${BASE_DIR}/src-modules/module/${MODULE}" />
</copy>
</target>
<target name="module_copy_webapp_files" description="Kopiere webapp-Dateien in den WEBAPP-Verzeichnisbaum">
<echo message="Start module_copy_webapp_files für Modul ${MODULE} in Pfad ${MODULE_PATH}" />
<copy todir="${WEBAPP}" overwrite="true">
<fileset dir="${BASE_DIR}/superx" />
</copy>
</target>
<target name="call_module_scripts_create_ant" description="Call to module_scripts_create_ant">
<subant target="all">
<!--<property name="basedir" value="${MODULE_PATH}/../../conf/" />-->
<property name="MODULE" value="${MODULE}" />
<property name="DATABASE" value="POSTGRES" />
<property name="WEBAPP_EXT_MODULE" value="${MODULE_PATH}/../../../webserver/tomcat/webapps/superx" />
<property name="WEBAPP" value="${MODULE_PATH}/../../../webserver/tomcat/webapps/superx" />
<property name="SUPERX_BASE" value="${WEBAPP}/WEB-INF" />
<fileset dir="${MODULE_PATH}/../../conf" includes="module_scripts_create_ant.xml" />
</subant>
</target>
<target name="dist" description="Create Download package">
<subant target="erzeuge_paket">
<!--<property name="basedir" value="${MODULE_PATH}/../../conf/" />-->
<property name="MODULE" value="${MODULE}" />
<property name="PFAD" value="/home/superx/fertige_module" />
<property name="DATABASE" value="POSTGRES" />
<property name="ENCODING" value="utf8" />
<property name="PLATFORM" value="superx" />
<property name="WEBAPP_EXT_MODULE" value="${MODULE_PATH}/../../../webserver/tomcat/webapps/superx" />
<property name="WEBAPP" value="${MODULE_PATH}/../../../webserver/tomcat/webapps/superx" />
<property name="SUPERX_BASE" value="${WEBAPP}/WEB-INF" />
<fileset dir="${MODULE_PATH}/../../conf" includes="build.xml" />
</subant>
</target>
</project>

10
conf/excludes.txt

@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
rohdaten/ETL_ENV
rohdaten/*.properties
preparation.sql
finalize.sql
rohdaten/*.err
*.log
*.err
rohdaten/unl/*
conf/customize.sql
conf/*.log

9
conf/includes.txt

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
doku/viz_modul/viz.html
WEB-INF/conf/edustore/db/bin/SQL_ENV_viz.sam
xml/js/viz/viz_functions.js
xml/js/viz/d3.min.js
xml/js/viz/d3-license.txt
xml/viz_html_chart.xsl
images/icons/chart-bar.svg
xml/js/viz/plot.js

476
conf/rpta.xml

@ -0,0 +1,476 @@ @@ -0,0 +1,476 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> -->
<module name="rpta" version="0.1" sachgebiet_id="330"
sachgebiet="Berichtsassistent" systeminfo_id="330"
system="Berichtsassistent" thema="Berichtsassistent" thema_parent="Abfragen">
<database name="superx" system="superx">
<sachgebiete>
<sachgebiet id="331" name="Berichtsassistent Administr."
rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
</sachgebiete>
<table name="rpta_column" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Schlüsseltabelle für Spaltendefinitionen</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="srcfieldname" type="VARCHAR" size="255" default="" notnull="" description="Quellfeld" />
<column name="targetfieldname" type="VARCHAR" size="255" default="" notnull="" description="Zielfeld" />
<column name="column_type" type="INTEGER" size="" default="" notnull="" description="Spaltentyp" ><comment>Physische Spalte/Logische Spalte/Lookup</comment></column>
<column name="col_function" type="VARCHAR" size="255" default="" notnull="" description="Funktion" ><comment>Bei logischen Spalten/Lookup</comment></column>
<column name="is_visible" type="SMALLINT" size="2" default="" notnull="" description="Sichtbare Spalte" ></column>
<column name="visible_size" type="SMALLINT" size="2" default="" notnull="" description="Länge in Zeichen" ><comment>Bei String-Spalten</comment></column>
<column name="is_aggregate" type="SMALLINT" size="2" default="" notnull="" description="Aggregierte Spalte" ></column>
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_column</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_column_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_column_type" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Spaltentypen</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" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_column_type</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_column_type_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_column_layout" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Spaltenlayouts</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="resultset_id" type="INTEGER" size="255" default="" notnull="" description="Resultset" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_column_layout</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_column_layout_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_column2resultset" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Spalten zu Resultsets</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="column_id" type="INTEGER" size="255" default="" notnull="" description="Spalte" />
<column name="resultset_id" type="INTEGER" size="255" default="" notnull="" description="Resultset" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_column2resultset</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_column2resultset_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_column2layout" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Spalten zu Layouts</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="column_id" type="INTEGER" size="255" default="" notnull="" description="Spalte" />
<column name="layout_id" type="INTEGER" size="255" default="" notnull="" description="Layout" />
<column name="sortnr" type="SMALLINT" size="2" default="" notnull="" description="Sortiernr." />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_column2layout</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_column2layout_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_resultset" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Schlüsseltabelle für mögliche Resultsets</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="uniquename" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="fieldclause" type="VARCHAR" size="255" default="" notnull="false" description="Defaultwert" />
<column name="joinclause" type="VARCHAR" size="255" default="" notnull="false" description="Defaultwert" />
<column name="whereclause" type="VARCHAR" size="255" default="" notnull="false" description="Einheit" />
<column name="systeminfo_id" type="INTEGER" size="255"
default="" notnull="false" description="Quellsystem">
</column>
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_resultset</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_resultset_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_report_property" thema="Berichtsassistent" typ="Datentabelle"
releaseUnload="empty">
<description>Eigenschaften für Berichte</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Eigenschaft Name" />
<column name="uniquename" type="VARCHAR" size="255" default="" notnull="" description="Schlüssel" />
<column name="default_value" type="VARCHAR" size="255" default="" notnull="false" description="Default-Wert" />
<column name="default_value" type="VARCHAR" size="255" default="" notnull="false" description="Default-Wert" />
<column name="description" type="VARCHAR" size="255" default=""
notnull="false" description="Beschreibung der Variable" />
<column name="value_range" type="TEXT" size="32255" default=""
notnull="false" description="Wertebereich"/>
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_chart_property</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_chart_property_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="viz_property" thema="Administration" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Schlüsseltabelle für Eigenschaften von Visualisieren</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="prop_uniquename" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="prop_default" type="VARCHAR" size="255" default="" notnull="false" description="Defaultwert" />
<column name="prop_unit" type="VARCHAR" size="255" default="" notnull="false" description="Einheit" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_property</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_property_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<views>
</views>
<functions>
</functions>
<themen>
<thema name="Administration Berichtsassistent"
parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </thema>
</themen>
<masken>
<!--
<maske tid="45000" name="Berichtsassistent suchen" thema="Administration Berichtsassistent">
<description>Berichtsassistent verwalten</description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
-->
</masken>
<data-integrity>
<!--rpta_column-->
<relation from="rpta_column_type" to="rpta_column" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="column_type" />
</relation>
x<relation from="rpta_resultset" to="rpta_column_layout" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="resultset_id" />
</relation>
<relation from="rpta_resultset" to="rpta_column2resultset" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="resultset_id" />
</relation>
<relation from="systeminfo" to="rpta_resultset" delete="FALSE"
displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="systeminfo_id" />
</relation>
<relation from="rpta_column" to="rpta_column2resultset" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="column_id" />
</relation>
<relation from="rpta_column_layout" to="rpta_column2layout" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="layout_id" />
</relation>
<relation from="rpta_column" to="rpta_column2layout" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="column_id" />
</relation>
</data-integrity>
</database>
<!-- ********************* Liste der RPTA-Prozesse ************************** -->
<etl>
<etl-step name="Transformation" type="trans">
<action>
<nativeaction sql="update systeminfo set datum=today() where tid in (280)" scriptfile="" database=""/>
</action>
</etl-step>
</etl>
<install>
<install-step name="Füllen der Modul-Tabellen">
<action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="rpta_column_type"><file path="$RPTA_PFAD/schluesseltabellen/rpta_column_type.unl"/></loadtable>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/>
</action>
</install-step>
</install>
<upgrade>
<upgrade-step>
<action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="rpta_column_type"><file path="$RPTA_PFAD/schluesseltabellen/rpta_column_type.unl"/></loadtable>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/>
</action>
<action>
</action>
</upgrade-step>
</upgrade>
<uninstall-step name="Deinstalliere Schlüssel">
<action error="stop">
</action>
</uninstall-step>
<!-- ********************* Liste der RPTA-Prozesse ************************** -->
<dbforms>
<form name="rpta_column_layout_list"
table="rpta_column_layout"
path="/edit/rpta/rpta_column_layout_list.jsp"
followUp=""
caption="Spaltenlayouts verwalten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="*"
mode="full">
<description>In diesem Formular können Sie Spaltenlayouts verwalten. </description>
<filters>
</filters>
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="caption" nullFieldValue="" visibleSize="30" />
<customfield type="link" name="Details" path="/superx/edit/rpta/rpta_column_layout_edit.jsp" linkid="tid"/>
</form>
<form name="rpta_column_layout_edit"
table="rpta_column_layout"
path="/edit/rpta/rpta_column_layout_edit.jsp"
followUp=""
caption="Spaltenlayouts bearbeiten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="1"
mode="full">
<description>In diesem Formular können Sie Spaltenlayouts verwalten.</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="resultset_id" visibleSize="50" nullFieldValue="" />
<customfield name="Spalten" type="subform" multipart="false" autoUpdate="false"
maxRows="*" table="rpta_column2layout" parentField="tid" childField="layout_id"
orderBy="" allowNew="true"
mode="full">
<field-selection complete="false" />
<customfield name="layout_id" type="hidden" overrideValue="tid" />
<customfield name="column_id" nullFieldValue="" visibleSize="5" />
<customfield name="sortnr" nullFieldValue="" visibleSize="10" />
</customfield>
</form>
<form name="rpta_resultset_list"
table="rpta_resultset"
path="/edit/rpta/rpta_resultset_list.jsp"
followUp=""
caption="Resultsets verwalten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="*"
mode="full">
<description>In diesem Formular können Sie Ergebnistabellen verwalten. Im Details-Formular können Sie Eigenschaften zuordnen.</description>
<filters>
</filters>
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="caption" nullFieldValue="" visibleSize="30" />
<customfield type="link" name="Details" path="/superx/edit/rpta/rpta_resultset_edit.jsp" linkid="tid"/>
</form>
<form name="rpta_resultset_edit"
table="rpta_resultset"
path="/edit/rpta/rpta_resultset_edit.jsp"
followUp=""
caption="Ergebnistabellen bearbeiten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="1"
mode="full">
<description>In diesem Formular können Sie Ergebnistabellen verwalten.</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="fieldclause" visibleSize="50" nullFieldValue="" />
<customfield name="joinclause" visibleSize="50" nullFieldValue="" />
<customfield name="whereclause" visibleSize="10" nullFieldValue="" />
<customfield name="systeminfo_id" visibleSize="10" nullFieldValue="" />
</form>
<form name="rpta_column_list"
table="rpta_column"
path="/edit/rpta/rpta_column_list.jsp"
followUp=""
caption="Spalten verwalten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="*"
mode="full">
<description>In diesem Formular können Sie Spalten verwalten. Im Details-Formular können Sie Eigenschaften zuordnen.</description>
<filters>
</filters>
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="caption" nullFieldValue="" visibleSize="30" />
<customfield name="column_type_id" nullFieldValue="" visibleSize="30" />
<customfield type="link" name="Details" path="/superx/edit/rpta/rpta_column_edit.jsp" linkid="tid"/>
</form>
<form name="rpta_column_edit"
table="rpta_column"
path="/edit/rpta/rpta_column_edit.jsp"
followUp=""
caption="Spaltendefinition bearbeiten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="1"
mode="full">
<description>In diesem Formular können Sie Spaltendefinitionen verwalten.</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="srcfieldname" visibleSize="50" nullFieldValue="" />
<customfield name="targetfieldname" visibleSize="50" nullFieldValue="" />
<customfield name="column_type_id" visibleSize="10" nullFieldValue="" />
<customfield name="col_function" visibleSize="100" nullFieldValue="" />
<customfield name="is_visible" visibleSize="10" nullFieldValue="" />
<customfield name="visible_size" visibleSize="10" nullFieldValue="" />
<customfield name="is_aggregate" visibleSize="10" nullFieldValue="" />
</form>
</dbforms>
</module>

178
schluesseltabellen/sx_stylesheet_tabelle_jrxml_einfuegen.sql

@ -0,0 +1,178 @@ @@ -0,0 +1,178 @@
--Freemarker Template
--Achtung: Macro fügt Inhalte ein
--Bitte nur Freemarker Variablen füllen
<#assign masken = [
] />
<#assign stylesheet = [
{"filename":"tabelle_jrxml_a4_quer.xsl",
"caption":"Gener. Standardlayout JR (A4 quer)",
"description":"Gener. Standardlayout JR (A4 quer)",
"relation":"table",
"contenttype":"application/jrxml",
"is_generic":"1"
},
{"filename":"rpta_assistent.xsl",
"caption":"Berichtsassistent",
"description":"Export als formatierter Bericht",
"relation":"table",
"contenttype":"text/html",
"is_generic":"1"}
] />
<#assign stylesheet_field = [
] />
--Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen.
--Achtung: ab hier nicht ändern, Mutterdatei ist $SUPERX_DIR/db/module/sos/schluesseltabellen/sx_stylesheets_fuellen.sql
<@sx_stylesheets_insert
m_masken=masken
m_stylesheet=stylesheet
m_stylesheet_field=stylesheet_field
/>
<#macro sx_stylesheets_insert m_masken m_stylesheet m_stylesheet_field>
--Sicherstellen, dass keine Duplikate vorkommen:
--####################################################################################################
<#foreach column in m_masken>
delete from sx_mask_style where maskeninfo_id=${column.mask} and stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}') and ord=${column.ord};
</#foreach>
<#foreach column in m_stylesheet_field>
delete from stylesheet_field where stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}');
</#foreach>
-- Stylesheets füllen
--####################################################################################################
create temp table tmp_stylesheets (
tid serial not null,
filename CHAR(255) ,
caption CHAR(255) ,
description CHAR(255) ,
relation CHAR(10) ,
useragent CHAR(255) ,
contenttype CHAR(200) ,
is_generic smallint
);
create temp table tmp_hilf (tid integer);
insert into tmp_hilf select max(tid) from sx_stylesheets;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_stylesheet>
insert into tmp_stylesheets (tid,filename,caption,description,relation,contenttype,is_generic)
select max(tid)+${counter_tid},'${column.filename}',
'${column.caption}',
'${column.description}',
'${column.relation}',
'${column.contenttype}',
${column.is_generic}
from tmp_hilf;
<#assign counter_tid = counter_tid + 1 />
</#foreach>
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
update sx_stylesheets set is_generic=1
where filename in (select T.filename from tmp_stylesheets T where T.is_generic=1);
</#if>
--delete für tml_stylesheets hinzugefügt #ak 06.03.2013
delete from tmp_stylesheets where filename in (select filename from sx_stylesheets);
insert into sx_stylesheets (tid,
filename, caption, description, relation, useragent, contenttype
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
,is_generic
</#if>
)
SELECT tid, filename, caption, description, relation, useragent, contenttype
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
,is_generic
</#if>
FROM tmp_stylesheets;
drop table tmp_stylesheets;
-- Mask Style füllen
--####################################################################################################
create temp table tmp_mask_style (
tid serial not null,
maskeninfo_id INTEGER ,
stylesheet_id INTEGER ,
ord SMALLINT,
filename char(255)
);
delete from tmp_hilf;
insert into tmp_hilf select max(tid) from sx_mask_style;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_masken>
insert into tmp_mask_style (tid,maskeninfo_id,ord,filename)
select max(tid)+${counter_tid},${column.mask},${column.ord},'${column.filename}' from tmp_hilf;
update tmp_mask_style set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}')
where filename='${column.filename}';
<#assign counter_tid = counter_tid + 1 />
</#foreach>
insert into sx_mask_style ( tid, maskeninfo_id, stylesheet_id, ord)
SELECT tid, maskeninfo_id, stylesheet_id, ord
FROM tmp_mask_style;
drop table tmp_mask_style;
--Field zu Stylesheet Zuordnungen:
--####################################################################################################
CREATE temp TABLE tmp_stylesheet_field
(
tid serial NOT NULL,
stylesheet_id INTEGER,
tablename char(255),
fieldname char(255),
filename char(255)
);
delete from tmp_hilf;
insert into tmp_hilf select max(tid) from stylesheet_field;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_stylesheet_field>
INSERT INTO tmp_stylesheet_field (tid, filename, tablename, fieldname)
select max(tid)+${counter_tid}, '${column.filename}', '${column.tablename}', '${column.fieldname}' from tmp_hilf;
update tmp_stylesheet_field set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}')
where filename='${column.filename}';
<#assign counter_tid = counter_tid + 1 />
</#foreach>
insert into stylesheet_field ( tid, stylesheet_id, tablename, fieldname)
SELECT tid, stylesheet_id, tablename, fieldname
FROM tmp_stylesheet_field;
drop table tmp_stylesheet_field;
drop table tmp_hilf;
<#if SQLdialect='Postgres'>
select sp_update_sequence('sx_stylesheets');
select sp_update_sequence('sx_mask_style');
select sp_update_sequence('stylesheet_field');
</#if>
</#macro>

10
src-modules/module/rpta/conf/excludes.txt

@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
rohdaten/ETL_ENV
rohdaten/*.properties
preparation.sql
finalize.sql
rohdaten/*.err
*.log
*.err
rohdaten/unl/*
conf/customize.sql
conf/*.log

9
src-modules/module/rpta/conf/includes.txt

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
doku/viz_modul/viz.html
WEB-INF/conf/edustore/db/bin/SQL_ENV_viz.sam
xml/js/viz/viz_functions.js
xml/js/viz/d3.min.js
xml/js/viz/d3-license.txt
xml/viz_html_chart.xsl
images/icons/chart-bar.svg
xml/js/viz/plot.js

476
src-modules/module/rpta/conf/rpta.xml

@ -0,0 +1,476 @@ @@ -0,0 +1,476 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> -->
<module name="rpta" version="0.1" sachgebiet_id="330"
sachgebiet="Berichtsassistent" systeminfo_id="330"
system="Berichtsassistent" thema="Berichtsassistent" thema_parent="Abfragen">
<database name="superx" system="superx">
<sachgebiete>
<sachgebiet id="331" name="Berichtsassistent Administr."
rightname="CS_BIA_STANDARDREPORTS_ADMIN[RPTA]" />
</sachgebiete>
<table name="rpta_column" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Schlüsseltabelle für Spaltendefinitionen</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="srcfieldname" type="VARCHAR" size="255" default="" notnull="" description="Quellfeld" />
<column name="targetfieldname" type="VARCHAR" size="255" default="" notnull="" description="Zielfeld" />
<column name="column_type" type="INTEGER" size="" default="" notnull="" description="Spaltentyp" ><comment>Physische Spalte/Logische Spalte/Lookup</comment></column>
<column name="col_function" type="VARCHAR" size="255" default="" notnull="" description="Funktion" ><comment>Bei logischen Spalten/Lookup</comment></column>
<column name="is_visible" type="SMALLINT" size="2" default="" notnull="" description="Sichtbare Spalte" ></column>
<column name="visible_size" type="SMALLINT" size="2" default="" notnull="" description="Länge in Zeichen" ><comment>Bei String-Spalten</comment></column>
<column name="is_aggregate" type="SMALLINT" size="2" default="" notnull="" description="Aggregierte Spalte" ></column>
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_column</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_column_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_column_type" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Spaltentypen</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" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_column_type</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_column_type_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_column_layout" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Spaltenlayouts</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="resultset_id" type="INTEGER" size="255" default="" notnull="" description="Resultset" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_column_layout</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_column_layout_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_column2resultset" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Spalten zu Resultsets</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="column_id" type="INTEGER" size="255" default="" notnull="" description="Spalte" />
<column name="resultset_id" type="INTEGER" size="255" default="" notnull="" description="Resultset" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_column2resultset</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_column2resultset_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_column2layout" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Spalten zu Layouts</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="column_id" type="INTEGER" size="255" default="" notnull="" description="Spalte" />
<column name="layout_id" type="INTEGER" size="255" default="" notnull="" description="Layout" />
<column name="sortnr" type="SMALLINT" size="2" default="" notnull="" description="Sortiernr." />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_column2layout</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_column2layout_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_resultset" thema="Berichtsassistent" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Schlüsseltabelle für mögliche Resultsets</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="uniquename" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="fieldclause" type="VARCHAR" size="255" default="" notnull="false" description="Defaultwert" />
<column name="joinclause" type="VARCHAR" size="255" default="" notnull="false" description="Defaultwert" />
<column name="whereclause" type="VARCHAR" size="255" default="" notnull="false" description="Einheit" />
<column name="systeminfo_id" type="INTEGER" size="255"
default="" notnull="false" description="Quellsystem">
</column>
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>rpta_resultset</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>rpta_resultset_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="rpta_report_property" thema="Berichtsassistent" typ="Datentabelle"
releaseUnload="empty">
<description>Eigenschaften für Berichte</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Eigenschaft Name" />
<column name="uniquename" type="VARCHAR" size="255" default="" notnull="" description="Schlüssel" />
<column name="default_value" type="VARCHAR" size="255" default="" notnull="false" description="Default-Wert" />
<column name="default_value" type="VARCHAR" size="255" default="" notnull="false" description="Default-Wert" />
<column name="description" type="VARCHAR" size="255" default=""
notnull="false" description="Beschreibung der Variable" />
<column name="value_range" type="TEXT" size="32255" default=""
notnull="false" description="Wertebereich"/>
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_chart_property</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_chart_property_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="viz_property" thema="Administration" typ="Schlüsseltabelle"
releaseUnload="empty">
<description>Schlüsseltabelle für Eigenschaften von Visualisieren</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="prop_uniquename" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="prop_default" type="VARCHAR" size="255" default="" notnull="false" description="Defaultwert" />
<column name="prop_unit" type="VARCHAR" size="255" default="" notnull="false" description="Einheit" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_property</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_property_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<views>
</views>
<functions>
</functions>
<themen>
<thema name="Administration Berichtsassistent"
parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </thema>
</themen>
<masken>
<!--
<maske tid="45000" name="Berichtsassistent suchen" thema="Administration Berichtsassistent">
<description>Berichtsassistent verwalten</description>
<src>
<path>$RPTA_PFAD/masken</path>
</src>
</maske>
-->
</masken>
<data-integrity>
<!--rpta_column-->
<relation from="rpta_column_type" to="rpta_column" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="column_type" />
</relation>
x<relation from="rpta_resultset" to="rpta_column_layout" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="resultset_id" />
</relation>
<relation from="rpta_resultset" to="rpta_column2resultset" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="resultset_id" />
</relation>
<relation from="systeminfo" to="rpta_resultset" delete="FALSE"
displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="systeminfo_id" />
</relation>
<relation from="rpta_column" to="rpta_column2resultset" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="column_id" />
</relation>
<relation from="rpta_column_layout" to="rpta_column2layout" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="layout_id" />
</relation>
<relation from="rpta_column" to="rpta_column2layout" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="column_id" />
</relation>
</data-integrity>
</database>
<!-- ********************* Liste der RPTA-Prozesse ************************** -->
<etl>
<etl-step name="Transformation" type="trans">
<action>
<nativeaction sql="update systeminfo set datum=today() where tid in (280)" scriptfile="" database=""/>
</action>
</etl-step>
</etl>
<install>
<install-step name="Füllen der Modul-Tabellen">
<action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="rpta_column_type"><file path="$RPTA_PFAD/schluesseltabellen/rpta_column_type.unl"/></loadtable>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/>
</action>
</install-step>
</install>
<upgrade>
<upgrade-step>
<action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="rpta_column_type"><file path="$RPTA_PFAD/schluesseltabellen/rpta_column_type.unl"/></loadtable>
<nativeaction sql="" scriptfile="$RPTA_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/>
</action>
<action>
</action>
</upgrade-step>
</upgrade>
<uninstall-step name="Deinstalliere Schlüssel">
<action error="stop">
</action>
</uninstall-step>
<!-- ********************* Liste der RPTA-Prozesse ************************** -->
<dbforms>
<form name="rpta_column_layout_list"
table="rpta_column_layout"
path="/edit/rpta/rpta_column_layout_list.jsp"
followUp=""
caption="Spaltenlayouts verwalten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="*"
mode="full">
<description>In diesem Formular können Sie Spaltenlayouts verwalten. </description>
<filters>
</filters>
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="caption" nullFieldValue="" visibleSize="30" />
<customfield type="link" name="Details" path="/superx/edit/rpta/rpta_column_layout_edit.jsp" linkid="tid"/>
</form>
<form name="rpta_column_layout_edit"
table="rpta_column_layout"
path="/edit/rpta/rpta_column_layout_edit.jsp"
followUp=""
caption="Spaltenlayouts bearbeiten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="1"
mode="full">
<description>In diesem Formular können Sie Spaltenlayouts verwalten.</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="resultset_id" visibleSize="50" nullFieldValue="" />
<customfield name="Spalten" type="subform" multipart="false" autoUpdate="false"
maxRows="*" table="rpta_column2layout" parentField="tid" childField="layout_id"
orderBy="" allowNew="true"
mode="full">
<field-selection complete="false" />
<customfield name="layout_id" type="hidden" overrideValue="tid" />
<customfield name="column_id" nullFieldValue="" visibleSize="5" />
<customfield name="sortnr" nullFieldValue="" visibleSize="10" />
</customfield>
</form>
<form name="rpta_resultset_list"
table="rpta_resultset"
path="/edit/rpta/rpta_resultset_list.jsp"
followUp=""
caption="Resultsets verwalten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="*"
mode="full">
<description>In diesem Formular können Sie Ergebnistabellen verwalten. Im Details-Formular können Sie Eigenschaften zuordnen.</description>
<filters>
</filters>
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="caption" nullFieldValue="" visibleSize="30" />
<customfield type="link" name="Details" path="/superx/edit/rpta/rpta_resultset_edit.jsp" linkid="tid"/>
</form>
<form name="rpta_resultset_edit"
table="rpta_resultset"
path="/edit/rpta/rpta_resultset_edit.jsp"
followUp=""
caption="Ergebnistabellen bearbeiten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="1"
mode="full">
<description>In diesem Formular können Sie Ergebnistabellen verwalten.</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="fieldclause" visibleSize="50" nullFieldValue="" />
<customfield name="joinclause" visibleSize="50" nullFieldValue="" />
<customfield name="whereclause" visibleSize="10" nullFieldValue="" />
<customfield name="systeminfo_id" visibleSize="10" nullFieldValue="" />
</form>
<form name="rpta_column_list"
table="rpta_column"
path="/edit/rpta/rpta_column_list.jsp"
followUp=""
caption="Spalten verwalten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="*"
mode="full">
<description>In diesem Formular können Sie Spalten verwalten. Im Details-Formular können Sie Eigenschaften zuordnen.</description>
<filters>
</filters>
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="caption" nullFieldValue="" visibleSize="30" />
<customfield name="column_type_id" nullFieldValue="" visibleSize="30" />
<customfield type="link" name="Details" path="/superx/edit/rpta/rpta_column_edit.jsp" linkid="tid"/>
</form>
<form name="rpta_column_edit"
table="rpta_column"
path="/edit/rpta/rpta_column_edit.jsp"
followUp=""
caption="Spaltendefinition bearbeiten"
orderBy="caption"
gotoHt=""
helpfile=""
maxRows="1"
mode="full">
<description>In diesem Formular können Sie Spaltendefinitionen verwalten.</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="srcfieldname" visibleSize="50" nullFieldValue="" />
<customfield name="targetfieldname" visibleSize="50" nullFieldValue="" />
<customfield name="column_type_id" visibleSize="10" nullFieldValue="" />
<customfield name="col_function" visibleSize="100" nullFieldValue="" />
<customfield name="is_visible" visibleSize="10" nullFieldValue="" />
<customfield name="visible_size" visibleSize="10" nullFieldValue="" />
<customfield name="is_aggregate" visibleSize="10" nullFieldValue="" />
</form>
</dbforms>
</module>

178
src-modules/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql

@ -0,0 +1,178 @@ @@ -0,0 +1,178 @@
--Freemarker Template
--Achtung: Macro fügt Inhalte ein
--Bitte nur Freemarker Variablen füllen
<#assign masken = [
] />
<#assign stylesheet = [
{"filename":"tabelle_jrxml_a4_quer.xsl",
"caption":"Gener. Standardlayout JR (A4 quer)",
"description":"Gener. Standardlayout JR (A4 quer)",
"relation":"table",
"contenttype":"application/jrxml",
"is_generic":"1"
},
{"filename":"rpta_assistent.xsl",
"caption":"Berichtsassistent",
"description":"Export als formatierter Bericht",
"relation":"table",
"contenttype":"text/html",
"is_generic":"1"}
] />
<#assign stylesheet_field = [
] />
--Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen.
--Achtung: ab hier nicht ändern, Mutterdatei ist $SUPERX_DIR/db/module/sos/schluesseltabellen/sx_stylesheets_fuellen.sql
<@sx_stylesheets_insert
m_masken=masken
m_stylesheet=stylesheet
m_stylesheet_field=stylesheet_field
/>
<#macro sx_stylesheets_insert m_masken m_stylesheet m_stylesheet_field>
--Sicherstellen, dass keine Duplikate vorkommen:
--####################################################################################################
<#foreach column in m_masken>
delete from sx_mask_style where maskeninfo_id=${column.mask} and stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}') and ord=${column.ord};
</#foreach>
<#foreach column in m_stylesheet_field>
delete from stylesheet_field where stylesheet_id in (select tid from sx_stylesheets where filename ='${column.filename}');
</#foreach>
-- Stylesheets füllen
--####################################################################################################
create temp table tmp_stylesheets (
tid serial not null,
filename CHAR(255) ,
caption CHAR(255) ,
description CHAR(255) ,
relation CHAR(10) ,
useragent CHAR(255) ,
contenttype CHAR(200) ,
is_generic smallint
);
create temp table tmp_hilf (tid integer);
insert into tmp_hilf select max(tid) from sx_stylesheets;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_stylesheet>
insert into tmp_stylesheets (tid,filename,caption,description,relation,contenttype,is_generic)
select max(tid)+${counter_tid},'${column.filename}',
'${column.caption}',
'${column.description}',
'${column.relation}',
'${column.contenttype}',
${column.is_generic}
from tmp_hilf;
<#assign counter_tid = counter_tid + 1 />
</#foreach>
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
update sx_stylesheets set is_generic=1
where filename in (select T.filename from tmp_stylesheets T where T.is_generic=1);
</#if>
--delete für tml_stylesheets hinzugefügt #ak 06.03.2013
delete from tmp_stylesheets where filename in (select filename from sx_stylesheets);
insert into sx_stylesheets (tid,
filename, caption, description, relation, useragent, contenttype
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
,is_generic
</#if>
)
SELECT tid, filename, caption, description, relation, useragent, contenttype
<#if TableFieldExists?exists && TableFieldExists('sx_stylesheets','is_generic')>
,is_generic
</#if>
FROM tmp_stylesheets;
drop table tmp_stylesheets;
-- Mask Style füllen
--####################################################################################################
create temp table tmp_mask_style (
tid serial not null,
maskeninfo_id INTEGER ,
stylesheet_id INTEGER ,
ord SMALLINT,
filename char(255)
);
delete from tmp_hilf;
insert into tmp_hilf select max(tid) from sx_mask_style;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_masken>
insert into tmp_mask_style (tid,maskeninfo_id,ord,filename)
select max(tid)+${counter_tid},${column.mask},${column.ord},'${column.filename}' from tmp_hilf;
update tmp_mask_style set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}')
where filename='${column.filename}';
<#assign counter_tid = counter_tid + 1 />
</#foreach>
insert into sx_mask_style ( tid, maskeninfo_id, stylesheet_id, ord)
SELECT tid, maskeninfo_id, stylesheet_id, ord
FROM tmp_mask_style;
drop table tmp_mask_style;
--Field zu Stylesheet Zuordnungen:
--####################################################################################################
CREATE temp TABLE tmp_stylesheet_field
(
tid serial NOT NULL,
stylesheet_id INTEGER,
tablename char(255),
fieldname char(255),
filename char(255)
);
delete from tmp_hilf;
insert into tmp_hilf select max(tid) from stylesheet_field;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach column in m_stylesheet_field>
INSERT INTO tmp_stylesheet_field (tid, filename, tablename, fieldname)
select max(tid)+${counter_tid}, '${column.filename}', '${column.tablename}', '${column.fieldname}' from tmp_hilf;
update tmp_stylesheet_field set stylesheet_id=(select max(tid) from sx_stylesheets where filename='${column.filename}')
where filename='${column.filename}';
<#assign counter_tid = counter_tid + 1 />
</#foreach>
insert into stylesheet_field ( tid, stylesheet_id, tablename, fieldname)
SELECT tid, stylesheet_id, tablename, fieldname
FROM tmp_stylesheet_field;
drop table tmp_stylesheet_field;
drop table tmp_hilf;
<#if SQLdialect='Postgres'>
select sp_update_sequence('sx_stylesheets');
select sp_update_sequence('sx_mask_style');
select sp_update_sequence('stylesheet_field');
</#if>
</#macro>

64
superx/WEB-INF/reports/simple_table.jrtx

@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio -->
<jasperTemplate xmlns="http://jasperreports.sourceforge.net/jasperreports/template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/template http://jasperreports.sourceforge.net/xsd/jaspertemplate.xsd">
<style name="Standard Bodytext" isDefault="true" isBlankWhenNull="true" fontName="Liberation Sans" fontSize="8"/>
<style name="ReportTitle" style="Standard Bodytext" fontName="Liberation Sans" fontSize="12" isBold="true"/>
<style name="ReportHeadingInstitution" style="Standard Bodytext" fontName="Liberation Sans" fontSize="8" isBold="false"/>
<style name="subReportTitle" style="Standard Bodytext" fontName="Liberation Sans" fontSize="12" isBold="true"/>
<style name="LegendContent" style="Standard Bodytext" mode="Opaque" backcolor="#CCCCCC">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<!--<style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="{$font}" fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2" rightIndent="1" spacingBefore="0" spacingAfter="0"/>
<conditionalStyle>
<conditionExpression><![CDATA[Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )]]></conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>-->
<style name="TableRowLevel1" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel2" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel3" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel4" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel5" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel6" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel7" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel8" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel9" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableRowLevel10" mode="Opaque" backcolor="#CCCCCC" fontSize="12" isBold="true">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="LegendLabel" style="Standard Bodytext" mode="Transparent" backcolor="#FFFFFF">
<pen lineWidth="1.0" lineStyle="Solid" lineColor="#030000"/>
</style>
<style name="TableColumnHeader" mode="Transparent" forecolor="#000000" backcolor="#7A93AB" hTextAlign="Center" vTextAlign="Middle" fontName="Liberation Sans" fontSize="8">
<box>
<pen lineColor="#FFFFFF"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
</box>
<paragraph spacingBefore="0" spacingAfter="0"/>
</style>
</jasperTemplate>

536
superx/WEB-INF/reports/tabelle_jrxml_a4_quer.xsl.jrxml

@ -0,0 +1,536 @@ @@ -0,0 +1,536 @@
<?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 Erst- und Neueinschreibung (Zeitreihe)"
language="groovy"
pageWidth="842"
pageHeight="595"
orientation="Landscape"
columnWidth="818"
leftMargin="12"
rightMargin="12"
topMargin="12"
bottomMargin="12"
isIgnorePagination="true">
<!--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="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="com.jaspersoft.studio.data.defaultdataadapter"
value="beispiel_einzeltabelle_schmal"/>
<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="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w1"
value="466"/>
<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w2"
value="522"/>
<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="REPORT_HEADING_INSTITUTION" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_HEADING_INSTITUTION</fieldDescription>
</field>
<field name="REPORT_HEADING_URL" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_HEADING_URL</fieldDescription>
</field>
<field name="REPORT_LOGO_FILE" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_LOGO_FILE</fieldDescription>
</field>
<field name="REPORT_HEADING_ADRESS" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_HEADING_ADRESS</fieldDescription>
</field>
<field name="REPORT_EMAIL" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_EMAIL</fieldDescription>
</field>
<field name="REPORT_DOCUMENTATION_URL" class="java.lang.String">
<fieldDescription>/ergebnisse/generalinfo/REPORT_DOCUMENTATION_URL</fieldDescription>
</field>
<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>
<!-- dann die Tabellenspalten -->
<field name="Semester" class="java.lang.String">
<fieldDescription>col[@id="0" and wert!=""]/wert</fieldDescription>
</field>
<field name="Gesamt- zahl" class="java.lang.Integer">
<fieldDescription>col[@id="1" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. FS gesamt" class="java.lang.Integer">
<fieldDescription>col[@id="2" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. FS in %" class="java.lang.Double">
<fieldDescription>col[@id="3" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. HS gesamt" class="java.lang.Integer">
<fieldDescription>col[@id="4" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. HS in %" class="java.lang.Double">
<fieldDescription>col[@id="5" and wert!=""]/wert</fieldDescription>
</field>
<field name="dar. Frauen" class="java.lang.Integer">
<fieldDescription>col[@id="7" and wert!=""]/wert</fieldDescription>
</field>
<field name="Frauen in %" class="java.lang.Double">
<fieldDescription>col[@id="8" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. FS Frauen" class="java.lang.Integer">
<fieldDescription>col[@id="9" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. FS Frauen in %" class="java.lang.Double">
<fieldDescription>col[@id="10" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. HS Frauen" class="java.lang.Integer">
<fieldDescription>col[@id="11" and wert!=""]/wert</fieldDescription>
</field>
<field name="1. HS Frauen in %" class="java.lang.Double">
<fieldDescription>col[@id="12" and wert!=""]/wert</fieldDescription>
</field>
<field name="legende_Köpfe oder Fälle ?_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/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/felder/feld [@varname="Köpfe oder Fälle ?"]/value_caption</fieldDescription>
</field>
<field name="legende_Stichtag_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Stichtag"]/@varname</fieldDescription>
</field>
<field name="legende_Stichtag_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Stichtag"]/value_caption</fieldDescription>
</field>
<field name="legende_Seit Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Seit Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Seit Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Seit Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Bis Semester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Bis Semester"]/@varname</fieldDescription>
</field>
<field name="legende_Bis Semester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Bis Semester"]/value_caption</fieldDescription>
</field>
<field name="legende_Studiengang_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Studiengang"]/@varname</fieldDescription>
</field>
<field name="legende_Studiengang_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Studiengang"]/value_caption</fieldDescription>
</field>
<field name="legende_Abschluss_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Abschluss"]/@varname</fieldDescription>
</field>
<field name="legende_Abschluss_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Abschluss"]/value_caption</fieldDescription>
</field>
<field name="legende_Fächer_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Fächer"]/@varname</fieldDescription>
</field>
<field name="legende_Fächer_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Fächer"]/value_caption</fieldDescription>
</field>
<field name="legende_Vertiefung_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Vertiefung"]/@varname</fieldDescription>
</field>
<field name="legende_Vertiefung_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Vertiefung"]/value_caption</fieldDescription>
</field>
<field name="legende_Status_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Status"]/@varname</fieldDescription>
</field>
<field name="legende_Status_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Status"]/value_caption</fieldDescription>
</field>
<field name="legende_##line##_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="##line##"]/@varname</fieldDescription>
</field>
<field name="legende_##line##_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="##line##"]/value_caption</fieldDescription>
</field>
<field name="legende_Fachkennz._label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Fachkennz."]/@varname</fieldDescription>
</field>
<field name="legende_Fachkennz._value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Fachkennz."]/value_caption</fieldDescription>
</field>
<field name="legende_Hörerstatus_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Hörerstatus"]/@varname</fieldDescription>
</field>
<field name="legende_Hörerstatus_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Hörerstatus"]/value_caption</fieldDescription>
</field>
<field name="legende_ab Fachsemester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="ab Fachsemester"]/@varname</fieldDescription>
</field>
<field name="legende_ab Fachsemester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="ab Fachsemester"]/value_caption</fieldDescription>
</field>
<field name="legende_bis Fachsemester_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="bis Fachsemester"]/@varname</fieldDescription>
</field>
<field name="legende_bis Fachsemester_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="bis Fachsemester"]/value_caption</fieldDescription>
</field>
<field name="legende_Filter Studierende_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Filter Studierende"]/@varname</fieldDescription>
</field>
<field name="legende_Filter Studierende_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Filter Studierende"]/value_caption</fieldDescription>
</field>
<field name="legende_Trennen nach_label" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/completefields/feld [@varname="Trennen nach"]/@varname</fieldDescription>
</field>
<field name="legende_Trennen nach_value" class="java.lang.String">
<fieldDescription>/ergebnisse/ergebnis/felder/feld [@varname="Trennen nach"]/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>
<group name="tabellennr">
<groupExpression>$V{tabellennr}</groupExpression>
<groupHeader>
<band height="90">
<textField>
<reportElement style="LegendLabel" x="0" y="0" width="818" height="20"/>
<textElement verticalAlignment="Bottom"/>
<textFieldExpression>"Filterkriterien: "</textFieldExpression>
</textField>
<textField>
<reportElement style="LegendContent" x="0" y="20" width="818" height="40"/>
<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_Stichtag_value}==null || $F{legende_Stichtag_value}=="")?"":($F{legende_Stichtag_label}+": "+$F{legende_Stichtag_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_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_Fächer_value}==null || $F{legende_Fächer_value}=="")?"":($F{legende_Fächer_label}+": "+$F{legende_Fächer_value}+";"))
+(($F{legende_Vertiefung_value}==null || $F{legende_Vertiefung_value}=="")?"":($F{legende_Vertiefung_label}+": "+$F{legende_Vertiefung_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_Fachkennz._value}==null || $F{legende_Fachkennz._value}=="")?"":($F{legende_Fachkennz._label}+": "+$F{legende_Fachkennz._value}+";"))
+(($F{legende_Hörerstatus_value}==null || $F{legende_Hörerstatus_value}=="")?"":($F{legende_Hörerstatus_label}+": "+$F{legende_Hörerstatus_value}+";"))
+(($F{legende_ab Fachsemester_value}==null || $F{legende_ab Fachsemester_value}=="")?"":($F{legende_ab Fachsemester_label}+": "+$F{legende_ab Fachsemester_value}+";"))
+(($F{legende_bis Fachsemester_value}==null || $F{legende_bis Fachsemester_value}=="")?"":($F{legende_bis Fachsemester_label}+": "+$F{legende_bis Fachsemester_value}+";"))
+(($F{legende_Filter Studierende_value}==null || $F{legende_Filter Studierende_value}=="")?"":($F{legende_Filter Studierende_label}+": "+$F{legende_Filter Studierende_value}+";"))
+(($F{legende_Trennen nach_value}==null || $F{legende_Trennen nach_value}=="")?"":($F{legende_Trennen nach_label}+": "+$F{legende_Trennen nach_value}+";"))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")</textFieldExpression>
</textField>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="0"
y="60"
width="83"
height="30"/>
<text>Semester</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="83"
y="60"
width="66"
height="30"/>
<text>Gesamt-
zahl</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="149"
y="60"
width="66"
height="30"/>
<text>1. FS
gesamt</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="215"
y="60"
width="66"
height="30"/>
<text>1. FS
in %</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="281"
y="60"
width="66"
height="30"/>
<text>1. HS gesamt</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="347"
y="60"
width="66"
height="30"/>
<text>1. HS
in %</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="413"
y="60"
width="8"
height="30"/>
<text> </text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="421"
y="60"
width="66"
height="30"/>
<text>dar.
Frauen</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="487"
y="60"
width="66"
height="30"/>
<text>Frauen
in %</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="553"
y="60"
width="66"
height="30"/>
<text>1. FS
Frauen</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="619"
y="60"
width="66"
height="30"/>
<text>1. FS
Frauen
in %</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="685"
y="60"
width="66"
height="30"/>
<text>1. HS
Frauen</text>
</staticText>
<staticText>
<reportElement style="TableColumnHeader"
mode="Opaque"
x="751"
y="60"
width="66"
height="30"/>
<text>1. HS
Frauen
in %</text>
</staticText>
</band>
</groupHeader>
</group>
<title>
<band height="75">
<textField>
<reportElement x="0"
y="0"
width="818"
height="30"
style="ReportHeadingInstitution"/>
<textFieldExpression>$F{REPORT_HEADING_INSTITUTION} + " | "+ $F{user}</textFieldExpression>
</textField>
<textField>
<reportElement style="ReportTitle" x="0" y="30" width="818" height="45"/>
<textFieldExpression>$F{Berichtsname}</textFieldExpression>
</textField>
</band>
</title>
<detail>
<band height="30" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="0"
y="0"
width="83"
height="30"/>
<textElement textAlignment="Left"/>
<textFieldExpression>$F{Semester}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="83"
y="0"
width="66"
height="30"/>
<textFieldExpression>$F{Gesamt- zahl}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="149"
y="0"
width="66"
height="30"/>
<textFieldExpression>$F{1. FS gesamt}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
pattern="#,###.00;-#,###.00">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="215"
y="0"
width="66"
height="30"/>
<textFieldExpression>$F{1. FS in %}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="281"
y="0"
width="66"
height="30"/>
<textFieldExpression>$F{1. HS gesamt}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
pattern="#,###.00;-#,###.00">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="347"
y="0"
width="66"
height="30"/>
<textFieldExpression>$F{1. HS in %}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="421"
y="0"
width="66"
height="30"/>
<textFieldExpression>$F{dar. Frauen}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
pattern="#,###.00;-#,###.00">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="487"
y="0"
width="66"
height="30"/>
<textFieldExpression>$F{Frauen in %}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="553"
y="0"
width="66"
height="30"/>
<textFieldExpression>$F{1. FS Frauen}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
pattern="#,###.00;-#,###.00">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="619"
y="0"
width="66"
height="30"/>
<textFieldExpression>$F{1. FS Frauen in %}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true" pattern="#">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="685"
y="0"
width="66"
height="30"/>
<textFieldExpression>$F{1. HS Frauen}</textFieldExpression>
</textField>
<textField isStretchWithOverflow="true"
isBlankWhenNull="true"
pattern="#,###.00;-#,###.00">
<reportElement style="TableRowDetail"
stretchType="ContainerHeight"
x="751"
y="0"
width="66"
height="30"/>
<textFieldExpression>$F{1. HS Frauen in %}</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>

62
superx/style/sx_rpta_muster.css

@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
/*dateispezifische Basics*/
.hero-body { margin-left: 1.5em; } /*Abstand zum Burger-Button*/
.title, .subtitle { /*für Seitentitel*/
margin-left: 0.4em;
margin-top: 0%; }
.card { /*für Cardposition, -style*/
display: flex;
flex-flow: column;
margin-left: 0em; /*1.5em bei farbigem Hintergrund*/
margin-top: 0em; /*-1.2em bei farbigem Hintergrund*/
box-shadow: none; }
/*Buttonleiste, Legende*/
.buttonlist{ /*für resposible Buttonleiste*/
display: flex;
flex-flow: row wrap;
justify-content: flex-start; }
.legende { /*für Berichtslegende*/
margin-left: 0.15em;
padding: 0.4rem 0.4rem 0.4rem 0.4rem; } /*für Padding: ob re un li*/
.feldname {
color: hsl(0, 0%, 29%); }
.buttonlist img { /*für Icongröße in Buttonleiste*/
height: 1.2rem;
width: auto;
padding: 0rem 0rem 0rem 0.1rem; } /*für Padding: ob re un li*/
/*Selektionsfelder-Formular*/
.panel-tabs { /*für PanelTab-Zeile (= Funktionsfeldzeile)*/
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
margin-left: 0%;
padding: 1rem 0rem 1rem 1rem; } /*für Padding: ob re un li*/
.label-container, .button-label { /*für Responsibility der Eingabefelder*/
display: flex;
justify-content: left;
background: inherit;
min-width: 10.0em; }
.label { /*für Selektionsfeld-Bezeichner*/
font-family: sans-serif;
font-weight: normal;
font-size: 2rem;
margin-left: 1.0em;
margin-top: 0.4em; }
.control-new { /*für einheitliche Controlbreite*/
min-width: 25.0em; }
.button { /*für Button-Bezeichner-Ausrichtung*/
display: flex;
justify-content: left; }

759
superx/xml/jr_templates.xsl

@ -0,0 +1,759 @@ @@ -0,0 +1,759 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://jasperreports.sourceforge.net/jasperreports">
<xsl:param name="font" select="'Liberation Sans'" /><!--TODO {$font} als style-->
<xsl:template name="generateJasperReport">
<xsl:param name="isMainReport" select="'true'" />
<xsl:param name="ergebniselementOrdnr" select="0" />
<xsl:param name="druckbreite" select="812" />
<xsl:param name="seitenbreite" select="842" />
<xsl:param name="seitenhoehe" select="595" />
<xsl:param name="seitenrand" select="12" />
<xsl:param name="isIgnorePagination" select="'true'" />
<xsl:param name="orientation" select="'Landscape'" />
<xsl:param name="stylesFile" select="'simple_table.jrtx'" />
<xsl:param name="font" select="'Liberation Sans'" /><!--TODO Arial als style-->
<!--Die Breite der Tabelle in pixel bei A4 Querformat:-->
<!-- Wenn keine Spaltenbreite definiert ist, wird 12 (Einheit Applet-Breite) verwendet. -->
<xsl:param name="std_spaltenbreite" select="'12'" />
<xsl:param name="std_zeilenhoehe_header" select="30" />
<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="{/ergebnisse/ergebnis[@ordnr=$ergebniselementOrdnr]/maskenname}"
language="groovy"
pageWidth="{$seitenbreite}"
pageHeight="{$seitenhoehe}"
orientation="{$orientation}"
columnWidth="{$druckbreite}"
leftMargin="{$seitenrand}"
rightMargin="{$seitenrand}"
topMargin="{$seitenrand}"
bottomMargin="{$seitenrand}"
isIgnorePagination="{$isIgnorePagination}" >
<xsl:call-template name="jr_properties" />
<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"/>
<!-- zum Testen-->
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="beispiel_einzeltabelle_schmal"/>
<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="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w1" value="466"/>
<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w2" value="522"/>
<template><xsl:value-of select="concat('&quot;',$stylesFile,'&quot;')" /></template>
<xsl:call-template name="jr_styles" />
<queryString language="xPath"><xsl:value-of select="concat('/ergebnisse/ergebnis/ergebniselement[@ordnr=',$ergebniselementOrdnr,']/sqlerg/row')" />
</queryString>
<xsl:if test="$isMainReport='true'">
<xsl:call-template name="jr_fields_report_level" />
</xsl:if>
<xsl:call-template name="jr_fields" >
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/>
<!--<xsl:with-param name="isMacroReport" select="$isMacroReport" />-->
</xsl:call-template>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression><xsl:value-of select="$ergebniselementOrdnr"/></variableExpression>
</variable>
<xsl:call-template name="generateGroupHeaderBandSimple">
<xsl:with-param name="std_zeilenhoehe_header" select="$std_zeilenhoehe_header" />
<xsl:with-param name="druckbreite" select="$druckbreite" />
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite" />
</xsl:call-template>
<xsl:if test="$isMainReport='true'">
<xsl:call-template name="generateTitleBand" >
<xsl:with-param name="druckbreite" select="$druckbreite" />
</xsl:call-template>
</xsl:if>
<detail>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]">
<xsl:variable name="flavorTableRowStyle">
<xsl:choose>
<xsl:when test="sqlerg/@istreetable='true'">
<xsl:text>treeTable</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>listAlternatingBg</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<band height="30" splitType="Stretch">
<xsl:for-each select="sqlerg/headers/header[not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) ]">
<xsl:variable name="columnWidth">
<xsl:call-template name="getColumnwidth">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/>
<xsl:with-param name="colId" select="@id" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="columnX">
<xsl:call-template name="getColumnX">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/>
<xsl:with-param name="colId" select="@id" />
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$flavorTableRowStyle='listAlternatingBg'">
<xsl:call-template name="jr_textField">
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebniselementOrdnr" />
<xsl:with-param name="fieldName" select="wert" />
<xsl:with-param name="colId" select="@id" />
<xsl:with-param name="x" select="$columnX" />
<xsl:with-param name="width" select="$columnWidth" />
<xsl:with-param name="flavorTableRowStyle" select="'listAlternatingBg'" />
<xsl:with-param name="tableRowLevel" select="10" />
</xsl:call-template>
</xsl:when>
<xsl:when test="$flavorTableRowStyle='treeTable'">
<!--10 Ebenen in einer Schleife -->
<xsl:call-template name="jr_textfield_levelx">
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebniselementOrdnr" />
<xsl:with-param name="fieldName" select="wert" />
<xsl:with-param name="colId" select="@id" />
<xsl:with-param name="x" select="$columnX" />
<xsl:with-param name="width" select="$columnWidth" />
<xsl:with-param name="flavorTableRowStyle" select="'treeTable'" />
<xsl:with-param name="tableRowLevel" select="1" />
<xsl:with-param name="maxLevel" select="10"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<!-- ggf. weitere styles-->
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</band>
</xsl:for-each>
</detail>
</jasperReport>
</xsl:template>
<xsl:template name="jr_properties"><xsl:text>
</xsl:text>
<xsl:comment>Import von jr_properties</xsl:comment>
<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.create.custom.palette" value="true"/>
<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
<property xmlns="http://jasperreports.sourceforge.net/jasperreports" name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows " value="true"/>
</xsl:template>
<xsl:template name="jr_styles">
<xsl:param name="ergebniselementOrdnr" select="0" />
<xsl:variable name="flavorTableRowStyle">
<xsl:choose>
<xsl:when test="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/@istreetable='true'">
<xsl:text>treeTable</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>listAlternatingBg</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="tableRowStyle">
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" />
</xsl:call-template>
</xsl:template>
<xsl:template name="tableRowStyle">
<xsl:param name="flavorTableRowStyle" select="'listAlternatingBg'" />
<xsl:param name="ergebniselementOrdnr" select="0" />
<xsl:if test="$flavorTableRowStyle='listAlternatingBg'">
<style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="{$font}" fontSize="8">
<box rightPadding="2">
<pen lineColor="#FFFFFF"/>
</box>
<paragraph leftIndent="2" rightIndent="1" spacingBefore="0" spacingAfter="0"/>
<conditionalStyle>
<conditionExpression><![CDATA[Boolean.valueOf( $V{PAGE_COUNT} % 2 == 1 )]]></conditionExpression>
<style mode="Opaque" forecolor="#000000" backcolor="#E3E8EB"/>
</conditionalStyle>
</style>
</xsl:if>
</xsl:template>
<xsl:template name="jr_fields_report_level">
<!-- nun die Felder: zuerst der Berichtsname-->
<field name="REPORT_HEADING_INSTITUTION" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_INSTITUTION]]></xsl:text></fieldDescription>
</field>
<field name="REPORT_HEADING_URL" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_URL]]></xsl:text></fieldDescription>
</field>
<field name="REPORT_LOGO_FILE" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_LOGO_FILE]]></xsl:text></fieldDescription>
</field>
<field name="REPORT_HEADING_ADRESS" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_ADRESS]]></xsl:text></fieldDescription>
</field>
<field name="REPORT_EMAIL" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_EMAIL]]></xsl:text></fieldDescription>
</field>
<field name="REPORT_DOCUMENTATION_URL" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/generalinfo/REPORT_DOCUMENTATION_URL]]></xsl:text></fieldDescription>
</field>
</xsl:template>
<xsl:template name="jr_fields">
<xsl:param name="ergebniselementOrdnr" select="0"/>
<xsl:variable name="isMacroReport" select="/ergebnisse/@isMakro" />
<field name="Berichtsname" class="java.lang.String">
<fieldDescription>
<xsl:choose>
<xsl:when test="$isMacroReport = 'true'">
<xsl:text><![CDATA[/ergebnisse/makro/name]]></xsl:text></xsl:when>
<xsl:otherwise><xsl:text><![CDATA[/ergebnisse/ergebnis[ @ordnr=']]></xsl:text>
<xsl:value-of select="$ergebniselementOrdnr"/>
<xsl:text><![CDATA[']/maskenname]]></xsl:text>
</xsl:otherwise>
</xsl:choose>
</fieldDescription>
</field>
<!-- dann der Erläuterungstext-->
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis[ @ordnr=']]></xsl:text>
<xsl:value-of select="$ergebniselementOrdnr"/>
<xsl:text><![CDATA[']/explanation]]></xsl:text></fieldDescription>
</field>
<xsl:comment> dann die Tabellenspalten </xsl:comment>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]">
<xsl:for-each select="sqlerg/complete_headers/header">
<xsl:variable name="jasperFieldname">
<xsl:call-template name="createJasperFieldname">
<xsl:with-param name="fieldName_orig" select="wert"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="fldPrefix">
<xsl:if test="$isMacroReport='true'">
<xsl:text>tab_</xsl:text><xsl:value-of select="$ergebniselementOrdnr" />
</xsl:if>
</xsl:variable>
<xsl:if test="normalize-space($jasperFieldname)!=''"> <!-- keine leeren Feldnamen-->
<field name="{$jasperFieldname}"><!--{concat($fldPrefix,$jasperFieldname)}-->
<xsl:attribute name="class"><xsl:call-template name="getJavaType">
<xsl:with-param name="ordnr"><xsl:value-of select="$ergebniselementOrdnr"/></xsl:with-param>
<xsl:with-param name="col_id"><xsl:value-of select="@id"/></xsl:with-param></xsl:call-template></xsl:attribute>
<fieldDescription><xsl:text><![CDATA[col[@id="]]></xsl:text>
<xsl:value-of select="@id"/><xsl:text><![CDATA[" and wert!=""]]></xsl:text>
<xsl:if test="$isMacroReport='true'">
<xsl:text><![CDATA[ and ../../../@ordnr=']]></xsl:text><xsl:value-of select="$ergebniselementOrdnr" /><xsl:text>'</xsl:text>
</xsl:if>
<xsl:text><![CDATA[]/wert]]></xsl:text>
</fieldDescription>
</field>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<!-- dann die Legende-->
<xsl:for-each select="distinct-values(//ergebnisse/ergebnis/completefields/feld/@varname)">
<xsl:variable name="jasperFieldname">
<xsl:call-template name="createJasperFieldname">
<xsl:with-param name="fieldName_orig" select="."/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="varname">
<xsl:value-of select="." />
</xsl:variable>
<!-- zuerst Label -->
<field name="{concat('legende_',$jasperFieldname,'_label')}" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="]]></xsl:text><xsl:value-of select="$varname"/><xsl:text><![CDATA["]/@varname]]></xsl:text></fieldDescription>
</field>
<!--dann Wert-->
<field name="{concat('legende_',$jasperFieldname,'_value')}" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="]]></xsl:text><xsl:value-of select="$varname"/><xsl:text><![CDATA["]/value_caption]]></xsl:text></fieldDescription>
</field>
</xsl:for-each>
<!--Standatum und User:-->
<field name="standdatum" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/stand]]></xsl:text></fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription><xsl:text><![CDATA[/ergebnisse/user]]></xsl:text></fieldDescription>
</field>
</xsl:template>
<xsl:template name="getJavaType">
<xsl:param name="ordnr" />
<xsl:param name="col_id" />
<xsl:choose>
<xsl:when test="count(/ergebnisse/ergebnis/ergebniselement[ @ordnr=$ordnr]/sqlerg/row)=0">
<xsl:text>java.lang.String</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[ @ordnr=$ordnr]/sqlerg/row [@no='0']/col [@id=$col_id]">
<!--Transformation:
3=DecimalFormat
4=integer
-7=Boolean
6=date
8=timestamp
9=time
Default ist
1=string-->
<xsl:choose>
<xsl:when test="@typ='3'"> <!-- DecimalFormat -->
<xsl:text>java.lang.Double</xsl:text>
</xsl:when>
<xsl:when test="@typ='4'"> <!-- Integer -->
<xsl:text>java.lang.Integer</xsl:text>
</xsl:when>
<xsl:when test="@typ='-7'">
<xsl:text>java.lang.Boolean</xsl:text>
</xsl:when>
<xsl:when test="@typ='6'">
<xsl:text>java.util.Date</xsl:text>
</xsl:when>
<xsl:when test="@typ='8'">
<xsl:text>java.lang.Timestamp</xsl:text>
</xsl:when>
<xsl:when test="@typ='9'">
<xsl:text>java.lang.Time</xsl:text>
</xsl:when>
<xsl:otherwise>
<!--Typ=1 ist string und wird defaultmäßig behandelt -->
<xsl:text>java.lang.String</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="createJasperFieldname">
<xsl:param name="fieldName_orig" />
<xsl:variable name="feldname_ohne_umbruch">
<xsl:call-template name="remove_linebreaksAndQuot"><xsl:with-param name="volltext"><xsl:value-of select="$fieldName_orig" /></xsl:with-param></xsl:call-template>
</xsl:variable>
<xsl:variable name="feldnameOhneBackslashN">
<xsl:call-template name="search_replace">
<xsl:with-param name="string"><xsl:value-of select="$feldname_ohne_umbruch" /></xsl:with-param>
<xsl:with-param name="search"><xsl:text>\n</xsl:text></xsl:with-param>
<xsl:with-param name="replace"><xsl:text> </xsl:text></xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="search_replace">
<xsl:with-param name="string"><xsl:value-of select="$feldnameOhneBackslashN" /></xsl:with-param>
<xsl:with-param name="search"><xsl:text>\000</xsl:text></xsl:with-param>
<xsl:with-param name="replace"><xsl:text> </xsl:text></xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="getColumnX">
<xsl:param name="druckbreite"/>
<xsl:param name="std_spaltenbreite"/>
<xsl:param name="ergebniselementOrdnr" />
<xsl:param name="colId" />
<xsl:variable name="x"><xsl:text>0</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width &gt; 0 and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) and @id &lt; $colId ]">
<xsl:variable name="previousColumnWidth">
<xsl:call-template name="getColumnwidth">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/>
<xsl:with-param name="colId" select="@id" />
</xsl:call-template>
</xsl:variable>
<xsl:text>+</xsl:text><xsl:value-of select ="$previousColumnWidth" />
</xsl:for-each></xsl:variable>
<!--<xsl:value-of select="sum(for $s in tokenize('1+2+3','+') return number($s))" />-->
<xsl:call-template name="sumStringList">
<xsl:with-param name="pText" select="$x"/>
<xsl:with-param name="pSum" select="0"/>
<xsl:with-param name="pDelim" select="'+'"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="getColumnwidth">
<xsl:param name="druckbreite" />
<xsl:param name="std_spaltenbreite" />
<xsl:param name="ergebniselementOrdnr" />
<xsl:param name="colId" />
<xsl:variable name="defbreite"><xsl:value-of select="sum(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width &gt; 0 and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) ]/@width )" /></xsl:variable>
<xsl:variable name="ndefbreite"><xsl:value-of select="count(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width = '' and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next'))])" /></xsl:variable>
<xsl:variable name="gesamtbreite"><xsl:value-of select="$defbreite+($ndefbreite* $std_spaltenbreite)" /></xsl:variable>
<xsl:variable name="width"><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[@id=$colId]/@width"/></xsl:variable>
<xsl:choose>
<xsl:when test="$width != ''">
<xsl:variable name="spbreite"><xsl:value-of select="$druckbreite*($width div $gesamtbreite)" />
</xsl:variable>
<xsl:choose>
<xsl:when test="$spbreite &gt; 2">
<xsl:value-of select="round($spbreite)" />
</xsl:when>
<xsl:otherwise>
<xsl:text>12</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="round($druckbreite*($std_spaltenbreite div $gesamtbreite))" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="sumStringList">
<xsl:param name="pText" select="."/>
<xsl:param name="pSum" select="0"/>
<xsl:param name="pDelim" select="'+'"/>
<xsl:choose>
<xsl:when test="not(string-length($pText) >0)">
<xsl:value-of select="$pSum"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="vnewList"
select="concat($pText,$pDelim)"/>
<xsl:variable name="vHead" select=
"substring-before($vnewList, $pDelim)"/>
<xsl:call-template name="sumStringList">
<xsl:with-param name="pText" select=
"substring-after($pText, $pDelim)"/>
<xsl:with-param name="pSum" select="$pSum+$vHead"/>
<xsl:with-param name="pDelim" select="$pDelim"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="jr_textField">
<xsl:param name="ergebnisElementOrdnr" />
<xsl:param name="fieldName" />
<xsl:param name="colId" />
<xsl:param name="x" select="'0'" />
<xsl:param name="width" select="'0'" />
<xsl:param name="height" select="'30'" />
<xsl:param name="flavorTableRowStyle" select="'listAlternatingBg'" />
<xsl:param name="tableRowLevel" select="10" />
<xsl:variable name="jasperFieldname">
<xsl:call-template name="createJasperFieldname">
<xsl:with-param name="fieldName_orig" select="$fieldName"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="fldPrefix">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:text>tab_</xsl:text><xsl:value-of select="$ergebnisElementOrdnr" /></xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="fieldType">
<xsl:call-template name="getFieldType">
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr" />
<xsl:with-param name="colId" select="$colId" />
</xsl:call-template>
</xsl:variable>
<xsl:if test="normalize-space($jasperFieldname)!=''"> <!-- keine leeren Feldnamen-->
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<xsl:attribute name="pattern">
<xsl:choose>
<xsl:when test="$fieldType='4'"> <!--integer-->
<xsl:text>#</xsl:text>
</xsl:when>
<xsl:when test="$fieldType='3'"> <!--decimal-->
<xsl:text>#,###.00;-#,###.00</xsl:text>
</xsl:when>
<xsl:when test="$fieldType='6'"> <!--date-->
<xsl:text>dd.MM.yyyy</xsl:text>
</xsl:when>
<xsl:when test="$fieldType='8'"> <!--timestamp-->
<xsl:text>dd.MM.yyyy hh:mm:ss</xsl:text>
</xsl:when>
<xsl:when test="$fieldType='9'"> <!--time-->
<xsl:text>hh:mm:ss</xsl:text>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<reportElement style="TableRowDetail" stretchType="ContainerHeight" x="{$x}" y="0" width="{$width}" height="{$height}" >
<xsl:attribute name="style">
<xsl:choose>
<xsl:when test="$flavorTableRowStyle='listAlternatingBg'">
<xsl:text>TableRowDetail</xsl:text>
</xsl:when>
<xsl:when test="$flavorTableRowStyle='treeTable'">
<xsl:value-of select="concat('TableRowLevel',$tableRowLevel)" />
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:if test="$flavorTableRowStyle='treeTable'">
<printWhenExpression><xsl:value-of select="concat('$F{Ebene}==',$tableRowLevel)" /></printWhenExpression>
</xsl:if>
</reportElement>
<xsl:if test="$fieldType!='3' and $fieldType!='4' "><!--Zahlen immer rechtsbündig, alles andere links-->
<textElement textAlignment="Left"/>
</xsl:if>
<textFieldExpression><xsl:value-of select="concat('$F{',fldPrefix,$jasperFieldname,'}')" /></textFieldExpression>
</textField>
</xsl:if>
</xsl:template>
<xsl:template name="getFieldType">
<xsl:param name="ergebnisElementOrdnr" />
<xsl:param name="colId" />
<xsl:value-of select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebnisElementOrdnr]/sqlerg/row[@no='0']/col[@id=$colId]/@typ" />
</xsl:template>
<xsl:template name="getLegendExpression">
<xsl:text>""</xsl:text>
<xsl:for-each select="distinct-values(//ergebnisse/ergebnis/completefields/feld/@varname)">
<xsl:variable name="jasperFieldname">
<xsl:call-template name="createJasperFieldname">
<xsl:with-param name="fieldName_orig" select="."/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="varname">
<xsl:value-of select="." />
</xsl:variable>
<xsl:value-of select="concat('+(($F{','legende_',$jasperFieldname,'_value','}==null || $F{','legende_',$jasperFieldname,'_value','}==&quot;&quot;)?','&quot;&quot;:(')" />
<xsl:value-of select="concat('$F{','legende_',$jasperFieldname,'_label','}')" /><xsl:text>+": "+</xsl:text>
<xsl:value-of select="concat('$F{','legende_',$jasperFieldname,'_value','}')" /><xsl:text>+";"))
</xsl:text>
</xsl:for-each>
</xsl:template>
<xsl:template name="generateTableHeader">
<xsl:param name="druckbreite" />
<xsl:param name="std_spaltenbreite" />
<xsl:param name="zeilenhoehe" select="30" />
<xsl:param name="ordnr" select="0"/>
<xsl:param name="y_offset" select="0"/>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ordnr]"><!--derzeit nur eine Tabelle erlaubt-->
<xsl:choose>
<xsl:when test="sqlerg/headers/@hasAggregationHeaders='true'" >
<!-- verschachtelter Header -->
<xsl:for-each select="sqlerg/aggregationHeaders/tr">
<xsl:variable name="rowCounter" select="position()-1" />
<xsl:for-each select="th" >
<xsl:variable name="colId"><xsl:value-of select="position()-1" /></xsl:variable>
<xsl:if test="@isHidden='false'">
<xsl:comment><xsl:text>colId=</xsl:text><xsl:value-of select="$colId"/></xsl:comment>
<xsl:variable name="columnWidth">
<xsl:call-template name="getColumnwidth">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/>
<xsl:with-param name="colId" select="$colId" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="columnX">
<xsl:call-template name="getColumnX">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/>
<xsl:with-param name="colId" select="$colId" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="rowspan">
<xsl:choose>
<xsl:when test="@rowspan &gt;1">
<xsl:value-of select="@rowspan"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>1</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="colspan">
<xsl:choose>
<xsl:when test="@colspan &gt;1">
<xsl:value-of select="@colspan"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>1</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="{$columnX}" y="{$y_offset+( $rowCounter * $zeilenhoehe )}" width="{$columnWidth * $colspan}" height="{$zeilenhoehe*$rowspan}" />
<text><xsl:value-of select="." /></text>
</staticText>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="sqlerg/headers/header[not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) ]">
<xsl:variable name="columnWidth">
<xsl:call-template name="getColumnwidth">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/>
<xsl:with-param name="colId" select="@id" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="columnX">
<xsl:call-template name="getColumnX">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/>
<xsl:with-param name="colId" select="@id" />
</xsl:call-template>
</xsl:variable>
<staticText>
<reportElement style="TableColumnHeader" mode="Opaque" x="{$columnX}" y="{$y_offset}" width="{$columnWidth}" height="{$zeilenhoehe}" />
<text><xsl:value-of select="wert" /></text>
</staticText>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
<xsl:template name="getZeilenhoeheTableHeader">
<xsl:param name="ordnr" select="0" />
<xsl:param name="std_zeilenhoehe_header" select="30" />
<xsl:param name="y_offset" select="0" />
<xsl:choose>
<xsl:when test="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ordnr]/sqlerg/headers/@hasAggregationHeaders='true'">
<xsl:variable name="maxRownumberTableHeader">
<xsl:value-of select="count(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ordnr]/sqlerg/aggregationHeaders/tr)"/>
</xsl:variable>
<xsl:value-of select="$y_offset + ( $std_zeilenhoehe_header * $maxRownumberTableHeader )"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$y_offset + $std_zeilenhoehe_header "/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="generateGroupHeaderBandSimple">
<xsl:param name="ergebniselementOrdnr" select="0" />
<xsl:param name="std_zeilenhoehe_header" />
<xsl:param name="druckbreite" />
<xsl:param name="std_spaltenbreite" />
<xsl:variable name="isMacroReport" select="/ergebnisse/@isMakro" />
<xsl:variable name="legendLabelHeight" select="20" />
<xsl:variable name="legendContentHeight" select="40" />
<xsl:variable name="subReportTitleHeight">
<xsl:choose>
<xsl:when test="$isMacroReport='false'">
<xsl:text>0</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>20</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<group name="tabellennr">
<groupExpression><![CDATA[$V{tabellennr}]]></groupExpression>
<groupHeader>
<band>
<xsl:attribute name="height">
<xsl:call-template name="getZeilenhoeheTableHeader">
<xsl:with-param name="ordnr" select="$ergebniselementOrdnr" />
<xsl:with-param name="std_zeilenhoehe_header" select="$std_zeilenhoehe_header" />
<xsl:with-param name="y_offset" select="$legendLabelHeight+$legendContentHeight + $subReportTitleHeight"/>
</xsl:call-template>
</xsl:attribute>
<!--subReportTitle-->
<xsl:if test="$isMacroReport = 'true'">
<textField>
<reportElement style="subReportTitle" x="0" y="0" width="{$druckbreite}" height="{$subReportTitleHeight}" />
<textFieldExpression><xsl:text disable-output-escaping="yes"><![CDATA[ $F{Berichtsname}]]></xsl:text></textFieldExpression>
</textField>
</xsl:if>
<!--Legende -->
<textField>
<reportElement style="LegendLabel" x="0" y="{$subReportTitleHeight}" width="{$druckbreite}" height="{$legendLabelHeight}" />
<textElement verticalAlignment="Bottom"/>
<textFieldExpression><![CDATA["Filterkriterien: "]]></textFieldExpression>
</textField>
<textField>
<reportElement style="LegendContent" x="0" y="{$subReportTitleHeight+$legendLabelHeight}" width="{$druckbreite}" height="{$legendContentHeight}" />
<textFieldExpression>
<xsl:call-template name="getLegendExpression" />
<xsl:text disable-output-escaping="yes"><![CDATA[ +"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")]]></xsl:text></textFieldExpression>
</textField>
<!--nun Spaltenüberschriften-->
<xsl:call-template name="generateTableHeader">
<xsl:with-param name="druckbreite" select="$druckbreite" />
<xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/>
<xsl:with-param name="zeilenhoehe" select="$std_zeilenhoehe_header" />
<xsl:with-param name="ordnr" select="$ergebniselementOrdnr"/>
<xsl:with-param name="y_offset" select="$legendLabelHeight +$legendContentHeight+ $subReportTitleHeight"/>
</xsl:call-template>
</band>
</groupHeader>
</group>
</xsl:template>
<xsl:template name="generateTitleBand">
<xsl:param name="druckbreite" select="812" />
<title>
<band height="75">
<textField>
<reportElement x="0" y="0" width="{$druckbreite}" height="30" style="ReportHeadingInstitution"/>
<textFieldExpression><![CDATA[$F{REPORT_HEADING_INSTITUTION} + " | "+ $F{user}]]></textFieldExpression>
</textField>
<textField>
<reportElement style="ReportTitle" x="0" y="30" width="{$druckbreite}" height="45" />
<textFieldExpression><![CDATA[$F{Berichtsname}]]></textFieldExpression>
</textField>
</band>
</title>
</xsl:template>
<!-- start value-->
<xsl:template name="jr_textfield_levelx">
<xsl:param name="ergebnisElementOrdnr" />
<xsl:param name="fieldName" />
<xsl:param name="colId" />
<xsl:param name="x" />
<xsl:param name="width" />
<xsl:param name="flavorTableRowStyle" />
<xsl:param name="tableRowLevel" />
<xsl:param name="maxLevel" select="10"/>
<xsl:if test="$tableRowLevel &lt;= $maxLevel">
<xsl:call-template name="jr_textField">
<xsl:with-param name="tableRowLevel" select="$tableRowLevel" />
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr" />
<xsl:with-param name="fieldName" select="$fieldName" />
<xsl:with-param name="colId" select="$colId" />
<xsl:with-param name="x" select="$x" />
<xsl:with-param name="width" select="$width" />
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" />
</xsl:call-template>
<xsl:call-template name="jr_textfield_levelx">
<xsl:with-param name="maxLevel" select="$maxLevel"/>
<xsl:with-param name="ergebnisElementOrdnr" select="$ergebnisElementOrdnr" />
<xsl:with-param name="fieldName" select="$fieldName" />
<xsl:with-param name="colId" select="$colId" />
<xsl:with-param name="x" select="$x" />
<xsl:with-param name="width" select="$width" />
<xsl:with-param name="flavorTableRowStyle" select="$flavorTableRowStyle" />
<xsl:with-param name="tableRowLevel" select="$tableRowLevel + 1" />
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

1379
superx/xml/rpta_assistent.xsl

File diff suppressed because it is too large Load Diff

63
superx/xml/tabelle_jrxml_a4_quer.xsl

@ -0,0 +1,63 @@ @@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://jasperreports.sourceforge.net/jasperreports"
>
<xsl:import href="xsl_functions.xsl" />
<xsl:import href="jr_templates.xsl" />
<xsl:param name="OUTFILE" select="'tmp'" />
<xsl:param name="seitenbreite" select="842" />
<xsl:param name="seitenhoehe" select="595" />
<xsl:param name="seitenrand" select="12" />
<xsl:param name="isIgnorePagination" select="'true'" />
<xsl:param name="orientation" select="'Landscape'" />
<xsl:param name="stylesFile" select="'simple_table.jrtx'" />
<xsl:param name="font" select="'Liberation Sans'" /><!--TODO Arial als style-->
<!--Die Breite der Tabelle in pixel bei A4 Querformat:-->
<!-- Wenn keine Spaltenbreite definiert ist, wird 12 (Einheit Applet-Breite) verwendet. -->
<xsl:param name="std_spaltenbreite" select="'12'" />
<xsl:param name="std_zeilenhoehe_header" select="30" />
<xsl:output method="text" name="text"/>
<!--<xml:output method="xml" name="text" />-->
<xsl:output indent="yes"/>
<xsl:template match="/">
<xsl:variable name="druckbreite" select="$seitenbreite - (2 * $seitenrand)"></xsl:variable>
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<!-- first create main report-->
<xsl:call-template name="generateJasperReport" >
<xsl:with-param name="isMacroReport" select="'true'" />
<xsl:with-param name="ergebniselementOrdnr" select="0" />
<xsl:with-param name="druckbreite" select="$druckbreite" />
</xsl:call-template>
<!--output documents klappt noch nicht-->
<!--
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement">
<xsl:variable name="filename" select="concat($OUTFILE,@ordnr,'.jrxml')"/>
Generiere <xsl:value-of select="$filename"/><xsl:text>
</xsl:text>
<xsl:result-document href="{$filename}" format="text" method="text">
<xsl:call-template name="generateJasperReport" >
<xsl:with-param name="isMacroReport" select="'false'" />
<xsl:with-param name="ergebniselementOrdnr" select="@ordnr" />
<xsl:with-param name="druckbreite" select="$druckbreite" />
</xsl:call-template>
</xsl:result-document>
</xsl:for-each>
-->
</xsl:when>
<xsl:otherwise>
<!--no macro, one single table-->
<xsl:call-template name="generateJasperReport" >
<xsl:with-param name="isMacroReport" select="'false'" />
<xsl:with-param name="ergebniselementOrdnr" select="0" />
<xsl:with-param name="druckbreite" select="$druckbreite" />
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Loading…
Cancel
Save