<?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="PCBANormalStockIn.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="CommonValidation" partnerLinkType="bean:CommonValidation" />
        <partnerLink name="MaterialPackingStockInImpl" partnerLinkType="bean:MaterialPackingStockInImpl" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
    </partnerLinks>
    <variables>
        <variable name="300" messageType="int"></variable>
        <variable name="BOEStocked" messageType="java.lang.String"></variable>
        <variable name="erpEventTime" messageType="java.lang.String" expression="getXmlData('PCBANormalStockIn', '//Message/Body/RECEIVETIME')" />
        <variable name="erpFactory" messageType="java.lang.String" expression="getXmlData('PCBANormalStockIn', '//Message/Body/ERPFACTORY')" />
        <variable name="erpLocation" messageType="java.lang.String" expression="getXmlData('PCBANormalStockIn', '//Message/Body/ERPLOCATION')" />
        <variable name="eventComment" messageType="java.lang.String" expression="getXmlData('PCBANormalStockIn', '//Message/Header/EVENTCOMMENT')" />
        <variable name="eventInfo" messageType="com.cim.idm.framework.data.EventInfo"></variable>
        <variable name="eventUser" messageType="java.lang.String" expression="getXmlData('PCBANormalStockIn', '//Message/Header/EVENTUSER')" />
        <variable name="message" messageType="org.jdom.Document"></variable>
        <variable name="messageid" messageType="java.lang.String"></variable>
        <variable name="movetype" messageType="java.lang.String" expression="getXmlData('PCBANormalStockIn', '//Message/Body/MOVETYPE')" />
        <variable name="mplist" messageType="java.util.List"></variable>
        <variable name="OICSender" messageType="java.lang.String"></variable>
        <variable name="oplist" messageType="java.util.List"></variable>
        <variable name="PCBANormalStockIn" messageType="org.jdom.Document"></variable>
        <variable name="PDAPCBANormalStockIn" messageType="java.lang.String"></variable>
        <variable name="receiveActNo" messageType="java.lang.String" expression="getXmlData('PCBANormalStockIn', '//Message/Body/RECEIVEACTNO')" />
        <variable name="receiveRequestName" messageType="java.lang.String" expression="getXmlData('PCBANormalStockIn', '//Message/Body/RECEIVEREQUESTNAME')" />
        <variable name="remark" messageType="java.lang.String" expression="getXmlData('PCBANormalStockIn', '//Message/Body/REMARK')" />
        <variable name="replysubjectname" messageType="java.lang.String" expression="getXmlData('PCBANormalStockIn', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="saveresult" messageType="boolean"></variable>
        <variable name="siteName" messageType="java.lang.String" expression="getXmlData('PCBANormalStockIn', '//Message/Body/SITENAME')" />
        <variable name="toerplist" messageType="java.util.List"></variable>
        <variable name="tqmslist" messageType="java.util.List"></variable>
        <variable name="undolist" messageType="java.util.List"></variable>
    </variables>
    <note name="Note" bounds="290,1073,144,-1">���ӽ���Ϣinput��ȥ����ȡ�ƶ����ͺͽ��տ����Ȳ���</note>
    <sequence>
        <receive name="PCBANormalStockIn" bounds="70,30,149,76">
            <input variable="PCBANormalStockIn" type="org.jdom.Document" />
        </receive>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="74,136,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="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="74,271,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="PCBANormalStockIn" 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="CommonValidation GetMessageID" type="invokebean" description="public java.lang.String GetMessageID(java.lang.String sitename)" bounds="74,406,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="MaterialPackingStockInImpl GetPCBAStockInList" type="invokebean" description="public java.util.List GetPCBAStockInList(java.lang.String receiveActNo, java.lang.String receiveRequestName, java.lang.String siteName, java.lang.String erpFactory, java.lang.String remark)" bounds="74,541,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="GetPCBAStockInList" operationDesc="public java.util.List GetPCBAStockInList(java.lang.String receiveActNo, java.lang.String receiveRequestName, java.lang.String siteName, java.lang.String erpFactory, java.lang.String remark)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="receiveActNo" type="java.lang.String" />
            <input variable="receiveRequestName" type="java.lang.String" />
            <input variable="siteName" type="java.lang.String" />
            <input variable="erpFactory" type="java.lang.String" />
            <input variable="remark" type="java.lang.String" />
            <output variable="mplist" />
        </invoke>
        <invoke name="MaterialPackingStockInImpl ChangeMaterialpackingsmtState" type="invokebean" description="public void ChangeMaterialpackingsmtState(java.util.List mplist, java.lang.String lastEventName, java.lang.String receiveRequestName)" bounds="70,676,149,97" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="ChangeMaterialpackingsmtState" operationDesc="public void ChangeMaterialpackingsmtState(java.util.List mplist, java.lang.String lastEventName, java.lang.String receiveRequestName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="mplist" type="java.util.List" />
            <input constant="BOEStocking" type="java.lang.String" />
            <input variable="receiveRequestName" type="java.lang.String" />
        </invoke>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="32,803,225,104" 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="74,937,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="MaterialPackingStockInImpl erpInterface_PI056ForPCBAReceiveAddTime" type="invokebean" description="public static java.util.List erpInterface_PI056ForPCBAReceiveAddTime(java.util.List mplist, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String erpEventTime, java.lang.String erpLocation, java.lang.String messageid, org.jdom.Document PCBANormalStockIn)" bounds="74,1072,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="erpInterface_PI056ForPCBAReceiveAddTime" operationDesc="public static java.util.List erpInterface_PI056ForPCBAReceiveAddTime(java.util.List mplist, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String erpEventTime, java.lang.String erpLocation, java.lang.String messageid, org.jdom.Document PCBANormalStockIn)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="mplist" type="java.util.List" />
            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
            <input variable="erpEventTime" type="java.lang.String" />
            <input variable="erpLocation" type="java.lang.String" />
            <input variable="messageid" type="java.lang.String" />
            <input variable="PCBANormalStockIn" type="org.jdom.Document" />
            <output variable="undolist" />
        </invoke>
        <invoke name="MaterialPackingStockInImpl SaveRefundStockInListForPCBAReceive" type="invokebean" description="public boolean SaveRefundStockInListForPCBAReceive(java.util.List msilist, java.util.List undolist, com.cim.idm.framework.data.EventInfo eventinfo)" bounds="74,1207,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="SaveRefundStockInListForPCBAReceive" operationDesc="public boolean SaveRefundStockInListForPCBAReceive(java.util.List msilist, java.util.List undolist, com.cim.idm.framework.data.EventInfo eventinfo)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="mplist" />
            <input variable="undolist" />
            <input variable="eventInfo" />
            <input variable="PCBANormalStockIn" />
            <output variable="saveresult" />
        </invoke>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="74,1342,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <switch name="switch" bounds="128,1477,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="89,1556,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="(getVariable('siteName') = 'B9'&#xD;&#xA;or getVariable('siteName') = 'B10'&#xD;&#xA;or getVariable('siteName') = 'B17')&#xD;&#xA;and getVariable('movetype') !='919'" bounds="108,1622,68,52">
                <source idx="0" terminal="5,A" />
                <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="73,1695,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="MaterialPackingStockInImpl GetToERPList_forSMT" type="invokebean" description="public java.util.List GetToERPList_forSMT(java.util.List msilist, int num)" bounds="73,1814,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="GetToERPList_forSMT" operationDesc="public java.util.List GetToERPList_forSMT(java.util.List msilist, int num)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="mplist" type="java.util.List" />
                    <input constant="300" type="int" />
                    <output variable="toerplist" />
                </invoke>
                <invoke name="MaterialPackingStockInImpl PCBAStockInTQMSListF" type="invokebean" description="public java.util.List PCBAStockInTQMSListF(java.util.List toerplist)" bounds="73,1949,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="PCBAStockInTQMSListF" operationDesc="public java.util.List PCBAStockInTQMSListF(java.util.List toerplist)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="toerplist" type="java.util.List" />
                    <output variable="tqmslist" />
                </invoke>
                <invoke name="MaterialPackingStockInImpl sendToTQMS" type="invokebean" description="public void sendToTQMS(java.util.List toerplist, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageid)" bounds="73,2084,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="sendToTQMS" operationDesc="public void sendToTQMS(java.util.List toerplist, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageid)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="tqmslist" type="java.util.List" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    <input variable="messageid" type="java.lang.String" />
                </invoke>
                <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="73,2197,141,105" 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="326,1635,98,47">
                <source idx="0" terminal="5,A" />
            </otherwise>
            <switchend name="switchend" type="switchend" bounds="83,2358,110,49">
                <source idx="0" terminal="5,A" />
                <source idx="1" terminal="5,A">
                    <BendPoint FirstRelative="11,629" SecondRelative="248,-48" weight="0.5" />
                </source>
            </switchend>
        </switch>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="52,2437,173,89" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="MaterialPackingStockInImpl ChangeMaterialpackingsmtState" type="invokebean" description="public void ChangeMaterialpackingsmtState(java.util.List mplist, java.lang.String lastEventName, java.lang.String receiveRequestName)" bounds="68,2556,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="ChangeMaterialpackingsmtState" operationDesc="public void ChangeMaterialpackingsmtState(java.util.List mplist, java.lang.String lastEventName, java.lang.String receiveRequestName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="mplist" type="java.util.List" />
            <input constant="BOEStocked" type="java.lang.String" />
            <input variable="receiveRequestName" type="java.lang.String" />
        </invoke>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="26,2691,225,104" 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="68,2825,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="PCBANormalStockIn" type="org.jdom.Document" />
            <input constant="OICSender" type="java.lang.String" />
        </invoke>
    </sequence>
</process>

