568 lines
36 KiB
XML
568 lines
36 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxml="urn:schemas-microsoft-com:xslt" version="1.0">
|
|
<xsl:import href="../../../appl/shared/default.xsl"/>
|
|
<xsl:variable name="Rev">
|
|
<!-- Revision van deze cust.xsl -->
|
|
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
|
|
</xsl:variable>
|
|
|
|
<xsl:output method="html" encoding="windows-1252" indent="yes"/>
|
|
<xsl:decimal-format name="euro" decimal-separator="," NaN='-' grouping-separator="."/>
|
|
|
|
<xsl:key name="GROUPBY_BGT_KOSTENRUBRIEK_CODE" match="//data_row" use="BGT_KOSTENRUBRIEK_CODE"/>
|
|
<xsl:key name="GROUPBY_PRS_KOSTENSOORTGRP_ALTCODE" match="//data_row" use="PRS_KOSTENSOORTGRP_ALTCODE"/>
|
|
<xsl:key name="GROUPBY_PRS_LEVERANCIER_NR" match="//data_row" use="PRS_LEVERANCIER_NR"/>
|
|
<xsl:key name="GROUPBY_ONDERDEELCODE" match="//data_row" use="ONDERDEELCODE"/>
|
|
<xsl:key name="GROUPBY_CONTRACT" match="//data_row" use="MLD_OPDR_ORDERNR"/>
|
|
|
|
<xsl:template name="stylesheet">
|
|
<style>
|
|
body {
|
|
font-size: 0.75em;
|
|
line-height: 1.8em;
|
|
text-align: left;
|
|
margin: 0;
|
|
padding:0;
|
|
}
|
|
table { /* om border om lege cellen te houden */
|
|
border-collapse: collapse;
|
|
}
|
|
th {
|
|
background-color: #fff;
|
|
}
|
|
.raptitel {
|
|
font-size: 24px;
|
|
font-weight: bold;
|
|
padding: 40px 0 40px 0;
|
|
}
|
|
.th3 {
|
|
padding: 12px;
|
|
border-top: 1px solid #333;
|
|
border-bottom: 1px solid #333;
|
|
}
|
|
h1 {font-size: 17px;
|
|
}
|
|
h3 {font-size: 15px;
|
|
color: #500;
|
|
}
|
|
h3 {font-size: 12px;
|
|
color: #500;
|
|
}
|
|
h4 {font-size: 12px;
|
|
font-weight: normal;
|
|
color: #500;
|
|
}
|
|
td {
|
|
background-color: #FFFFFF;
|
|
}
|
|
.footer td {
|
|
font-style: italic;
|
|
}
|
|
.tdtr, .tdtr h3{ /* right */
|
|
text-align: right !important;
|
|
}
|
|
.tdtd { /* date */
|
|
white-space: nowrap;
|
|
}
|
|
.tdte { /* ellipsis */
|
|
white-space: nowrap;
|
|
width: 140px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis; }
|
|
.tbhs {
|
|
line-height: 0.8em;
|
|
border: 0px;
|
|
}
|
|
.tdhs {
|
|
font-family: Calibri,Verdana;
|
|
font-style: normal;
|
|
font-size: 1em;
|
|
font-weight: normal;
|
|
color: #000000;
|
|
background-color: #FFFFFF;
|
|
overflow: hidden;
|
|
line-height: 1.1em;
|
|
height: 12px;
|
|
padding: 1px;
|
|
}
|
|
|
|
.alignleft {
|
|
float: left;
|
|
}
|
|
.alignright {
|
|
float: right;
|
|
}
|
|
.subt {
|
|
font-size: .8em;
|
|
color: #999;
|
|
font-style: italic;
|
|
}
|
|
.subtot td {
|
|
padding-top: 0;
|
|
line-height: 8px;
|
|
}
|
|
.subtoth {
|
|
border-top: 1px solid #ddd;
|
|
}
|
|
.subtotf {
|
|
}
|
|
@media print {
|
|
thead {display: table-header-group;}
|
|
}
|
|
</style>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- =======================================================
|
|
page_select_header
|
|
=======================================================
|
|
-->
|
|
<xsl:template name="page_select_header">
|
|
<xsl:param name="titel"/>
|
|
<xsl:param name="aantal_kolommen"/>
|
|
|
|
<xsl:variable name="afdrukdatum">
|
|
<xsl:value-of select="substring(//header/dateTime, 1, 10)"/>
|
|
</xsl:variable>
|
|
|
|
<tr>
|
|
<th>
|
|
<xsl:attribute name="colspan"><xsl:value-of select="$aantal_kolommen"/></xsl:attribute>
|
|
<table class="tbhs" width="100%" cellspacing="0" cellpadding="0">
|
|
<xsl:variable name="opdrachtgever">
|
|
<xsl:if test="substring-after(//rapport/where, 'bgt_disc_params_opdrachtgever') != ''">
|
|
<xsl:value-of select="rapport_data/data_row//BGT_DISC_PARAMS_OPDRACHTGEVER"/>
|
|
</xsl:if>
|
|
</xsl:variable>
|
|
<xsl:variable name="projectcode">
|
|
<xsl:if test="substring-after(//rapport/where, 'bgt_disc_params_opdrachtgever') != ''">
|
|
<xsl:value-of select="rapport_data/data_row//BGT_DISC_PARAMS_CODE"/>
|
|
</xsl:if>
|
|
</xsl:variable>
|
|
<xsl:variable name="projectnaam">
|
|
<xsl:if test="substring-after(//rapport/where, 'ins_discipline_omschrijving') != ''">
|
|
<xsl:value-of select="rapport_data/data_row//INS_DISCIPLINE_OMSCHRIJVING"/>
|
|
</xsl:if>
|
|
</xsl:variable>
|
|
<xsl:variable name="deelproject">
|
|
<xsl:if test="substring-after(//rapport/where, 'bgt_project_omschrijving') != ''">
|
|
<xsl:value-of select="rapport_data/data_row//BGT_PROJECT_OMSCHRIJVING"/>
|
|
</xsl:if>
|
|
</xsl:variable>
|
|
|
|
<tr>
|
|
<td class="tdhs" style="width:15%;"><div class="alignleft">Opdrachtgever</div><div class="alignright">:</div></td>
|
|
<td class="tdhs" style="width:55%;"><xsl:value-of select="$opdrachtgever"/></td>
|
|
<td class="tdhs" style="width:15%;"><div class="alignleft">Projectcode</div><div class="alignright">:</div></td>
|
|
<td class="tdhs" style="width:15%;"><xsl:value-of select="$projectcode"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tdhs" style="width:15%;"><div class="alignleft">Project</div><div class="alignright">:</div></td>
|
|
<td class="tdhs" style="width:55%;"><xsl:value-of select="$projectnaam"/></td>
|
|
<td class="tdhs" style="width:15%;"><div class="alignleft">Afdrukdatum</div><div class="alignright">:</div></td>
|
|
<td class="tdhs" style="width:15%;"><xsl:value-of select="$afdrukdatum"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tdhs" style="width:15%;"><div class="alignleft">Deelproject</div><div class="alignright">:</div></td>
|
|
<td class="tdhs" style="width:55%;"><xsl:value-of select="$deelproject"/></td>
|
|
<td class="tdhs" style="width:15%;"> </td>
|
|
<td class="tdhs" style="width:15%;"> </td>
|
|
</tr>
|
|
</table>
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<td class='raptitel'>
|
|
<xsl:attribute name="colspan"><xsl:value-of select="$aantal_kolommen"/></xsl:attribute>
|
|
<xsl:value-of select="$titel"/>
|
|
</td>
|
|
</tr>
|
|
</xsl:template>
|
|
|
|
|
|
<xsl:param name="mode"/>
|
|
<xsl:template match="rapport">
|
|
<!-- <xsl:attribute name="onload">window.print();</xsl:attribute> -->
|
|
<xsl:call-template name="stylesheet"/>
|
|
<xsl:choose>
|
|
<xsl:when test="@title = 'CONT_ALF'">
|
|
<xsl:call-template name="contractanten_alfabetisch"/>
|
|
</xsl:when>
|
|
<xsl:when test="@title = 'CONT_RUB'">
|
|
<xsl:call-template name="contracten_per_rubriek"/>
|
|
</xsl:when>
|
|
<xsl:when test="@title = 'CON_FACT'">
|
|
<xsl:call-template name="contracten_en_facturen_per_contractant"/>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
|
|
|
|
<xsl:template name="selectie_param">
|
|
<xsl:param name="veld"/>
|
|
<xsl:variable name="veld_1">
|
|
<xsl:value-of select="substring-before(substring-after(//rapport/where, $veld), ' AND ')"/>
|
|
</xsl:variable>
|
|
<xsl:value-of select="substring-after($veld_1, 'LIKE')"/>
|
|
</xsl:template>
|
|
|
|
<!-- =======================================================
|
|
contractanten alfabetisch
|
|
=======================================================
|
|
-->
|
|
<xsl:template name="contractanten_alfabetisch">
|
|
<table width="100%" cellspacing="0" cellpadding="5" class="tab_cat_sched nofloat">
|
|
<thead>
|
|
<xsl:call-template name="page_select_header">
|
|
<xsl:with-param name="titel">Overzicht Contractanten op alfabetische volgorde</xsl:with-param>
|
|
<xsl:with-param name="aantal_kolommen">5</xsl:with-param>
|
|
</xsl:call-template>
|
|
|
|
<tr>
|
|
<th class="th3">Code</th>
|
|
<th class="th3">Naam</th>
|
|
<th class="th3">Adres</th>
|
|
<th class="th3">Postcode</th>
|
|
<th class="th3">Plaats</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<!-- TBODY start -->
|
|
<xsl:text disable-output-escaping="yes"><tbody></xsl:text>
|
|
<tr>
|
|
<td style="background-color: #ffffff" height="10"></td>
|
|
</tr>
|
|
|
|
<xsl:for-each select="rapport_data/data_row/PRS_LEVERANCIER_NR[not(.=preceding::*)]">
|
|
<xsl:sort select="../PRS_LEVERANCIER_NR"/>
|
|
|
|
<xsl:variable name="bedr_code">
|
|
<xsl:value-of select="../PRS_LEVERANCIER_NR"/>
|
|
</xsl:variable>
|
|
|
|
<xsl:variable name="bedr_naam">
|
|
<xsl:value-of select="../PRS_BEDRIJF_NAAM"/>
|
|
</xsl:variable>
|
|
|
|
<xsl:variable name="bedr_adrs">
|
|
<xsl:value-of select="../PRS_BEDRIJF_POST_ADRES"/>
|
|
</xsl:variable>
|
|
|
|
<xsl:variable name="bedr_post">
|
|
<xsl:value-of select="../PRS_BEDRIJF_POST_POSTCODE"/>
|
|
</xsl:variable>
|
|
|
|
<xsl:variable name="bedr_plts">
|
|
<xsl:value-of select="../PRS_BEDRIJF_POST_PLAATS"/>
|
|
</xsl:variable>
|
|
|
|
<tr>
|
|
<td class="tdt1"><xsl:value-of select="$bedr_code"/> </td>
|
|
<td class="tdt"> <xsl:value-of select="$bedr_naam"/> </td>
|
|
<td class="tdt"> <xsl:value-of select="$bedr_adrs"/> </td>
|
|
<td class="tdt"> <xsl:value-of select="$bedr_post"/> </td>
|
|
<td class="tdt"> <xsl:value-of select="$bedr_plts"/> </td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
|
|
|
|
<tr>
|
|
<td class="tdbl"> </td>
|
|
<td colspan="13" class="tdb"> </td>
|
|
<td class="tdbr"> </td>
|
|
</tr>
|
|
<xsl:text disable-output-escaping="yes"></tbody></xsl:text>
|
|
<!-- TBODY einde -->
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<!-- =======================================================
|
|
contractanten per rubriek
|
|
=======================================================
|
|
-->
|
|
<xsl:template name="contracten_per_rubriek">
|
|
<table width="100%" cellspacing="0" cellpadding="5" class="tab_cat_sched nofloat">
|
|
<thead>
|
|
<xsl:call-template name="page_select_header">
|
|
<xsl:with-param name="titel">Overzicht Contracten per rubriek</xsl:with-param>
|
|
<xsl:with-param name="aantal_kolommen">9</xsl:with-param>
|
|
</xsl:call-template>
|
|
|
|
<tr><td class="subt" colspan="9">(alle bedragen zijn in Euro en exclusief BTW)</td></tr>
|
|
<tr>
|
|
<th class="th3">Code</th>
|
|
<th class="th3">Bedrijf</th>
|
|
<th class="th3">Nr</th>
|
|
<th class="th3">Omschrijving</th>
|
|
<th class="th3">Kenmerk</th>
|
|
<th class="th3">Datum</th>
|
|
<th class="th3 tdtr">Gecontracteerd</th>
|
|
<th class="th3 tdtr">BTW</th>
|
|
<th class="th3 tdtr">Facturen</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<!-- TBODY start -->
|
|
<xsl:text disable-output-escaping="yes"><tbody></xsl:text>
|
|
<xsl:for-each select="//data_row[generate-id(.)=generate-id(key('GROUPBY_BGT_KOSTENRUBRIEK_CODE',BGT_KOSTENRUBRIEK_CODE)[1])]">
|
|
<xsl:sort select="BGT_KOSTENRUBRIEK_CODE"/>
|
|
<tr>
|
|
<td class="tdt" colspan='9'><h3><xsl:value-of select="BGT_KOSTENRUBRIEK_OMS"/></h3></td>
|
|
</tr>
|
|
<xsl:call-template name="DISPLAY_KOSTENSOORTGROEP">
|
|
<xsl:with-param name="p_bgt_kostenrubriek_code" select="BGT_KOSTENRUBRIEK_CODE"/>
|
|
</xsl:call-template>
|
|
<xsl:variable name="v_bgt_kostenrubriek_code" select="BGT_KOSTENRUBRIEK_CODE"/>
|
|
<tr>
|
|
<td class="tdt" colspan='3'><h3><xsl:value-of select="BGT_KOSTENRUBRIEK_CODE"/></h3></td>
|
|
<td class="tdt" colspan='3'><h3>Totaal</h3></td>
|
|
<td class="tdtr"><h3> <xsl:value-of select="format-number(sum(//data_row[BGT_KOSTENRUBRIEK_CODE = $v_bgt_kostenrubriek_code]/KOSTEN), '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="tdtr"><h3> <xsl:value-of select="format-number(sum(//data_row[BGT_KOSTENRUBRIEK_CODE = $v_bgt_kostenrubriek_code]/BTW), '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="tdtr"><h3> <xsl:value-of select="format-number(sum(//data_row[BGT_KOSTENRUBRIEK_CODE = $v_bgt_kostenrubriek_code]/FACTUREN), '#.##0,00', 'euro')"/></h3></td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
<tr>
|
|
<td class="th3" colspan='3'><h3><xsl:value-of select="BGT_KOSTENRUBRIEK_CODE"/></h3></td>
|
|
<td class="th3" colspan='3'><h3>TOTAAL</h3></td>
|
|
<td class="th3 tdtr"><h3><xsl:value-of select="format-number(sum(//data_row/KOSTEN), '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="th3 tdtr"><h3><xsl:value-of select="format-number(sum(//data_row/BTW), '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="th3 tdtr"><h3><xsl:value-of select="format-number(sum(//data_row/FACTUREN), '#.##0,00', 'euro')"/></h3></td>
|
|
</tr>
|
|
<xsl:text disable-output-escaping="yes"></tbody></xsl:text>
|
|
<!-- TBODY einde -->
|
|
</table>
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template name="DISPLAY_KOSTENSOORTGROEP">
|
|
<xsl:param name="p_bgt_kostenrubriek_code"/>
|
|
<xsl:for-each select="//data_row[generate-id(.)=generate-id(key('GROUPBY_PRS_KOSTENSOORTGRP_ALTCODE',PRS_KOSTENSOORTGRP_ALTCODE)[1]) and BGT_KOSTENRUBRIEK_CODE = $p_bgt_kostenrubriek_code]">
|
|
<xsl:sort select="PRS_KOSTENSOORTGRP_ALTCODE"/>
|
|
<tr class="header">
|
|
<td class="tdt" colspan='9'><h3><xsl:value-of select="PRS_KOSTENSOORTGRP_OMS"/></h3></td>
|
|
</tr>
|
|
<xsl:call-template name="DISPLAY_KOSTENSOORT">
|
|
<xsl:with-param name="p_bgt_kostenrubriek_code" select="$p_bgt_kostenrubriek_code"/>
|
|
<xsl:with-param name="p_prs_kostensoortgrp_altcode" select="PRS_KOSTENSOORTGRP_ALTCODE"/>
|
|
</xsl:call-template>
|
|
<xsl:variable name="v_prs_kostensoortgrp_altcode" select="PRS_KOSTENSOORTGRP_ALTCODE"/>
|
|
<tr class="footer">
|
|
<td class="tdt" colspan='3'><h3><xsl:value-of select="PRS_KOSTENSOORTGRP_ALTCODE"/></h3></td>
|
|
<td class="tdt" colspan='3'><h3>Subtotaal</h3></td>
|
|
<td class="tdtr"><h3> <xsl:value-of select="format-number(sum(//data_row[PRS_KOSTENSOORTGRP_ALTCODE = $v_prs_kostensoortgrp_altcode]/KOSTEN), '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="tdtr"><h3> <xsl:value-of select="format-number(sum(//data_row[PRS_KOSTENSOORTGRP_ALTCODE = $v_prs_kostensoortgrp_altcode]/BTW), '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="tdtr"><h3> <xsl:value-of select="format-number(sum(//data_row[PRS_KOSTENSOORTGRP_ALTCODE = $v_prs_kostensoortgrp_altcode]/FACTUREN), '#.##0,00', 'euro')"/></h3></td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="DISPLAY_KOSTENSOORT">
|
|
<xsl:param name="p_bgt_kostenrubriek_code"/>
|
|
<xsl:param name="p_prs_kostensoortgrp_altcode"/>
|
|
<xsl:for-each select="//data_row[BGT_KOSTENRUBRIEK_CODE = $p_bgt_kostenrubriek_code and PRS_KOSTENSOORTGRP_ALTCODE = $p_prs_kostensoortgrp_altcode]">
|
|
<xsl:sort select="PRS_KOSTENSOORT_ALTCODE"/>
|
|
<tr>
|
|
<td class="tdt1"><xsl:value-of select="PRS_KOSTENSOORT_ALTCODE"/></td>
|
|
<td class="tdt"><xsl:value-of select="PRS_LEVERANCIER_NR"/></td>
|
|
<td class="tdt"><xsl:value-of select="MLD_OPDR_ORDERNR"/></td>
|
|
<td class="tdt tdte"><xsl:value-of select="PRS_KOSTENSOORT_OMS"/></td>
|
|
<td class="tdt"><xsl:value-of select="KENMERK"/></td>
|
|
<td class="tdtd"><xsl:value-of select="PRINTDATUM"/></td>
|
|
<td class="tdtr"><xsl:value-of select="format-number(KOSTEN, '#.##0,00', 'euro')"/></td>
|
|
<td class="tdtr"><xsl:value-of select="format-number(BTW, '#.##0,00', 'euro')"/></td>
|
|
<td class="tdtr"><xsl:value-of select="format-number(FACTUREN, '#.##0,00', 'euro')"/></td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
</xsl:template>
|
|
|
|
<!-- =======================================================
|
|
contracten en facturen per contractant
|
|
=======================================================
|
|
Kent 5 afggregatie niveaus (subtotalen)
|
|
0. alles (opdrachten en facturen) van alle contractanten
|
|
1. alle contractanten
|
|
2. alle onderdelen (met opdrachten en facturen) van een contractant
|
|
3. alle contracten (=opdrachten) van een onderdeel (van een contractant)
|
|
4. alle facturen van een contract van een onderdeel (van een contractant)
|
|
|
|
TODO:
|
|
- de getallen van de ?? bepalen
|
|
- beperken tot het gekozen subproject
|
|
-->
|
|
<xsl:template name="contracten_en_facturen_per_contractant">
|
|
<table width="100%" cellspacing="0" cellpadding="5" class="tab_cat_sched nofloat">
|
|
<thead>
|
|
<xsl:call-template name="page_select_header">
|
|
<xsl:with-param name="titel">Overzicht contracten en facturen per contractant</xsl:with-param>
|
|
<xsl:with-param name="aantal_kolommen">9</xsl:with-param>
|
|
</xsl:call-template>
|
|
|
|
<tr><td class="subt" colspan="9">(alle bedragen zijn in Euro)</td></tr>
|
|
<tr>
|
|
<th class="th3">Code</th>
|
|
<th class="th3">Datum</th>
|
|
<th class="th3">Nr</th>
|
|
<th class="th3">Omschrijving</th>
|
|
<th class="th3">Kenmerk</th>
|
|
<th class="th3 tdtr">Bedrag excl. BTW</th>
|
|
<th class="th3 tdtr">BTW</th>
|
|
<th class="th3 tdtr">Bedrag incl. BTW</th>
|
|
<th class="th3 tdtr">Adviesdatum</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<!-- TBODY start -->
|
|
<xsl:text disable-output-escaping="yes"><tbody></xsl:text>
|
|
<xsl:for-each select="//data_row[generate-id(.)=generate-id(key('GROUPBY_PRS_LEVERANCIER_NR',PRS_LEVERANCIER_NR)[1])]">
|
|
<xsl:sort select="PRS_LEVERANCIER_NR"/>
|
|
<tr>
|
|
<td class="tdt" colspan='3'><h3><xsl:value-of select="PRS_LEVERANCIER_NR"/></h3></td>
|
|
<td class="tdt" colspan='6'><h3><xsl:value-of select="PRS_BEDRIJF_NAAM"/></h3></td>
|
|
</tr>
|
|
<xsl:call-template name="DISPLAY_ONDERDELEN">
|
|
<xsl:with-param name="p_prs_leverancier_nr" select="PRS_LEVERANCIER_NR"/>
|
|
</xsl:call-template>
|
|
<xsl:variable name="v_prs_leverancier_nr" select="PRS_LEVERANCIER_NR"/>
|
|
<tr class="subt subtoth">
|
|
<td class="tdt" colspan='3'><h3><xsl:value-of select="PRS_LEVERANCIER_NR"/></h3></td>
|
|
<td class="tdt" colspan='2'><h3>gecontracteerd<br/>gefactureerd<br/>nog te factureren</h3></td>
|
|
<td class="tdtr"><h3>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/MLD_OPDR_KOSTEN), '#.##0,00', 'euro')"/><br/>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/FIN_FACTUUR_TOTAAL), '#.##0,00', 'euro')"/><br/>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/MLD_OPDR_KOSTEN)-sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/FIN_FACTUUR_TOTAAL), '#.##0,00', 'euro')"/>
|
|
</h3></td>
|
|
<td class="tdtr"><h3>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/MLD_OPDR_KOSTEN_BTW), '#.##0,00', 'euro')"/><br/>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/><br/>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/MLD_OPDR_KOSTEN_BTW)-sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/><br/>
|
|
</h3></td>
|
|
<td class="tdtr"><h3>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/MLD_OPDR_KOSTEN)+sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/MLD_OPDR_KOSTEN_BTW), '#.##0,00', 'euro')"/><br/>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/FIN_FACTUUR_TOTAAL)+sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/><br/>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/MLD_OPDR_KOSTEN)+sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/MLD_OPDR_KOSTEN_BTW)-sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/FIN_FACTUUR_TOTAAL)-sum(//data_row[PRS_LEVERANCIER_NR = $v_prs_leverancier_nr]/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/>
|
|
</h3></td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
<tr class="subt">
|
|
<td class="th3" colspan='3'><h3>TOTAAL</h3></td>
|
|
<td class="th3" colspan='2'><h3>gecontracteerd<br/>gefactureerd<br/>nog te factureren</h3></td>
|
|
<td class="th3 tdtr"><h3><xsl:value-of select="format-number(sum(//data_row/MLD_OPDR_KOSTEN), '#.##0,00', 'euro')"/><br/><xsl:value-of select="format-number(sum(//data_row/FIN_FACTUUR_TOTAAL), '#.##0,00', 'euro')"/><br/><xsl:value-of select="format-number(sum(//data_row/MLD_OPDR_KOSTEN)-sum(//data_row/FIN_FACTUUR_TOTAAL), '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="th3 tdtr"><h3><xsl:value-of select="format-number(sum(//data_row/MLD_OPDR_KOSTEN_BTW), '#.##0,00', 'euro')"/><br/><xsl:value-of select="format-number(sum(//data_row/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/><br/><xsl:value-of select="format-number(sum(//data_row/MLD_OPDR_KOSTEN_BTW)-sum(//data_row/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="th3 tdtr"><h3><xsl:value-of select="format-number(sum(//data_row/MLD_OPDR_KOSTEN)+sum(//data_row/MLD_OPDR_KOSTEN_BTW), '#.##0,00', 'euro')"/><br/><xsl:value-of select="format-number(sum(//data_row/FIN_FACTUUR_TOTAAL)+sum(//data_row/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/><br/><xsl:value-of select="format-number(sum(//data_row/MLD_OPDR_KOSTEN)+sum(//data_row/MLD_OPDR_KOSTEN_BTW)-sum(//data_row/FIN_FACTUUR_TOTAAL)-sum(//data_row/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="th3"></td>
|
|
</tr>
|
|
<xsl:text disable-output-escaping="yes"></tbody></xsl:text>
|
|
<!-- TBODY einde -->
|
|
</table>
|
|
|
|
</xsl:template>
|
|
|
|
|
|
<xsl:template name="DISPLAY_ONDERDELEN">
|
|
<xsl:param name="p_prs_leverancier_nr"/>
|
|
<xsl:for-each select="//data_row[generate-id(.)=generate-id(key('GROUPBY_ONDERDEELCODE',ONDERDEELCODE)[1]) and PRS_LEVERANCIER_NR = $p_prs_leverancier_nr]">
|
|
<xsl:sort select="ONDERDEELCODE"/>
|
|
<xsl:variable name="v_onderdeelcode" select="ONDERDEELCODE"/>
|
|
<tr class="header">
|
|
<td class="tdt" colspan="5"><h3><xsl:value-of select="ONDERDEEL"/></h3></td>
|
|
<td class="tdtr"><h3><xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/MLD_OPDR_KOSTEN), '#.##0,00', 'euro')"/><br/></h3></td>
|
|
<td class="tdtr"><h3><xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/MLD_OPDR_KOSTEN_BTW), '#.##0,00', 'euro')"/><br/></h3></td>
|
|
<td class="tdtr"><h3><xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/MLD_OPDR_KOSTEN)+sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/MLD_OPDR_KOSTEN_BTW), '#.##0,00', 'euro')"/><br/></h3></td>
|
|
</tr>
|
|
<xsl:call-template name="DISPLAY_CONTRACTEN">
|
|
<xsl:with-param name="p_prs_leverancier_nr" select="$p_prs_leverancier_nr"/>
|
|
<xsl:with-param name="p_onderdeelcode" select="$v_onderdeelcode"/>
|
|
</xsl:call-template>
|
|
<!-- <tr class="footer">
|
|
<td class="tdt" colspan='3'><h3><xsl:value-of select="$v_onderdeelcode"/></h3></td>
|
|
<td class="tdt" colspan='2'><h3>gefactureerd<br/>nog te factureren</h3></td>
|
|
<td class="tdtr"><h3>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/FIN_FACTUUR_TOTAAL), '#.##0,00', 'euro')"/><br/>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/MLD_OPDR_KOSTEN)-sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/FIN_FACTUUR_TOTAAL), '#.##0,00', 'euro')"/>
|
|
</h3></td>
|
|
<td class="tdtr"><h3>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/><br/>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/MLD_OPDR_KOSTEN_BTW)-sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/>
|
|
</h3></td>
|
|
<td class="tdtr"><h3>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/FIN_FACTUUR_TOTAAL)+sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/><br/>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/MLD_OPDR_KOSTEN)+sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/MLD_OPDR_KOSTEN_BTW)-sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/FIN_FACTUUR_TOTAAL)-sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $v_onderdeelcode]/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/>
|
|
</h3></td>
|
|
</tr>
|
|
--> </xsl:for-each>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="DISPLAY_CONTRACTEN">
|
|
<xsl:param name="p_prs_leverancier_nr"/>
|
|
<xsl:param name="p_onderdeelcode"/>
|
|
|
|
<xsl:for-each select="//data_row[generate-id(.)=generate-id(key('GROUPBY_CONTRACT',MLD_OPDR_ORDERNR)[1]) and PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $p_onderdeelcode]">
|
|
<xsl:sort select="MLD_OPDR_DATUMBEGIN"/>
|
|
<xsl:variable name="v_mld_ordernr" select="MLD_OPDR_ORDERNR"/>
|
|
<tr class="header">
|
|
<td class="tdt"></td>
|
|
<td class="tdt"><h3><xsl:value-of select="MLD_OPDR_DATUMBEGIN_P"/></h3></td>
|
|
<td class="tdt"><h3><xsl:value-of select="MLD_OPDR_ORDERNR"/></h3></td>
|
|
<td class="tdt tdte"><h3><xsl:if test="MLD_OPDR_MEERWERK=1">* </xsl:if><xsl:value-of select="MLD_OPDR_OMSCHRIJVING"/></h3></td>
|
|
<td class="tdt"><h3><xsl:value-of select="CONTRACTNR"/></h3></td>
|
|
<td class="tdtr"><h3><xsl:value-of select="format-number(MLD_OPDR_KOSTEN, '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="tdtr"><h3><xsl:value-of select="format-number(MLD_OPDR_KOSTEN_BTW, '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="tdtr"><h3><xsl:value-of select="format-number(MLD_OPDR_KOSTEN+MLD_OPDR_KOSTEN_BTW, '#.##0,00', 'euro')"/></h3></td>
|
|
<td class="tdtr"></td>
|
|
</tr>
|
|
<xsl:call-template name="DISPLAY_FACTUREN">
|
|
<xsl:with-param name="p_prs_leverancier_nr" select="$p_prs_leverancier_nr"/>
|
|
<xsl:with-param name="p_onderdeelcode" select="$p_onderdeelcode"/>
|
|
<xsl:with-param name="p_contractnr" select="$v_mld_ordernr"/>
|
|
</xsl:call-template>
|
|
|
|
<tr class="sfooter">
|
|
<td class="tdt" colspan='2'></td>
|
|
<td class="tdt"><h3><xsl:value-of select="MLD_OPDR_ORDERNR"/></h3></td>
|
|
<td class="tdt" colspan='2'><h3>totaal gefactureerd<br/>nog te factureren</h3></td>
|
|
<td class="tdtr"><h3>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $p_onderdeelcode and MLD_OPDR_ORDERNR = $v_mld_ordernr]/FIN_FACTUUR_TOTAAL), '#.##0,00', 'euro')"/><br/>
|
|
?? <xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $p_onderdeelcode and MLD_OPDR_ORDERNR = $v_mld_ordernr]/MLD_OPDR_KOSTEN)-sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $p_onderdeelcode and MLD_OPDR_ORDERNR = $v_mld_ordernr]/FIN_FACTUUR_TOTAAL), '#.##0,00', 'euro')"/>
|
|
</h3></td>
|
|
<td class="tdtr"><h3>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $p_onderdeelcode and MLD_OPDR_ORDERNR = $v_mld_ordernr]/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/><br/>
|
|
?? <xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $p_onderdeelcode and MLD_OPDR_ORDERNR = $v_mld_ordernr]/MLD_OPDR_KOSTEN_BTW)-sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $p_onderdeelcode and MLD_OPDR_ORDERNR = $v_mld_ordernr]/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/>
|
|
</h3></td>
|
|
<td class="tdtr"><h3>
|
|
<xsl:value-of select="format-number(sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $p_onderdeelcode and MLD_OPDR_ORDERNR = $v_mld_ordernr]/FIN_FACTUUR_TOTAAL)+sum(//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $p_onderdeelcode and MLD_OPDR_ORDERNR = $v_mld_ordernr]/FIN_FACTUUR_TOTAAL_BTW), '#.##0,00', 'euro')"/><br/>
|
|
?? tbd</h3></td>
|
|
<td></td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="DISPLAY_FACTUREN">
|
|
<xsl:param name="p_prs_leverancier_nr"/>
|
|
<xsl:param name="p_onderdeelcode"/>
|
|
<xsl:param name="p_contractnr"/>
|
|
<xsl:for-each select="//data_row[PRS_LEVERANCIER_NR = $p_prs_leverancier_nr and ONDERDEELCODE = $p_onderdeelcode and MLD_OPDR_ORDERNR = $p_contractnr]">
|
|
<xsl:sort select="FIN_FACTUUR_DATUM"/>
|
|
<xsl:if test="FIN_FACTUUR_DATUM!=''">
|
|
<tr>
|
|
<td class="tdt1"></td>
|
|
<td class="tdt"><xsl:value-of select="FIN_FACTUUR_DATUM_P"/></td>
|
|
<td class="tdt"><xsl:value-of select="FIN_FACTUUR_NR"/></td>
|
|
<td class="tdt tdte"><xsl:value-of select="FIN_FACTUUR_OPMERKING"/></td>
|
|
<td class="tdt"></td>
|
|
<td class="tdtr"><xsl:value-of select="format-number(FIN_FACTUUR_TOTAAL, '#.##0,00', 'euro')"/></td>
|
|
<td class="tdtr"><xsl:value-of select="format-number(FIN_FACTUUR_TOTAAL_BTW, '#.##0,00', 'euro')"/></td>
|
|
<td class="tdtr"><xsl:value-of select="format-number(FIN_FACTUUR_TOTAAL+FIN_FACTUUR_TOTAAL_BTW, '#.##0,00', 'euro')"/></td>
|
|
<td class="tdt"><xsl:value-of select="FIN_FACTUUR_ADVIES_P"/></td>
|
|
</tr>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</xsl:template>
|
|
|
|
|
|
</xsl:stylesheet>
|
|
<!-- Stylus Studio meta-information - (c) 2004-2007. Progress Software Corporation. All rights reserved.
|
|
<metaInformation>
|
|
<scenarios ><scenario default="no" name="Scenario1" userelativepaths="yes" externalpreview="no" url="..\xsl" htmlbaseurl="" outputurl="" processortype="saxon8" useresolver="yes" profilemode="0" profiledepth="" profilelength="" urlprofilexml="" commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext="" validateoutput="no" validator="internal" customvalidator="" ><advancedProp name="sInitialMode" value=""/><advancedProp name="bXsltOneIsOkay" value="true"/><advancedProp name="bSchemaAware" value="true"/><advancedProp name="bXml11" value="false"/><advancedProp name="iValidation" value="0"/><advancedProp name="bExtensions" value="true"/><advancedProp name="iWhitespace" value="0"/><advancedProp name="sInitialTemplate" value=""/><advancedProp name="bTinyTree" value="true"/><advancedProp name="bWarnings" value="true"/><advancedProp name="bUseDTD" value="false"/><advancedProp name="iErrorHandling" value="fatal"/></scenario><scenario default="yes" name="Scenario2" userelativepaths="yes" externalpreview="no" url="..\..\..\TEMP\TWGU_files\rapport81_20170724113851_372.xml" htmlbaseurl="" outputurl="" processortype="saxon8" useresolver="yes" profilemode="0" profiledepth="" profilelength="" urlprofilexml="" commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext="" validateoutput="no" validator="internal" customvalidator="" ><advancedProp name="sInitialMode" value=""/><advancedProp name="bXsltOneIsOkay" value="true"/><advancedProp name="bSchemaAware" value="true"/><advancedProp name="bXml11" value="false"/><advancedProp name="iValidation" value="0"/><advancedProp name="bExtensions" value="true"/><advancedProp name="iWhitespace" value="0"/><advancedProp name="sInitialTemplate" value=""/><advancedProp name="bTinyTree" value="true"/><advancedProp name="bWarnings" value="true"/><advancedProp name="bUseDTD" value="false"/><advancedProp name="iErrorHandling" value="fatal"/></scenario></scenarios><MapperMetaTag><MapperInfo srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="" destSchemaRoot="" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no"/><MapperBlockPosition></MapperBlockPosition><TemplateContext></TemplateContext><MapperFilter side="source"></MapperFilter></MapperMetaTag>
|
|
</metaInformation>
|
|
--> |