diff --git a/src-modules/module/rpta/masken/48000_felderinfo.unl b/src-modules/module/rpta/masken/48000_felderinfo.unl index 6235058..422af63 100644 --- a/src-modules/module/rpta/masken/48000_felderinfo.unl +++ b/src-modules/module/rpta/masken/48000_felderinfo.unl @@ -11,9 +11,9 @@ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='so and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz';^ 48001^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<> select tid, eintrag from semester order by tid DESC;^ ^<> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ 48002^Fächer^30^0^0^130^200^6^integer^1000^0^12^<> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^ -48003^Abschluss^40^0^0^100^200^3^char^1500^0^1^<> select apnr, druck from cifx where key=35 order by 2;^ ^ ^ +48003^Abschluss^40^0^0^100^200^3^char^1500^0^12^<> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^ 48004^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^ -48005^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^<> select 2,'nur Wintersemester' from xdummy^ +48005^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^ ^ 48006^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^ ^ ^ 48007^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<> select tid, eintrag from semester order by tid DESC;^ ^<> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ 48008^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^ @@ -24,6 +24,7 @@ and R.systeminfo_id=7) and uniquename='sos_stud_astat_rsz';^ 48013^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^ 48014^Filter Studierende^100^0^0^140^150^1^sql^20^0^1^<> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^^^ 48015^Nur Endsemester^21^0^0^140^80^1^integer^30^0^1^<> select 1,'ja' from xdummy^Eintrag^ ^ +48016^Matrikel-Nr.^35^350^-1^140^80^1^char^30^0^13^^^^ 48018^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<> select apnr, eintrag from koepfe_oder_faelle order by 2^ ^<> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^ 48022^Geschlecht^110^0^0^140^80^1^integer^30^0^1^<> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^ 48023^Spalten^3001^0^0^150^190^10^char^30^0^1^<>\ diff --git a/src-modules/module/rpta/masken/48000_masken_felder_bez.unl b/src-modules/module/rpta/masken/48000_masken_felder_bez.unl index 1fdfeef..46da9aa 100644 --- a/src-modules/module/rpta/masken/48000_masken_felder_bez.unl +++ b/src-modules/module/rpta/masken/48000_masken_felder_bez.unl @@ -14,6 +14,7 @@ 48000^48013^ 48000^48014^ 48000^48015^ +48000^48016^ 48000^48018^ 48000^48022^ 48000^48023^ diff --git a/src-modules/module/rpta/masken/48000_maskeninfo.unl b/src-modules/module/rpta/masken/48000_maskeninfo.unl index e6bb60d..976a80c 100644 --- a/src-modules/module/rpta/masken/48000_maskeninfo.unl +++ b/src-modules/module/rpta/masken/48000_maskeninfo.unl @@ -59,10 +59,12 @@ C.is_aggregate,\ (case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,\ CL.is_visible,\ CL.visible_size as visible_width,\ -(select F.sql_code from rpta_format_code F where F.tid=CL.format_code_id) as format_sql,\ +F.sql_code as format_sql,\ +F.uniquename as format_uniquename,\ C.col_function as colfunction,\ (case when string_not_null(CL.description)='' then C.description else CL.description end) as description\ -FROM rpta_column_layout L, rpta_column2layout CL, rpta_column C, rpta_column_type T\ +FROM rpta_column_layout L, rpta_column C, rpta_column_type T,rpta_column2layout CL \ +left outer join rpta_format_code F on (F.tid=CL.format_code_id)\ where L.tid=CL.layout_id\ and C.tid=CL.column_id\ and T.tid=C.column_type\ @@ -114,7 +116,6 @@ and substring('' || tid from 5 for 1)='<>'\ /* and stichtag = <> */\ /* and <> */\ /* and <>*/\ -/* and abschluss in (<>) */\ /* and geschlecht = <> */\ /* and fach_sem_zahl <= <> */\ /* and substring('' || sem_rueck_beur_ein from 5 for 1)='<>' */\ @@ -129,7 +130,19 @@ and substring('' || tid from 5 for 1)='<>'\ <#assign filter = filter + " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \ /* <#assign filter = filter + " and '' || ca12_staat in "+Staatsangehörigkeit.allNeededKeysList /> --<> */\ /* <#assign filter = filter + " and stg in "+Fächer.allNeededKeysList /> --<> */\ +/* <#assign filter = filter + " and tid_stg in (select L2.tid from lehr_stg_ab L2 where L2.abschluss in "+Abschluss.allNeededKeysList +")" /> --<> */\ + \ +<#assign mtknr_filter="matrikel_nr::varchar(255)" />\ +<#if K_SOS_MTKNR_EXT=1>\ +<#assign mtknr_filter="pseudonym" />\ +\ +<#assign matrikel_nr_sel="" />\ +/*<#assign matrikel_nr_sel=<> />*/\ +\ \ +<#if matrikel_nr_sel !="">\ +<#assign filter=filter+" and "+mtknr_filter+"='"+matrikel_nr_sel+"'" />\ +\ <#if columns?has_content>\ \ <#if basetable.is_virtual==1>\ @@ -145,7 +158,7 @@ and ${filter}\ \ \ \ -<@rpta_interpret_column_layout />\ +<@rpta_interpret_column_layout nonvirtualTableFilter=filter />\ \ --wenn columns?has_content^--Freemarker Template\ XIL List\ diff --git a/src-modules/module/rpta/masken/48040_felderinfo.unl b/src-modules/module/rpta/masken/48040_felderinfo.unl index bc9638a..e06b1c9 100644 --- a/src-modules/module/rpta/masken/48040_felderinfo.unl +++ b/src-modules/module/rpta/masken/48040_felderinfo.unl @@ -6,3 +6,7 @@ 48045^Virtuelle Tabellen bearbeiten^100^0^0^140^80^1^char^255^0^18^ ^ ^<> select '../edit/rpta/rpta_resultset_list.jsp' from xdummy;^ 48046^Virtuelle Tabelle^5^0^0^150^200^1^integer^200^0^1^<> select tid,caption from rpta_resultset where 1=1 /* and systeminfo_id=<> */ order by 2;^^^ 48047^Spaltentyp^200^0^0^150^200^1^integer^200^0^1^<> select tid,caption from rpta_column_type order by 2;^^ ^ +48048^Spalte (Schlüssel)^15^0^0^150^80^1^char^200^0^1^<> select C.uniquename,C.caption from rpta_column C where 1=1 /* and resultset_id=<> */\ +/* and tid in (select L.column_id from rpta_column2layout L\ +where L.layout_id=<>) */\ + order by 2;^^^ diff --git a/src-modules/module/rpta/masken/48040_masken_felder_bez.unl b/src-modules/module/rpta/masken/48040_masken_felder_bez.unl index 15c1565..5129d69 100644 --- a/src-modules/module/rpta/masken/48040_masken_felder_bez.unl +++ b/src-modules/module/rpta/masken/48040_masken_felder_bez.unl @@ -6,3 +6,4 @@ 48040^48045^ 48040^48046^ 48040^48047^ +48040^48048^ diff --git a/src-modules/module/rpta/masken/48040_maskeninfo.unl b/src-modules/module/rpta/masken/48040_maskeninfo.unl index 69a64c9..5fa0c2b 100644 --- a/src-modules/module/rpta/masken/48040_maskeninfo.unl +++ b/src-modules/module/rpta/masken/48040_maskeninfo.unl @@ -52,6 +52,7 @@ where T.tid=C.column_type\ /* and C.tid in (select P.column_id from rpta_column2layout P where P.layout_id=<> )*/\ /* and C.resultset_id in (select R.tid from rpta_resultset R where R.systeminfo_id=<> )*/\ /* and C.column_type=<> */\ +/* and C.uniquename = <> */\ ;\ \ \ diff --git a/src-modules/module/rpta/masken/48250_maskeninfo.unl b/src-modules/module/rpta/masken/48250_maskeninfo.unl index 9e5e666..7c20c5d 100644 --- a/src-modules/module/rpta/masken/48250_maskeninfo.unl +++ b/src-modules/module/rpta/masken/48250_maskeninfo.unl @@ -50,10 +50,12 @@ C.is_aggregate,\ (case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,\ CL.is_visible,\ CL.visible_size as visible_width,\ -(select F.sql_code from rpta_format_code F where F.tid=CL.format_code_id) as format_sql,\ +F.sql_code as format_sql,\ +F.uniquename as format_uniquename,\ C.col_function as colfunction,\ (case when string_not_null(CL.description)='' then C.description else CL.description end) as description\ -FROM rpta_column_layout L, rpta_column2layout CL, rpta_column C, rpta_column_type T\ +FROM rpta_column_layout L, rpta_column C, rpta_column_type T,rpta_column2layout CL \ +left outer join rpta_format_code F on (F.tid=CL.format_code_id)\ where L.tid=CL.layout_id\ and C.tid=CL.column_id\ and T.tid=C.column_type\ @@ -104,7 +106,7 @@ and ${filter}\ \ \ \ -<@rpta_interpret_column_layout nonvirtualTableFilter=filter/>\ +<@rpta_interpret_column_layout nonvirtualTableFilter=filter />\ \ --wenn columns?has_content^--Freemarker Template\ XIL List\ diff --git a/src-modules/module/rpta/schluesseltabellen/fm_templates.unl b/src-modules/module/rpta/schluesseltabellen/fm_templates.unl index 9edc659..79854cb 100644 --- a/src-modules/module/rpta/schluesseltabellen/fm_templates.unl +++ b/src-modules/module/rpta/schluesseltabellen/fm_templates.unl @@ -359,17 +359,12 @@ drop TABLE tmp_rpta_column2layout;\ <#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 />\ - \ - \ + <#assign myfieldclause=column.targetfieldname />\ <#if column.coltype=="computedColumn">\ - (${column.colfunction})${format_sql} as ${column.targetfieldname}\ - <#else>\ - ${column.targetfieldname}${format_sql} as ${column.targetfieldname}\ + <#assign myfieldclause=column.colfunction />\ \ - \ + <@format_code2sql selectclause=myfieldclause format_code_uniquename=column.format_uniquename format_sql=column.format_sql /> as ${column.targetfieldname}\ +\ <#if colnr < number_of_visible_colums>,\ \ \ @@ -800,4 +795,16 @@ and L.resultset_id=T.resultset_id\ drop table tmp_rpta_column;\ drop TABLE tmp_rpta_column_layout;\ drop TABLE tmp_rpta_column2layout;\ +\ +\ +<#macro format_code2sql selectclause format_code_uniquename format_sql>\ +<#if format_code_uniquename=="MASK_ZERO">\ +(case when ${selectclause}=0 then null else ${selectclause} end)\ +<#elseif format_code_uniquename=="MASK_ZERO_INT">\ +(case when ${selectclause}=0 then null::integer else ${selectclause}::integer end)\ +<#elseif format_sql=="">\ +${selectclause}\ +<#else>\ +${selectclause}${format_sql}\ +\ ^Makros zum Umgang mit Spaltenlayouts^ ^1^ diff --git a/src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_validierung_astat_fuellen.sql b/src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_validierung_astat_fuellen.sql new file mode 100644 index 0000000..d66a582 --- /dev/null +++ b/src-modules/module/rpta/schluesseltabellen/rpta_column_layout_sos_stud_validierung_astat_fuellen.sql @@ -0,0 +1,124 @@ +--freemarker template +<#include "RPTA-Makros"/> + + +select count(*) from rpta_resultset where uniquename='sos_stud_astat'; + + +<#assign rpta_column_layout = {"uniquename":"sos_stud_astat_ef", +"caption":"Studierende Einzelfälle", +"rpta_resultset":"sos_stud_astat", +"whereclause":"", +"description":"Einzelfälle nach Studienang-Nr., Fach-Nr., Fach und Abschluss sowie Status" +} + /> + +<#assign rpta_columns = [ +{"uniquename":"sem_rueck_beur_ein", +"caption":"Semester (Schlüssel)", +"srcfieldname":"sem_rueck_beur_ein", +"targetfieldname":"", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"format_code":"INT_NO_SEP", +"visible_size":"5", +"is_aggregate":"0", +"description":"Semester" +}, +{"uniquename":"matrikel_nr", +"caption":"Matrikel-Nr.", +"srcfieldname":"matrikel_nr", +"column_type":"physicalColumn", +"col_function":"", +"format_code":"INT_NO_SEP", +"is_visible":"1", +"visible_size":"10", +"is_aggregate":"0", +"description":"ggf. pseudonymisiert, bei Datenquelle HIS1 ist dies die student.id" +}, +{"uniquename":"studiengang_nr", +"caption":"Studiengang-Nr.", +"srcfieldname":"studiengang_nr", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"visible_size":"10", +"is_aggregate":"0", +"description":"Studiengang_nr" +}, +{"uniquename":"fach_nr", +"caption":"Fach-Nr.", +"srcfieldname":"fach_nr", +"column_type":"physicalColumn", +"col_function":"", +"is_visible":"1", +"visible_size":"10", +"is_aggregate":"0", +"description":"fach_nr" +}, +{"uniquename":"dim_studiengang_stg", +"caption":"Fach (Schlüssel)", +"srcfieldname":"dim_studiengang_stg", +"column_type":"physicalColumn", +"col_function":"", +"format_code":"", +"is_visible":"1", +"is_aggregate":0, +"visible_size":10, +"description":"" +}, +{"uniquename":"dim_studiengang_stg_str", +"caption":"Fach", +"srcfieldname":"dim_studiengang_stg_str", +"column_type":"physicalColumn", +"col_function":"", +"format_code":"", +"is_visible":"1", +"is_aggregate":0, +"visible_size":20, +"description":"" +}, +{"uniquename":"dim_studiengang_abschluss", +"caption":"Abschluss (intern) (Schlüssel)", +"srcfieldname":"dim_studiengang_abschluss", +"column_type":"physicalColumn", +"col_function":"", +"format_code":"", +"is_visible":"1", +"is_aggregate":0, +"visible_size":10, +"description":"" +}, +{"uniquename":"dim_studiengang_abschluss_str", +"caption":"Abschluss (intern)", +"srcfieldname":"dim_studiengang_abschluss_str", +"column_type":"physicalColumn", +"col_function":"", +"format_code":"", +"is_visible":"1", +"is_aggregate":0, +"visible_size":15, +"description":"" +}, +{"uniquename":"kz_rueck_beur_ein_lang_str", +"caption":"Rückmeldestatus", +"srcfieldname":"", +"targetfieldname":"kz_rueck_beur_ein", +"column_type":"logicalColumn", +"col_function":"(case when kz_rueck_beur_ein=1 then ''Ersteinschr.'' when kz_rueck_beur_ein=2 then ''Neueinschr.'' +when kz_rueck_beur_ein=3 then ''Rückmeldung'' +when kz_rueck_beur_ein=4 then ''Beurlaubung'' +when kz_rueck_beur_ein=5 then ''Exmatrik.'' + else ''unbekannt'' end)", +"is_visible":"1", +"visible_size":"10", +"is_aggregate":"0", +"description":"" +} +] + /> + + + +<@rpta_column_layout_fuellen /> diff --git a/src-modules/module/rpta/schluesseltabellen/rpta_format_code.unl b/src-modules/module/rpta/schluesseltabellen/rpta_format_code.unl index 71008f7..dd6aca8 100644 --- a/src-modules/module/rpta/schluesseltabellen/rpta_format_code.unl +++ b/src-modules/module/rpta/schluesseltabellen/rpta_format_code.unl @@ -2,3 +2,5 @@ 2^INT_NO_SEP^Ganzzahlig ohne 1000er Trenner^::varchar^ 3^INT_PERCENT^Ganzzahlig %^::integer || ' %'^ 4^DEC_2^Dezimal mit 2 Nachkommastellen^::decimal(18,2)^ +5^MASK_ZERO^0-Werte ausblenden^ ^ +6^MASK_ZERO_INT^0-Werte ausblenden (ganzzahlig)^ ^ diff --git a/superx/xml/rpta_templates.xsl b/superx/xml/rpta_templates.xsl old mode 100644 new mode 100755 index 0b11e01..6e5627b --- a/superx/xml/rpta_templates.xsl +++ b/superx/xml/rpta_templates.xsl @@ -146,6 +146,7 @@ isIgnorePagination="{$runTimePagination}" > + @@ -157,6 +158,9 @@ isIgnorePagination="{$runTimePagination}" > treeTable + + + simple @@ -235,7 +239,18 @@ and not(starts-with(f_name,'next')) ]"> - + + + + + + + + + + + + @@ -298,6 +313,7 @@ and not(starts-with(f_name,'next')) ]"> + @@ -354,6 +370,7 @@ and not(starts-with(f_name,'next')) ]"> + @@ -384,12 +401,12 @@ and not(starts-with(f_name,'next')) ]"> +and count($groupLayoutElem/groupLayout/group/*/field [@name=$colName]) != 0"> +calculation="{$groupLayoutElem/groupLayout/group/*/field [@name=$colName]/@aggrFunction }" > @@ -788,11 +805,22 @@ weil es Rundungsfehler bei der Spaltenbreite geben kann.--> '' - + + + + + + + + + + + + - + @@ -943,11 +971,11 @@ genommen. Wenn nicht, wird mit colspan multipliziert.--> - + + - + ContainerHeight @@ -994,7 +1022,7 @@ genommen. Wenn nicht, wird mit colspan multipliziert.--> - " @@ -1111,7 +1139,7 @@ genommen. Wenn nicht, wird mit colspan multipliziert.--> and not(starts-with(f_name,'next')) ])"/> - + @@ -1140,35 +1168,48 @@ and not(starts-with(f_name,'next')) ]"> - + - + - + + + + + + + + + + + + + - + + @@ -1217,7 +1258,7 @@ and not(starts-with(f_name,'next')) ]"> - + @@ -1363,6 +1404,8 @@ and not(starts-with(f_name,'next')) ]"> + + <band height="75"> @@ -1442,7 +1485,7 @@ and not(starts-with(f_name,'next')) ]"> </xsl:choose> </xsl:when> <xsl:otherwise> -<xsl:text><!--other styles possible--></xsl:text> +<xsl:value-of select="$flavorTableRowStyle"/> </xsl:otherwise> </xsl:choose> </xsl:template> @@ -1704,7 +1747,7 @@ d.h. genau ein "+" bedeutet, dass es die letzte Spalte ist. <xsl:choose> <xsl:when test="$headerOrFooter='header'"> <xsl:choose> -<xsl:when test="count($groupLayoutElem/groupLayout/group/header/field[@name=$fieldName])=0"> +<xsl:when test="count($groupLayoutElem/groupLayout/group[@name=$groupbyField]/header/field[@name=$fieldName])=0"> <xsl:text>false</xsl:text> </xsl:when> <xsl:otherwise> @@ -1714,7 +1757,7 @@ d.h. genau ein "+" bedeutet, dass es die letzte Spalte ist. </xsl:when> <xsl:when test="$headerOrFooter='footer'"> <xsl:choose> -<xsl:when test="count($groupLayoutElem/groupLayout/group/footer/field[@name=$fieldName])=0"> +<xsl:when test="count($groupLayoutElem/groupLayout/group[@name=$groupbyField]/footer/field[@name=$fieldName])=0"> <xsl:text>false</xsl:text> </xsl:when> <xsl:otherwise> @@ -1736,18 +1779,29 @@ d.h. genau ein "+" bedeutet, dass es die letzte Spalte ist. <xsl:param name="druckbreite"/> <xsl:param name="std_spaltenbreite" /> <xsl:param name="ergebniselementOrdnr" select="'0'"/> +<xsl:param name="colId" /> <xsl:param name="colCount" /> <xsl:param name="previousX"/> <xsl:variable name="replacesFieldName"> <xsl:choose> <xsl:when test="$headerOrFooter='header'"> -<xsl:value-of select="$groupLayoutElem/groupLayout/group/header/field[@name=$fieldName]/@replaces"/> +<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/header/field[@name=$fieldName]/@replaces"/> </xsl:when> <xsl:when test="$headerOrFooter='footer'"> -<xsl:value-of select="$groupLayoutElem/groupLayout/group/footer/field[@name=$fieldName]/@replaces"/> +<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/footer/field[@name=$fieldName]/@replaces"/> +</xsl:when> +<xsl:otherwise> +</xsl:otherwise> +</xsl:choose> +</xsl:variable> +<xsl:variable name="colIdRuntime"> +<xsl:choose> +<xsl:when test="$replacesFieldName=''"> +<xsl:value-of select="$colId"/> </xsl:when> <xsl:otherwise> +<xsl:value-of select="/ergebnisse/ergebnis[@ordnr=$ergebniselementOrdnr]/ergebniselement/sqlerg/complete_headers/header[wert=$replacesFieldName]/@id"/> </xsl:otherwise> </xsl:choose> </xsl:variable> @@ -1755,7 +1809,7 @@ d.h. genau ein "+" bedeutet, dass es die letzte Spalte ist. <xsl:with-param name="druckbreite" select="$druckbreite"/> <xsl:with-param name="std_spaltenbreite" select="$std_spaltenbreite"/> <xsl:with-param name="ergebniselementOrdnr" select="$ergebniselementOrdnr"/> -<xsl:with-param name="colId" select="/ergebnisse/ergebnis[@ordnr=$ergebniselementOrdnr]/ergebniselement/sqlerg/complete_headers/header[wert=$replacesFieldName]/@id" /> +<xsl:with-param name="colId" select="$colIdRuntime" /> <xsl:with-param name="colCount" select="$colCount"/> <xsl:with-param name="previousX" select="$previousX"/> </xsl:call-template> @@ -1790,4 +1844,24 @@ d.h. genau ein "+" bedeutet, dass es die letzte Spalte ist. </xsl:otherwise> </xsl:choose> </xsl:template> +<xsl:template name="getDeclaredFieldLabelInGroupBand"> +<xsl:param name="fieldName" /> +<xsl:param name="groupbyField" /> +<xsl:param name="groupLayoutElem" /> +<xsl:param name="headerOrFooter" /> + +<xsl:choose> +<xsl:when test="$headerOrFooter='header'"> +<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/header/field[@name=$fieldName]/@label"/> +</xsl:when> +<xsl:when test="$headerOrFooter='footer'"> +<xsl:value-of select="$groupLayoutElem/groupLayout/group[@name=$groupbyField]/footer/field[@name=$fieldName]/@label"/> +</xsl:when> +<xsl:otherwise> +</xsl:otherwise> +</xsl:choose> +</xsl:template> +<xsl:template name="additionalStyles" > +<!-- can be overriden with rpta_templates_final.xsl --> +</xsl:template> </xsl:stylesheet> diff --git a/superx/xml/rpta_templates_final.xsl b/superx/xml/rpta_templates_final.xsl index ca37d3b..abb05c9 100644 --- a/superx/xml/rpta_templates_final.xsl +++ b/superx/xml/rpta_templates_final.xsl @@ -6,4 +6,17 @@ xmlns="http://jasperreports.sourceforge.net/jasperreports" <!--In diesem Stylesheet können Sie individuelle templates unterbringen, die in ihrer Präzedenz das normale Stylesheet rpta_templates.xsl überragt. --> +<xsl:template name="additionalStyles" > +<style name="FB_color"> + <conditionalStyle> + <conditionExpression><![CDATA[$F{FB}.trim().equals("211")]]></conditionExpression> + <style mode="Opaque" backcolor="#D9F2D0"/> + </conditionalStyle> + <conditionalStyle> + <conditionExpression><![CDATA[$F{FB}.trim().equals("212")]]></conditionExpression> + <style mode="Opaque" backcolor="#FFFF99"/> + </conditionalStyle> + </style> + </xsl:template> + </xsl:stylesheet>