<?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="CompleteShipRequest.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="CommonValidation" partnerLinkType="bean:CommonValidation" />
        <partnerLink name="MaterialShipRequestServiceImpl" partnerLinkType="bean:MaterialShipRequestServiceImpl" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="MaterialPackingServiceUtil" partnerLinkType="bean:MaterialPackingServiceUtil" />
        <partnerLink name="MaterialPackingServiceImpl" partnerLinkType="bean:MaterialPackingServiceImpl" />
        <partnerLink name="ERPInterfaceServiceImpl" partnerLinkType="bean:ERPInterfaceServiceImpl" />
        <partnerLink name="MaterialPackingStockInImpl" partnerLinkType="bean:MaterialPackingStockInImpl" />
        <partnerLink name="MaterialReceiveRequestServiceImpl" partnerLinkType="bean:MaterialReceiveRequestServiceImpl" />
        <partnerLink name="StorageServiceImpl" partnerLinkType="bean:StorageServiceImpl" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
    </partnerLinks>
    <variables>
        <variable name="actType" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Body/ACTTYPE')" />
        <variable name="B2TOB7" messageType="java.lang.String"></variable>
        <variable name="boxCount" messageType="java.lang.String"></variable>
        <variable name="boxList" messageType="java.util.List"></variable>
        <variable name="boxName" messageType="org.jdom.Element"></variable>
        <variable name="chargeForB" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Body/WORKORDERID')" />
        <variable name="Completed" messageType="java.lang.String"></variable>
        <variable name="CompleteShipRequest" messageType="org.jdom.Document"></variable>
        <variable name="Deliverytype" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Body/DELIVERYTYPE')" />
        <variable name="DetailList" messageType="java.util.List"></variable>
        <variable name="E" messageType="java.lang.String"></variable>
        <variable name="EN" messageType="java.lang.String"></variable>
        <variable name="ERPEventTime" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Body/RECEIVETIME')" />
        <variable name="ERPLocation" messageType="java.lang.String"></variable>
        <variable name="ERP����?ʱ" messageType="java.lang.String"></variable>
        <variable name="EventComment" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Header/EVENTCOMMENT')" />
        <variable name="eventInfo" messageType="com.cim.idm.framework.data.EventInfo"></variable>
        <variable name="eventUser" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Header/EVENTUSER')" />
        <variable name="Language" messageType="java.lang.String"></variable>
        <variable name="locationList" messageType="java.util.List"></variable>
        <variable name="locationName" messageType="org.jdom.Element"></variable>
        <variable name="materialDoinfo" messageType="com.cim.idm.wmspackage.materialundo.info.MaterialUnDoinfo"></variable>
        <variable name="materialDoinfoList" messageType="java.util.List"></variable>
        <variable name="materialPacking" messageType="java.lang.Object"></variable>
        <variable name="MaterialShipRequest" messageType="com.cim.idm.wmspackage.materialshiprequest.management.data.MaterialShipRequest"></variable>
        <variable name="message" messageType="org.jdom.Document"></variable>
        <variable name="messageID" messageType="java.lang.String"></variable>
        <variable name="messagename" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Header/MESSAGENAME')" />
        <variable name="OICSender" messageType="java.lang.String"></variable>
        <variable name="PDASender" messageType="java.lang.String"></variable>
        <variable name="PMSSender" messageType="java.lang.String"></variable>
        <variable name="reasonCode" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Body/REASONCODE')" />
        <variable name="reasonCodeType" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Body/REASONCODETYPE')" />
        <variable name="receiptor" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Body/RECEIVER')" />
        <variable name="receiveActNo" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Body/RECEIVEACTNO')" />
        <variable name="replysubjectname" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="returnElement" messageType="org.jdom.Element"></variable>
        <variable name="sendFlag" messageType="java.lang.String"></variable>
        <variable name="shipRequestDetailName" messageType="java.lang.String"></variable>
        <variable name="Shiprequestdetailtype" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Body/SHIPREQUESTDETAILTYPE')" />
        <variable name="shipRequestName" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Body/SHIPREQUESTNAME')" />
        <variable name="ShipToMDLMaterialReport" messageType="java.lang.String"></variable>
        <variable name="siteName" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Body/SITENAME')" />
        <variable name="specialDateFlag" messageType="java.lang.Boolean">True</variable>
        <variable name="StockOut" messageType="java.lang.String"></variable>
        <variable name="storageName" messageType="java.lang.String"></variable>
        <variable name="systemType" messageType="java.lang.String"></variable>
        <variable name="toPMSMessage" messageType="org.jdom.Document"></variable>
        <variable name="TRANSACTIONID" messageType="java.lang.String" expression="getXmlData('CompleteShipRequest', '//Message/Header/TRANSACTIONID')" />
        <variable name="unDoDetailName" messageType="java.lang.String"></variable>
        <variable name="unDoID" messageType="java.lang.String"></variable>
        <variable name="unDoIdDate" messageType="java.lang.String"></variable>
    </variables>
    <sequence>
        <receive name="CompleteShipRequest" bounds="556,30,149,62">
            <input variable="CompleteShipRequest" type="org.jdom.Document" />
        </receive>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="560,122,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="CommonValidation GetMessageID" type="invokebean" description="public java.lang.String GetMessageID(java.lang.String sitename)" bounds="560,257,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="560,392,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="560,527,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="MaterialShipRequestServiceImpl getShipRequest" type="invokebean" description="public com.cim.idm.wmspackage.materialshiprequest.management.data.MaterialShipRequest getShipRequest(java.lang.String siteName, java.lang.String invoiceNo)" bounds="560,662,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="MaterialShipRequest" />
        </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="560,797,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="PDACompleteShipRequest" 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="MaterialPackingServiceUtil getPackingListFromShipRequest" type="invokebean" description="public java.util.List getPackingListFromShipRequest(java.lang.String invoiceNo)" bounds="560,932,141,105" partnerLink="MaterialPackingServiceUtil" partnerLinkType="MaterialPackingServiceUtil" operation="getPackingListFromShipRequest" operationDesc="public java.util.List getPackingListFromShipRequest(java.lang.String invoiceNo)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="shipRequestName" type="java.lang.String" />
            <output variable="boxList" />
        </invoke>
        <invoke name="MaterialPackingServiceUtil getLocationListFromShipRequest" type="invokebean" description="public java.util.List getLocationListFromShipRequest(java.lang.String invoiceNo)" bounds="560,1067,141,105" partnerLink="MaterialPackingServiceUtil" partnerLinkType="MaterialPackingServiceUtil" operation="getLocationListFromShipRequest" operationDesc="public java.util.List getLocationListFromShipRequest(java.lang.String invoiceNo)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="shipRequestName" type="java.lang.String" />
            <output variable="locationList" />
        </invoke>
        <switch name="switch" bounds="614,1202,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="575,1281,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="getVariable('Deliverytype') = 'Reserve'" bounds="231,1360,32,49">
                <source idx="0" terminal="5,A" />
                <invoke name="MaterialPackingServiceImpl MaterialPackingStockOut_15SEQ" type="invokebean" description="public void MaterialPackingStockOut_15SEQ(java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" bounds="177,1439,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="MaterialPackingStockOut_15SEQ" operationDesc="public void MaterialPackingStockOut_15SEQ(java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="boxList" type="java.util.List" />
                    <input variable="siteName" type="java.lang.String" />
                    <input variable="shipRequestName" type="java.lang.String" />
                </invoke>
                <switch name="switch" bounds="231,1574,33,33" type="switch">
                    <source idx="0" terminal="5,A" />
                    <switchstart name="switchstart" type="switchstart" bounds="192,1653,110,49">
                        <source idx="0" terminal="5,A" />
                    </switchstart>
                    <case name="case" type="case" condition="getField(getVariable('MaterialShipRequest'), 'systemType')='OIC'&#xA; or &#xA;getField(getVariable('MaterialShipRequest'), 'systemType')='MES'" bounds="107,1732,74,66">
                        <source idx="0" terminal="5,A" />
                        <invoke name="ERPInterfaceServiceImpl erpInterface_WMS19ForStockOutForERPAccount" type="invokebean" description="public static java.util.List erpInterface_WMS19ForStockOutForERPAccount(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="74,1828,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="erpInterface_WMS19ForStockOutForERPAccount" operationDesc="public static java.util.List erpInterface_WMS19ForStockOutForERPAccount(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="Shiprequestdetailtype" type="java.lang.String" />
                            <input variable="shipRequestName" type="java.lang.String" />
                            <input variable="ERPEventTime" 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" />
                        </invoke>
                    </case>
                    <otherwise name="otherwise" type="otherwise" bounds="305,1732,92,73">
                        <source idx="0" terminal="5,A" />
                        <invoke name="ERPInterfaceServiceImpl erp_StockOut_WMS15ForERPAccount" type="invokebean" description="public static java.util.List erp_StockOut_WMS15ForERPAccount(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String receiveActNo, java.lang.String erpEventTime, java.lang.String messageID, java.lang.String chargeForB)" bounds="281,1835,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="erp_StockOut_WMS15ForERPAccount" operationDesc="public static java.util.List erp_StockOut_WMS15ForERPAccount(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String receiveActNo, java.lang.String erpEventTime, java.lang.String messageID, java.lang.String chargeForB)" 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="receiveActNo" type="java.lang.String" />
                            <input variable="ERPEventTime" type="java.lang.String" />
                            <input variable="messageID" type="java.lang.String" />
                            <input variable="chargeForB" type="java.lang.String" />
                            <output variable="materialDoinfoList" />
                        </invoke>
                    </otherwise>
                    <switchend name="switchend" type="switchend" bounds="192,1960,110,49">
                        <source idx="0" terminal="5,A" />
                        <source idx="1" terminal="5,A" />
                    </switchend>
                </switch>
            </case>
            <case name="case" type="case" condition="getVariable('Deliverytype') = 'Delivery'" bounds="614,1360,32,49">
                <source idx="0" terminal="5,A" />
                <switch name="switch" bounds="614,1439,33,33" type="switch">
                    <source idx="0" terminal="5,A" />
                    <switchstart name="switchstart" type="switchstart" bounds="575,1518,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="498,1597,60,58">
                        <source idx="0" terminal="5,A" />
                        <invoke name="MaterialPackingServiceImpl updateEventName" type="invokebean" description="public void updateEventName(java.util.List materialPackingNameList, java.lang.String siteName, java.lang.String messageid, com.cim.idm.framework.data.EventInfo eventinfo)" bounds="458,1685,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="updateEventName" operationDesc="public void updateEventName(java.util.List materialPackingNameList, java.lang.String siteName, java.lang.String messageid, com.cim.idm.framework.data.EventInfo eventinfo)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="boxList" type="java.util.List" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="messageID" type="java.lang.String" />
                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                        </invoke>
                    </case>
                    <otherwise name="otherwise" type="otherwise" bounds="689,1597,88,53">
                        <source idx="0" terminal="5,A" />
                        <invoke name="CommonValidation getDateSpecial" type="invokebean" description="public java.lang.String getDateSpecial(java.lang.String time, java.lang.Boolean minusFlag)" bounds="663,1680,141,105" partnerLink="CommonValidation" partnerLinkType="CommonValidation" operation="getDateSpecial" operationDesc="public java.lang.String getDateSpecial(java.lang.String time, java.lang.Boolean minusFlag)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="ERPEventTime" type="java.lang.String" />
                            <input variable="specialDateFlag" type="java.lang.Boolean" />
                            <output variable="ERPEventTime" />
                        </invoke>
                        <invoke name="MaterialPackingServiceImpl MaterialPackingStockOut_05SEQ" type="invokebean" description="public void MaterialPackingStockOut_05SEQ(com.cim.idm.framework.data.EventInfo eventInfo, java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" bounds="663,1815,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="MaterialPackingStockOut_05SEQ" operationDesc="public void MaterialPackingStockOut_05SEQ(com.cim.idm.framework.data.EventInfo eventInfo, java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                            <input variable="boxList" type="java.util.List" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="shipRequestName" type="java.lang.String" />
                        </invoke>
                        <invoke name="ERPInterfaceServiceImpl erp_StockOut_WMS05ForERPAccount" type="invokebean" description="public static java.util.List erp_StockOut_WMS05ForERPAccount(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String flag, java.lang.String messageID, java.lang.String ErpEventTime)" bounds="663,1950,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="erp_StockOut_WMS05ForERPAccount" operationDesc="public static java.util.List erp_StockOut_WMS05ForERPAccount(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String flag, java.lang.String messageID, java.lang.String ErpEventTime)" 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 constant="1" type="java.lang.String" />
                            <input variable="messageID" type="java.lang.String" />
                            <input variable="ERPEventTime" type="java.lang.String" />
                            <output variable="materialDoinfoList" />
                        </invoke>
                    </otherwise>
                    <switchend name="switchend" type="switchend" bounds="575,2075,110,49">
                        <source idx="0" terminal="5,A" />
                        <source idx="1" terminal="5,A" />
                    </switchend>
                </switch>
            </case>
            <case name="case" type="case" condition="getVariable('Deliverytype') = 'WO'" bounds="894,1360,60,30">
                <source idx="0" terminal="5,A" />
                <invoke name="MaterialPackingServiceImpl MaterialPackingStockOut_02SEQ" type="invokebean" description="public void MaterialPackingStockOut_02SEQ(java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" bounds="854,1420,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="MaterialPackingStockOut_02SEQ" operationDesc="public void MaterialPackingStockOut_02SEQ(java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="boxList" type="java.util.List" />
                    <input variable="siteName" type="java.lang.String" />
                    <input variable="shipRequestName" type="java.lang.String" />
                </invoke>
                <invoke name="ERPInterfaceServiceImpl erp_StockOut_WMS02ForERPAccount" type="invokebean" description="public static java.util.List erp_StockOut_WMS02ForERPAccount(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String erpEventTime, java.lang.String flag, java.lang.String messageID, java.lang.String receiveActNo)" bounds="854,1555,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="erp_StockOut_WMS02ForERPAccount" operationDesc="public static java.util.List erp_StockOut_WMS02ForERPAccount(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String erpEventTime, java.lang.String flag, java.lang.String messageID, java.lang.String receiveActNo)" 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="ERPEventTime" type="java.lang.String" />
                    <input constant="1" type="java.lang.String" />
                    <input variable="messageID" type="java.lang.String" />
                    <input variable="receiveActNo" type="java.lang.String" />
                    <output variable="materialDoinfoList" />
                </invoke>
            </case>
            <switchend name="switchend" type="switchend" bounds="1112,2144,110,49">
                <source idx="0" terminal="5,A">
                    <BendPoint FirstRelative="363,205" SecondRelative="-281,15" weight="0.5" />
                </source>
                <source idx="1" terminal="5,A" />
                <source idx="2" terminal="5,A" />
            </switchend>
        </switch>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="1097,2223,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()">
            <source idx="0" terminal="5,A" />
        </invoke>
        <switch name="switch" bounds="1151,2358,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="1112,2437,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="getVariable('Shiprequestdetailtype') = 'ZELF' &#xD;&#xA;or  getVariable('Shiprequestdetailtype') = 'ZERM' &#xD;&#xA;or  getListSize('materialDoinfoList') &gt; 0" bounds="217,2516,60,32">
                <source idx="0" terminal="5,A" />
                <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="177,2578,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()">
                    <source idx="0" terminal="5,A" />
                </invoke>
                <invoke name="MaterialShipRequestServiceImpl updateComplete" type="invokebean" description="public void updateComplete(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String invoiceNo, java.lang.String shipRequestState)" bounds="177,2713,141,105" partnerLink="MaterialShipRequestServiceImpl" partnerLinkType="MaterialShipRequestServiceImpl" operation="updateComplete" operationDesc="public void updateComplete(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="MaterialPackingServiceImpl updateMaterialPackingStockOut" type="invokebean" description="public void updateMaterialPackingStockOut(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="177,2848,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="updateMaterialPackingStockOut" operationDesc="public void updateMaterialPackingStockOut(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="boxList" type="java.util.List" />
                    <input constant="StockOut" type="java.lang.String" />
                    <input variable="ERPEventTime" type="java.lang.String" />
                    <input variable="eventUser" type="java.lang.String" />
                    <input variable="EventComment" type="java.lang.String" />
                    <input variable="receiveActNo" type="java.lang.String" />
                </invoke>
                <invoke name="MaterialPackingStockInImpl updataStockOutPallet" type="invokebean" description="public void updataStockOutPallet(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String receiveActNo)" bounds="177,2983,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="updataStockOutPallet" operationDesc="public void updataStockOutPallet(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, 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="receiveActNo" type="java.lang.String" />
                </invoke>
                <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="177,3118,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>
                <while name="while" bounds="231,3253,32,32" type="2" collection="locationList" element="storageName">
                    <source idx="0" terminal="5,A" />
                    <whilestart name="whilestart" type="whilestart" bounds="192,3332,110,49">
                        <source idx="0" terminal="5,A" />
                    </whilestart>
                    <invoke name="StorageServiceImpl changeUserStateByBoxList" type="invokebean" description="public void changeUserStateByBoxList(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String storageName)" bounds="177,3411,141,105" partnerLink="StorageServiceImpl" partnerLinkType="StorageServiceImpl" operation="changeUserStateByBoxList" operationDesc="public void changeUserStateByBoxList(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String storageName)" 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="storageName" type="java.lang.String" />
                    </invoke>
                    <whileend name="whileend" type="whileend" bounds="228,3536,110,49">
                        <source idx="0" terminal="5,A" />
                    </whileend>
                </while>
                <switch name="switch" bounds="267,3615,33,33" type="switch">
                    <source idx="0" terminal="5,A" />
                    <switchstart name="switchstart" type="switchstart" bounds="228,3694,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="217,3773,60,36">
                        <source idx="0" terminal="5,A" />
                    </case>
                    <otherwise name="otherwise" type="otherwise" bounds="962,3773,85,47">
                        <source idx="0" terminal="5,A" />
                        <invoke name="MaterialPackingServiceImpl insertStockOutInfo" type="invokebean" description="public void insertStockOutInfo(java.util.List materialUnDoinfoList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String receiveActNo)" bounds="934,3850,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="insertStockOutInfo" operationDesc="public void insertStockOutInfo(java.util.List materialUnDoinfoList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String receiveActNo)" 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" />
                        </invoke>
                        <switch name="switch" bounds="988,3985,33,33" type="switch">
                            <source idx="0" terminal="5,A" />
                            <switchstart name="switchstart" type="switchstart" bounds="949,4064,110,49">
                                <source idx="0" terminal="5,A" />
                            </switchstart>
                            <case name="case" type="case" condition="getVariable('Deliverytype') = 'Reserve'&#xA; and getVariable('reasonCodeType') ='301' &#xA; and (getVariable('reasonCode') ='0001' &#xA; or getVariable('reasonCode') ='0007'&#xA; or getVariable('reasonCode') ='0008'&#xA; or getVariable('reasonCode') ='0009'&#xA; or getVariable('reasonCode') ='0010'&#xA; or getVariable('reasonCode') ='0012')" bounds="684,4143,66,64">
                                <source idx="0" terminal="5,A" />
                                <switch name="switch" bounds="701,4237,33,33" type="switch">
                                    <source idx="0" terminal="5,A" />
                                    <switchstart name="switchstart" type="switchstart" bounds="662,4316,110,49">
                                        <source idx="0" terminal="5,A" />
                                    </switchstart>
                                    <case name="case" type="case" condition="getVariable('siteName') = 'B2' &#xA; or &#xA;getVariable('siteName') = 'B7' " bounds="288,4395,63,37">
                                        <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="249,4462,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="249,4597,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="1085,4395,63,44">
                                        <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="1046,4469,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="1046,4604,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="662,4729,110,49">
                                        <source idx="0" terminal="5,A" />
                                        <source idx="1" terminal="5,A" />
                                    </switchend>
                                </switch>
                            </case>
                            <otherwise name="otherwise" type="otherwise" bounds="1249,4143,85,79">
                                <source idx="0" terminal="5,A" />
                            </otherwise>
                            <switchend name="switchend" type="switchend" bounds="662,4798,110,49">
                                <source idx="0" terminal="5,A" />
                                <source idx="1" terminal="5,A">
                                    <BendPoint FirstRelative="1,575" SecondRelative="574,-2" weight="0.5" />
                                </source>
                            </switchend>
                        </switch>
                    </otherwise>
                    <switchend name="switchend" type="switchend" bounds="1624,4867,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="1609,4946,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()">
                    <source idx="0" terminal="5,A" />
                </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="1609,5081,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="CompleteShipRequest" type="org.jdom.Document" />
                    <input variable="returnElement" type="org.jdom.Element" />
                    <input constant="PDASender" type="java.lang.String" />
                </invoke>
                <switch name="switch" bounds="1663,5216,33,33" type="switch">
                    <source idx="0" terminal="5,A" />
                    <switchstart name="switchstart" type="switchstart" bounds="1624,5295,110,49">
                        <source idx="0" terminal="5,A" />
                    </switchstart>
                    <case name="case" type="case" condition="getVariable('siteName') = 'B9'" bounds="1137,5376,60,19">
                        <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="1122,5453,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="1167,5577,33,33" type="switch">
                            <source idx="0" terminal="5,A" />
                            <switchstart name="switchstart" type="switchstart" bounds="1130,5620,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="871,5705,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="828,5760,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') = 'Reserve' &#xD;&#xA;and&#xD;&#xA;(getVariable('reasonCodeType') = '911'&#xD;&#xA;or&#xD;&#xA;getVariable('reasonCodeType') = 'YAP')" bounds="1133,5707,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="1093,5770,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="1283,5709,65,34">
                                <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="1245,5765,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="1405,5707,87,33">
                                <source idx="0" terminal="5,A" />
                            </otherwise>
                            <switchend name="switchend" type="switchend" bounds="1107,5891,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="1089,5952,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="1142,6067,33,33" type="switch">
                            <source idx="0" terminal="5,A" />
                            <switchstart name="switchstart" type="switchstart" bounds="1100,6110,110,49">
                                <source idx="0" terminal="5,A" />
                            </switchstart>
                            <case name="case" type="case" condition="getVariable('sendFlag') = &quot;Y&quot;" bounds="976,6161,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="927,6206,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="920,6336,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="919,6458,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="1215,6162,88,19">
                                <source idx="0" terminal="5,A" />
                            </otherwise>
                            <switchend name="switchend" type="switchend" bounds="1178,6569,110,49">
                                <source idx="0" terminal="5,A" />
                                <source idx="1" terminal="5,A" />
                            </switchend>
                        </switch>
                    </case>
                    <otherwise name="otherwise" type="otherwise" bounds="2283,5387,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="2250,5451,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="2312,5600,33,33" type="switch">
                            <source idx="0" terminal="5,A" />
                            <switchstart name="switchstart" type="switchstart" bounds="2242,5665,110,49">
                                <source idx="0" terminal="5,A" />
                            </switchstart>
                            <case name="case" type="case" condition="getVariable('sendFlag') = &quot;Y&quot;" bounds="1973,5729,60,19">
                                <source idx="0" terminal="5,A" />
                                <switch name="switch" bounds="1974,5776,33,33" type="switch">
                                    <source idx="0" terminal="5,A" />
                                    <switchstart name="switchstart" type="switchstart" bounds="1940,5856,110,49">
                                        <source idx="0" terminal="5,A" />
                                    </switchstart>
                                    <case name="case" type="case" condition="getVariable('siteName') = 'B5'" bounds="1803,5972,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="1713,6051,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'&#xD;&#xA;" bounds="1994,5969,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="1958,6022,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="1967,6144,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="1974,6259,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="2208,5976,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="2172,6016,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="2177,6136,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="2172,6251,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="2531,5970,88,19">
                                        <source idx="0" terminal="5,A" />
                                    </otherwise>
                                    <switchend name="switchend" type="switchend" bounds="2138,6503,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="2741,5779,88,19">
                                <source idx="0" terminal="5,A" />
                            </otherwise>
                            <switchend name="switchend" type="switchend" bounds="2490,6582,110,49">
                                <source idx="0" terminal="5,A" />
                                <source idx="1" terminal="5,A" />
                            </switchend>
                        </switch>
                    </otherwise>
                    <switchend name="switchend" type="switchend" bounds="1781,6739,110,49">
                        <source idx="0" terminal="5,A" />
                        <source idx="1" terminal="5,A" />
                    </switchend>
                </switch>
            </case>
            <otherwise name="otherwise" type="otherwise" bounds="2045,2516,86,55">
                <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="2018,2601,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="CompleteShipRequest" 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>
                <terminate name="terminate" bounds="2018,2736,141,65">
                    <source idx="0" terminal="5,A" />
                </terminate>
            </otherwise>
        </switch>
    </sequence>
</process>

