Compare commits

..

15 Commits

Author SHA1 Message Date
Marlies Winterstein 2412b44fb2 Parameter Felder in Spalten (800000520) umbenannt 3 days ago
Daniel Quathamer 13c9b648fe Bugfix column.is_visible, format_code auswerten #4 3 days ago
Daniel Quathamer ea898da86b Kleinkram 3 days ago
Marlies Winterstein b93392c44b Einschränkung auf Parameter Felder eingefügt, Übertragung hatte wohl beim ersten Mal nicht geklappt 4 days ago
Daniel Quathamer 9ea519ba8c Installation unter HISinOne mit neuer Komponentneverwaltung ermöglicht #1 2 weeks ago
Daniel Quathamer ead2889a94 Installation unter HISinOne mit neuer Komponentneverwaltung ermöglicht #1 2 weeks ago
Daniel Quathamer 4abffa49a9 Versionspflege 2 weeks ago
Daniel Quathamer e9d33449f3 Bugfix Spaltenbreiten in JR-Export bei verknüpften Spaltenüberschriften #2 2 weeks ago
Daniel Quathamer 87e5524734 Bugfix Spaltenbreiten in JR-Export bei verknüpften Spaltenüberschriften #2 2 weeks ago
Daniel Quathamer 3ad01e5b5b Bugfix Insert neue Columns #1 3 weeks ago
Daniel Quathamer 1ef9a41ca2 Bugfix Berichtsassistent bei 5.2 3 weeks ago
Daniel Quathamer 6f27b2cf8f Merge branch 'rpta_0.2_Release' 4 weeks ago
Daniel Quathamer ec0eac6989 Kompatibilität zu Kern 5.2 erste Schritte #5 4 weeks ago
Daniel Quathamer 76fda7be0f Bugfix sx_stylesheets.stylesheet_type wird überschrieben durch KERN Upgrade #2 4 weeks ago
Marlies Winterstein 0645936ec3 Zusatzfilter für die Ausgabe der Datensätze eingebaut 1 month ago
  1. 51
      src-modules/module/rpta/conf/rpta.xml
  2. 32
      src-modules/module/rpta/masken/45000_maskeninfo.unl
  3. 899
      superx/xml/rpta_assistent.xsl
  4. 58
      superx/xml/rpta_templates.xsl

51
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.2" sachgebiet_id="330"
<module name="rpta" version="0.3b" sachgebiet_id="330"
sachgebiet="Berichtsassistent" systeminfo_id="330"
system="Berichtsassistent" thema="Berichtsassistent" thema_parent="Abfragen">
<database name="superx" system="superx">
@ -317,7 +317,54 @@ parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </t @@ -317,7 +317,54 @@ parent="Berichtsassistent">Abfragen zur Administration von Berichtsassistent </t
</action>
</etl-step>
</etl>
<!-- Elemente nur für die neue KV von HIS:-->
<install_upgrade_job>
<install-upgrade-step name="pre_upgrade" type="container" id="rpta_preupgrade_containernode">
<action error="stop"/>
</install-upgrade-step>
<install-upgrade-step name="upgrade_tables" type="" id="rpta_upgrade_tables_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$RPTA_PFAD/upgrade/rpta_upgrade_tables_pg.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="upgrade_fields" type="" id="rpta_upgrade_fields_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$RPTA_PFAD/upgrade/rpta_upgrade_fields_pg.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="upgrade_views" type="" id="rpta_upgrade_views_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$RPTA_PFAD/upgrade/rpta_upgrade_views_pg.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="install_functions" type="container" id="rpta_install_functions_containernode">
<action error="stop"/>
</install-upgrade-step>
<install-upgrade-step name="upgrade_indices" type="" id="rpta_upgrade_indices_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$RPTA_PFAD/upgrade/rpta_upgrade_indexes_pg.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="fill_tables" type="" id="rpta_fill_tables_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$RPTA_PFAD/conf/sx_tables_fuellen.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="Update Module Metadata" type="container" id="rpta_update_module_metadata_container">
<action error="stop">
<nativeaction sql="" scriptfile="$RPTA_PFAD/conf/module_metadata.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="update_topic_tree" type="" id="rpta_update_topictree_actionstep">
<action error="stop">
<nativeaction sql="" scriptfile="$RPTA_PFAD/upgrade/rpta_upgrade_themenbaum.sql" database=""/>
</action>
</install-upgrade-step>
<install-upgrade-step name="install_masks" type="container" id="rpta_install_masks_containernode">
<action error="stop"/>
</install-upgrade-step>
</install_upgrade_job>
<install>
<install-step name="Füllen der Modul-Tabellen">
<action>

32
src-modules/module/rpta/masken/45000_maskeninfo.unl

@ -57,6 +57,7 @@ where L.tid=CL.layout_id\ @@ -57,6 +57,7 @@ where L.tid=CL.layout_id\
and C.tid=CL.column_id\
and T.tid=C.column_type\
and L.tid=<<Spaltenlayout>>\
/* and C.uniquename in (<<Spalten>>) */\
order by CL.sortnr\
;\
]]></sqlvar>\
@ -65,6 +66,7 @@ order by CL.sortnr\ @@ -65,6 +66,7 @@ order by CL.sortnr\
<#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_rueck_beur_ein >= <<Seit Semester>> */\
/* and sem_rueck_beur_ein <= <<Bis Semester>> */\
/* and sem_rueck_beur_ein = <<Semester>> */\
/* and stichtag = <<Stichtag>> */\
/* and <<Hochschulzugangsberechtigung>> */\
/* and <<Hörerstatus>>*/\
@ -134,6 +136,8 @@ sum(${column.targetfieldname}) as ${column.targetfieldname},\ @@ -134,6 +136,8 @@ sum(${column.targetfieldname}) as ${column.targetfieldname},\
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>\
@ -142,12 +146,17 @@ group by\ @@ -142,12 +146,17 @@ group by\
</#list>\
;\
\
<#assign orderby=0 />\
\
<#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==1>\
<#assign orderby=orderby +1 />\
<#if column.is_visible!=0>\
<#assign colnr=colnr+1 />\
<#assign format_sql="" />\
<#if column.format_sql?string != "">\
<#assign format_sql=column.format_sql />\
@ -156,14 +165,15 @@ select \ @@ -156,14 +165,15 @@ select \
<#if column.coltype=="computedColumn">\
(${column.colfunction})${format_sql} as ${column.targetfieldname}\
<#else>\
${column.targetfieldname}${format_sql}\
${column.targetfieldname}${format_sql} as ${column.targetfieldname}\
</#if>\
<#if column_has_next>,</#if>\
\
<#if colnr &lt; number_of_visible_colums>,</#if>\
</#if> --wenn sichtbar\
</#foreach>\
from tmp_stud2\
order by <#list 1..orderby as i>${i}\
<#if i != orderby>\
order by <#list 1..number_of_visible_colums as i>${i}\
<#if i != number_of_visible_colums>\
,\
</#if>\
</#list>\
@ -181,9 +191,11 @@ drop table if exists tmp_stud;\ @@ -181,9 +191,11 @@ drop table if exists tmp_stud;\
drop_and_delete movable_columns \
white_space_color=COLOR_WHITE fixed_columns=1\
min_heading_height=55\
<#foreach column in columns><#if column.is_visible==1>\
<#foreach column in columns>\
<#if column.is_visible!=0>\
Column CID=0 heading_text="${column.caption}" center_heading explanation="${column.description}"\
row_selectable heading_platform readonly\
width=${column.visible_width} text_size=60\
</#if></#foreach>\
</#if>\
</#foreach>\
@@@^Studienfach^Anzahl bzw. Anteil^Datenblatt Studierendenstatistik^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

899
superx/xml/rpta_assistent.xsl

File diff suppressed because it is too large Load Diff

58
superx/xml/rpta_templates.xsl

@ -426,6 +426,8 @@ isIgnorePagination="{$isIgnorePagination}" > @@ -426,6 +426,8 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:param name="ergebniselementOrdnr" />
<xsl:param name="colId" />
<xsl:param name="colCount" />
<xsl:param name="isLastVisibleColumInRow" />
<xsl:variable name="x"><xsl:text>0</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width &gt; 0 and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) and @id &lt; $colId ]">
<xsl:variable name="previousColumnWidth">
@ -436,6 +438,7 @@ isIgnorePagination="{$isIgnorePagination}" > @@ -436,6 +438,7 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:with-param name="colId" select="@id" />
<xsl:with-param name="colCount" select="$colCount"/>
<xsl:with-param name="previousX" select="0"/>
<xsl:with-param name="isLastVisibleColumInRow" select="''"/>
</xsl:call-template>
</xsl:variable>
@ -455,14 +458,17 @@ isIgnorePagination="{$isIgnorePagination}" > @@ -455,14 +458,17 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:param name="colId" />
<xsl:param name="colCount" />
<xsl:param name="previousX" />
<xsl:param name="isLastVisibleColumInRow" />
<xsl:variable name="defbreite"><xsl:value-of select="sum(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width &gt; 0 and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next')) ]/@width )" /></xsl:variable>
<xsl:variable name="ndefbreite"><xsl:value-of select="count(/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[ @width = '' and not(starts-with(f_name,'hidden')) and not(starts-with(f_name,'next'))])" /></xsl:variable>
<xsl:variable name="gesamtbreite"><xsl:value-of select="$defbreite+($ndefbreite* $std_spaltenbreite)" /></xsl:variable>
<xsl:variable name="width"><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement[@ordnr=$ergebniselementOrdnr]/sqlerg/headers/header[@id=$colId]/@width"/></xsl:variable>
<xsl:comment><xsl:value-of select="concat('defbreite=',$defbreite)" /></xsl:comment>
<xsl:choose>
<xsl:when test="($colCount - 1) =$colId ">
<!-- letzte Spalte -->
<xsl:when test="$isLastVisibleColumInRow='+' or ($colCount - 1) =$colId">
<!-- letzte Spalte wird immer vom rechten Seitenrand minus vorherige Spalten gerechnet,
weil es Rundungsfehler bei der Spaltenbreite geben kann.-->
<xsl:value-of select="$druckbreite - $previousX"/>
</xsl:when>
<xsl:when test="$width != ''">
@ -643,7 +649,7 @@ isIgnorePagination="{$isIgnorePagination}" > @@ -643,7 +649,7 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:variable name="colCount">
<xsl:choose>
<xsl:when test="($rowCounter - 1)=$rowCount">
<xsl:value-of select="$totalColCount"/>
<xsl:value-of select="$currentRowColCount"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$totalColCount"/>
@ -653,8 +659,18 @@ isIgnorePagination="{$isIgnorePagination}" > @@ -653,8 +659,18 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:for-each select="th" >
<xsl:variable name="colId"><xsl:value-of select="position()-1" /></xsl:variable>
<xsl:if test="@isHidden='false'">
<xsl:comment><xsl:text>colId=</xsl:text><xsl:value-of select="$colId"/></xsl:comment>
<xsl:if test="@isHidden='false'">
<xsl:variable name="isLastVisibleColumInRow">
<xsl:call-template name="getLastVisibleColumInRow">
<xsl:with-param name="currentColId" select="$colId" />
<xsl:with-param name="remainingRows" select="$rowCount - ($rowCounter + 1)" />
</xsl:call-template>
</xsl:variable>
<xsl:comment><xsl:text>colId=</xsl:text><xsl:value-of select="$colId"/>
<xsl:text>
isLastVisibleColumInRow=</xsl:text><xsl:value-of select="$isLastVisibleColumInRow"/>
</xsl:comment>
<xsl:variable name="columnX">
<xsl:call-template name="getColumnX">
<xsl:with-param name="druckbreite" select="$druckbreite"/>
@ -662,6 +678,7 @@ isIgnorePagination="{$isIgnorePagination}" > @@ -662,6 +678,7 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:with-param name="ergebniselementOrdnr" select="$ordnr"/>
<xsl:with-param name="colId" select="$colId" />
<xsl:with-param name="colCount" select="$colCount"/>
<xsl:with-param name="isLastVisibleColumInRow" select="$isLastVisibleColumInRow"/>
</xsl:call-template>
</xsl:variable>
<xsl:comment><xsl:text>columnX=</xsl:text><xsl:value-of select="$columnX"/></xsl:comment>
@ -675,6 +692,7 @@ isIgnorePagination="{$isIgnorePagination}" > @@ -675,6 +692,7 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:with-param name="colId" select="$colId" />
<xsl:with-param name="colCount" select="$colCount"/>
<xsl:with-param name="previousX" select="$columnX"/>
<xsl:with-param name="isLastVisibleColumInRow" select="$isLastVisibleColumInRow"/>
</xsl:call-template>
</xsl:variable>
@ -700,10 +718,22 @@ isIgnorePagination="{$isIgnorePagination}" > @@ -700,10 +718,22 @@ isIgnorePagination="{$isIgnorePagination}" >
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="computedWidth">
<!--wenn eine Spalte die letzte sichtbare ist, wird der berechnete Wert
genommen. Wenn nicht, wird mit colspan multipliziert.-->
<xsl:choose>
<xsl:when test="$isLastVisibleColumInRow='+'">
<xsl:value-of select="$columnWidth"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$columnWidth * $colspan"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<textField isStretchWithOverflow="true">
<reportElement style="TableColumnHeader" mode="Opaque" stretchType="ContainerHeight"
x="{$columnX}" y="{$y_offset+( $rowCounter * $zeilenhoehe )}" width="{$columnWidth * $colspan}" height="{$zeilenhoehe*$rowspan}" />
x="{$columnX}" y="{$y_offset+( $rowCounter * $zeilenhoehe )}" width="{$computedWidth}" height="{$zeilenhoehe*$rowspan}" />
<textFieldExpression><xsl:text>"</xsl:text>
<xsl:call-template name="newline_to_backslash_n">
<xsl:with-param name="string" select="."/>
@ -1100,4 +1130,20 @@ isIgnorePagination="{$isIgnorePagination}" > @@ -1100,4 +1130,20 @@ isIgnorePagination="{$isIgnorePagination}" >
<xsl:text disable-output-escaping="yes"><![CDATA[ +"Datenstand: "+ $F{standdatum} + "; " + "Erstellt: "+ DATEFORMAT( TODAY(), "dd.MM.YYYY")]]></xsl:text></textFieldExpression>
</textField>
</xsl:template>
<xsl:template name="getLastVisibleColumInRow">
<xsl:param name="currentColId" />
<xsl:param name="remainingRows" />
<!--ermittelt ob eine Spalte die letzte sichtbare ist
bei verknüpften Spalten ist die letzte Header-Zeile immer relevant, egal ob sichtbar oder nicht.
Zurückgegeben werden die Anzahl der sichtbaren Zellen als "+",
d.h. genau ein "+" bedeutet, dass es die letzte Spalte ist.
-->
<xsl:for-each select="../th">
<xsl:variable name="nr" select="position()" />
<xsl:if test="$nr &gt; $currentColId and (@isHidden='false' or $remainingRows=0)">
<xsl:text>+</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Loading…
Cancel
Save