<?xml version="1.0" encoding="UTF-8"?>
<process xmlns:bean="http://bean.boe.com/" xmlns:bpel="http://bpel.boe.com/" targetNamespace="http://bpel.boe.com/bpelj/" name="PDAFGConfirmShipRequest.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="BSShipRequestServiceUtil" partnerLinkType="bean:BSShipRequestServiceUtil" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="CommonValidation" partnerLinkType="bean:CommonValidation" />
        <partnerLink name="BSShipRequestServiceImpl" partnerLinkType="bean:BSShipRequestServiceImpl" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
    </partnerLinks>
    <variables>
        <variable name="allWeight" messageType="double" expression="toDouble(getXmlData('message', '/Message/Body/ALLWEIGHT'))" />
        <variable name="ConfirmShipRequest" messageType="java.lang.String"></variable>
        <variable name="deliveryType" messageType="java.lang.String"></variable>
        <variable name="eventComment" messageType="java.lang.String" expression="getXmlData('message', '/Message/Header/EVENTCOMMENT')" />
        <variable name="eventInfo" messageType="com.cim.idm.framework.data.EventInfo"></variable>
        <variable name="eventName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/MESSAGENAME')" />
        <variable name="eventUser" messageType="java.lang.String" expression="getXmlData('message', '/Message/Header/EVENTUSER')" />
        <variable name="Hold" messageType="java.lang.String"></variable>
        <variable name="invoiceNo" messageType="java.lang.String" expression="getXmlData('message','/Message/Body/SHIPREQUESTNAME')" />
        <variable name="makeConfirmedInfo" messageType="com.cim.idm.wmspackage.productshiprequest.management.info.MakeConfirmedInfo"></variable>
        <variable name="message" messageType="org.jdom.Document"></variable>
        <variable name="palletElement" messageType="com.cim.idm.wmspackage.productpacking.management.data.ProductPacking" expression="newInstance('com.cim.idm.wmspackage.productpacking.management.data.ProductPacking')" />
        <variable name="palletList" messageType="java.util.List"></variable>
        <variable name="palletListIndex" messageType="int"></variable>
        <variable name="palletSDERPList" messageType="java.util.List" expression="newInstance('java.util.ArrayList', 10)" />
        <variable name="pureWeight" messageType="double" expression="toDouble(getXmlData('message', '//Message/Body/PUREWEIGHT'))" />
        <variable name="replySubjectName" messageType="java.lang.String" expression="getXmlData('message', '/Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="shipRequest" messageType="com.cim.idm.wmspackage.productshiprequest.management.data.ProductShipRequest"></variable>
        <variable name="siteName" messageType="java.lang.String" expression="getXmlData('message','/Message/Body/SITENAME')" />
        <variable name="userColumns" messageType="java.util.Map" expression="newInstance('java.util.HashMap', 10)" />
        <variable name="volumn" messageType="double" expression="toDouble(getXmlData('message', '/Message/Body/VOLUMN'))" />
    </variables>
    <sequence>
        <receive name="PDAFGConfirmShipRequest" bounds="290,26,140,75">
            <input variable="message" type="org.jdom.Document" />
        </receive>
        <invoke name="BSShipRequestServiceUtil checkInvoiceExist" type="invokebean" description="public void checkInvoiceExist(java.lang.String invoiceNo, java.lang.String siteName)" bounds="290,131,140,102" partnerLink="BSShipRequestServiceUtil" partnerLinkType="BSShipRequestServiceUtil" operation="checkInvoiceExist" operationDesc="public void checkInvoiceExist(java.lang.String invoiceNo, java.lang.String siteName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="invoiceNo" type="java.lang.String" />
            <input variable="siteName" type="java.lang.String" />
        </invoke>
        <invoke name="EventInfoUtil makeEventInfo" type="invokebean" description="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" bounds="223,263,273,102" partnerLink="EventInfoUtil" partnerLinkType="EventInfoUtil" operation="makeEventInfo" operationDesc="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="eventName" type="java.lang.String" />
            <input variable="eventUser" type="java.lang.String" />
            <input variable="eventComment" type="java.lang.String" />
            <input constant="" type="java.lang.String" />
            <input constant="" type="java.lang.String" />
            <output variable="eventInfo" />
        </invoke>
        <invoke name="BSShipRequestServiceUtil getShipRequest" type="invokebean" description="public com.cim.idm.wmspackage.productshiprequest.management.data.ProductShipRequest getShipRequest(java.lang.String invoiceNo, java.lang.String siteName)" bounds="289,394,141,105" partnerLink="BSShipRequestServiceUtil" partnerLinkType="BSShipRequestServiceUtil" operation="getShipRequest" operationDesc="public com.cim.idm.wmspackage.productshiprequest.management.data.ProductShipRequest getShipRequest(java.lang.String invoiceNo, java.lang.String siteName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="invoiceNo" type="java.lang.String" />
            <input variable="siteName" type="java.lang.String" />
            <output variable="shipRequest" />
        </invoke>
        <expression name="expression" type="expression" bounds="290,529,140,62">
            <source idx="0" terminal="5,A" />
            <function value="addMap(getVariable('userColumns'),'allWeight',getVariable('allWeight'))" />
            <function value="addMap(getVariable('userColumns'),'pureWeight',getVariable('pureWeight'))" />
            <function value="addMap(getVariable('userColumns'),'volumn',getVariable('volumn'))" />
            <function value="addMap(getVariable('userColumns'),'confirmUser',getVariable('eventUser'))" />
            <function value="addMap(getVariable('userColumns'),'confirmTime',getCurrTimeStampSQL())" />
            <function value="setVariable('deliveryType', getField('shipRequest', 'deliveryType'))" />
        </expression>
        <invoke name="CommonValidation checkInvoiceHoldState" type="invokebean" description="public static void checkInvoiceHoldState(java.lang.String invoiceNo, java.lang.String siteName)" bounds="289,658,141,105" partnerLink="CommonValidation" partnerLinkType="CommonValidation" operation="checkInvoiceHoldState" operationDesc="public static void checkInvoiceHoldState(java.lang.String invoiceNo, java.lang.String siteName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="invoiceNo" type="java.lang.String" />
            <input variable="siteName" type="java.lang.String" />
        </invoke>
        <invoke name="BSShipRequestServiceUtil makeConfirmedInfo" type="invokebean" description="public com.cim.idm.wmspackage.productshiprequest.management.info.MakeConfirmedInfo makeConfirmedInfo(java.util.Map userColumns)" bounds="290,793,140,102" partnerLink="BSShipRequestServiceUtil" partnerLinkType="BSShipRequestServiceUtil" operation="makeConfirmedInfo" operationDesc="public com.cim.idm.wmspackage.productshiprequest.management.info.MakeConfirmedInfo makeConfirmedInfo(java.util.Map userColumns)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="userColumns" type="java.util.Map" />
            <output variable="makeConfirmedInfo" />
        </invoke>
        <invoke name="BSShipRequestServiceImpl makeConfirmed" type="invokebean" description="public void makeConfirmed(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, com.cim.idm.wmspackage.productshiprequest.management.info.MakeConfirmedInfo makeConfirmedInfo, java.lang.String siteName)" bounds="246,925,227,102" partnerLink="BSShipRequestServiceImpl" partnerLinkType="BSShipRequestServiceImpl" operation="makeConfirmed" operationDesc="public void makeConfirmed(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, com.cim.idm.wmspackage.productshiprequest.management.info.MakeConfirmedInfo makeConfirmedInfo, java.lang.String siteName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="invoiceNo" type="java.lang.String" />
            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
            <input variable="makeConfirmedInfo" type="com.cim.idm.wmspackage.productshiprequest.management.info.MakeConfirmedInfo" />
            <input variable="siteName" type="java.lang.String" />
        </invoke>
        <invoke name="ESBService sendReplyBySender" type="invokebean" description="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName)" bounds="247,1053,224,102" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendReplyBySender" operationDesc="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="replySubjectName" type="java.lang.String" />
            <input variable="message" type="org.jdom.Document" />
            <input constant="PDASender" type="java.lang.String" />
        </invoke>
    </sequence>
</process>

