<?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="PDAPreStockOut.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="CommonValidation" partnerLinkType="bean:CommonValidation" />
        <partnerLink name="MaterialPackingServiceImpl" partnerLinkType="bean:MaterialPackingServiceImpl" />
        <partnerLink name="MaterialPackingStockInImpl" partnerLinkType="bean:MaterialPackingStockInImpl" />
        <partnerLink name="ERPInterfaceServiceImpl" partnerLinkType="bean:ERPInterfaceServiceImpl" />
        <partnerLink name="MaterialPackingServiceUtil" partnerLinkType="bean:MaterialPackingServiceUtil" />
        <partnerLink name="StorageServiceImpl" partnerLinkType="bean:StorageServiceImpl" />
        <partnerLink name="MaterialReceiveRequestServiceImpl" partnerLinkType="bean:MaterialReceiveRequestServiceImpl" />
        <partnerLink name="MaterialShipRequestServiceImpl" partnerLinkType="bean:MaterialShipRequestServiceImpl" />
    </partnerLinks>
    <variables>
        <variable name="@B2TOB7" messageType="java.lang.String"></variable>
        <variable name="boxList" messageType="java.util.List"></variable>
        <variable name="Completed" messageType="java.lang.String"></variable>
        <variable name="deliveryType" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Body/DELIVERYTYPE')" />
        <variable name="E" messageType="java.lang.String"></variable>
        <variable name="EN" messageType="java.lang.String"></variable>
        <variable name="erpEventTime" messageType="java.lang.String"></variable>
        <variable name="ERPLocation" messageType="java.lang.String"></variable>
        <variable name="erpTime" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Body/SHIPPLANDATE')" />
        <variable name="ERP����?ʱ" messageType="java.lang.String"></variable>
        <variable name="error" messageType="java.lang.Exception"></variable>
        <variable name="eventComment" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Header/EVENTCOMMENT')" />
        <variable name="eventInfo" messageType="com.cim.idm.framework.data.EventInfo"></variable>
        <variable name="eventUser" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Header/EVENTUSER')" />
        <variable name="FABSender" messageType="java.lang.String"></variable>
        <variable name="locationList" messageType="java.util.List"></variable>
        <variable name="locationName" messageType="java.lang.String"></variable>
        <variable name="materialDoinfoList" messageType="java.util.List"></variable>
        <variable name="materialPackingKeyList" messageType="java.util.List"></variable>
        <variable name="messageID" messageType="java.lang.String"></variable>
        <variable name="MESSender" messageType="java.lang.String"></variable>
        <variable name="MP" messageType="java.lang.String"></variable>
        <variable name="oemType" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Body/SHIPREQUESTSTATE')" />
        <variable name="OICSender" messageType="java.lang.String"></variable>
        <variable name="PDAOQAResult" messageType="java.lang.String"></variable>
        <variable name="PDAPreStockOut" messageType="org.jdom.Document"></variable>
        <variable name="PDASender" messageType="java.lang.String"></variable>
        <variable name="PMSSender" messageType="java.lang.String"></variable>
        <variable name="PreShipRequestDetailStockOut" messageType="java.lang.String"></variable>
        <variable name="reasonCode" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Body/REASONCODE')" />
        <variable name="reasonCodeType" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Body/SHIPREQUESTDETAILTYPE')" />
        <variable name="receiptor" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Body/RECEIVER')" />
        <variable name="receiveActNo" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Body/RECEIVEACTNO')" />
        <variable name="replysubjectname" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="returnElement" messageType="org.jdom.Element"></variable>
        <variable name="sendFlag" messageType="java.lang.String"></variable>
        <variable name="shipRequest" messageType="com.cim.idm.wmspackage.materialshiprequest.management.data.MaterialShipRequest"></variable>
        <variable name="Shiprequestdetailtype" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Body/SHIPREQUESTDETAILTYPE')" />
        <variable name="shipRequestName" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Body/SHIPREQUESTNAME')" />
        <variable name="ShipToMDLMaterialReport" messageType="java.lang.String"></variable>
        <variable name="shiptoMESMessage" messageType="org.jdom.Document"></variable>
        <variable name="siteName" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Body/SITENAME')" />
        <variable name="stockOutList" messageType="java.util.List"></variable>
        <variable name="systemType" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Body/SYSTEMTYPE')" />
        <variable name="toPMSMessage" messageType="org.jdom.Document"></variable>
        <variable name="TRANSACTIONID" messageType="java.lang.String" expression="getXmlData('PDAPreStockOut', '//Message/Header/TRANSACTIONID')" />
    </variables>
    <faultHandlers name="faultHandlers" bounds="609,21,338,674">
        <catchAll name="catchAll" type="catchAll" bounds="15,33,289,595">
            <invoke name="TransactionUtil rollbackTransaction" type="invokebean" description="public void rollbackTransaction()" bounds="64,23,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="rollbackTransaction" operationDesc="public void rollbackTransaction()" ignoreThrow="false" fork="false" />
            <invoke name="ESBService sendErrorBySender" type="invokebean" description="public void sendErrorBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String lanuage, java.lang.Exception e, java.lang.String senderName)" bounds="66,147,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendErrorBySender" operationDesc="public void sendErrorBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String lanuage, java.lang.Exception e, java.lang.String senderName)" ignoreThrow="false" fork="false">
                <source idx="0" terminal="5,A" />
                <input variable="replysubjectname" type="java.lang.String" />
                <input variable="PDAPreStockOut" type="org.jdom.Document" />
                <input constant="" type="java.lang.String" />
                <input variable="error" type="java.lang.Exception" />
                <input constant="PDASender" type="java.lang.String" />
            </invoke>
            <invoke name="ESBService makeErrorMessageLog" type="invokebean" description="public java.lang.String makeErrorMessageLog(org.jdom.Document doc, java.lang.Exception e, java.lang.String language)" bounds="69,270,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="makeErrorMessageLog" operationDesc="public java.lang.String makeErrorMessageLog(org.jdom.Document doc, java.lang.Exception e, java.lang.String language)" ignoreThrow="false" fork="false">
                <source idx="0" terminal="5,A" />
                <input variable="PDAPreStockOut" type="org.jdom.Document" />
                <input variable="error" type="java.lang.Exception" />
                <input constant="" type="java.lang.String" />
            </invoke>
            <terminate name="terminate" bounds="71,415,141,65">
                <source idx="0" terminal="5,A" />
            </terminate>
        </catchAll>
    </faultHandlers>
    <sequence>
        <receive name="PDAPreStockOut" bounds="261,30,149,62">
            <input variable="PDAPreStockOut" type="org.jdom.Document" />
        </receive>
        <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="265,122,141,105" 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 constant="PDAPreStockOut" type="java.lang.String" />
            <input variable="eventUser" type="java.lang.String" />
            <input variable="eventComment" type="java.lang.String" />
            <input variable="reasonCodeType" type="java.lang.String" />
            <input variable="reasonCode" type="java.lang.String" />
            <output variable="eventInfo" />
        </invoke>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="265,257,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="CommonValidation GetMessageID" type="invokebean" description="public java.lang.String GetMessageID(java.lang.String sitename)" bounds="265,392,141,105" partnerLink="CommonValidation" partnerLinkType="CommonValidation" operation="GetMessageID" operationDesc="public java.lang.String GetMessageID(java.lang.String sitename)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="siteName" type="java.lang.String" />
            <output variable="messageID" />
        </invoke>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="265,527,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="265,662,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="MaterialPackingServiceImpl checkStockOutQuantity" type="invokebean" description="public void checkStockOutQuantity(java.lang.String siteName, java.lang.String shipRequestName)" bounds="265,797,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="checkStockOutQuantity" operationDesc="public void checkStockOutQuantity(java.lang.String siteName, java.lang.String shipRequestName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="siteName" type="java.lang.String" />
            <input variable="shipRequestName" type="java.lang.String" />
            <fault faultName="catchAll" variable="error" />
        </invoke>
        <invoke name="MaterialPackingStockInImpl getPreStockOutList" type="invokebean" description="public java.util.List getPreStockOutList(java.lang.String siteName, java.lang.String actNO)" bounds="265,932,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="getPreStockOutList" operationDesc="public java.util.List getPreStockOutList(java.lang.String siteName, java.lang.String actNO)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="siteName" type="java.lang.String" />
            <input variable="receiveActNo" type="java.lang.String" />
            <output variable="stockOutList" />
        </invoke>
        <switch name="switch" bounds="319,1067,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="280,1146,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="getVariable('oemType') != 'Y' &#xA; and getVariable('deliveryType') = 'Reserve'&#xA;and getVariable('systemType')!='MESCALL'" bounds="114,1225,60,62">
                <source idx="0" terminal="5,A" />
                <invoke name="ERPInterfaceServiceImpl preShipStockOut" type="invokebean" description="public static java.util.List preShipStockOut(java.lang.String siteName, java.util.List stockOutList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageID, java.lang.String receiveActNo, java.lang.String erpTime)" bounds="74,1317,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="preShipStockOut" operationDesc="public static java.util.List preShipStockOut(java.lang.String siteName, java.util.List stockOutList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageID, java.lang.String receiveActNo, java.lang.String erpTime)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="siteName" type="java.lang.String" />
                    <input variable="stockOutList" type="java.util.List" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    <input variable="messageID" type="java.lang.String" />
                    <input variable="receiveActNo" type="java.lang.String" />
                    <input variable="erpTime" type="java.lang.String" />
                    <output variable="materialDoinfoList" />
                    <fault faultName="catchAll" variable="error" />
                </invoke>
            </case>
            <case name="case" type="case" condition="getVariable('oemType') != 'Y'&#xA; and getVariable('deliveryType') = 'WO'" bounds="305,1225,60,51">
                <source idx="0" terminal="5,A" />
                <invoke name="ERPInterfaceServiceImpl preWOStockOut" type="invokebean" description="public static java.util.List preWOStockOut(java.lang.String siteName, java.util.List stockOutList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageID, java.lang.String receiveActNo, java.lang.String erpTime)" bounds="265,1306,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="preWOStockOut" operationDesc="public static java.util.List preWOStockOut(java.lang.String siteName, java.util.List stockOutList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageID, java.lang.String receiveActNo, java.lang.String erpTime)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="siteName" type="java.lang.String" />
                    <input variable="stockOutList" type="java.util.List" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    <input variable="messageID" type="java.lang.String" />
                    <input variable="receiveActNo" type="java.lang.String" />
                    <input variable="erpTime" type="java.lang.String" />
                    <output variable="materialDoinfoList" />
                    <fault faultName="catchAll" variable="error" />
                </invoke>
            </case>
            <otherwise name="otherwise" type="otherwise" bounds="496,1225,88,47">
                <source idx="0" terminal="5,A" />
                <invoke name="ERPInterfaceServiceImpl preOEMStockOut" type="invokebean" description="public static java.util.List preOEMStockOut(java.lang.String siteName, java.lang.String reasonCodeType, java.util.List stockOutList, java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageID, java.lang.String receiveActNo, java.lang.String costCenter, java.lang.String lastEventComment, java.lang.String erpTime)" bounds="470,1302,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="preOEMStockOut" operationDesc="public static java.util.List preOEMStockOut(java.lang.String siteName, java.lang.String reasonCodeType, java.util.List stockOutList, java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageID, java.lang.String receiveActNo, java.lang.String costCenter, java.lang.String lastEventComment, java.lang.String erpTime)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="siteName" type="java.lang.String" />
                    <input constant="Z52" type="java.lang.String" />
                    <input variable="stockOutList" type="java.util.List" />
                    <input variable="shipRequestName" type="java.lang.String" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    <input variable="messageID" type="java.lang.String" />
                    <input variable="receiveActNo" type="java.lang.String" />
                    <input constant="2000PA0500" type="java.lang.String" />
                    <input constant="stockout" type="java.lang.String" />
                    <input variable="erpTime" type="java.lang.String" />
                    <output variable="materialDoinfoList" />
                    <fault faultName="catchAll" variable="error" />
                </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="470,1437,141,105" 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 constant="PreShipRequestDetailStockOut" type="java.lang.String" />
                    <input variable="eventUser" type="java.lang.String" />
                    <input variable="eventComment" type="java.lang.String" />
                    <input constant="Z52" type="java.lang.String" />
                    <input variable="reasonCode" type="java.lang.String" />
                    <output variable="eventInfo" />
                </invoke>
            </otherwise>
            <case name="case" type="case" condition="getVariable('systemType')='MESCALL'" bounds="751,1224,60,53">
                <source idx="0" terminal="5,A" />
                <invoke name="ERPInterfaceServiceImpl erpInterface_WMS19ForStockOutForPDAMESStockOUt" type="invokebean" description="public static java.util.List erpInterface_WMS19ForStockOutForPDAMESStockOUt(java.lang.String shipType, java.lang.String shipRequestName, java.lang.String erpEventTime, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageID, java.lang.String receiveActNo)" bounds="708,1296,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="erpInterface_WMS19ForStockOutForPDAMESStockOUt" operationDesc="public static java.util.List erpInterface_WMS19ForStockOutForPDAMESStockOUt(java.lang.String shipType, java.lang.String shipRequestName, java.lang.String erpEventTime, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageID, java.lang.String receiveActNo)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="reasonCodeType" type="java.lang.String" />
                    <input variable="shipRequestName" type="java.lang.String" />
                    <input variable="erpTime" type="java.lang.String" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    <input variable="messageID" type="java.lang.String" />
                    <input variable="receiveActNo" type="java.lang.String" />
                    <output variable="materialDoinfoList" />
                    <fault faultName="catchAll" variable="error" />
                </invoke>
            </case>
            <switchend name="switchend" type="switchend" bounds="776,1562,110,49">
                <source idx="0" terminal="5,A">
                    <BendPoint FirstRelative="60,143" SecondRelative="-627,2" weight="0.5" />
                </source>
                <source idx="1" terminal="5,A">
                    <BendPoint FirstRelative="44,139" SecondRelative="-452,-13" weight="0.5" />
                </source>
                <source idx="2" terminal="5,A" />
                <source idx="3" terminal="5,A" />
            </switchend>
        </switch>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="761,1641,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <switch name="switch" bounds="815,1776,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="776,1855,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="getListSize('materialDoinfoList') &gt; 0" bounds="305,1934,60,64">
                <source idx="0" terminal="5,A" />
                <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="265,2028,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()">
                    <source idx="0" terminal="5,A" />
                </invoke>
                <invoke name="MaterialPackingServiceImpl insertPreStockOutInfo" type="invokebean" description="public void insertPreStockOutInfo(java.util.List materialUnDoinfoList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String receiveActNo, java.lang.String siteName, java.lang.String receiptor)" bounds="265,2163,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="insertPreStockOutInfo" operationDesc="public void insertPreStockOutInfo(java.util.List materialUnDoinfoList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String receiveActNo, java.lang.String siteName, java.lang.String receiptor)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="materialDoinfoList" type="java.util.List" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    <input variable="receiveActNo" type="java.lang.String" />
                    <input variable="siteName" type="java.lang.String" />
                    <input variable="receiptor" type="java.lang.String" />
                </invoke>
                <invoke name="MaterialPackingServiceUtil getLocationListFromActNO" type="invokebean" description="public java.util.List getLocationListFromActNO(java.lang.String invoiceNo, java.lang.String receiveActNO)" bounds="265,2298,141,105" partnerLink="MaterialPackingServiceUtil" partnerLinkType="MaterialPackingServiceUtil" operation="getLocationListFromActNO" operationDesc="public java.util.List getLocationListFromActNO(java.lang.String invoiceNo, java.lang.String receiveActNO)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="shipRequestName" type="java.lang.String" />
                    <input variable="receiveActNo" type="java.lang.String" />
                    <output variable="locationList" />
                </invoke>
                <while name="while" bounds="319,2433,32,32" type="2" collection="locationList" element="locationName">
                    <source idx="0" terminal="5,A" />
                    <whilestart name="whilestart" type="whilestart" bounds="280,2512,110,49">
                        <source idx="0" terminal="5,A" />
                    </whilestart>
                    <invoke name="StorageServiceImpl changeStorageStateByBoxList" type="invokebean" description="public void changeStorageStateByBoxList(java.lang.String siteName, java.lang.String storageName)" bounds="265,2591,141,105" partnerLink="StorageServiceImpl" partnerLinkType="StorageServiceImpl" operation="changeStorageStateByBoxList" operationDesc="public void changeStorageStateByBoxList(java.lang.String siteName, java.lang.String storageName)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="siteName" type="java.lang.String" />
                        <input variable="locationName" type="java.lang.String" />
                    </invoke>
                    <whileend name="whileend" type="whileend" bounds="485,2716,110,49">
                        <source idx="0" terminal="5,A" />
                    </whileend>
                </while>
                <switch name="switch" bounds="524,2795,33,33" type="switch">
                    <source idx="0" terminal="5,A" />
                    <switchstart name="switchstart" type="switchstart" bounds="485,2874,110,49">
                        <source idx="0" terminal="5,A" />
                    </switchstart>
                    <case name="case" type="case" condition="getVariable('Shiprequestdetailtype') = 'ZELF' &#xD;&#xA;or  getVariable('Shiprequestdetailtype') = 'ZERM' " bounds="305,2953,60,57">
                        <source idx="0" terminal="5,A" />
                        <invoke name="MaterialPackingServiceUtil getPackingListFromShipRequest" type="invokebean" description="public java.util.List getPackingListFromShipRequest(java.lang.String invoiceNo, java.lang.String receiveActNo)" bounds="265,3040,141,105" partnerLink="MaterialPackingServiceUtil" partnerLinkType="MaterialPackingServiceUtil" operation="getPackingListFromShipRequest" operationDesc="public java.util.List getPackingListFromShipRequest(java.lang.String invoiceNo, java.lang.String receiveActNo)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="shipRequestName" type="java.lang.String" />
                            <input variable="receiveActNo" type="java.lang.String" />
                            <output variable="materialPackingKeyList" />
                        </invoke>
                        <invoke name="MaterialPackingServiceImpl updateMaterialPackingStockOutForStockOut" type="invokebean" description="public void updateMaterialPackingStockOutForStockOut(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.util.List materialPackingKeyList, java.lang.String stockState, java.lang.String erpEventTime, java.lang.String eventUser, java.lang.String eventComment, java.lang.String receiveActNo)" bounds="265,3175,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="updateMaterialPackingStockOutForStockOut" operationDesc="public void updateMaterialPackingStockOutForStockOut(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.util.List materialPackingKeyList, java.lang.String stockState, java.lang.String erpEventTime, java.lang.String eventUser, java.lang.String eventComment, java.lang.String receiveActNo)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="materialPackingKeyList" type="java.util.List" />
                            <input constant="StockOut" type="java.lang.String" />
                            <input variable="erpEventTime" type="java.lang.String" />
                            <input constant="" type="java.lang.String" />
                            <input constant="" type="java.lang.String" />
                            <input variable="receiveActNo" type="java.lang.String" />
                        </invoke>
                    </case>
                    <otherwise name="otherwise" type="otherwise" bounds="944,2953,88,79">
                        <source idx="0" terminal="5,A" />
                        <invoke name="MaterialReceiveRequestServiceImpl updateMaterialreceiveactState" type="invokebean" description="public void updateMaterialreceiveactState(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String receiveRequestName, java.lang.String receiveActNo, java.lang.String state)" bounds="918,3062,141,105" partnerLink="MaterialReceiveRequestServiceImpl" partnerLinkType="MaterialReceiveRequestServiceImpl" operation="updateMaterialreceiveactState" operationDesc="public void updateMaterialreceiveactState(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String receiveRequestName, java.lang.String receiveActNo, java.lang.String state)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="shipRequestName" type="java.lang.String" />
                            <input variable="receiveActNo" type="java.lang.String" />
                            <input constant="Completed" type="java.lang.String" />
                        </invoke>
                        <switch name="switch" bounds="972,3197,33,33" type="switch">
                            <source idx="0" terminal="5,A" />
                            <switchstart name="switchstart" type="switchstart" bounds="933,3276,110,49">
                                <source idx="0" terminal="5,A" />
                            </switchstart>
                            <case name="case" type="case" condition=" getVariable('deliveryType') = 'Reserve'&#xD;&#xA; and getVariable('reasonCodeType') ='301' &#xD;&#xA; and (getVariable('reasonCode') ='0001' &#xD;&#xA; or getVariable('reasonCode') ='0007'&#xD;&#xA; or getVariable('reasonCode') ='0008'&#xD;&#xA; or getVariable('reasonCode') ='0009'&#xD;&#xA; or getVariable('reasonCode') ='0010'&#xD;&#xA; or getVariable('reasonCode') ='0012')" bounds="817,3355,60,51">
                                <source idx="0" terminal="5,A" />
                                <switch name="switch" bounds="831,3436,33,33" type="switch">
                                    <source idx="0" terminal="5,A" />
                                    <switchstart name="switchstart" type="switchstart" bounds="792,3515,110,49">
                                        <source idx="0" terminal="5,A" />
                                    </switchstart>
                                    <case name="case" type="case" condition="getVariable('siteName') = 'B2' &#xD;&#xA; or &#xD;&#xA;getVariable('siteName') = 'B7' " bounds="715,3594,60,53">
                                        <source idx="0" terminal="5,A" />
                                        <invoke name="MaterialPackingServiceImpl moveDB2BD" type="invokebean" description="public static java.lang.String moveDB2BD(java.lang.String toSiteName, java.lang.String DBLink, java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventinfo)" bounds="675,3677,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="moveDB2BD" operationDesc="public static java.lang.String moveDB2BD(java.lang.String toSiteName, java.lang.String DBLink, java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventinfo)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input constant="B7" type="java.lang.String" />
                                            <input constant="@B2TOB7" type="java.lang.String" />
                                            <input variable="shipRequestName" type="java.lang.String" />
                                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                                        </invoke>
                                        <invoke name="MaterialPackingServiceImpl UpdateStockOutInfo" type="invokebean" description="public void UpdateStockOutInfo(java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName)" bounds="675,3812,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="UpdateStockOutInfo" operationDesc="public void UpdateStockOutInfo(java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input variable="shipRequestName" type="java.lang.String" />
                                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                                            <input variable="siteName" type="java.lang.String" />
                                        </invoke>
                                    </case>
                                    <otherwise name="otherwise" type="otherwise" bounds="906,3594,88,56">
                                        <source idx="0" terminal="5,A" />
                                        <invoke name="MaterialPackingServiceImpl SaveDumpStockInList2" type="invokebean" description="public void SaveDumpStockInList2(java.lang.String sitename, java.lang.String receiveActNO, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String shipRequestName)" bounds="880,3680,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="SaveDumpStockInList2" operationDesc="public void SaveDumpStockInList2(java.lang.String sitename, java.lang.String receiveActNO, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String shipRequestName)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input variable="siteName" type="java.lang.String" />
                                            <input variable="receiveActNo" type="java.lang.String" />
                                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                                            <input variable="shipRequestName" type="java.lang.String" />
                                        </invoke>
                                        <invoke name="MaterialPackingServiceImpl UpdateStockOutInfo" type="invokebean" description="public void UpdateStockOutInfo(java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName)" bounds="880,3815,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="UpdateStockOutInfo" operationDesc="public void UpdateStockOutInfo(java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input variable="shipRequestName" type="java.lang.String" />
                                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                                            <input variable="siteName" type="java.lang.String" />
                                        </invoke>
                                    </otherwise>
                                    <switchend name="switchend" type="switchend" bounds="792,3940,110,49">
                                        <source idx="0" terminal="5,A" />
                                        <source idx="1" terminal="5,A" />
                                    </switchend>
                                </switch>
                            </case>
                            <otherwise name="otherwise" type="otherwise" bounds="1085,3355,88,62">
                                <source idx="0" terminal="5,A" />
                            </otherwise>
                            <switchend name="switchend" type="switchend" bounds="792,4009,110,49">
                                <source idx="0" terminal="5,A" />
                                <source idx="1" terminal="5,A">
                                    <BendPoint FirstRelative="-16,597" SecondRelative="266,-52" weight="0.5" />
                                </source>
                            </switchend>
                        </switch>
                    </otherwise>
                    <switchend name="switchend" type="switchend" bounds="485,4078,110,49">
                        <source idx="0" terminal="5,A" />
                        <source idx="1" terminal="5,A" />
                    </switchend>
                </switch>
                <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="470,4157,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                </invoke>
                <invoke name="MaterialShipRequestServiceImpl updateCompleteForPre" type="invokebean" description="public void updateCompleteForPre(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String invoiceNo, java.lang.String shipRequestState)" bounds="728,4225,141,105" partnerLink="MaterialShipRequestServiceImpl" partnerLinkType="MaterialShipRequestServiceImpl" operation="updateCompleteForPre" operationDesc="public void updateCompleteForPre(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String invoiceNo, java.lang.String shipRequestState)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    <input variable="siteName" type="java.lang.String" />
                    <input variable="shipRequestName" type="java.lang.String" />
                    <input constant="Completed" type="java.lang.String" />
                </invoke>
                <invoke name="ESBService sendBySender" type="invokebean" description="public void sendBySender(java.lang.String replySubject, org.jdom.Document doc, org.jdom.Element element, java.lang.String senderName)" bounds="470,4292,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendBySender" operationDesc="public void sendBySender(java.lang.String replySubject, org.jdom.Document doc, org.jdom.Element element, java.lang.String senderName)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="replysubjectname" type="java.lang.String" />
                    <input variable="PDAPreStockOut" type="org.jdom.Document" />
                    <input variable="returnElement" type="org.jdom.Element" />
                    <input constant="PDASender" type="java.lang.String" />
                </invoke>
                <switch name="switch" bounds="537,4444,33,33" type="switch">
                    <source idx="0" terminal="5,A" />
                    <switchstart name="switchstart" type="switchstart" bounds="499,4506,110,49">
                        <source idx="0" terminal="5,A" />
                    </switchstart>
                    <case name="case" type="case" condition="getVariable('siteName') = 'B9'" bounds="195,4583,66,48">
                        <source idx="0" terminal="5,A" />
                        <invoke name="MaterialShipRequestServiceImpl getERPLocation" type="invokebean" description="public java.lang.String getERPLocation(java.lang.String siteName, java.lang.String shipRequestName)" bounds="166,4662,141,105" partnerLink="MaterialShipRequestServiceImpl" partnerLinkType="MaterialShipRequestServiceImpl" operation="getERPLocation" operationDesc="public java.lang.String getERPLocation(java.lang.String siteName, java.lang.String shipRequestName)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="shipRequestName" type="java.lang.String" />
                            <output variable="ERPLocation" />
                        </invoke>
                        <switch name="switch" bounds="223,4787,33,33" type="switch">
                            <source idx="0" terminal="5,A" />
                            <switchstart name="switchstart" type="switchstart" bounds="182,4852,110,49">
                                <source idx="0" terminal="5,A" />
                            </switchstart>
                            <case name="case" type="case" condition="getVariable('Deliverytype') = 'WO' &#xD;&#xA;and&#xD;&#xA;(getVariable('ERPLocation') = '970' &#xD;&#xA;or &#xD;&#xA;getVariable('ERPLocation') = '971')" bounds="-37,4953,60,30">
                                <source idx="0" terminal="5,A" />
                                <invoke name="ERPInterfaceServiceImpl sendMessageToMES" type="invokebean" description="public static void sendMessageToMES(java.lang.String messageName, java.lang.String eventUser, java.lang.String shipRequestName, java.lang.String TransactionID, java.lang.String type)" bounds="-64,5008,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="sendMessageToMES" operationDesc="public static void sendMessageToMES(java.lang.String messageName, java.lang.String eventUser, java.lang.String shipRequestName, java.lang.String TransactionID, java.lang.String type)" ignoreThrow="false" fork="false">
                                    <source idx="0" terminal="5,A" />
                                    <input constant="ShipToMDLMaterialReport" type="java.lang.String" />
                                    <input variable="eventUser" type="java.lang.String" />
                                    <input variable="shipRequestName" type="java.lang.String" />
                                    <input variable="TRANSACTIONID" type="java.lang.String" />
                                    <input constant="EN" type="java.lang.String" />
                                </invoke>
                            </case>
                            <case name="case" type="case" condition="getVariable('reasonCodeType') = '911'&#xD;&#xA;or&#xD;&#xA;getVariable('reasonCodeType') = 'YAP'" bounds="156,4936,60,33">
                                <source idx="0" terminal="5,A" />
                                <invoke name="ERPInterfaceServiceImpl sendMessageToMES" type="invokebean" description="public static void sendMessageToMES(java.lang.String messageName, java.lang.String eventUser, java.lang.String shipRequestName, java.lang.String TransactionID, java.lang.String type)" bounds="110,5010,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="sendMessageToMES" operationDesc="public static void sendMessageToMES(java.lang.String messageName, java.lang.String eventUser, java.lang.String shipRequestName, java.lang.String TransactionID, java.lang.String type)" ignoreThrow="false" fork="false">
                                    <source idx="0" terminal="5,A" />
                                    <input constant="ShipToMDLMaterialReport" type="java.lang.String" />
                                    <input variable="eventUser" type="java.lang.String" />
                                    <input variable="shipRequestName" type="java.lang.String" />
                                    <input variable="TRANSACTIONID" type="java.lang.String" />
                                    <input constant="EN" type="java.lang.String" />
                                </invoke>
                            </case>
                            <case name="case" type="case" condition="getVariable('Deliverytype') = 'WO' &#xD;&#xA;and&#xD;&#xA;(getVariable('ERPLocation') != '970' &#xD;&#xA;and&#xD;&#xA;getVariable('ERPLocation') != '971')" bounds="296,4946,60,19">
                                <source idx="0" terminal="5,A" />
                                <invoke name="ERPInterfaceServiceImpl sendMessageToMES" type="invokebean" description="public static void sendMessageToMES(java.lang.String messageName, java.lang.String eventUser, java.lang.String shipRequestName, java.lang.String TransactionID, java.lang.String type)" bounds="274,4998,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="sendMessageToMES" operationDesc="public static void sendMessageToMES(java.lang.String messageName, java.lang.String eventUser, java.lang.String shipRequestName, java.lang.String TransactionID, java.lang.String type)" ignoreThrow="false" fork="false">
                                    <source idx="0" terminal="5,A" />
                                    <input constant="ShipToMDLMaterialReport" type="java.lang.String" />
                                    <input variable="eventUser" type="java.lang.String" />
                                    <input variable="shipRequestName" type="java.lang.String" />
                                    <input variable="TRANSACTIONID" type="java.lang.String" />
                                    <input constant="MP" type="java.lang.String" />
                                </invoke>
                            </case>
                            <otherwise name="otherwise" type="otherwise" bounds="515,4951,88,31">
                                <source idx="0" terminal="5,A" />
                            </otherwise>
                            <switchend name="switchend" type="switchend" bounds="124,5260,110,49">
                                <source idx="0" terminal="5,A" />
                                <source idx="1" terminal="5,A" />
                                <source idx="2" terminal="5,A" />
                                <source idx="3" terminal="5,A" />
                            </switchend>
                        </switch>
                        <invoke name="MaterialPackingServiceImpl SendToPMSFlag" type="invokebean" description="public java.lang.String SendToPMSFlag(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" bounds="104,5351,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="SendToPMSFlag" operationDesc="public java.lang.String SendToPMSFlag(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="shipRequestName" type="java.lang.String" />
                            <input variable="receiveActNo" type="java.lang.String" />
                            <output variable="toPMSMessage" />
                        </invoke>
                        <switch name="switch" bounds="141,5503,33,33" type="switch">
                            <source idx="0" terminal="5,A" />
                            <switchstart name="switchstart" type="switchstart" bounds="100,5554,110,49">
                                <source idx="0" terminal="5,A" />
                            </switchstart>
                            <case name="case" type="case" condition="getVariable('sendFlag') = &quot;Y&quot;" bounds="55,5629,60,19">
                                <source idx="0" terminal="5,A" />
                                <invoke name="MaterialPackingServiceUtil getPackingListForPMS" type="invokebean" description="public java.util.List getPackingListForPMS(java.lang.String invoiceNo, java.lang.String receiveActNo)" bounds="6,5682,141,105" partnerLink="MaterialPackingServiceUtil" partnerLinkType="MaterialPackingServiceUtil" operation="getPackingListForPMS" operationDesc="public java.util.List getPackingListForPMS(java.lang.String invoiceNo, java.lang.String receiveActNo)" ignoreThrow="false" fork="false">
                                    <source idx="0" terminal="5,A" />
                                    <input variable="shipRequestName" type="java.lang.String" />
                                    <input variable="receiveActNo" type="java.lang.String" />
                                    <output variable="boxList" />
                                </invoke>
                                <invoke name="MaterialPackingServiceImpl SendStockOutDataToPMS" type="invokebean" description="public void SendStockOutDataToPMS(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" bounds="5,5802,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="SendStockOutDataToPMS" operationDesc="public void SendStockOutDataToPMS(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" ignoreThrow="false" fork="false">
                                    <source idx="0" terminal="5,A" />
                                    <input variable="siteName" type="java.lang.String" />
                                    <input variable="shipRequestName" type="java.lang.String" />
                                    <input variable="receiveActNo" type="java.lang.String" />
                                </invoke>
                                <invoke name="MaterialPackingServiceImpl createMessageForPMS" type="invokebean" description="public org.jdom.Document createMessageForPMS(java.lang.String siteName, java.util.List materialPackingKeyList)" bounds="-11,5932,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="createMessageForPMS" operationDesc="public org.jdom.Document createMessageForPMS(java.lang.String siteName, java.util.List materialPackingKeyList)" ignoreThrow="false" fork="false">
                                    <source idx="0" terminal="5,A" />
                                    <input variable="siteName" type="java.lang.String" />
                                    <input variable="boxList" type="java.util.List" />
                                    <output variable="toPMSMessage" />
                                </invoke>
                                <invoke name="ESBService sendByMesSender" type="invokebean" description="public static void sendByMesSender(org.jdom.Document doc, java.lang.String senderName)" bounds="-17,6071,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendByMesSender" operationDesc="public static void sendByMesSender(org.jdom.Document doc, java.lang.String senderName)" ignoreThrow="false" fork="false">
                                    <source idx="0" terminal="5,A" />
                                    <input variable="toPMSMessage" type="org.jdom.Document" />
                                    <input constant="PMSSender" type="java.lang.String" />
                                </invoke>
                            </case>
                            <otherwise name="otherwise" type="otherwise" bounds="265,5637,88,19">
                                <source idx="0" terminal="5,A" />
                            </otherwise>
                            <switchend name="switchend" type="switchend" bounds="239,6212,110,49">
                                <source idx="0" terminal="5,A" />
                                <source idx="1" terminal="5,A" />
                            </switchend>
                        </switch>
                    </case>
                    <otherwise name="otherwise" type="otherwise" bounds="600,4605,88,19">
                        <source idx="0" terminal="5,A" />
                        <invoke name="MaterialPackingServiceImpl SendToPMSFlag" type="invokebean" description="public java.lang.String SendToPMSFlag(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" bounds="683,4692,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="SendToPMSFlag" operationDesc="public java.lang.String SendToPMSFlag(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="shipRequestName" type="java.lang.String" />
                            <input variable="receiveActNo" type="java.lang.String" />
                            <output variable="sendFlag" />
                        </invoke>
                        <switch name="switch" bounds="749,4807,33,33" type="switch">
                            <source idx="0" terminal="5,A" />
                            <switchstart name="switchstart" type="switchstart" bounds="703,4869,110,49">
                                <source idx="0" terminal="5,A" />
                            </switchstart>
                            <case name="case" type="case" condition="getVariable('sendFlag') = &quot;Y&quot;" bounds="676,4954,60,19">
                                <source idx="0" terminal="5,A" />
                                <switch name="switch" bounds="618,5006,33,33" type="switch">
                                    <source idx="0" terminal="5,A" />
                                    <switchstart name="switchstart" type="switchstart" bounds="607,5107,110,49">
                                        <source idx="0" terminal="5,A" />
                                    </switchstart>
                                    <case name="case" type="case" condition="getVariable('siteName') = 'B5'" bounds="518,5233,60,19">
                                        <source idx="0" terminal="5,A" />
                                        <invoke name="MaterialPackingServiceImpl SendStockOutDataToPMS" type="invokebean" description="public void SendStockOutDataToPMS(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" bounds="438,5287,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="SendStockOutDataToPMS" operationDesc="public void SendStockOutDataToPMS(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input variable="siteName" type="java.lang.String" />
                                            <input variable="shipRequestName" type="java.lang.String" />
                                            <input variable="receiveActNo" type="java.lang.String" />
                                        </invoke>
                                    </case>
                                    <case name="case" type="case" condition="getVariable('siteName') = 'B4'&#xD;&#xA; or getVariable('siteName') = 'B3'" bounds="674,5250,60,19">
                                        <source idx="0" terminal="5,A" />
                                        <invoke name="MaterialPackingServiceImpl SendStockOutDataToPMS" type="invokebean" description="public void SendStockOutDataToPMS(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" bounds="631,5293,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="SendStockOutDataToPMS" operationDesc="public void SendStockOutDataToPMS(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input variable="siteName" type="java.lang.String" />
                                            <input variable="shipRequestName" type="java.lang.String" />
                                            <input variable="receiveActNo" type="java.lang.String" />
                                        </invoke>
                                        <invoke name="MaterialPackingServiceImpl MessageForPMS" type="invokebean" description="public org.jdom.Document MessageForPMS(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" bounds="624,5407,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="MessageForPMS" operationDesc="public org.jdom.Document MessageForPMS(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input variable="siteName" type="java.lang.String" />
                                            <input variable="shipRequestName" type="java.lang.String" />
                                            <input variable="receiveActNo" type="java.lang.String" />
                                            <output variable="toPMSMessage" />
                                        </invoke>
                                        <invoke name="ESBService sendByMesSender" type="invokebean" description="public static void sendByMesSender(org.jdom.Document doc, java.lang.String senderName)" bounds="616,5532,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendByMesSender" operationDesc="public static void sendByMesSender(org.jdom.Document doc, java.lang.String senderName)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input variable="toPMSMessage" type="org.jdom.Document" />
                                            <input constant="PMSSender" type="java.lang.String" />
                                        </invoke>
                                    </case>
                                    <case name="case" type="case" condition="getVariable('siteName') = 'B8'&#xD;&#xA; or getVariable('siteName') = 'B7'" bounds="850,5233,60,19">
                                        <source idx="0" terminal="5,A" />
                                        <invoke name="MaterialPackingServiceUtil getPackingListForPMS" type="invokebean" description="public java.util.List getPackingListForPMS(java.lang.String invoiceNo, java.lang.String receiveActNo)" bounds="818,5273,141,105" partnerLink="MaterialPackingServiceUtil" partnerLinkType="MaterialPackingServiceUtil" operation="getPackingListForPMS" operationDesc="public java.util.List getPackingListForPMS(java.lang.String invoiceNo, java.lang.String receiveActNo)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input variable="shipRequestName" type="java.lang.String" />
                                            <input variable="receiveActNo" type="java.lang.String" />
                                            <output variable="boxList" />
                                        </invoke>
                                        <invoke name="MaterialPackingServiceImpl SendStockOutDataToPMS" type="invokebean" description="public void SendStockOutDataToPMS(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" bounds="817,5384,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="SendStockOutDataToPMS" operationDesc="public void SendStockOutDataToPMS(java.lang.String siteName, java.lang.String shiprequestName, java.lang.String receiveActno)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input variable="siteName" type="java.lang.String" />
                                            <input variable="shipRequestName" type="java.lang.String" />
                                            <input variable="receiveActNo" type="java.lang.String" />
                                        </invoke>
                                        <invoke name="MaterialPackingServiceImpl createMessageForPMS" type="invokebean" description="public org.jdom.Document createMessageForPMS(java.lang.String siteName, java.util.List materialPackingKeyList)" bounds="790,5497,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="createMessageForPMS" operationDesc="public org.jdom.Document createMessageForPMS(java.lang.String siteName, java.util.List materialPackingKeyList)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input variable="siteName" type="java.lang.String" />
                                            <input variable="boxList" type="java.util.List" />
                                            <output variable="toPMSMessage" />
                                        </invoke>
                                        <invoke name="ESBService sendByMesSender" type="invokebean" description="public static void sendByMesSender(org.jdom.Document doc, java.lang.String senderName)" bounds="795,5632,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendByMesSender" operationDesc="public static void sendByMesSender(org.jdom.Document doc, java.lang.String senderName)" ignoreThrow="false" fork="false">
                                            <source idx="0" terminal="5,A" />
                                            <input variable="toPMSMessage" type="org.jdom.Document" />
                                            <input constant="PMSSender" type="java.lang.String" />
                                        </invoke>
                                    </case>
                                    <otherwise name="otherwise" type="otherwise" bounds="1086,5241,88,43">
                                        <source idx="0" terminal="5,A" />
                                    </otherwise>
                                    <switchend name="switchend" type="switchend" bounds="887,5852,110,49">
                                        <source idx="0" terminal="5,A" />
                                        <source idx="1" terminal="5,A" />
                                        <source idx="2" terminal="5,A" />
                                        <source idx="3" terminal="5,A" />
                                    </switchend>
                                </switch>
                            </case>
                            <otherwise name="otherwise" type="otherwise" bounds="1204,4980,88,52">
                                <source idx="0" terminal="5,A" />
                            </otherwise>
                            <switchend name="switchend" type="switchend" bounds="1128,5941,110,49">
                                <source idx="0" terminal="5,A" />
                                <source idx="1" terminal="5,A" />
                            </switchend>
                        </switch>
                    </otherwise>
                    <case name="case" type="case" condition="getVariable('siteName') = 'B17'" bounds="1336,4577,60,71">
                        <source idx="0" terminal="5,A" />
                        <invoke name="MaterialShipRequestServiceImpl getShipRequest" type="invokebean" description="public com.cim.idm.wmspackage.materialshiprequest.management.data.MaterialShipRequest getShipRequest(java.lang.String siteName, java.lang.String invoiceNo)" bounds="1425,4624,141,105" partnerLink="MaterialShipRequestServiceImpl" partnerLinkType="MaterialShipRequestServiceImpl" operation="getShipRequest" operationDesc="public com.cim.idm.wmspackage.materialshiprequest.management.data.MaterialShipRequest getShipRequest(java.lang.String siteName, java.lang.String invoiceNo)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="shipRequestName" type="java.lang.String" />
                            <output variable="shipRequest" />
                        </invoke>
                        <switch name="switch" bounds="1356,4710,33,33" type="switch">
                            <source idx="0" terminal="5,A" />
                            <switchstart name="switchstart" type="switchstart" bounds="1306,4759,110,49">
                                <source idx="0" terminal="5,A" />
                            </switchstart>
                            <case name="case" type="case" condition="getField(getVariable('shipRequest'), 'customerNO')='MDL'" bounds="1331,4828,60,67">
                                <source idx="0" terminal="5,A" />
                                <invoke name="MaterialPackingServiceImpl GenerateShipToMESmsg" type="invokebean" description="public org.jdom.Document GenerateShipToMESmsg(java.lang.String siteName, java.lang.String shipRequestName, java.lang.String replySubJectName)" bounds="1329,4932,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="GenerateShipToMESmsg" operationDesc="public org.jdom.Document GenerateShipToMESmsg(java.lang.String siteName, java.lang.String shipRequestName, java.lang.String replySubJectName)" ignoreThrow="false" fork="false">
                                    <source idx="0" terminal="5,A" />
                                    <input variable="siteName" type="java.lang.String" />
                                    <input variable="shipRequestName" type="java.lang.String" />
                                    <input variable="replysubjectname" type="java.lang.String" />
                                    <output variable="shiptoMESMessage" />
                                </invoke>
                                <invoke name="ESBService sendByMesSender" type="invokebean" description="public static void sendByMesSender(org.jdom.Document doc, java.lang.String senderName)" bounds="1340,5144,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendByMesSender" operationDesc="public static void sendByMesSender(org.jdom.Document doc, java.lang.String senderName)" ignoreThrow="false" fork="false">
                                    <source idx="0" terminal="5,A" />
                                    <input variable="shiptoMESMessage" type="org.jdom.Document" />
                                    <input constant="MESSender" type="java.lang.String" />
                                </invoke>
                            </case>
                            <case name="case" type="case" condition="getField(getVariable('shipRequest'), 'customerNO')='FAB'" bounds="1401,4828,60,52">
                                <source idx="0" terminal="5,A" />
                                <invoke name="MaterialPackingServiceImpl GenerateShipToFABMESmsg" type="invokebean" description="public org.jdom.Document GenerateShipToFABMESmsg(java.lang.String siteName, java.lang.String shipRequestName, java.lang.String replySubJectName)" bounds="1518,4928,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="GenerateShipToFABMESmsg" operationDesc="public org.jdom.Document GenerateShipToFABMESmsg(java.lang.String siteName, java.lang.String shipRequestName, java.lang.String replySubJectName)" ignoreThrow="false" fork="false">
                                    <source idx="0" terminal="5,A" />
                                    <input variable="siteName" type="java.lang.String" />
                                    <input variable="shipRequestName" type="java.lang.String" />
                                    <input variable="replysubjectname" type="java.lang.String" />
                                    <output variable="shiptoMESMessage" />
                                </invoke>
                                <invoke name="ESBService sendByMesSender" type="invokebean" description="public static void sendByMesSender(org.jdom.Document doc, java.lang.String senderName)" bounds="1518,5063,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendByMesSender" operationDesc="public static void sendByMesSender(org.jdom.Document doc, java.lang.String senderName)" ignoreThrow="false" fork="false">
                                    <source idx="0" terminal="5,A" />
                                    <input variable="shiptoMESMessage" type="org.jdom.Document" />
                                    <input constant="FABSender" type="java.lang.String" />
                                </invoke>
                            </case>
                            <otherwise name="otherwise" type="otherwise" bounds="1471,4828,88,47">
                                <source idx="0" terminal="5,A" />
                            </otherwise>
                            <switchend name="switchend" type="switchend" bounds="1420,5310,110,49">
                                <source idx="0" terminal="5,A" />
                                <source idx="1" terminal="5,A" />
                                <source idx="2" terminal="5,A">
                                    <BendPoint FirstRelative="174,51" SecondRelative="214,-385" weight="0.5" />
                                    <BendPoint FirstRelative="163,322" SecondRelative="203,-114" weight="0.5" />
                                </source>
                            </switchend>
                        </switch>
                    </case>
                    <switchend name="switchend" type="switchend" bounds="688,6285,110,49">
                        <source idx="0" terminal="5,A" />
                        <source idx="1" terminal="5,A" />
                        <source idx="2" terminal="5,A">
                            <BendPoint FirstRelative="-201,681" SecondRelative="531,-246" weight="0.5" />
                        </source>
                    </switchend>
                </switch>
            </case>
            <otherwise name="otherwise" type="otherwise" bounds="1283,1934,88,62">
                <source idx="0" terminal="5,A" />
                <invoke name="ESBService sendReplyBySender" type="invokebean" description="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName, java.lang.String resultCode, java.lang.String resultMessage)" bounds="1257,2026,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendReplyBySender" operationDesc="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName, java.lang.String resultCode, java.lang.String resultMessage)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="replysubjectname" type="java.lang.String" />
                    <input variable="PDAPreStockOut" type="org.jdom.Document" />
                    <input constant="PDASender" type="java.lang.String" />
                    <input constant="E" type="java.lang.String" />
                    <input constant="ERP����?ʱ" type="java.lang.String" />
                </invoke>
            </otherwise>
        </switch>
    </sequence>
</process>

