svn path=/Website/branches/v2017.1/; revision=34834
This commit is contained in:
Peter Feij
2017-08-04 16:01:28 +00:00
parent 4afcc6b7a0
commit abd3e19571
9 changed files with 581 additions and 0 deletions

0
CUST/TWYN/Export/.gitignore vendored Normal file
View File

0
CUST/TWYN/Import/.gitignore vendored Normal file
View File

View File

@@ -0,0 +1,4 @@
@echo off
REM Moet gescheduled worden (normaliter 1 keer per uur) om door de applicatiebeheerder
REM ingeregelde notificaties te genereren.
cscript ..\..\..\utils\gen_notify\gen_notify.js ../oracle.udl TWGU

View File

@@ -0,0 +1,4 @@
@echo off
REM Moet gescheduled worden (normaliter 1 keer per dag) om door de applicatiebeheerder
REM ingeregelde jobs (aanmaak van periodieke opdrachten) uit te voeren.
cscript ..\..\..\utils\gen_scheduler\gen_scheduler.js ../oracle.udl

View File

@@ -0,0 +1 @@
call ..\..\..\utils\putOrders\putOrders.bat

BIN
CUST/TWYN/banner.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

4
CUST/TWYN/cust.css Normal file
View File

@@ -0,0 +1,4 @@
/*
* $Revision$
* $Id$
*/

BIN
CUST/TWYN/tmpl_logo.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

568
CUST/TWYN/xsl/cust.xsl Normal file
View File

@@ -0,0 +1,568 @@
<?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%;">&#xA0;</td>
<td class="tdhs" style="width:15%;">&#xA0;</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">&lt;tbody&gt;</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"/>&#xA0;</td>
<td class="tdt"> <xsl:value-of select="$bedr_naam"/>&#xA0;</td>
<td class="tdt"> <xsl:value-of select="$bedr_adrs"/>&#xA0;</td>
<td class="tdt"> <xsl:value-of select="$bedr_post"/>&#xA0;</td>
<td class="tdt"> <xsl:value-of select="$bedr_plts"/>&#xA0;</td>
</tr>
</xsl:for-each>
<tr>
<td class="tdbl">&#xA0;</td>
<td colspan="13" class="tdb">&#xA0;</td>
<td class="tdbr">&#xA0;</td>
</tr>
<xsl:text disable-output-escaping="yes">&lt;/tbody&gt;</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">&lt;tbody&gt;</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">&lt;/tbody&gt;</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">&lt;tbody&gt;</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">&lt;/tbody&gt;</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>
-->