<?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="PDAFGCompleteShipRequest.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="BSShipRequestServiceUtil" partnerLinkType="bean:BSShipRequestServiceUtil" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="BSShipRequestServiceImpl" partnerLinkType="bean:BSShipRequestServiceImpl" />
        <partnerLink name="PackingGroupServiceUtil" partnerLinkType="bean:PackingGroupServiceUtil" />
        <partnerLink name="ProductServiceImpl" partnerLinkType="bean:ProductServiceImpl" />
        <partnerLink name="StorageServiceImpl" partnerLinkType="bean:StorageServiceImpl" />
        <partnerLink name="PackingGroupServiceImpl" partnerLinkType="bean:PackingGroupServiceImpl" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
        <partnerLink name="ERPInterfaceServiceImplForFG" partnerLinkType="bean:ERPInterfaceServiceImplForFG" />
    </partnerLinks>
    <variables>
        <variable name="boxUserColumns" messageType="java.util.Map" expression="newInstance('java.util.HashMap', 10)" />
        <variable name="customException" messageType="com.cim.idm.fgwmsextend.generic.errorHandler.CustomException"></variable>
        <variable name="deliveryType" messageType="java.lang.String"></variable>
        <variable name="durableName" messageType="java.lang.String"></variable>
        <variable name="eventComment" messageType="java.lang.String" expression="getXmlData('message', '/Message/Header/EVENTCOMMENT')" />
        <variable name="eventInfo" messageType="com.cim.idm.framework.data.EventInfo"></variable>
        <variable name="eventUser" messageType="java.lang.String" expression="getXmlData('message', '/Message/Header/EVENTUSER')" />
        <variable name="G" messageType="java.lang.String"></variable>
        <variable name="invoiceNo" messageType="java.lang.String" expression="getXmlData('message','/Message/Body/SHIPREQUESTNAME')" />
        <variable name="locationName" messageType="java.lang.String"></variable>
        <variable name="makeShipRequestCompletedInfo" messageType="com.cim.idm.wmspackage.productshiprequest.management.info.MakeCompletedInfo"></variable>
        <variable name="makeStockOutInfo" messageType="com.cim.idm.wmspackage.productpacking.management.info.MakeStockOutInfo"></variable>
        <variable name="message" messageType="org.jdom.Document"></variable>
        <variable name="OICSender" messageType="java.lang.String"></variable>
        <variable name="oldLocationName" messageType="java.lang.String"></variable>
        <variable name="palletdata" messageType="com.cim.idm.wmspackage.productpacking.management.data.ProductPacking"></variable>
        <variable name="palletInfo" messageType="com.cim.idm.wmspackage.productpacking.management.data.ProductPacking"></variable>
        <variable name="palletKeyList" messageType="java.util.List" expression="newInstance('java.util.ArrayList', 20)" />
        <variable name="palletList" messageType="java.util.List"></variable>
        <variable name="palletUserColumns" messageType="java.util.Map" expression="newInstance('java.util.HashMap', 10)" />
        <variable name="productUserColumns" messageType="java.util.Map" expression="newInstance('java.util.HashMap', 10)" />
        <variable name="replySubjectName" messageType="java.lang.String" expression="getXmlData('message', '/Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="shipRequest" messageType="com.cim.idm.wmspackage.productshiprequest.management.data.ProductShipRequest"></variable>
        <variable name="shipRequestDetailType" messageType="java.lang.String"></variable>
        <variable name="shipRequestState" messageType="java.lang.String"></variable>
        <variable name="shipRequestType" messageType="java.lang.String"></variable>
        <variable name="siteName" messageType="java.lang.String" expression="getXmlData('message','/Message/Body/SITENAME')" />
        <variable name="StockOut" messageType="java.lang.String"></variable>
        <variable name="userColumns" messageType="java.util.Map" expression="newInstance('java.util.HashMap', 10)" />
    </variables>
    <sequence>
        <receive name="PDAFGCompleteShipRequest" bounds="70,30,140,75">
            <input variable="message" type="org.jdom.Document" />
        </receive>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="70,135,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="BSShipRequestServiceUtil getShipRequest" type="invokebean" description="public com.cim.idm.wmspackage.productshiprequest.management.data.ProductShipRequest getShipRequest(java.lang.String invoiceNo, java.lang.String siteName)" bounds="70,270,140,102" partnerLink="BSShipRequestServiceUtil" partnerLinkType="BSShipRequestServiceUtil" operation="getShipRequest" operationDesc="public com.cim.idm.wmspackage.productshiprequest.management.data.ProductShipRequest getShipRequest(java.lang.String invoiceNo, java.lang.String siteName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="invoiceNo" type="java.lang.String" />
            <input variable="siteName" type="java.lang.String" />
            <output variable="shipRequest" />
        </invoke>
        <expression name="expression" type="expression" bounds="70,402,141,65">
            <source idx="0" terminal="5,A" />
            <function value="setVariable('shipRequestState',getField('shipRequest','shipRequestState'))" />
        </expression>
        <switch name="switch" bounds="124,497,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="85,576,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="getVariable('shipRequestState')!='Confirmed'" bounds="124,655,32,49">
                <source idx="0" terminal="5,A" />
                <throw name="throw" bounds="70,734,140,62" faultName="CatchAll" variable="customException">
                    <source idx="0" terminal="5,A" />
                    <input constant="SHIPREQUEST-1000" type="java.lang.String" />
                    <input variable="shipRequestState" type="java.lang.Object" />
                </throw>
            </case>
            <otherwise name="otherwise" type="otherwise" bounds="261,655,61,49">
                <source idx="0" terminal="5,A" />
            </otherwise>
            <switchend name="switchend" type="switchend" bounds="85,816,110,49">
                <source idx="0" terminal="5,A" />
                <source idx="1" terminal="5,A" />
            </switchend>
        </switch>
        <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="32,895,217,102" partnerLink="EventInfoUtil" partnerLinkType="EventInfoUtil" operation="makeEventInfo" operationDesc="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input constant="StockOut" type="java.lang.String" />
            <input variable="eventUser" type="java.lang.String" />
            <input variable="eventComment" type="java.lang.String" />
            <input constant="" type="java.lang.String" />
            <input constant="" type="java.lang.String" />
            <output variable="eventInfo" />
        </invoke>
        <expression name="expression" type="expression" bounds="70,1027,140,62">
            <source idx="0" terminal="5,A" />
            <function value="addMap(getVariable('userColumns'),'completeUser',getVariable('eventUser'))" />
            <function value="addMap(getVariable('userColumns'),'completeTime',getCurrTimeStampSQL())" />
        </expression>
        <invoke name="BSShipRequestServiceUtil makeCompletedInfo" type="invokebean" description="public com.cim.idm.wmspackage.productshiprequest.management.info.MakeCompletedInfo makeCompletedInfo(java.util.Map userColumns)" bounds="41,1119,198,102" partnerLink="BSShipRequestServiceUtil" partnerLinkType="BSShipRequestServiceUtil" operation="makeCompletedInfo" operationDesc="public com.cim.idm.wmspackage.productshiprequest.management.info.MakeCompletedInfo makeCompletedInfo(java.util.Map userColumns)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="userColumns" type="java.util.Map" />
            <output variable="makeShipRequestCompletedInfo" />
        </invoke>
        <invoke name="BSShipRequestServiceImpl makeCompleted" type="invokebean" description="public void makeCompleted(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, com.cim.idm.wmspackage.productshiprequest.management.info.MakeCompletedInfo makeCompletedInfo, java.lang.String siteName)" bounds="-6,1251,292,102" partnerLink="BSShipRequestServiceImpl" partnerLinkType="BSShipRequestServiceImpl" operation="makeCompleted" operationDesc="public void makeCompleted(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, com.cim.idm.wmspackage.productshiprequest.management.info.MakeCompletedInfo makeCompletedInfo, java.lang.String siteName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="invoiceNo" type="java.lang.String" />
            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
            <input variable="makeShipRequestCompletedInfo" type="com.cim.idm.wmspackage.productshiprequest.management.info.MakeCompletedInfo" />
            <input variable="siteName" type="java.lang.String" />
        </invoke>
        <invoke name="PackingGroupServiceUtil getPalletListFromInvoiceNo" type="invokebean" description="public java.util.List getPalletListFromInvoiceNo(java.lang.String invoiceNo, java.lang.String siteName)" bounds="57,1383,167,102" partnerLink="PackingGroupServiceUtil" partnerLinkType="PackingGroupServiceUtil" operation="getPalletListFromInvoiceNo" operationDesc="public java.util.List getPalletListFromInvoiceNo(java.lang.String invoiceNo, java.lang.String siteName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="invoiceNo" type="java.lang.String" />
            <input variable="siteName" type="java.lang.String" />
            <output variable="palletList" />
        </invoke>
        <expression name="expression" type="expression" bounds="70,1515,141,65">
            <source idx="0" terminal="5,A" />
            <function value="setVariable('deliveryType', getField('shipRequest', 'deliveryType'))" />
            <function value="setVariable('shipRequestType',getField('shipRequest','shipRequestType'))" />
        </expression>
        <switch name="switch" bounds="124,1610,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="85,1689,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="getVariable('shipRequestType')='RT'&#xA; or getVariable('shipRequestType') = 'ENRT'&#xA; or getVariable('shipRequestType') = 'EACRT'" bounds="124,1768,32,49">
                <source idx="0" terminal="5,A" />
                <expression name="expression" type="expression" bounds="70,1847,141,65">
                    <source idx="0" terminal="5,A" />
                    <function value="addMap(getVariable('palletUserColumns'),'locationName','')" />
                    <function value="addMap(getVariable('boxUserColumns'),'locationName','')" />
                    <function value="addMap(getVariable('palletUserColumns'),'stockOutTo','Module')" />
                    <function value="addMap(getVariable('boxUserColumns'),'stockOutTo','Module')" />
                </expression>
                <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="70,1942,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="StockOutRTToModule" type="java.lang.String" />
                    <input variable="eventUser" type="java.lang.String" />
                    <input variable="eventComment" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <output variable="eventInfo" />
                </invoke>
            </case>
            <case name="case" type="case" condition="getVariable('shipRequestType') = 'CELLRT'" bounds="452,1768,32,49">
                <source idx="0" terminal="5,A" />
                <expression name="expression" type="expression" bounds="398,1847,141,65">
                    <source idx="0" terminal="5,A" />
                    <function value="addMap(getVariable('palletUserColumns'),'locationName','')" />
                    <function value="addMap(getVariable('boxUserColumns'),'locationName','')" />
                    <function value="addMap(getVariable('palletUserColumns'),'stockOutTo','Cell')" />
                    <function value="addMap(getVariable('boxUserColumns'),'stockOutTo','Cell')" />
                </expression>
                <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="398,1942,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="StockOutRTToCell" type="java.lang.String" />
                    <input variable="eventUser" type="java.lang.String" />
                    <input variable="eventComment" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <output variable="eventInfo" />
                </invoke>
            </case>
            <case name="case" type="case" condition="getVariable('shipRequestType') = 'ETC'" bounds="629,1768,32,49">
                <source idx="0" terminal="5,A" />
                <expression name="expression" type="expression" bounds="575,1847,141,65">
                    <source idx="0" terminal="5,A" />
                    <function value="addMap(getVariable('palletUserColumns'),'locationName','')" />
                    <function value="addMap(getVariable('palletUserColumns'),'stockOutTo','ETC')" />
                    <function value="addMap(getVariable('boxUserColumns'),'stockOutTo','ETC')" />
                    <function value="addMap(getVariable('boxUserColumns'),'locationName','')" />
                </expression>
                <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="575,1942,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="ETCStockOut" type="java.lang.String" />
                    <input variable="eventUser" type="java.lang.String" />
                    <input variable="eventComment" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <output variable="eventInfo" />
                </invoke>
            </case>
            <case name="case" type="case" condition="getVariable('shipRequestType') = 'RS'" bounds="806,1768,32,49">
                <source idx="0" terminal="5,A" />
                <expression name="expression" type="expression" bounds="752,1847,141,65">
                    <source idx="0" terminal="5,A" />
                    <function value="addMap(getVariable('palletUserColumns'),'locationName','')" />
                    <function value="addMap(getVariable('boxUserColumns'),'locationName','')" />
                    <function value="addMap(getVariable('palletUserColumns'),'stockOutTo','Module')" />
                    <function value="addMap(getVariable('boxUserColumns'),'stockOutTo','Module')" />
                </expression>
                <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="752,1942,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="RSStockOut" type="java.lang.String" />
                    <input variable="eventUser" type="java.lang.String" />
                    <input variable="eventComment" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <output variable="eventInfo" />
                </invoke>
            </case>
            <case name="case" type="case" condition="getVariable('shipRequestType') = 'NP'&#xA; or &#xA;getVariable('shipRequestType') = 'RMA'&#xA; or &#xA;getVariable('shipRequestType') = 'RG'" bounds="983,1768,32,49">
                <source idx="0" terminal="5,A" />
                <expression name="expression" type="expression" bounds="929,1847,141,65">
                    <source idx="0" terminal="5,A" />
                    <function value="addMap(getVariable('palletUserColumns'),'locationName','')" />
                    <function value="addMap(getVariable('boxUserColumns'),'stockOutTo','Customer')" />
                    <function value="addMap(getVariable('palletUserColumns'),'stockOutTo','Customer')" />
                    <function value="addMap(getVariable('boxUserColumns'),'locationName','')" />
                </expression>
                <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="929,1942,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="StockOut" type="java.lang.String" />
                    <input variable="eventUser" type="java.lang.String" />
                    <input variable="eventComment" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <output variable="eventInfo" />
                </invoke>
            </case>
            <otherwise name="otherwise" type="otherwise" bounds="1160,1768,61,49">
                <source idx="0" terminal="5,A" />
                <expression name="expression" type="expression" bounds="1120,1847,141,65">
                    <source idx="0" terminal="5,A" />
                    <function value="addMap(getVariable('palletUserColumns'),'locationName','')" />
                    <function value="addMap(getVariable('boxUserColumns'),'locationName','')" />
                    <function value="addMap(getVariable('boxUserColumns'),'stockOutTo',getVariable('shipRequestType') )" />
                    <function value="addMap(getVariable('palletUserColumns'),'stockOutTo',getVariable('shipRequestType') )" />
                </expression>
                <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="1120,1942,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="OtherStockOut" type="java.lang.String" />
                    <input variable="eventUser" type="java.lang.String" />
                    <input variable="eventComment" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <output variable="eventInfo" />
                </invoke>
            </otherwise>
            <switchend name="switchend" type="switchend" bounds="85,2067,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" />
                <source idx="4" terminal="5,A" />
                <source idx="5" terminal="5,A" />
            </switchend>
        </switch>
        <while name="while" bounds="124,2146,32,49" type="2" collection="palletList" element="palletInfo">
            <source idx="0" terminal="5,A" />
            <whilestart name="whilestart" type="whilestart" bounds="85,2225,110,49">
                <source idx="0" terminal="5,A" />
            </whilestart>
            <invoke name="ProductServiceImpl makePanelStockOutByPallet" type="invokebean" description="public void makePanelStockOutByPallet(com.cim.idm.wmspackage.productpacking.management.data.ProductPacking palletInfo, com.cim.idm.framework.data.EventInfo eventInfo)" bounds="239,2269,177,88" partnerLink="ProductServiceImpl" partnerLinkType="ProductServiceImpl" operation="makePanelStockOutByPallet" operationDesc="public void makePanelStockOutByPallet(com.cim.idm.wmspackage.productpacking.management.data.ProductPacking palletInfo, com.cim.idm.framework.data.EventInfo eventInfo)" ignoreThrow="false" fork="false">
                <source idx="0" terminal="5,A" />
                <input variable="palletInfo" type="com.cim.idm.wmspackage.productpacking.management.data.ProductPacking" />
                <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
            </invoke>
            <expression name="expression" type="expression" bounds="70,2304,141,65">
                <source idx="0" terminal="5,A" />
                <function value="setVariable('locationName',getField(getVariable('palletInfo'),'locationName'))" />
                <function value="addMap(getVariable('palletUserColumns'),'productProcessGroupName','')" />
                <function value="setVariable('durableName',getField(getVariable('palletInfo'),'durableName'))" />
            </expression>
            <switch name="switch" bounds="124,2399,33,33" type="switch">
                <source idx="0" terminal="5,A" />
                <switchstart name="switchstart" type="switchstart" bounds="85,2478,110,49">
                    <source idx="0" terminal="5,A" />
                </switchstart>
                <case name="case" type="case" condition="isNull('durableName')='true'" bounds="110,2557,60,19">
                    <source idx="0" terminal="5,A" />
                </case>
                <otherwise name="otherwise" type="otherwise" bounds="170,2557,88,19">
                    <source idx="0" terminal="5,A" />
                    <throw name="throw" bounds="144,2606,140,62" faultName="CatchAll" variable="customException">
                        <source idx="0" terminal="5,A" />
                        <input constant="DURABLE-9001" type="java.lang.String" />
                        <input variable="durableName" type="java.lang.Object" />
                    </throw>
                </otherwise>
                <switchend name="switchend" type="switchend" bounds="85,2688,110,49">
                    <source idx="0" terminal="5,A" />
                    <source idx="1" terminal="5,A" />
                </switchend>
            </switch>
            <expression name="expression" type="expression" bounds="70,2767,141,65">
                <source idx="0" terminal="5,A" />
                <function value="addListValue('palletKeyList', getField('palletInfo','key'))" />
            </expression>
            <switch name="switch" bounds="124,2862,33,33" type="switch">
                <source idx="0" terminal="5,A" />
                <switchstart name="switchstart" type="switchstart" bounds="85,2941,110,49">
                    <source idx="0" terminal="5,A" />
                </switchstart>
                <case name="case" type="case" condition="getVariable('locationName')!=''" bounds="124,3020,32,49">
                    <source idx="0" terminal="5,A" />
                    <invoke name="StorageServiceImpl modifyLocation" type="invokebean" description="public void modifyLocation(java.lang.String siteName, java.lang.String storageName, java.lang.String resourceState, java.lang.String useState, com.cim.idm.framework.data.EventInfo eventInfo)" bounds="70,3099,141,105" partnerLink="StorageServiceImpl" partnerLinkType="StorageServiceImpl" operation="modifyLocation" operationDesc="public void modifyLocation(java.lang.String siteName, java.lang.String storageName, java.lang.String resourceState, java.lang.String useState, com.cim.idm.framework.data.EventInfo eventInfo)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="siteName" type="java.lang.String" />
                        <input variable="locationName" type="java.lang.String" />
                        <input constant="InService" type="java.lang.String" />
                        <input constant="Empty" type="java.lang.String" />
                        <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    </invoke>
                </case>
                <otherwise name="otherwise" type="otherwise" bounds="1351,3020,61,49">
                    <source idx="0" terminal="5,A" />
                    <empty name="empty" bounds="1311,3099,141,65">
                        <source idx="0" terminal="5,A" />
                    </empty>
                </otherwise>
                <switchend name="switchend" type="switchend" bounds="85,3224,110,49">
                    <source idx="0" terminal="5,A" />
                    <source idx="1" terminal="5,A" />
                </switchend>
            </switch>
            <whileend name="whileend" type="whileend" bounds="85,3293,110,49">
                <source idx="0" terminal="5,A" />
            </whileend>
        </while>
        <invoke name="PackingGroupServiceUtil makeStockOutInfo" type="invokebean" description="public com.cim.idm.wmspackage.productpacking.management.info.MakeStockOutInfo makeStockOutInfo(java.util.Map palletUserColumns, java.util.Map boxUserColumns, java.util.Map productUserColumns)" bounds="70,3372,141,105" partnerLink="PackingGroupServiceUtil" partnerLinkType="PackingGroupServiceUtil" operation="makeStockOutInfo" operationDesc="public com.cim.idm.wmspackage.productpacking.management.info.MakeStockOutInfo makeStockOutInfo(java.util.Map palletUserColumns, java.util.Map boxUserColumns, java.util.Map productUserColumns)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="palletUserColumns" type="java.util.Map" />
            <input variable="boxUserColumns" type="java.util.Map" />
            <input variable="productUserColumns" type="java.util.Map" />
            <output variable="makeStockOutInfo" />
        </invoke>
        <invoke name="PackingGroupServiceImpl makeStockOut" type="invokebean" description="public void makeStockOut(java.lang.String sitename, java.util.List keyList, com.cim.idm.framework.data.EventInfo eventInfo, com.cim.idm.wmspackage.productpacking.management.info.MakeStockOutInfo makeStockOutInfo)" bounds="70,3507,141,105" partnerLink="PackingGroupServiceImpl" partnerLinkType="PackingGroupServiceImpl" operation="makeStockOut" operationDesc="public void makeStockOut(java.lang.String sitename, java.util.List keyList, com.cim.idm.framework.data.EventInfo eventInfo, com.cim.idm.wmspackage.productpacking.management.info.MakeStockOutInfo makeStockOutInfo)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="siteName" type="java.lang.String" />
            <input variable="palletKeyList" type="java.util.List" />
            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
            <input variable="makeStockOutInfo" type="com.cim.idm.wmspackage.productpacking.management.info.MakeStockOutInfo" />
        </invoke>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="70,3642,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="ESBService sendReplyBySender" type="invokebean" description="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName)" bounds="70,3777,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendReplyBySender" operationDesc="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="replySubjectName" type="java.lang.String" />
            <input variable="message" type="org.jdom.Document" />
            <input constant="PDASender" type="java.lang.String" />
        </invoke>
        <switch name="switch" bounds="124,3912,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="85,3991,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="getVariable('deliveryType')='Reserve'" bounds="124,4070,32,49">
                <source idx="0" terminal="5,A" />
                <switch name="switch" bounds="124,4149,33,33" type="switch">
                    <source idx="0" terminal="5,A" />
                    <switchstart name="switchstart" type="switchstart" bounds="85,4228,110,49">
                        <source idx="0" terminal="5,A" />
                    </switchstart>
                    <case name="case" type="case" condition="getVariable('shipRequestType') = 'EACRT'" bounds="110,4307,60,19">
                        <source idx="0" terminal="5,A" />
                        <invoke name="ERPInterfaceServiceImpl insertBS_ERPINF_LG19" type="invokebean" description="public static void insertBS_ERPINF_LG19(java.lang.String SiteName, java.lang.String invoiceNo, java.lang.String flag)" bounds="70,4356,141,105" partnerLink="ERPInterfaceServiceImplForFG" partnerLinkType="ERPInterfaceServiceImplForFG" operation="insertBS_ERPINF_LG19" operationDesc="public static void insertBS_ERPINF_LG19(java.lang.String SiteName, java.lang.String invoiceNo, java.lang.String flag)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="invoiceNo" type="java.lang.String" />
                            <input constant="G" type="java.lang.String" />
                        </invoke>
                    </case>
                    <otherwise name="otherwise" type="otherwise" bounds="1542,4307,88,19">
                        <source idx="0" terminal="5,A" />
                        <invoke name="ERPInterfaceServiceImpl insertBS_ERPINF_LG19" type="invokebean" description="public static void insertBS_ERPINF_LG19(java.lang.String SiteName, java.lang.String invoiceNo, java.lang.String flag)" bounds="1502,4408,141,105" partnerLink="ERPInterfaceServiceImplForFG" partnerLinkType="ERPInterfaceServiceImplForFG" operation="insertBS_ERPINF_LG19" operationDesc="public static void insertBS_ERPINF_LG19(java.lang.String SiteName, java.lang.String invoiceNo, java.lang.String flag)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="invoiceNo" type="java.lang.String" />
                            <input constant="G" type="java.lang.String" />
                        </invoke>
                    </otherwise>
                    <switchend name="switchend" type="switchend" bounds="85,4481,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="1760,4070,32,49">
                <source idx="0" terminal="5,A" />
                <invoke name="ERPInterfaceServiceImplForFG insertBS_ERPIF_LG14" type="invokebean" description="public static void insertBS_ERPIF_LG14(java.lang.String SiteName, java.lang.String invoiceNo, java.lang.String eventName)" bounds="1706,4149,141,105" partnerLink="ERPInterfaceServiceImplForFG" partnerLinkType="ERPInterfaceServiceImplForFG" operation="insertBS_ERPIF_LG14" operationDesc="public static void insertBS_ERPIF_LG14(java.lang.String SiteName, java.lang.String invoiceNo, java.lang.String eventName)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="siteName" type="java.lang.String" />
                    <input variable="invoiceNo" type="java.lang.String" />
                    <input constant="StockOut" type="java.lang.String" />
                </invoke>
            </case>
            <switchend name="switchend" type="switchend" bounds="85,4550,110,49">
                <source idx="0" terminal="5,A" />
                <source idx="1" terminal="5,A" />
            </switchend>
        </switch>
        <switch name="switch" bounds="124,4629,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="85,4708,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="getVariable('siteName') = 'B2'" bounds="110,4787,60,19">
                <source idx="0" terminal="5,A" />
                <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="34,4836,213,96" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                </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="38,4962,204,78" 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="DeleteInfo" type="java.lang.String" />
                    <input variable="eventUser" type="java.lang.String" />
                    <input variable="eventComment" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <output variable="eventInfo" />
                </invoke>
                <invoke name="PackingGroupServiceImpl DeletePalletBoxByShipRequest" type="invokebean" description="public void DeletePalletBoxByShipRequest(java.lang.String siteName, java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventInfo)" bounds="40,5070,200,99" partnerLink="PackingGroupServiceImpl" partnerLinkType="PackingGroupServiceImpl" operation="DeletePalletBoxByShipRequest" operationDesc="public void DeletePalletBoxByShipRequest(java.lang.String siteName, java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventInfo)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="siteName" type="java.lang.String" />
                    <input variable="invoiceNo" type="java.lang.String" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                </invoke>
                <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="18,5199,245,103" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                </invoke>
            </case>
            <otherwise name="otherwise" type="otherwise" bounds="442,4756,88,19">
                <source idx="0" terminal="5,A" />
                <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="381,4813,213,96" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="1,A" />
                </invoke>
                <invoke name="ProductServiceImpl insertOEMInterfaceToMESByList" type="invokebean" description="public void insertOEMInterfaceToMESByList(java.lang.String siteName, java.lang.String invoiceNo)" bounds="383,4934,200,99" partnerLink="ProductServiceImpl" partnerLinkType="ProductServiceImpl" operation="insertOEMInterfaceToMESByList" operationDesc="public void insertOEMInterfaceToMESByList(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="invoiceNo" type="java.lang.String" />
                </invoke>
                <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="355,5067,245,103" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                </invoke>
            </otherwise>
            <switchend name="switchend" type="switchend" bounds="85,5322,110,49">
                <source idx="0" terminal="5,A" />
                <source idx="1" terminal="5,A" />
            </switchend>
        </switch>
    </sequence>
</process>

