MARX#40389: Koppeling Facilitor (opdrachtgever) - Mareon

svn path=/Website/branches/v2016.3/; revision=33683
This commit is contained in:
Marcel Bourseau
2017-05-04 11:58:42 +00:00
parent eaeb6a627a
commit a9ba45bf24

View File

@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:s="http://www.w3.org/2003/05/soap-envelope"
xmlns:b="http://schemas.datacontract.org/2004/07/SG.Services.Repositories"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
version="1.0">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="/">
<xsl:apply-templates select="mld_opdr"/>
</xsl:template>
<xsl:template match="mld_opdr">exec_code;ax_supplier_id;mld_melding_externnr;mld_melding_omschrijving;prs_afdeling_externnr;mld_opdr_po_companyid;mld_opdr_opzichter;mld_melding_cust_name;mld_melding_cust_straat;mld_melding_cust_huisnr;mld_melding_cust_huisnr2;mld_melding_cust_postcode;mld_melding_cust_plaats;mld_melding_cust_telefoonnr;mld_melding_cust_mobielnr;mld_melding_cust_email;mld_melding_cust_object_omschr;complexnummer;pandnummer;VGEnummer;mld_melding_memo;mld_opdr_externnr;mld_opdr_ordernr;mld_opdr_datumbegin;mld_opdr_datum_plan;mld_opdr_einddatum;mld_opdr_mat_linenr;mld_opdr_mat_code;mld_opdr_mat_naam;mld_opdr_mat_eenheidcode;mld_opdr_mat_eenheid;mld_opdr_mat_prijs;mld_opdr_mat_aantal;mld_opdr_mat_btwperc;mld_opdr_mat_totaal
1;<xsl:value-of select="ax_supplier_id"/>;<xsl:value-of select="mld_melding_externnr"/>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_melding_omschrijving"/></xsl:call-template>;<xsl:value-of select="prs_afdeling_externnr"/>;<xsl:value-of select="prs_afdeling_externnr"/>;;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_melding_cust_name"/></xsl:call-template>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_melding_cust_straat"/></xsl:call-template>;;;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_melding_cust_postcode"/></xsl:call-template>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_melding_cust_plaats"/></xsl:call-template>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_melding_cust_telefoonnr"/></xsl:call-template>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_melding_cust_mobielnr"/></xsl:call-template>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_melding_cust_email"/></xsl:call-template>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_melding_cust_object_omschr"/></xsl:call-template>;;;;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="substring(mld_melding_memo,1,3000)"/></xsl:call-template>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_opdr_externnr"/></xsl:call-template>;<xsl:value-of select="mld_opdr_ordernr"/>;<xsl:value-of select="translate(mld_opdr_datumbegin,'zZ','')"/>;<xsl:call-template name="mld_opdr_plandatum"><xsl:with-param name="p_task_status" select="'Gepland'"/><xsl:with-param name="p_plan_datum" select="mld_opdr_datum_plan"/></xsl:call-template>;<xsl:value-of select="translate(mld_opdr_einddatum,'zZ','')"/>;;;;;;;;;
2;<xsl:value-of select="ax_supplier_id"/>;<xsl:value-of select="mld_melding_externnr"/>;;<xsl:value-of select="prs_afdeling_externnr"/>;<xsl:value-of select="prs_afdeling_externnr"/>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_opdr_opzichter"/></xsl:call-template>;;;;;;;;;;;;<xsl:value-of select="pandnummer"/>;;;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_opdr_externnr"/></xsl:call-template>;<xsl:value-of select="mld_opdr_ordernr"/>;;;;;;;;;;;;
<xsl:for-each select="mld_opdr_materialen/mld_opdr_materiaal">3;<xsl:value-of select="../../ax_supplier_id"/>;<xsl:value-of select="../../mld_melding_externnr"/>;;<xsl:value-of select="../../prs_afdeling_externnr"/>;<xsl:value-of select="../../prs_afdeling_externnr"/>;;;;;;;;;;;;;;;;<xsl:value-of select="../../mld_opdr_externnr"/>;<xsl:value-of select="../../mld_opdr_ordernr"/>;;;;<xsl:call-template name="Materiaal_regel"><xsl:with-param name="p_linenr" select="mld_opdr_mat_linenr"/></xsl:call-template>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_opdr_mat_code"/></xsl:call-template>;<xsl:call-template name="vrije_tekst"><xsl:with-param name="p_string" select="mld_opdr_mat_naam"/></xsl:call-template>;<xsl:call-template name="Materiaal_eenheidSidB"><xsl:with-param name="p_unit" select="''"/></xsl:call-template>;<xsl:value-of select="mld_opdr_mat_eenheid"/>;<xsl:value-of select="mld_opdr_mat_prijs"/>;<xsl:value-of select="mld_opdr_mat_aantal"/>;<xsl:call-template name="Mareon_btwperc"><xsl:with-param name="p_btwperc" select="mld_opdr_mat_btwperc"/></xsl:call-template>;;&#10;</xsl:for-each>
</xsl:template>
<xsl:template name="vrije_tekst">
<xsl:param name="p_string"/>
<xsl:variable name="l_string_esc_quotes"><xsl:call-template name="escape_quote"><xsl:with-param name="string" select="$p_string"/></xsl:call-template></xsl:variable>
<xsl:variable name="l_string_esc_linebreaks"><xsl:call-template name="escape_linebreaks"><xsl:with-param name="string" select="$l_string_esc_quotes"/></xsl:call-template></xsl:variable>"<xsl:value-of select="$l_string_esc_linebreaks"/>"</xsl:template>
<xsl:template name="escape_quote">
<xsl:param name="string"/>
<xsl:choose>
<xsl:when test="contains($string, '&quot;')"><xsl:value-of select="substring-before($string, '&quot;')"/>&quot;&quot;<xsl:call-template name="escape_quote">
<xsl:with-param name="string" select="substring-after($string, '&quot;')"/></xsl:call-template></xsl:when>
<xsl:otherwise><xsl:value-of select="$string"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="escape_linebreaks">
<xsl:param name="string"/>
<xsl:choose>
<xsl:when test="contains($string, '&#xA;')"><xsl:value-of select="substring-before($string, '&#xA;')"/>@@<xsl:call-template name="escape_linebreaks">
<xsl:with-param name="string" select="substring-after($string, '&#xA;')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise><xsl:value-of select="$string"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="mld_melding_externnr">
<!-- meldingnummer in TobiasAX wordt niet expliciet meegegeven, en wordt daarom afgeleid uit task-id, namelijk alles voor het koppelteken). -->
<xsl:param name="p_string"/>
<xsl:value-of select="substring-before($p_string, '-')"/>
</xsl:template>
<xsl:template name="mld_opdr_plandatum">
<xsl:param name="p_task_status"/>
<xsl:param name="p_plan_datum"/>
<xsl:if test="$p_task_status='Gepland'"><xsl:value-of select="translate($p_plan_datum,'zZ','')"/></xsl:if>
</xsl:template>
<xsl:template name="Materiaal_regel">
<xsl:param name="p_linenr"/>
<xsl:choose>
<xsl:when test="$p_linenr = ''">-1</xsl:when>
<xsl:otherwise><xsl:value-of select="$p_linenr"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="Materiaal_eenheidSidB">
<xsl:param name="p_unit"/>
<!--
<xsl:choose>
<xsl:when test="$p_unit = 'cm'">CMT</xsl:when>
<xsl:when test="$p_unit = 'dag'">DAY</xsl:when>
<xsl:when test="$p_unit = 'gram'">GRM</xsl:when>
<xsl:when test="$p_unit = 'uur'">HUR</xsl:when>
<xsl:when test="$p_unit = 'kg'">KGM</xsl:when>
<xsl:when test="$p_unit = 'l'">LTR</xsl:when>
<xsl:when test="$p_unit = 'min'">MIN</xsl:when>
<xsl:when test="$p_unit = 'ml'">MLT</xsl:when>
<xsl:when test="$p_unit = 'mm'">MMT</xsl:when>
<xsl:when test="$p_unit = 'm2'">MTK</xsl:when>
<xsl:when test="$p_unit = 'm3'">MTQ</xsl:when>
<xsl:when test="$p_unit = 'm1'">MTR</xsl:when>
<xsl:when test="$p_unit = 'st.'">PCE</xsl:when>
<xsl:when test="$p_unit = 't'">TNE</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
-->
<xsl:value-of select="$p_unit"/>
</xsl:template>
<xsl:template name="Mareon_btwperc">
<xsl:param name="p_btwperc"/>
<xsl:choose>
<xsl:when test="$p_btwperc = 'Hoog'">21</xsl:when>
<xsl:when test="$p_btwperc = 'Laag'">6</xsl:when>
<xsl:when test="$p_btwperc = 'Geen'">0</xsl:when>
<xsl:otherwise><xsl:value-of select="$p_btwperc"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>