<?xml version="1.0" encoding="utf-8"?>

<winstrom version="1.0" source="FlexiBee">
  <!-- Uživatelské transformace -->
  <xslt>
    <!-- ID (celé číslo) - -->
    <id>code:SHOPTET-OBJEDNAVKY</id>
    <!-- Poslední změna (datum a čas) - -->
    <lastUpdate>2017-10-04T17:40:50.833+02:00</lastUpdate>
    <!-- Zkratka (řetězec) - max. délka: 20 -->
    <kod>SHOPTET-OBJEDNAVKY</kod>
    <!-- Název (řetězec) - max. délka: 255 -->
    <nazev>Načítání objednávek z e-shopu Shoptet</nazev>
    <!-- Název EN (řetězec) - max. délka: 255 -->
    <nazevA></nazevA>
    <!-- Název DE (řetězec) - max. délka: 255 -->
    <nazevB></nazevB>
    <!-- Název FR (řetězec) - max. délka: 255 -->
    <nazevC></nazevC>
    <!-- Poznámka (řetězec) - -->
    <poznam></poznam>
    <!-- Popis (řetězec) - -->
    <popis></popis>
    <!-- Transformace (řetězec) - -->
    <transformace>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java"&gt;
    &lt;xsl:output method="xml" indent="yes" encoding="utf-8" /&gt;

    &lt;!-- zkratka skladu na kterém je zboží určené pro eshop --&gt;
    &lt;xsl:variable name="sklad" select="'SKLAD'" /&gt;
    &lt;!-- zkratka typu dokladu vytvářených objednávek --&gt;
    &lt;xsl:variable name="typDokl" select="'OBP'"/&gt;

    &lt;xsl:template match="ORDERS"&gt;
        &lt;winstrom version="1.0"&gt;
            &lt;xsl:apply-templates select="ORDER"/&gt;
        &lt;/winstrom&gt;
    &lt;/xsl:template&gt;

    &lt;xsl:template match="ORDER"&gt;
        &lt;objednavka-prijata&gt;
            &lt;!-- zpracování jedné objednávky --&gt;
            &lt;id&gt;ext:SHOPTET-ORDER:&lt;xsl:value-of select="ORDER_ID"/&gt;&lt;/id&gt;
            &lt;id&gt;code:&lt;xsl:value-of select="CODE"/&gt;&lt;/id&gt;
            &lt;kod&gt;&lt;xsl:value-of select="CODE"/&gt;&lt;/kod&gt;
            &lt;varSym&gt;&lt;xsl:value-of select="CODE"/&gt;&lt;/varSym&gt;
            &lt;typDokl&gt;code:&lt;xsl:value-of select="$typDokl"/&gt;&lt;/typDokl&gt;
            &lt;datVyst&gt;&lt;xsl:value-of select="java:flexibee.Tool.parseDate(DATE, 'y-M-d H:m:s')"/&gt;&lt;/datVyst&gt;
            &lt;mena&gt;code:&lt;xsl:value-of select="CURRENCY/CODE"/&gt;&lt;/mena&gt;
            &lt;!--kurz&gt;&lt;xsl:value-of select="CURRENCY/EXCHANGE_RATE"/&gt;&lt;/kurz--&gt;

            &lt;xsl:choose&gt;
                &lt;xsl:when test="STATUS = 'Stornována'"&gt;
                    &lt;stavUzivK&gt;stavDoklObch.storno&lt;/stavUzivK&gt;
                &lt;/xsl:when&gt;
                &lt;xsl:otherwise&gt;
                    &lt;!-- ostatní stavy zatím neřešíme --&gt;
                &lt;/xsl:otherwise&gt;
            &lt;/xsl:choose&gt;

            &lt;!-- forma úhrady --&gt;
            &lt;xsl:for-each select="ORDER_ITEMS/ITEM[TYPE='billing']"&gt;
              &lt;formaUhradyCis if-not-found="null"&gt;code:&lt;xsl:value-of select="java:flexibee.Tool.substring(java:flexibee.Tool.toUpper(NAME), 0, 20)"/&gt;&lt;/formaUhradyCis&gt;
            &lt;/xsl:for-each&gt;

            &lt;!-- forma dopravy --&gt;
            &lt;xsl:for-each select="ORDER_ITEMS/ITEM[TYPE='shipping']"&gt;
              &lt;formaDopravy if-not-found="null"&gt;code:&lt;xsl:value-of select="java:flexibee.Tool.substring(java:flexibee.Tool.toUpper(NAME), 0, 20)"/&gt;&lt;/formaDopravy&gt;
            &lt;/xsl:for-each&gt;

            &lt;firma if-not-found="null"&gt;ext:SHOPTET-CUSTOMER-EMAIL:&lt;xsl:value-of select="CUSTOMER/EMAIL"/&gt;&lt;/firma&gt;
            
            &lt;!-- záložka sídlo - fakturační adresa --&gt;
            &lt;xsl:choose&gt;
                &lt;xsl:when test="CUSTOMER/BILLING_ADDRESS/COMPANY = ''"&gt;
                    &lt;nazFirmy&gt;&lt;xsl:value-of select="CUSTOMER/BILLING_ADDRESS/NAME"/&gt;&lt;/nazFirmy&gt;
                &lt;/xsl:when&gt;
                &lt;xsl:otherwise&gt;
                    &lt;nazFirmy&gt;&lt;xsl:value-of select="CUSTOMER/BILLING_ADDRESS/NAME"/&gt; - &lt;xsl:value-of select="CUSTOMER/BILLING_ADDRESS/COMPANY"/&gt;&lt;/nazFirmy&gt;
                &lt;/xsl:otherwise&gt;
            &lt;/xsl:choose&gt;
            &lt;ulice&gt;&lt;xsl:value-of select="CUSTOMER/BILLING_ADDRESS/STREET"/&gt; &lt;xsl:value-of select="CUSTOMER/BILLING_ADDRESS/HOUSENUMBER"/&gt;&lt;/ulice&gt;
            &lt;mesto&gt;&lt;xsl:value-of select="CUSTOMER/BILLING_ADDRESS/CITY"/&gt;&lt;/mesto&gt;
            &lt;psc&gt;&lt;xsl:value-of select="CUSTOMER/BILLING_ADDRESS/ZIP" /&gt;&lt;/psc&gt;
            &lt;xsl:choose&gt;
                &lt;xsl:when test="CUSTOMER/BILLING_ADDRESS/COUNTRY = ''"&gt;&lt;stat&gt;code:CZ&lt;/stat&gt;&lt;/xsl:when&gt;
                &lt;xsl:when test="CUSTOMER/BILLING_ADDRESS/COUNTRY = 'Česká republika'"&gt;&lt;stat&gt;code:CZ&lt;/stat&gt;&lt;/xsl:when&gt;
                &lt;xsl:when test="CUSTOMER/BILLING_ADDRESS/COUNTRY = 'Slovensko'"&gt;&lt;stat&gt;code:SK&lt;/stat&gt;&lt;/xsl:when&gt;
                &lt;!-- sem je potřeba doplňovat další státy --&gt;
                &lt;xsl:otherwise&gt;&lt;stat&gt;NEDEFINOVANO - &lt;xsl:value-of select="CUSTOMER/BILLING_ADDRESS/COUNTRY"/&gt;&lt;/stat&gt;&lt;/xsl:otherwise&gt;
            &lt;/xsl:choose&gt;
            &lt;ic&gt;&lt;xsl:value-of select="CUSTOMER/BILLING_ADDRESS/COMPANY_ID"/&gt;&lt;/ic&gt;
            &lt;dic&gt;&lt;xsl:value-of select="CUSTOMER/BILLING_ADDRESS/VAT_ID"/&gt;&lt;/dic&gt;

            &lt;!-- záložka poštovní adresa - dodací adresa --&gt;
            &lt;postovniShodna&gt;false&lt;/postovniShodna&gt;
            &lt;xsl:choose&gt;
                &lt;xsl:when test="CUSTOMER/SHIPPING_ADDRESS/COMPANY = ''"&gt;
                    &lt;faNazev&gt;&lt;xsl:value-of select="CUSTOMER/SHIPPING_ADDRESS/NAME"/&gt;&lt;/faNazev&gt;
                &lt;/xsl:when&gt;
                &lt;xsl:otherwise&gt;
                    &lt;faNazev&gt;&lt;xsl:value-of select="CUSTOMER/SHIPPING_ADDRESS/NAME"/&gt; - &lt;xsl:value-of select="CUSTOMER/SHIPPING_ADDRESS/COMPANY"/&gt;&lt;/faNazev&gt;
                &lt;/xsl:otherwise&gt;
            &lt;/xsl:choose&gt;
            &lt;faUlice&gt;&lt;xsl:value-of select="CUSTOMER/SHIPPING_ADDRESS/STREET"/&gt; &lt;xsl:value-of select="CUSTOMER/SHIPPING_ADDRESS/HOUSENUMBER"/&gt;&lt;/faUlice&gt;
            &lt;faMesto&gt;&lt;xsl:value-of select="CUSTOMER/SHIPPING_ADDRESS/CITY"/&gt;&lt;/faMesto&gt;
            &lt;faPsc&gt;&lt;xsl:value-of select="CUSTOMER/SHIPPING_ADDRESS/ZIP"/&gt;&lt;/faPsc&gt;
            &lt;xsl:choose&gt;
                &lt;xsl:when test="CUSTOMER/SHIPPING_ADDRESS/COUNTRY = ''"&gt;&lt;faStat&gt;&lt;/faStat&gt;&lt;/xsl:when&gt;
                &lt;xsl:when test="CUSTOMER/SHIPPING_ADDRESS/COUNTRY = 'Česká republika'"&gt;&lt;faStat&gt;code:CZ&lt;/faStat&gt;&lt;/xsl:when&gt;
                &lt;xsl:when test="CUSTOMER/SHIPPING_ADDRESS/COUNTRY = 'Slovensko'"&gt;&lt;faStat&gt;code:SK&lt;/faStat&gt;&lt;/xsl:when&gt;
                &lt;!-- sem je potřeba doplňovat další státy --&gt;
                &lt;xsl:otherwise&gt;&lt;faStat&gt;NEDEFINOVANO - &lt;xsl:value-of select="CUSTOMER/SHIPPING_ADDRESS/COUNTRY"/&gt;&lt;/faStat&gt;&lt;/xsl:otherwise&gt;
            &lt;/xsl:choose&gt;
       
            &lt;polozkyDokladu removeAll="true"&gt;
                &lt;xsl:apply-templates select ="ORDER_ITEMS/ITEM"/&gt;
            &lt;/polozkyDokladu&gt;
        &lt;/objednavka-prijata&gt;
    &lt;/xsl:template&gt;

    &lt;xsl:template match="ORDER_ITEMS/ITEM"&gt;
        &lt;!-- zpracování položky objednávky --&gt;
        &lt;objednavka-prijata-polozka&gt;
            &lt;xsl:choose&gt;
                &lt;xsl:when test="TYPE = 'product' or TYPE = 'set'"&gt;
                    &lt;!-- u produktů a sad vyplňujeme ceník i sklad --&gt;
                    &lt;cenik&gt;code:&lt;xsl:value-of select="CODE"/&gt;&lt;/cenik&gt;
                    &lt;sklad&gt;code:&lt;xsl:value-of select="$sklad"/&gt;&lt;/sklad&gt;
                &lt;/xsl:when&gt;
                &lt;xsl:when test="TYPE = 'service'"&gt;
                    &lt;!-- u služeb vyplňujeme jen ceník --&gt;
                    &lt;cenik&gt;code:&lt;xsl:value-of select="CODE"/&gt;&lt;/cenik&gt;
                &lt;/xsl:when&gt;
                &lt;xsl:otherwise&gt;
                    &lt;!-- ostatni typy - billing, shipping - neděláme nic --&gt;
                &lt;/xsl:otherwise&gt;
            &lt;/xsl:choose&gt;
            

            &lt;xsl:choose&gt;
                &lt;xsl:when test="VARIANT_NAME = ''"&gt;
                    &lt;nazev&gt;&lt;xsl:value-of select="NAME"/&gt;&lt;/nazev&gt;
                &lt;/xsl:when&gt;
                &lt;xsl:otherwise&gt;
                    &lt;nazev&gt;&lt;xsl:value-of select="NAME"/&gt; - &lt;xsl:value-of select="VARIANT_NAME"/&gt;&lt;/nazev&gt;
                &lt;/xsl:otherwise&gt;
            &lt;/xsl:choose&gt;

            &lt;mnozMj&gt;&lt;xsl:value-of select="AMOUNT"/&gt;&lt;/mnozMj&gt;
            &lt;cenaMj&gt;&lt;xsl:value-of select="java:flexibee.Tool.parseMoney(UNIT_PRICE/WITH_VAT)"/&gt;&lt;/cenaMj&gt;
            &lt;typCenyDphK&gt;typCeny.sDph&lt;/typCenyDphK&gt;
            &lt;xsl:choose&gt;
                &lt;xsl:when test="UNIT_PRICE/VAT_RATE = 0"&gt;&lt;typSzbDphK&gt;typSzbDph.dphOsv&lt;/typSzbDphK&gt;&lt;/xsl:when&gt;
                &lt;xsl:when test="UNIT_PRICE/VAT_RATE = 10"&gt;&lt;typSzbDphK&gt;typSzbDph.dphSniz2&lt;/typSzbDphK&gt;&lt;/xsl:when&gt;
                &lt;xsl:when test="UNIT_PRICE/VAT_RATE = 15"&gt;&lt;typSzbDphK&gt;typSzbDph.dphSniz&lt;/typSzbDphK&gt;&lt;/xsl:when&gt;
                &lt;xsl:otherwise&gt;&lt;typSzbDphK&gt;typSzbDph.dphZakl&lt;/typSzbDphK&gt;&lt;/xsl:otherwise&gt;
            &lt;/xsl:choose&gt;

            &lt;xsl:if test="UNIT != ''"&gt;
                &lt;mj&gt;code:&lt;xsl:value-of select="java:flexibee.Tool.toUpper(UNIT)"/&gt;&lt;/mj&gt;
            &lt;/xsl:if&gt;

            &lt;xsl:if test="DISCOUNT != 0"&gt;
                &lt;slevaPol&gt;&lt;xsl:value-of select="DISCOUNT"/&gt;&lt;/slevaPol&gt;
            &lt;/xsl:if&gt;
        &lt;/objednavka-prijata-polozka&gt;
    &lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;</transformace>
  </xslt>
</winstrom>
