Browse Source

JasperReport fuer Pruefungsergebnisse inkl Anpassungen Spaltenlayout; fm_templates-Eintrag fuer Spaltenverarbeitung

master
Imo John 1 day ago
parent
commit
200805cb3f
  1. 2
      src-modules/module/rpta/masken/48110_felderinfo.unl
  2. 1
      src-modules/module/rpta/masken/48110_masken_felder_bez.unl
  3. 109
      src-modules/module/rpta/masken/48110_maskeninfo.unl
  4. 114
      src-modules/module/rpta/schluesseltabellen/fm_templates.unl
  5. 2
      src-modules/module/rpta/schluesseltabellen/macro_masken_bez_fuellen.sql
  6. 58
      src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen.sql
  7. 443
      src-modules/module/rpta/schluesseltabellen/rptaColLay_rpta_exam_unit_dim_studiengang_note_fuellen_MIN_MAX_SEMESTER_TEST.sql
  8. 14
      src-modules/module/rpta/schluesseltabellen/sx_stylesheets_einfuegen.sql
  9. 414
      superx/WEB-INF/reports/48110_leistungen_und_studiengaenge.jrxml

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

@ -26,3 +26,5 @@ union select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht @@ -26,3 +26,5 @@ 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,3 +13,4 @@ @@ -13,3 +13,4 @@
48110^48128^
48110^48132^
48110^48133^
48110^48134^

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

@ -90,114 +90,7 @@ and ${filter}\ @@ -90,114 +90,7 @@ and ${filter}\
\
\
\
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;\
<@rpta_interpret_column_layout />\
\
\
</#if> --wenn columns?has_content^--Freemarker Template\

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

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
84^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
91^RPTA-Makros^<#macro rpta_column_layout_fuellen>\
CREATE temp TABLE tmp_rpta_column\
(\
uniquename varchar(255) NOT NULL,\
@ -220,4 +220,116 @@ and L.resultset_id=T.resultset_id\ @@ -220,4 +220,116 @@ 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^

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

@ -32,7 +32,7 @@ CREATE TEMP TABLE tmp_macro_masken_bez ( @@ -32,7 +32,7 @@ CREATE TEMP TABLE tmp_macro_masken_bez (
maskeninfo_id2 integer NOT NULL,
active integer DEFAULT 1 NOT NULL,
sortnr smallint NOT NULL,
schleifenrelation character(255),
schleifenrelation text,
schleifenfeldname character(255),
alias character(255),
schleifenfstand character(255),

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

@ -18,6 +18,64 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi @@ -18,6 +18,64 @@ select uniquename from rpta_resultset where uniquename='rpta_exam_unit_dim_studi
<#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",

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

@ -0,0 +1,443 @@ @@ -0,0 +1,443 @@
--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;

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

@ -4,7 +4,8 @@ @@ -4,7 +4,8 @@
<#assign masken = [
{"mask":"48140", "filename":"tabelle_html.xsl", "ord":"10"},
{"mask":"48140", "filename":"tabelle_xls_48140.xsl", "ord":"1"}
{"mask":"48140", "filename":"tabelle_xls_48140.xsl", "ord":"1"},
{"mask":"48110", "filename":"48110_leistungen_und_studiengaenge.jrxml", "ord":"1"}
] />
@ -41,6 +42,17 @@ @@ -41,6 +42,17 @@
"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

@ -0,0 +1,414 @@ @@ -0,0 +1,414 @@
<?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>
Loading…
Cancel
Save