系统默认的JDF输出不能满足我们的需求,往往不同的供应商输出不同要求的JDF格式。这里我们开始介绍ustore的自定义JDF输出

1.先屏蔽掉默认的JDF格式输出

我们进入Tigger来设置ustroe JDF的触发事件

进入Presets –> Tigger Setup

可以看到很多的Tigger,这里我们选择JDF Submission

将原来的Status=Active 改成 Status=Inactive 最后点击保存就可以了

2. 新建我们的JDF Tigger

1)回到我们的Tigger list页面,点击New

2)可以看到下面的页面。

Rule Name(必填)表示名字,这里输入My JDF Submission 01

Rule Description 表示介绍,这里不填

Event 表示触发次Tigger的事件,这里选择Order State Transition

Status 表示是否开启此Tigger,这里选开启=Active

Filter 表示状态转换过滤器,这里选择默认的Order State Transition Filter

Store Name 表示Tigger用在什么地方,这里选择我们创建的store

From State 表示从哪个状态开始过滤,这里选择全部状态All States

To State 表示从哪个状态介绍过滤,这里选择Prepress in Progress

Actin to Perform 表示输出那种文件格式,这里选择JDF XML

Select Template 表示输出的JDF文件内容,这里我们自己创建一个名叫JDF on State transition - 01

3)选项介绍 – Event/Filter

Event主要分为下面的这些,event是tigger触发的事件。我们这里选择的Order State Transition顾名思义,表示订单状态改变的时候调用。也就是订单提交过后,在Orders流程改变时调用。

From State是基于上面的事件做开始操作的。这里选择的是All States,表示全部状态都开始

To State跟From State一样,这里选择Prepress in Progress,表示当状态=Prepress in Progress,是结束标志

4)选项介绍 – Select Template

注意这里右边的三个图标。第一个是在线编辑,第二个是新建一个Template,第三个是删除现在的Template。

3.自定义Template格式

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" xmlns:JDF_XSLHelper="urn:JDF_XSLHelper">
    <xsl:output method="xml" indent="yes" />
    <xsl:variable name="JDFJob_ID" select="//JobID" />
    <xsl:variable name="JDF_ID" select="//jdfID" />
    <xsl:variable name="JobPartID" select="JDF_XSLHelper:CreateJDFJobID('JP',//Sqls/OrderProduct/Row/OrderProductID)" />
    <xsl:variable name="CurrentDateTime" select="JDF_XSLHelper:GetCurrentDateTime()" />
    <xsl:variable name="PrepressWorkflowProviderTypeID" select="//Sqls/PrepressWorkflow/Row/PrepressWorkflowProviderTypeID" />
    <xsl:template match="/">
        <root>
            <item>
                <id value="{//Sqls/Order/Row/OrderProductID}"></id>
                <!-- 订单ID 可以不使用 -->
                <order_no value="{//Sqls/Order/Row/EncryptedOrderId}"></order_no>
                <!-- 订单编号 -->
                <status></status>
                <!-- 订单状态 举例:1生成订单,2支付订单,3取消订单,4作废订单,5完成订单 -->
                <distribution_status></distribution_status>
                <!-- 配送状态 -->
                <!-- 客户信息开始: 可以选择传送 -->
                <accept_name value="{//Sqls/Order/Row/Bill_Name}"></accept_name>
                <!-- 客户名称 -->
                <postcode value="{//Sqls/Order/Row/Bill_Zip}"></postcode>
                <!-- 客户邮政编码 -->
                <telphone value="{//Sqls/Order/Row/Bill_Phone}"></telphone>
                <!-- 客户电话 -->
                <country></country>
                <!-- 国家编码 也可以文字描述,下同 -->
                <province></province>
                <!-- 省份编码  -->
                <city></city>
                <!-- 城市编码  -->
                <area></area>
                <!-- 地区编码  -->
                <address value="{//Sqls/Order/Row/Bill_AddressReference}"></address>
                <!-- 联系地址  -->
                <mobile></mobile>
                <!-- 联系手机  -->
                <!-- 客户信息结束;-->
                <payable_amount value="{//Sqls/Order/Row/OrderAmount}"></payable_amount>
                <!-- 应付商品总金额 -->
                <real_amount></real_amount>
                <!-- 实付商品总金额 -->
                <payable_freight value="{//Sqls/Order/Row/ShippingCharges}"></payable_freight>
                <!-- 总运费金额 -->
                <real_freight></real_freight>
                <!-- 实付运费 -->
                <create_time value="{//Sqls/Order/Row/DateCartCreated}"></create_time>
                <!-- 订购时间 -->
                <completion_time value="{//Sqls/Order/Row/DateOrderSubmitted}"></completion_time>
                <!-- 订单完成时间 -->
                <invoice></invoice>
                <!-- 发票 0不索要1索要 -->
                <postscript></postscript>
                <!-- 客户留言 -->
                <note></note>
                <!-- 管理员备注 -->
                <invoice_title></invoice_title>
                <!-- 发票抬头 -->
                <taxes value="{//Sqls/Order/Row/TaxAmount}"></taxes>
                <!-- 税金 -->
                <promotions></promotions>
                <!-- 促销优惠金额 -->
                <discount></discount>
                <!-- 订单折扣或涨价 -->
                <order_amount></order_amount>
                <!-- 订单总金额 -->
                <type></type>
                <!-- 订单类型 -->
                <synchronous></synchronous>
                <!-- 是否同步ERP -->
                <sync_time></sync_time>
                <!-- 同步时间 -->
                <file_download_state></file_download_state>
                <!-- 文件下载状态 -->
                <update_download_state_time></update_download_state_time>
                <!-- 更新文件状态时间 -->
                <goods>
                    <item>
                        <goods_price value="{//Sqls/Order/Row/cost}"></goods_price>
                        <!-- 销售价 -->
                        <real_price value="{//Sqls/Order/Row/cost}"></real_price>
                        <!-- 成本价 -->
                        <goods_nums value="{//Sqls/OrderProduct/Row/Amount}"></goods_nums>
                        <!-- 订购份数 -->
                        <goods_weight></goods_weight>
                        <!-- 成品重量 -->
                        <is_send></is_send>
                        <!-- 是否发货 -->
                        <products_no></products_no>
                        <!-- 成品编码 -->
                        <goods_name value="{//Sqls/Product_And_Culture/Row/PC_Name}"></goods_name>
                        <goods_note value="{//Sqls/Product_And_Culture/Row/PC_ShortDescription}"></goods_note>
                        <!-- 成品描述,例如产品结构工艺等 -->
                        <file_data>
                            <item>
                                <file_id></file_id>
                                <!-- 文件ID -->
                                <url value="{//FilePath}"></url>
                                <!-- 下载路径 -->
                                <file_md5></file_md5>
                                <!-- 文件md5 用于检验文件是否完整 -->
                                <file_size></file_size>
                                <!-- 文件大小 -->
                                <status></status>
                                <!-- 下载状态 -->
                            </item>
                        </file_data>
                    </item>
                    <item>
                        <goods_price></goods_price>
                        <!-- 销售价 -->
                        <real_price></real_price>
                        <!-- 成本价 -->
                        <goods_nums></goods_nums>
                        <!-- 订购份数 -->
                        <goods_weight></goods_weight>
                        <!-- 成品重量 -->
                        <is_send></is_send>
                        <!-- 是否发货 -->
                        <products_no></products_no>
                        <!-- 成品编码 -->
                        <goods_name></goods_name>
                        <goods_note></goods_note>
                        <file_data></file_data>
                        <!-- 无附件 -->
                    </item>
                </goods>
                <delivery>
                    <xsl:for-each select="//Sqls/DeliveryTentative/Row">
                        <item>
                            <company>
                                <xsl:value-of select="Ship_Company" />
                            </company>
                            <country>
                                <xsl:value-of select="Ship_Country" />
                            </country>
                            <postcode>
                                <xsl:value-of select="Ship_Zip" />
                            </postcode>
                            <postcode>
                                <xsl:value-of select="Ship_Add1" />
                            </postcode>
                            <postcode>
                                <xsl:value-of select="Ship_City" />
                            </postcode>
                        </item>
                    </xsl:for-each>
                    <!-- ... 更多送货信息 -->
                </delivery>
            </item>
        </root>
    </xsl:template>
</xsl:stylesheet>

UStore-自定义JDF文件格式输出的更多相关文章

  1. hadoop编程小技巧(5)---自定义输入文件格式类InputFormat

    Hadoop代码测试环境:Hadoop2.4 应用:在对数据需要进行一定条件的过滤和简单处理的时候可以使用自定义输入文件格式类. Hadoop内置的输入文件格式类有: 1)FileInputForma ...

  2. log4j2自定义Appender(输出到文件/RPC服务中)

    1.背景 虽然log4j很强大,可以将日志输出到文件.DB.ES等.但是有时候确难免完全适合自己,此时我们就需要自定义Appender,使日志输出到指定的位置上. 本文,将通过两个例子说明自定义APP ...

  3. 自定义 ocelot 中间件输出自定义错误信息

    自定义 ocelot 中间件输出自定义错误信息 Intro ocelot 中默认的 Response 中间件在出错的时候只会设置 StatusCode 没有具体的信息,想要展示自己定义的错误信息的时候 ...

  4. 自定义NSLog宏输出

    根据编译条件,Debug时输出带行号的日志,Release时关闭日志 /* XCode LLVM XXX - Preprocessing中Debug会添加 DEBUG=1 标志 */ #ifdef D ...

  5. PHP内置Web Server探究(二)自定义PHP控制台输出console函数

    我们在开发APP的服务器端,当和APP进行联调时通常需要实时跟踪URL请求和参数的接收情况. 但PHP并没有像Python或Java专有的控制台输出函数,Python的print()和Java的Sys ...

  6. 使用go-template自定义kubectl get输出

    kubectl get相关资源,默认输出为kubectl内置,一般我们也可以使用-o json或者-o yaml查看其完整的资源信息.但是很多时候,我们需要关心的信息并不全面,因此我们需要自定义输出的 ...

  7. ELK收集Nginx自定义日志格式输出

    1.ELK收集日志的有两种常用的方式: 1.1:不修改源日志格式,简单的说就是在logstash中转通过 grok方式进行过滤处理,将原始无规则的日志转换为规则日志(Logstash自定义日志格式) ...

  8. 自定义SpringBoot控制台输出的图案

    pringboot启动的时候,控制台输出的图案叫banner banner?啥玩意儿?相信有些人,一定是一脸懵逼... ——这个就不陌生了吧,这个是我们启动springboot的时候,控制台输出的.. ...

  9. highcharts自定义导出文件格式(csv) highcharts的一些使用心得

    highcharts是国外的一个图表插件,包括各种数据图形展示,柱形图,线性图等等,是手机端和pc端最好的图表插件之一,相比于百度的echarts更加轻便和易懂.链接http://www.hchart ...

随机推荐

  1. 如何选择 H5 游戏引擎

    原生手游市场已是红海,腾讯.网易等寡头独霸天下,H5游戏市场或将成为下一个风口.据笔者所知,很多H5游戏开发团队由于选择引擎不慎导致项目甚至团队夭折.如何选择适合团队和项目的引擎,笔者通过学习和项目实 ...

  2. socket网络间通信初识

    NSOperation: 1. 指定同一时间最大执行的操作数 queue.max…… 2. 设定队列中的任务时间的依赖关系 task1 依赖于 task2: task2 —> task1 3. ...

  3. STM32之独立看门狗与窗口看门狗总结

    一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...

  4. 【线段树套平衡树】【pb_ds】bzoj3196 Tyvj 1730 二逼平衡树

    线段树套pb_ds里的平衡树,在洛谷OJ上测试,后三个测试点TLE #include<cstdio> #include<algorithm> #include<ext/p ...

  5. IOS学习笔记 O1

    第一章 Objective-C语言基础 一.OC语言与C语言的比较 C语言是一门面向过程的语言,而OC则是一门面向对象的语言. C语言文件默认保存格式为.c,OC语言默认保存格式为.m,两者头文件格式 ...

  6. MHA的在线切换后的一些总结(mha方案来自网络)

    mha方案来自:http://www.cnblogs.com/xuanzhi201111/p/4231412.html MHA的在线切换 192.168.2.131 [root bin]$ maste ...

  7. [转] 多进程下数据库环境的恢复:DB_REGISTER

    http://www.cnblogs.com/promise6522/archive/2012/05/09/2493542.html

  8. 仿QQ列表左滑删除

    一直想写个仿QQ通讯列表左滑删除的效果,今天终于忙里偷闲,简单一个. 大概思路是这样的: 通过 ontouchstartontouchmoveontouchend 结合css3的平移. 不多说,直接上 ...

  9. 播放一个视频并用滚动条控制进度-OpenCV应用学习笔记二

    今天我们来做个有趣的程序实现:利用OpenCV读取本地文件夹的视频文件,并且在窗口中创建拖动控制条来显示并且控制视频文件的读取进度. 此程序调试花费了笔者近一天时间,其实大体程序都已经很快写出,结果执 ...

  10. ansible 自动化(3)

    批量执行playbooks 远程批量命令执行的另外一种方式是用playbooks:这里是playbooks的官方文档:http://docs.ansible.com/playbooks.html这里有 ...