Compare commits

..

No commits in common. 'master' and 'rpta_0.3_Release' have entirely different histories.

  1. 1
      src-modules/module/rpta/conf/includes.txt
  2. 2
      src-modules/module/rpta/conf/rpta.xml
  3. 5
      src-modules/module/rpta/masken/48110_felderinfo.unl
  4. 1
      src-modules/module/rpta/masken/48110_masken_felder_bez.unl
  5. 109
      src-modules/module/rpta/masken/48110_maskeninfo.unl
  6. 8
      src-modules/module/rpta/masken/48140_felderinfo.unl
  7. 2
      src-modules/module/rpta/masken/48140_masken_felder_bez.unl
  8. 114
      src-modules/module/rpta/schluesseltabellen/fm_templates.unl
  9. 23
      src-modules/module/rpta/schluesseltabellen/macro_masken_bez_fuellen.sql
  10. 88
      src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql
  11. 443
      src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen_MIN_MAX_SEMESTER_TEST.sql
  12. 26
      src-modules/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql
  13. 414
      superx/WEB-INF/reports/48110_leistungen_und_studiengaenge.jrxml
  14. 320
      superx/xml/tabelle_xls_48140.xsl

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

@ -7,6 +7,5 @@ WEB-INF/lib/superx-rpta.jar @@ -7,6 +7,5 @@ WEB-INF/lib/superx-rpta.jar
WEB-INF/reports/simple_table.jrtx
xml/tabelle_jrxml_a4_quer.xsl
xml/tabelle_jrxml_book_without_cover.xsl
xml/tabelle_xls_48140.xsl
xml/rpta_templates.xsl
xml/rpta_assistent.xsl

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

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> -->
<module name="rpta" version="0.4b" sachgebiet_id="330"
<module name="rpta" version="0.3" sachgebiet_id="330"
sachgebiet="Berichtsassistent" systeminfo_id="330"
system="Berichtsassistent" thema="Berichtsassistent" thema_parent="Abfragen">
<database name="superx" system="superx">

5
src-modules/module/rpta/masken/48110_felderinfo.unl

@ -17,8 +17,7 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rp @@ -17,8 +17,7 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rp
48116^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^999^hs_zugangsber^apnr, eintrag^ ^
48117^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48118^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^999^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
48119^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,-1000 from sichten where name_intern ='sos_kst_fb_stgabint'\
union select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
48119^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
48121^Stichtag^23^330^-1^130^100^1^sql^30^1^999^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
48122^Hörerstatus^200^330^-1^140^150^1^sql^30^0^999^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
48128^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^999^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
@ -26,5 +25,3 @@ union select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht @@ -26,5 +25,3 @@ union select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht
48133^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) order by 2;^ ^ ^
48134^tablestylesheet^19^0^0^100^150^1^char^200^1^1^<<SQL>>\
select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=48110^hidden^<<SQL>>select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=48110 and ord=1^

1
src-modules/module/rpta/masken/48110_masken_felder_bez.unl

@ -13,4 +13,3 @@ @@ -13,4 +13,3 @@
48110^48128^
48110^48132^
48110^48133^
48110^48134^

109
src-modules/module/rpta/masken/48110_maskeninfo.unl

@ -90,7 +90,114 @@ and ${filter}\ @@ -90,7 +90,114 @@ and ${filter}\
\
\
\
<@rpta_interpret_column_layout />\
select \
--zuerst die Basisdaten:\
<#foreach column in columns>\
<#if column.coltype="physicalColumn">\
${column.srcfieldname} as ${column.srcfieldname},\
<#elseif column.coltype="logicalColumn">\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.coltype="lookupColumn">\
(${column.colfunction}) as ${column.targetfieldname},\
<#elseif column.coltype="computedColumn" || column.coltype=="processingColumn">\
null::decimal(19,6) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud\
from ${basetable.runtime_tablename}\
<#if rpta_column_layout.whereclause !="">\
where ${rpta_column_layout.whereclause}\
</#if>\
;\
\
--ergebnistabelle:\
select \
--zuerst die nicht-Aggregate:\
<#assign groupby=0 />\
<#foreach column in columns>\
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\
-- computedColumns immer mitnehmen, da später verarbeitet\
<#if column.is_aggregate==0 && column.coltype!="logicalColumn" && column.coltype!="processingColumn" || column.coltype="computedColumn"> \
<#assign groupby=groupby+1 />\
${column.targetfieldname},\
<#elseif column.is_aggregate==0 && column.coltype="processingColumn"> \
<#assign groupby=groupby+1 />\
${column.srcfieldname} as ${column.targetfieldname},\
</#if>\
</#foreach>\
--dann die Aggregate:\
<#foreach column in columns>\
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\
-- computedColumns ausgeschlossen, da später im finalen select verarbeitet\
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="logicalColumn"> \
${column.colfunction}(${column.srcfieldname}) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud2\
from tmp_stud\
where 1=1\
/* ${<<Zusatzfilter>>} */\
group by\
<#list 1..groupby as i>${i}\
<#if i != groupby>\
,\
</#if>\
</#list>\
;\
--für Prozentwerte alle Aggregate summieren:\
select <#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="processingColumn">\
sum(${column.targetfieldname})::float as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_gesamt\
from tmp_stud2\
where 1=1\
;\
\
<#assign number_of_visible_colums=0 />\
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign number_of_visible_colums=number_of_visible_colums+1 />\
</#if>\
</#foreach>\
<#assign colnr=0 />\
select \
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign colnr=colnr+1 />\
<#assign format_sql="" />\
<#if column.format_sql?string != "">\
<#assign format_sql=column.format_sql />\
</#if>\
\
<#if column.coltype=="computedColumn">\
(${column.colfunction})${format_sql} as ${column.targetfieldname}\
<#else>\
${column.targetfieldname}${format_sql} as ${column.targetfieldname}\
</#if>\
\
<#if colnr &lt; number_of_visible_colums>,</#if>\
</#if> --wenn sichtbar\
</#foreach>\
from tmp_stud2\
order by <#list 1..number_of_visible_colums as i>${i}\
<#if i != number_of_visible_colums>\
,\
</#if>\
</#list>\
;\
<#if basetable.is_virtual==1>\
drop table if exists ${basetable.runtime_tablename};\
</#if>\
\
\
drop table if exists tmp_stud;\
drop table if exists tmp_stud2;\
drop table if exists tmp_gesamt;\
\
\
</#if> --wenn columns?has_content^--Freemarker Template\

8
src-modules/module/rpta/masken/48140_felderinfo.unl

@ -12,19 +12,17 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rp @@ -12,19 +12,17 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rp
48141^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48142^Fächer^30^0^0^130^200^6^char^1000^0^999^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
48143^Abschluss^40^0^0^100^200^3^char^1500^0^999^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
48144^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^999^ ^ ^ ^
48144^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^
48145^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^
48146^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^999^hs_zugangsber^apnr, eintrag^ ^
48147^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
48148^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^999^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
48149^Studiengang^25^0^0^140^150^50^char^1000^0^999^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
48150^tablestylesheet^4000^0^0^100^200^1^char^200^1^1^<<SQL>> select distinct filename,X.caption,ord from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=48140 order by ord;^^<<SQL>> select distinct filename,X.caption,ord from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=48140 order by ord limit 1;^
48151^Stichtag^23^330^-1^130^100^1^sql^30^1^999^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
48152^Hörerstatus^200^330^-1^140^150^1^sql^30^0^999^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
48153^Ausgabeformat^4010^0^0^100^150^1^char^200^1^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and (nature::smallint<100 or nature::smallint=101) order by nature::smallint^ ^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='XLSX'^
48158^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^999^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
48162^Geschlecht^110^0^0^140^80^1^integer^30^0^999^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^
48163^Spalten^3001^0^0^150^190^10^char^30^0^999^<<SQL>>\
48163^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) order by 2;^ ^ ^
48164^Fachbereich^30^0^0^130^200^6^char^1000^1^1^<<SQL>> select apnr,druck from cifx where key=90 and today() between d_akt_von and d_akt_bis order by 2;^ ^ ^
48164^Fächer^30^0^0^130^200^6^char^1000^1^1^<<SQL>> select stg,dtxt from k_stg order by 2;^ ^ ^

2
src-modules/module/rpta/masken/48140_masken_felder_bez.unl

@ -8,10 +8,8 @@ @@ -8,10 +8,8 @@
48140^48147^
48140^48148^
48140^48149^
48140^48150^
48140^48151^
48140^48152^
48140^48153^
48140^48158^
48140^48162^
48140^48163^

114
src-modules/module/rpta/schluesseltabellen/fm_templates.unl

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
91^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
84^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
CREATE temp TABLE tmp_rpta_column\
(\
uniquename varchar(255) NOT NULL,\
@ -220,116 +220,4 @@ and L.resultset_id=T.resultset_id\ @@ -220,116 +220,4 @@ and L.resultset_id=T.resultset_id\
drop table tmp_rpta_column;\
drop TABLE tmp_rpta_column_layout;\
drop TABLE tmp_rpta_column2layout;\
</#macro>\
\
<#macro rpta_interpret_column_layout>\
select \
--zuerst die Basisdaten:\
<#foreach column in columns>\
<#if column.coltype="physicalColumn">\
${column.srcfieldname} as ${column.srcfieldname},\
<#elseif column.coltype="logicalColumn">\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.coltype="lookupColumn">\
(${column.colfunction}) as ${column.targetfieldname},\
<#elseif column.coltype="computedColumn" || column.coltype=="processingColumn">\
null::decimal(19,6) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud\
from ${basetable.runtime_tablename}\
<#if rpta_column_layout.whereclause !="">\
where ${rpta_column_layout.whereclause}\
</#if>\
;\
\
--ergebnistabelle:\
select \
--zuerst die nicht-Aggregate:\
<#assign groupby=0 />\
<#foreach column in columns>\
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\
-- computedColumns immer mitnehmen, da später verarbeitet\
<#if (column.is_aggregate==0 && column.coltype!="logicalColumn" && column.coltype!="processingColumn") || column.coltype="computedColumn"> \
<#assign groupby=groupby+1 />\
${column.targetfieldname},\
<#elseif column.is_aggregate==0 && column.coltype="processingColumn"> \
<#assign groupby=groupby+1 />\
${column.srcfieldname} as ${column.targetfieldname},\
</#if>\
</#foreach>\
--dann die Aggregate:\
<#foreach column in columns>\
-- logicalColumns ausgeschlossen, da sie von processingColumns aggregiert werden\
-- computedColumns ausgeschlossen, da später im finalen select verarbeitet\
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="logicalColumn"> \
${column.colfunction}(${column.srcfieldname}) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud2\
from tmp_stud\
where 1=1\
group by\
<#list 1..groupby as i>${i}\
<#if i != groupby>\
,\
</#if>\
</#list>\
;\
--für Prozentwerte alle Aggregate summieren:\
select \
<#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn" && column.coltype!="processingColumn">\
sum(${column.targetfieldname})::float as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_gesamt\
from tmp_stud2\
where 1=1\
;\
\
<#assign number_of_visible_colums=0 />\
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign number_of_visible_colums=number_of_visible_colums+1 />\
</#if>\
</#foreach>\
<#assign colnr=0 />\
select \
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign colnr=colnr+1 />\
<#assign format_sql="" />\
<#if column.format_sql?string != "">\
<#assign format_sql=column.format_sql />\
</#if>\
\
<#if column.coltype=="computedColumn">\
(${column.colfunction})${format_sql} as ${column.targetfieldname}\
<#else>\
${column.targetfieldname}${format_sql} as ${column.targetfieldname}\
</#if>\
\
<#if colnr &lt; number_of_visible_colums>,</#if>\
</#if> --wenn sichtbar\
</#foreach>\
from tmp_stud2\
order by \
<#list 1..number_of_visible_colums as i>${i}\
<#if i != number_of_visible_colums>\
,\
</#if>\
</#list>\
;\
\
<#if basetable.is_virtual==1>\
drop table if exists ${basetable.runtime_tablename};\
</#if>\
drop table if exists tmp_stud;\
drop table if exists tmp_stud2;\
drop table if exists tmp_gesamt;\
\
</#macro>^Makros zum Umgang mit Spaltenlayouts^^1^

23
src-modules/module/rpta/schluesseltabellen/macro_masken_bez_fuellen.sql

@ -1,27 +1,10 @@ @@ -1,27 +1,10 @@
--freemarker template
-- für das RPTA-Makro wird schleifenrelation type text benötigt
-- Umstellung auf schleifenrelation type text erfolgt in Kern 5.3
-- nach kern 5.3-Installation kann folgender alter table entfernt werden
alter table macro_masken_bez alter column schleifenrelation type text;
<#assign makros = [
{"tid":"48140"}
] />
<#assign masken = [
{"makro":"48140", "tid":"48110", "sortnr":"10",
"schleifenrelation":"<<SQL>>
SELECT DISTINCT
((((''_''::text || COALESCE(c.lid, btrim(l.fb::text)::character varying)::text) || ''_''::text) || btrim(l.stg::text)) || ''_''::text) || btrim(l.abschluss::text) AS apnr,
(btrim(k.dtxt::text) || '' ''::text) || ((( SELECT a.druck FROM cifx a WHERE a.key = 35 AND a.apnr = l.abschluss))::text) AS druck
FROM
k_stg k,
lehr_stg_ab l
LEFT JOIN cifx c ON c.key = 90 AND (c.sourcesystem = ANY (ARRAY[5, 6, 10, 12, 15])) AND c.apnr = l.fb
WHERE k.stg = l.stg
and c.apnr=<<Fachbereich>>
and l.abschluss in (''BA'',''MA'')",
"schleifenfeldname":"Studiengang","schleifenfstand":"12.03.2025", "schleifenfsicht":"<<Studiengang-Sicht>>"}
{"makro":"48140", "tid":"48110", "sortnr":"10", "schleifenrelation":"<<SQL>>select ''s_'' || tid,text from lehr_stg_ab where stg in (<<Fächer>>) order by 2",
"schleifenfeldname":"Studiengang","schleifenfstand":"12.03.2025", "schleifenfsicht":"<<Studiengang-Sicht>>"}
] />
<#assign felder = [
] />
@ -32,7 +15,7 @@ CREATE TEMP TABLE tmp_macro_masken_bez ( @@ -32,7 +15,7 @@ CREATE TEMP TABLE tmp_macro_masken_bez (
maskeninfo_id2 integer NOT NULL,
active integer DEFAULT 1 NOT NULL,
sortnr smallint NOT NULL,
schleifenrelation text,
schleifenrelation character(255),
schleifenfeldname character(255),
alias character(255),
schleifenfstand character(255),

88
src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql

@ -11,71 +11,13 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -11,71 +11,13 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
<#assign rpta_column_layouts = [{"uniquename":"rpta_exam_unit_dim_studiengang_note",
"caption":"Prüfungsergebnisse",
"rpta_resultset":"rpta_exam_unit_dim_studiengang",
"whereclause":"((modulart=''P'' and sourcesystem=6) or (part=''MP'' and sourcesystem=5))",
"whereclause":"modulart=''P''",
"description":"Prüfung und Noten"
}]
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_stg",
"srcfieldname":"dim_studiengang_stg",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Fach",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"dim_studiengang_abschluss",
"srcfieldname":"dim_studiengang_abschluss",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Abschluss",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"sem_der_pruefung",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Semester der Prüfung (Schlüssel)",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"sem_der_pruefung_str",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung_str",
"column_type":"logicalColumn",
"col_function":"(select eintrag from semester where tid=sem_der_pruefung)",
"format_code":"",
"caption":"Semester der Prüfung",
"is_visible":"0",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"sem_der_pruefung_str_process",
"srcfieldname":"sem_der_pruefung_str",
"targetfieldname":"sem_der_pruefung_str_process",
"column_type":"processingColumn",
"col_function":"",
"format_code":"",
"caption":"Semester der Prüfung",
"is_visible":"1",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"elementnr",
"srcfieldname":"elementnr",
"column_type":"physicalColumn",
@ -84,7 +26,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -84,7 +26,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"caption":"pnr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"visible_size":5,
"description":""},
{"uniquename":"pdtxt",
@ -92,10 +34,10 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -92,10 +34,10 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Name der Prüfung",
"caption":"",
"is_visible":"1",
"is_aggregate":0,
"visible_size":40,
"visible_size":5,
"description":""},
{"uniquename":"summe",
@ -106,25 +48,13 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -106,25 +48,13 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"caption":"Teilnehmer",
"is_visible":"1",
"is_aggregate":1,
"visible_size":15,
"description":""},
{"uniquename":"note_case",
"srcfieldname":"note",
"targetfieldname":"note_case",
"column_type":"logicalColumn",
"col_function":"(case when note > 6 then null else note end)",
"format_code":"",
"caption":"Durchschnittsnote % *",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"note_schnitt",
"srcfieldname":"note_case",
"srcfieldname":"note",
"targetfieldname":"note_schnitt",
"column_type":"processingColumn",
"column_type":"physicalColumn",
"col_function":"avg",
"format_code":"",
"caption":"Durchschnittsnote *",
@ -142,7 +72,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -142,7 +72,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"caption":"Durchschnittsnote *",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"visible_size":5,
"description":""},
{"uniquename":"pstatus_nb",
@ -178,7 +108,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -178,7 +108,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"caption":"Durchfallquote in % *",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"visible_size":5,
"description":""},
{"uniquename":"pvermerk_ne",
@ -202,7 +132,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -202,7 +132,7 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
"caption":"Nicht erschienen",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"visible_size":5,
"description":""}

443
src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen_MIN_MAX_SEMESTER_TEST.sql

@ -1,443 +0,0 @@ @@ -1,443 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_exam_unit_dim_studiengang_exists">
select count(*) from rpta_resultset where uniquename='rpta_exam_unit_dim_studiengang';
</sqlvar>
<sqlvar name="rpta_resultset">
select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studiengang';
</sqlvar>
</sqlvars>
<#assign rpta_column_layouts = [{"uniquename":"rpta_exam_unit_dim_studiengang_note",
"caption":"Prüfungsergebnisse",
"rpta_resultset":"rpta_exam_unit_dim_studiengang",
"whereclause":"((modulart=''P'' and sourcesystem=6) or (part=''MP'' and sourcesystem=5))",
"description":"Prüfung und Noten"
}]
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_stg",
"srcfieldname":"dim_studiengang_stg",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Fach",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"dim_studiengang_abschluss",
"srcfieldname":"dim_studiengang_abschluss",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Abschluss",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"sem_der_pruefung",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung",
"column_type":"logicalColumn",
"col_function":"sem_der_pruefung",
"format_code":"",
"caption":"Semester der Prüfung",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"sem_der_pruefung_min_process",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung_min_process",
"column_type":"processingColumn",
"col_function":"min",
"format_code":"",
"caption":"Semester der Prüfung (Min)",
"is_visible":"1",
"is_aggregate":1,
"visible_size":5,
"description":""},
{"uniquename":"sem_der_pruefung_max_process",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung_max_process",
"column_type":"processingColumn",
"col_function":"max",
"format_code":"",
"caption":"Semester der Prüfung (Max)",
"is_visible":"1",
"is_aggregate":1,
"visible_size":5,
"description":""},
{"uniquename":"elementnr",
"srcfieldname":"elementnr",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"pnr",
"is_visible":"1",
"is_aggregate":0,
"visible_size":10,
"description":""},
{"uniquename":"pdtxt",
"srcfieldname":"pdtxt",
"column_type":"physicalColumn",
"col_function":"",
"format_code":"",
"caption":"Name der Prüfung",
"is_visible":"1",
"is_aggregate":0,
"visible_size":40,
"description":""},
{"uniquename":"summe",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"format_code":"",
"caption":"Teilnehmer",
"is_visible":"1",
"is_aggregate":1,
"visible_size":15,
"description":""},
{"uniquename":"note_case",
"srcfieldname":"note",
"targetfieldname":"note_case",
"column_type":"logicalColumn",
"col_function":"(case when note > 6 then null else note end)",
"format_code":"",
"caption":"Durchschnittsnote % *",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"note_schnitt",
"srcfieldname":"note_case",
"targetfieldname":"note_schnitt",
"column_type":"processingColumn",
"col_function":"avg",
"format_code":"",
"caption":"Durchschnittsnote *",
"is_visible":"0",
"is_aggregate":1,
"visible_size":5,
"description":""},
{"uniquename":"note_schnitt_case",
"srcfieldname":"note_schnitt",
"targetfieldname":"note_schnitt_case",
"column_type":"computedColumn",
"col_function":"case when summe < 5 then null else note_schnitt end",
"format_code":"",
"caption":"Durchschnittsnote *",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"description":""},
{"uniquename":"pstatus_nb",
"srcfieldname":"pstatus",
"targetfieldname":"pstatus_nb",
"column_type":"logicalColumn",
"col_function":"(case when pstatus in (''NB'',''EN'') then 1 else 0 end)",
"format_code":"",
"caption":"Durchfallquote in % *",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"pstatus_nb_sum",
"srcfieldname":"pstatus_nb",
"targetfieldname":"pstatus_nb_sum",
"column_type":"processingColumn",
"col_function":"sum",
"format_code":"",
"caption":"Durchfallquote in % *",
"is_visible":"0",
"is_aggregate":1,
"visible_size":5,
"description":""},
{"uniquename":"pstatus_nb_quote",
"srcfieldname":"pstatus_nb_sum",
"targetfieldname":"pstatus_nb_quote",
"column_type":"computedColumn",
"col_function":"case when summe < 5 then null else pstatus_nb_sum/summe::decimal(18,2)*100 end",
"format_code":"DEC_2",
"caption":"Durchfallquote in % *",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"description":""},
{"uniquename":"pvermerk_ne",
"srcfieldname":"pvermerk",
"targetfieldname":"pvermerk_ne",
"column_type":"logicalColumn",
"col_function":"(case when pvermerk in (''NE'',''N'') then 1 else 0 end)",
"format_code":"",
"caption":"Nicht erschienen",
"is_visible":"0",
"is_aggregate":0,
"visible_size":5,
"description":""},
{"uniquename":"pvermerk_ne_sum",
"srcfieldname":"pvermerk_ne",
"targetfieldname":"pvermerk_ne_sum",
"column_type":"processingColumn",
"col_function":"sum",
"format_code":"INTEGER",
"caption":"Nicht erschienen",
"is_visible":"1",
"is_aggregate":1,
"visible_size":25,
"description":""}
] />
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT,
format_code_uniquename varchar(255),
format_code_id integer
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
<#foreach rpta_column_layout in rpta_column_layouts>
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
</#foreach >
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description,
format_code_uniquename
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
<#if column.col_function?exists>'${column.col_function}'<#else>null::varchar </#if>,
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
<#if column.description?exists>'${column.description}'<#else>null::varchar </#if>,
<#if column.format_code?exists>'${column.format_code}'<#else>null::varchar </#if>
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
update tmp_rpta_column set format_code_id=C.tid
from rpta_format_code C
where C.uniquename=tmp_rpta_column.format_code_uniquename
and format_code_uniquename is not null;
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_resultset}'
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_resultset}'
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description,
format_code_id)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description,
T.format_code_id
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename in (
<#foreach rpta_column_layout in rpta_column_layouts>
'${rpta_column_layout.uniquename}',
</#foreach>'xy')
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop table if exists tmp_rpta_column2;
drop TABLE tmp_rpta_column_layout;

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

@ -3,10 +3,6 @@ @@ -3,10 +3,6 @@
--Bitte nur Freemarker Variablen füllen
<#assign masken = [
{"mask":"48140", "filename":"tabelle_html.xsl", "ord":"10"},
{"mask":"48140", "filename":"tabelle_xls_48140.xsl", "ord":"1"},
{"mask":"48110", "filename":"48110_leistungen_und_studiengaenge.jrxml", "ord":"1"}
] />
<#assign stylesheet = [
@ -31,28 +27,6 @@ @@ -31,28 +27,6 @@
"usage_resultset_data":"T",
"stylesheet_type":"XSL",
"jr_datasource":""
},
{"filename":"tabelle_xls_48140.xsl",
"caption":"Prüfungsergebnisse (Excel)",
"description":"Studiengangsweise Ausgabe pro Reiter",
"relation":"table",
"contenttype":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"is_generic":"0",
"toolbar_icon_filepath":"",
"usage_resultset_data":"T",
"stylesheet_type":"XSL_XLSX",
"jr_datasource":""
},
{"filename":"48110_leistungen_und_studiengaenge.jrxml",
"caption":"Prüfungsergebnisse (Excel)",
"description":"Studiengangsweise Ausgabe pro Reiter",
"relation":"table",
"contenttype":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"is_generic":"0",
"toolbar_icon_filepath":"",
"usage_resultset_data":"T",
"stylesheet_type":"JRXML",
"jr_datasource":""
}
] />

414
superx/WEB-INF/reports/48110_leistungen_und_studiengaenge.jrxml

@ -1,414 +0,0 @@ @@ -1,414 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.21.3.final using JasperReports Library version 6.21.3-4a3078d20785ebe464f18037d738d12fc98c13cf -->
<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="Leistungen und Studiengänge" language="groovy" pageWidth="842" pageHeight="5595" orientation="Landscape" columnWidth="818" leftMargin="12" rightMargin="12" topMargin="12" bottomMargin="12" uuid="d58082fe-8941-478b-b06e-8d7250737b92">
<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.one.page.per.sheet" 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.print.create.bookmarks" value="true"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageFooter"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.1" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xlsx.exclude.origin.band.2" value="pageFooter"/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="Prüfungsergebnisse"/>
<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"/>
<template><![CDATA["simple_table.jrtx"]]></template>
<style name="TableRowDetail" mode="Opaque" forecolor="#000000" backcolor="#FFFFFF" hTextAlign="Right" vTextAlign="Middle" isBlankWhenNull="true" fontName="Liberation Sans" fontSize="8" isBold="false">
<box rightPadding="2">
<pen lineColor="#000000"/>
<topPen lineWidth="0.5" lineColor="#030303"/>
<leftPen lineWidth="0.5" lineColor="#030303"/>
<bottomPen lineWidth="0.5" lineColor="#030303"/>
<rightPen lineWidth="0.5" lineColor="#030303"/>
</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>
<queryString language="xPath">
<![CDATA[/ergebnisse/ergebnis/ergebniselement[@ordnr='0']/sqlerg/row]]>
</queryString>
<field name="REPORT_HEADING_INSTITUTION" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_INSTITUTION]]></fieldDescription>
</field>
<field name="REPORT_HEADING_URL" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_URL]]></fieldDescription>
</field>
<field name="REPORT_LOGO_FILE" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_LOGO_FILE]]></fieldDescription>
</field>
<field name="REPORT_HEADING_ADRESS" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_HEADING_ADRESS]]></fieldDescription>
</field>
<field name="REPORT_EMAIL" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_EMAIL]]></fieldDescription>
</field>
<field name="REPORT_DOCUMENTATION_URL" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/generalinfo/REPORT_DOCUMENTATION_URL]]></fieldDescription>
</field>
<field name="Berichtsname" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/maskenname]]></fieldDescription>
</field>
<field name="Erlaeuterung" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/explanation]]></fieldDescription>
</field>
<field name="Hinweis" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/hinweis]]></fieldDescription>
</field>
<field name="Fach" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="0" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Abschluss" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="1" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Semester der Prüfung (Schlüssel)" class="java.lang.Integer">
<fieldDescription><![CDATA[col[@id="2" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Semester der Prüfung" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="3" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="pnr" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="4" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Name der Prüfung" class="java.lang.String">
<fieldDescription><![CDATA[col[@id="5" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Teilnehmer" class="java.lang.Integer">
<fieldDescription><![CDATA[col[@id="6" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Durchschnittsnote *" class="java.lang.Double">
<fieldDescription><![CDATA[col[@id="7" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Durchfallquote in % *" class="java.lang.Double">
<fieldDescription><![CDATA[col[@id="8" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="Nicht erschienen" class="java.lang.Integer">
<fieldDescription><![CDATA[col[@id="9" and wert!=""]/wert]]></fieldDescription>
</field>
<field name="legende_Seit Semester_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Seit Semester"]/@varname]]></fieldDescription>
</field>
<field name="legende_Seit Semester_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Seit Semester"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Bis Semester_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Bis Semester"]/@varname]]></fieldDescription>
</field>
<field name="legende_Bis Semester_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Bis Semester"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Semestertyp_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Semestertyp"]/@varname]]></fieldDescription>
</field>
<field name="legende_Semestertyp_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Semestertyp"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Studiengang_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Studiengang"]/@varname]]></fieldDescription>
</field>
<field name="legende_Studiengang_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Studiengang"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Fächer_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Fächer"]/@varname]]></fieldDescription>
</field>
<field name="legende_Fächer_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Fächer"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Abschluss_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Abschluss"]/@varname]]></fieldDescription>
</field>
<field name="legende_Abschluss_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Abschluss"]/value_caption]]></fieldDescription>
</field>
<field name="legende_bis Fachsemester_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="bis Fachsemester"]/@varname]]></fieldDescription>
</field>
<field name="legende_bis Fachsemester_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="bis Fachsemester"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Spaltenlayout_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Spaltenlayout"]/@varname]]></fieldDescription>
</field>
<field name="legende_Spaltenlayout_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Spaltenlayout"]/value_caption]]></fieldDescription>
</field>
<field name="legende_Spalten_label" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/completefields/feld [@varname="Spalten"]/@varname]]></fieldDescription>
</field>
<field name="legende_Spalten_value" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis/felder/feld [@varname="Spalten"]/value_caption]]></fieldDescription>
</field>
<field name="standdatum" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/ergebnis[ @ordnr='0']/stand]]></fieldDescription>
</field>
<field name="user" class="java.lang.String">
<fieldDescription><![CDATA[/ergebnisse/user]]></fieldDescription>
</field>
<variable name="tabellennr" class="java.lang.Integer">
<variableExpression><![CDATA[0]]></variableExpression>
</variable>
<variable name="MinSemester" class="java.lang.Integer" resetType="Group" resetGroup="Abschluss" calculation="Lowest">
<variableExpression><![CDATA[$F{Semester der Prüfung (Schlüssel)}]]></variableExpression>
</variable>
<variable name="MaxSemester" class="java.lang.Integer" resetType="Group" resetGroup="Abschluss" calculation="Highest">
<variableExpression><![CDATA[$F{Semester der Prüfung (Schlüssel)}]]></variableExpression>
</variable>
<group name="tabellennr">
<groupExpression><![CDATA[$V{tabellennr}]]></groupExpression>
</group>
<group name="Fach">
<groupExpression><![CDATA[$F{Fach}]]></groupExpression>
</group>
<group name="Abschluss" isStartNewPage="true">
<groupExpression><![CDATA[$F{Abschluss}]]></groupExpression>
<groupHeader>
<band height="60">
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
<textField>
<reportElement style="LegendLabel" x="0" y="30" width="818" height="20" uuid="b5c9a9db-b01b-48ab-9dca-3478eae8829e"/>
<textElement verticalAlignment="Bottom">
<font isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Filterkriterien: "]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement style="LegendContent" x="0" y="50" width="818" height="10" isPrintWhenDetailOverflows="true" backcolor="#FFFFFF" uuid="0d6743c3-cd7a-471f-baca-226acf0a9dbc"/>
<box topPadding="10" leftPadding="2" bottomPadding="10" rightPadding="2"/>
<textFieldExpression><![CDATA[""+(($F{legende_Seit Semester_value}==null || $F{legende_Seit Semester_value}=="")?"":($F{legende_Seit Semester_label}+": "+$F{legende_Seit Semester_value}+"; "))
+(($F{legende_Bis Semester_value}==null || $F{legende_Bis Semester_value}=="")?"":($F{legende_Bis Semester_label}+": "+$F{legende_Bis Semester_value}+"; "))
+(($F{legende_Semestertyp_value}==null || $F{legende_Semestertyp_value}=="")?"":($F{legende_Semestertyp_label}+": "+$F{legende_Semestertyp_value}+"; "))
+(($F{legende_Spaltenlayout_value}==null || $F{legende_Spaltenlayout_value}=="")?"":($F{legende_Spaltenlayout_label}+": "+$F{legende_Spaltenlayout_value}+"; "))
+"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="0" width="818" height="30" uuid="cd4ea430-054a-4958-a410-35ce51cec7d5">
<propertyExpression name="net.sf.jasperreports.export.xls.sheet.name"><![CDATA[$F{Fach}+" "+$F{Abschluss}]]></propertyExpression>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$F{Fach}+" "+$F{Abschluss}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="55">
<staticText>
<reportElement x="0" y="15" width="818" height="20" uuid="63ced6b8-8393-407e-aebf-76351478ff2c">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
</reportElement>
<text><![CDATA[* Bei weniger als 5 Prüfungsteilnehmern werden keine Durchschnittsnoten oder Durchfallquoten ausgewiesen.]]></text>
</staticText>
<staticText>
<reportElement x="0" y="35" width="818" height="20" uuid="30399079-73f3-4bf2-8a55-f7f313aab901"/>
<text><![CDATA[Die Spalte "Nicht erschienen" dient zur ergänzenden Information, d.h. die hier angegebenen "Nicht erschienen" sind in den Spalten "Teilnehmer", "Durchschnittsnote" und "Durchfallquote in %" enthalten.]]></text>
</staticText>
</band>
</groupFooter>
</group>
<group name="Semester">
<groupExpression><![CDATA[$F{Semester der Prüfung (Schlüssel)}]]></groupExpression>
<groupHeader>
<band height="45">
<staticText>
<reportElement positionType="Float" x="0" y="30" width="51" height="15" uuid="b2beb035-a6bc-40a4-844d-d9fe2f5891a4">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[pnr]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="435" y="30" width="128" height="15" uuid="b8f5202b-2d0a-427f-81de-c923cbe2f094">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Durchschnittsnote *]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="358" y="30" width="77" height="15" uuid="7e3c57b7-1ed1-470e-92a4-fe799dae0d9f">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Teilnehmer]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="691" y="30" width="127" height="15" uuid="c77831d1-4cc7-4401-aef8-585d8a64e7a9">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Nicht erschienen]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="51" y="30" width="307" height="15" uuid="1c8d7170-556e-4e09-a555-94f72f81509e">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Name der Prüfung]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="563" y="30" width="128" height="15" uuid="8cd3f230-31bf-4855-8009-22e8e5fcc20b">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[Durchfallquote in % *]]></text>
</staticText>
<textField>
<reportElement x="0" y="0" width="818" height="30" uuid="dde46984-9757-4065-970a-042ac9e725c4"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Prüfungen nach dem "+$F{Semester der Prüfung}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="50"/>
</groupFooter>
</group>
<detail>
<band height="15" splitType="Stretch">
<property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.spreadsheet.SpreadsheetLayout"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="0" y="0" width="51" height="15" uuid="ab1dcbe4-f124-430c-9831-e3a1aba7e82d">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
</reportElement>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{pnr}]]></textFieldExpression>
<patternExpression><![CDATA[]]></patternExpression>
</textField>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="51" y="0" width="307" height="15" uuid="e0421889-bb9a-4324-bcf3-edc738d36828">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
</reportElement>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Name der Prüfung}]]></textFieldExpression>
<patternExpression><![CDATA[]]></patternExpression>
</textField>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="358" y="0" width="77" height="15" uuid="6fcce53f-6e5b-43f5-bee1-74ca78fda172"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Teilnehmer}]]></textFieldExpression>
<patternExpression><![CDATA["#,##0"]]></patternExpression>
</textField>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="435" y="0" width="128" height="15" uuid="74f016aa-b70a-44c5-97c7-4a2c458ad6d7"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Durchschnittsnote *}]]></textFieldExpression>
<patternExpression><![CDATA["#,##0.00;-#,##0.00"]]></patternExpression>
</textField>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="563" y="0" width="128" height="15" uuid="e02a56f9-bdf2-4ca3-8933-73cded7631de">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Durchfallquote in % *}]]></textFieldExpression>
<patternExpression><![CDATA["#,##0.00;-#,##0.00"]]></patternExpression>
</textField>
<textField textAdjust="StretchHeight" isBlankWhenNull="true">
<reportElement stretchType="ContainerHeight" x="691" y="0" width="127" height="15" uuid="39488aeb-b9b9-4656-8e15-f7f00b5f02ea">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
<rightPen lineWidth="0.5"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{Nicht erschienen}]]></textFieldExpression>
<patternExpression><![CDATA["#,##0"]]></patternExpression>
</textField>
</band>
</detail>
</jasperReport>

320
superx/xml/tabelle_xls_48140.xsl

@ -1,320 +0,0 @@ @@ -1,320 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="pageComponents_html.xsl" />
<!--In diesem Stylesheet können Sie individuelle templates unterbringen,
die in ihrer Präzedenz das normale Stylesheet
pageComponents_html.xsl überragt. -->
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" />
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
<xml:output method="application/vnd.ms-excel" />
<xsl:template match="/">
<xsl:call-template name="xlsworkbook"/>
</xsl:template>
<xsl:template name="xlsworkbook">
<xls_workbook vorlage="">
<!-- define the xl styles-->
<xsl:call-template name="xls_Styles" />
<!--Seitenformat-->
<xsl:call-template name="xls_PageFormat" />
<!-- define the xl data for the first sheet -->
<xsl:for-each select="ergebnisse/ergebnis/ergebniselement">
<xsl:choose>
<xsl:when test="@typ='image'">
<xsl:text>
</xsl:text>
</xsl:when>
<xsl:when test="@typ='tabelle'">
<xsl:call-template name="xslsheet"/>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xls_workbook>
</xsl:template>
<xsl:template name="xslsheet">
<xls_sheet name="{substring-after(substring-after(../felder/feld[ @varname='Studiengang']/value,'_'),'_')}">
<xls_row height="600">
<xls_cell style="maskenname" width="10000"><xsl:value-of select="../maskenname" /></xls_cell>
</xls_row>
<xsl:call-template name="legende_xl"> </xsl:call-template>
<xls_row height="1000"><xls_cell></xls_cell></xls_row>
<xsl:call-template name="xlsheader"/>
<xsl:call-template name="xslrows"/>
</xls_sheet>
</xsl:template>
<xsl:template name="xslrows">
<xsl:for-each select="sqlerg/row">
<xsl:call-template name="xslsinglerow"/>
</xsl:for-each>
</xsl:template>
<xsl:template name="xslsinglerow">
<xsl:variable name="erglevelmax">
<xsl:if test="count(../../sqlerg/row/col [ f_name = 'ebene' ]) &gt; 0">
<xsl:choose>
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '4']) &gt; 0">
<xsl:text>4</xsl:text>
</xsl:when>
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '3']) &gt; 0">
<xsl:text>3</xsl:text>
</xsl:when>
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '2']) &gt; 0">
<xsl:text>2</xsl:text>
</xsl:when>
<xsl:when test="count(../../sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '1']) &gt; 0">
<xsl:text>1</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>5</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:variable>
<!--Hinweis: Wenn für die row eine Ebene angegeben ist, wird die Darstellung vom Server definiert
Style der Zelle (z.B. body_dec) wird ignoriert, Attribut numeric ist wichtig für Darstellung,
per datatype decimal wird Nachkommastellenanzeige eingestellt-->
<xls_row>
<!-- DQ 14.12.07 In Zukunft noch erglevelmax auswerten when$erglevelmax = 5 and -->
<xsl:if test="count(col[ f_name = 'ebene' ]) &gt; 0">
<xsl:attribute name="ebene"><xsl:value-of select="6-$erglevelmax+number(col[ f_name = 'ebene' ]/wert)" /></xsl:attribute>
</xsl:if>
<xsl:if test="@issumme='true'">
<xsl:attribute name="ebene"><xsl:value-of select="'summe'" /></xsl:attribute>
</xsl:if>
<!--MB keine Zelle für Linkspalten, 4/2010 keine versteckten Spalten-->
<xsl:for-each select="col[(starts-with(f_name,'hidden'))=false and starts-with(f_name,'next') = false ]">
<xls_cell>
<xsl:variable name="checkname"><xsl:value-of select="concat('hidden',f_name,'dp')"/></xsl:variable>
<xsl:choose> <!--MB wenn es eine versteckte hidden_decimalpl gibt auswerten-->
<!--MB 4/2010 wenn decimalzahl aber decimalplaces=0 als nicht als decimal sondern integer ausgeben s.u. -->
<!-- typ 8 timestamp nicht als Decimalzahl sondern Text ausgeben -->
<xsl:when test="(@typ='2' or @typ='3') and count(../col[f_name=$checkname]) = 0"> <!-- DecimalFormat -->
<xsl:attribute name="style">body_dec</xsl:attribute>
<xsl:attribute name="numeric">true</xsl:attribute>
<xsl:attribute name="datatype">decimal</xsl:attribute>
<xsl:choose>
<xsl:when test="wert != ''">
<xsl:value-of select="wert" />
<!--<xsl:value-of select="format-number(wert,'###.###.###.###.##0,00','German')" />-->
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'&#160;'" />
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="(@typ='2' or @typ='3') and count(../col[f_name=$checkname]) &gt;0 and ../col[f_name=$checkname]/wert!='0'"> <!-- DecimalFormat -->
<xsl:attribute name="style">body_dec</xsl:attribute> <!-- row.ebene überlagert ggfs! -->
<xsl:attribute name="numeric">true</xsl:attribute>
<xsl:attribute name="datatype">decimal</xsl:attribute>
<!--<xsl:value-of select="wert" />-->
<xsl:choose>
<xsl:when test="wert != ''">
<xsl:value-of select="wert" />
<!--<xsl:value-of select="format-number(wert,'###.###.###.###.##0,00','German')" />-->
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'&#160;'" />
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="../col[f_name=$checkname]/wert='0' or @typ='4' or @typ='5'"> <!-- MB: Integer/ auch typ 5 Smallint -->
<xsl:attribute name="style">body_int</xsl:attribute> <!-- row.ebene überlagert ggfs! -->
<xsl:attribute name= "numeric">true</xsl:attribute>
<xsl:attribute name="datatype">integer</xsl:attribute>
<!--<xsl:value-of select="wert" />-->
<xsl:choose>
<xsl:when test="wert != ''">
<!-- MB formatierung format-number(wert,'###.###.###.###.###','German') raus, macht Excel selbst -->
<xsl:value-of select="wert " />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'&#160;'" />
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<!-- deutsche datumsfelder können von POI noch nicht richtig verarbeitet werden
<xsl:when test="@typ='91'">
<xsl:attribute name="style">body_date</xsl:attribute>
<xsl:attribute name="datatype">date</xsl:attribute>
<xsl:value-of select="wert " />
</xsl:when>
-->
<xsl:otherwise>
<!--Typ=1 ist string und wird defaultmäßig behandelt -->
<xsl:attribute name="style">body</xsl:attribute> <!-- row.ebene überlagert ggfs! -->
<xsl:call-template name="field_type" />
<!-- MB 8/2015 da next... eh nicht angezeigt werden kann auf resultsetLink verzichtet werden,
so kommen bei Usern die emailadressen als reiner text raus
<xsl:variable name="zs">
<xsl:call-template name="field_value">
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="resultsetLink">
<xsl:with-param name="zs2" select="$zs" />
</xsl:call-template>
-->
<xsl:call-template name="field_value"/>
<!-- MB 5.5.08 ablegen in zs3 und aufruf von get_val_or_nbsp nicht nötig-->
</xsl:otherwise>
</xsl:choose>
</xls_cell>
</xsl:for-each><!--cell-->
</xls_row>
</xsl:template>
<xsl:template name="xlsheader">
<xsl:choose>
<xsl:when test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@hasAggregationHeaders='true'">
<xsl:variable name="nr_rows"><xsl:value-of select="count(sqlerg/aggregationHeaders/tr)" /></xsl:variable>
<xsl:for-each select="sqlerg/aggregationHeaders/tr">
<!-- AK 20.08.2014 Der Header bekommt eine höhere Zeile-->
<xls_row height="600">
<xsl:if test="position()=1">
<xsl:attribute name="repeating"><xsl:value-of select="$nr_rows" /></xsl:attribute>
</xsl:if>
<xsl:for-each select="th">
<xsl:if test="starts-with(@f_name,'next') = false and starts-with(@f_name,'hidden') = false">
<xls_cell style="heading">
<xsl:attribute name="width"><xsl:value-of select="@width * 280" /> </xsl:attribute>
<xsl:if test="@colspan != ''">
<xsl:attribute name="colspan"><xsl:value-of select="@colspan" /> </xsl:attribute>
</xsl:if>
<xsl:if test="@rowspan != ''">
<xsl:attribute name="rowspan"><xsl:value-of select="@rowspan" /> </xsl:attribute>
</xsl:if>
<xsl:call-template name="removeBackslashN" >
<xsl:with-param name="derwert"><xsl:value-of select="." /></xsl:with-param>
<xsl:with-param name="format"><xsl:value-of select="'xls'" /></xsl:with-param>
</xsl:call-template>
</xls_cell>
</xsl:if>
</xsl:for-each>
</xls_row>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<!-- alt Normale headers -->
<xls_row repeating="true">
<!--MB 04/2010 versteckte Spalten nicht kein Header für Linkspalten--> -->
<xsl:for-each select="sqlerg/headers/header[(starts-with(f_name,'hidden'))=false and starts-with(f_name,'next') = false ]">
<xsl:call-template name="xlssingleheader">
<xsl:with-param name="derwert" select="wert" />
</xsl:call-template>
</xsl:for-each>
</xls_row>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="xlssingleheader">
<xsl:param name="derwert" />
<xls_cell style="heading">
<xsl:attribute name="width"><xsl:value-of select="@width * 280" /> </xsl:attribute>
<!--max. 2 Umbrüche pro Zelle -->
<!--<xsl:value-of select="string($derwert) "/>-->
<xsl:variable name="header1">
<xsl:choose>
<xsl:when test="(contains(string($derwert),'\n'))">
<xsl:value-of select="substring-before($derwert,'\n') "/>
<xsl:text>
</xsl:text>
<xsl:value-of select="substring-after($derwert,'\n') "/>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="$derwert" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="header2">
<xsl:choose>
<xsl:when test="(contains(string($header1),'\n'))">
<xsl:value-of select="substring-before($header1,'\n') "/>
<xsl:text>
</xsl:text>
<xsl:value-of select="substring-after($header1,'\n') "/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$header1" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="(contains(string($header2),'\000'))">
<xsl:value-of select="substring-before($header2,'\000') "/>
<xsl:text>
</xsl:text>
<xsl:value-of select="substring-after($header2,'\000') "/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$header2" />
</xsl:otherwise>
</xsl:choose>
</xls_cell>
</xsl:template>
<xsl:template name="legende_xl">
<xls_row height="1000">
<xls_cell style="legende">
<xsl:for-each select="../felder/feld">
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and @varname!='##line##' ">
<xsl:choose>
<xsl:when test="string-length(caption_short) &gt; 0 and caption_short != 'null'" >
<![CDATA[]]><xsl:value-of select="normalize-space(string(caption_short))" /><![CDATA[]]>
</xsl:when>
<xsl:otherwise>
<![CDATA[]]><xsl:value-of select="normalize-space(string(@varname))" /><![CDATA[]]>
</xsl:otherwise>
</xsl:choose><xsl:text>: </xsl:text>
<![CDATA[]]><xsl:value-of select="normalize-space(string(value_caption))" /><![CDATA[]]>
<!-- bei Mehrfachauswahl keine Einschränkung auf 50 Zeichen sinnvoll
<xsl:if test="string-length(wert/caption) &lt; 50">
<![CDATA[]]><xsl:value-of select="normalize-space(string(value_caption))" /><![CDATA[]]>
</xsl:if>
<xsl:if test="string-length(wert/caption) &gt; 49">
<![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]><xsl:text>...</xsl:text>
</xsl:if>-->
<xsl:if test="sicht!=''">
<![CDATA[]]><xsl:text> (</xsl:text><xsl:value-of select="sicht" />
<xsl:if test="@stand!=''"><xsl:text> - Stand:</xsl:text><xsl:value-of select="@stand"/></xsl:if>
<xsl:text>)</xsl:text><![CDATA[]]>
</xsl:if>
<xsl:text>; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>User: </xsl:text><xsl:value-of select="/ergebnisse/user" />
<xsl:text>; Stand: </xsl:text><xsl:value-of select="../stand" />
</xls_cell>
</xls_row>
<xsl:if test="../hinweis!=''">
<xls_row height="1000"><xls_cell style="legende"><xsl:value-of select="../hinweis"/></xls_cell></xls_row>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Loading…
Cancel
Save