<?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="NormalStockIn.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="MaterialPackingStockInImpl" partnerLinkType="bean:MaterialPackingStockInImpl" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="CommonValidation" partnerLinkType="bean:CommonValidation" />
        <partnerLink name="MaterialReceiveRequestServiceImpl" partnerLinkType="bean:MaterialReceiveRequestServiceImpl" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
        <partnerLink name="MaterialPackingServiceImpl" partnerLinkType="bean:MaterialPackingServiceImpl" />
        <partnerLink name="MailUtil" partnerLinkType="bean:MailUtil" />
    </partnerLinks>
    <variables>
        <variable name="10001" messageType="java.lang.String"></variable>
        <variable name="300" messageType="int"></variable>
        <variable name="BSART" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Header/BSART')" />
        <variable name="customDate" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/Custom/CUSTOMDATE')" />
        <variable name="customForm" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/Custom/CUSTOMFORM')" />
        <variable name="customState" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/Custom/CUSTOMSTATE')" />
        <variable name="E" messageType="java.lang.String"></variable>
        <variable name="erpResult" messageType="boolean"></variable>
        <variable name="ERP过账?时" messageType="java.lang.String"></variable>
        <variable name="event" messageType="java.lang.String"></variable>
        <variable name="eventComment" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Header/EVENTCOMMENT')" />
        <variable name="eventInfo" messageType="com.cim.idm.framework.data.EventInfo"></variable>
        <variable name="eventUser" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Header/EVENTUSER')" />
        <variable name="GetInspectedList" messageType="java.lang.String"></variable>
        <variable name="inspecta" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/ReceiveRequest/INSPECTA')" />
        <variable name="inspectp" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/ReceiveRequest/INSPECTP')" />
        <variable name="inspectv" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/ReceiveRequest/INSPECTV')" />
        <variable name="messageid" messageType="java.lang.String"></variable>
        <variable name="messageName" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Header/MESSAGENAME')" />
        <variable name="NormalStockIn" messageType="org.jdom.Document"></variable>
        <variable name="OICSender" messageType="java.lang.String"></variable>
        <variable name="oplist" messageType="java.util.List"></variable>
        <variable name="receiveActNo" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/DATALIST/MATERIALSHIPREQUESTDETAILFORSI/RECEIVEACTNO')" />
        <variable name="receiveDate" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/ReceiveRequest/RECEIVETIME')" />
        <variable name="receiveRequestDetailName" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/ReceiveRequest/RECEIVEREQUESTDETAILNAME')" />
        <variable name="receiveRequestName" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/DATALIST/MATERIALSHIPREQUESTDETAILFORSI/RECEIVEREQUESTNAME')" />
        <variable name="receiveRequestType" messageType="java.lang.String"></variable>
        <variable name="replysubjectname" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="siteName" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Header/SITENAME')" />
        <variable name="taxid" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/Custom/TAXID')" />
        <variable name="toerplist" messageType="java.util.List"></variable>
        <variable name="toTQMSFlag" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/OQARESULTSTATE')" />
        <variable name="tqmslist" messageType="java.util.List"></variable>
        <variable name="transportFormNo" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/Custom/TRANSPORTFORMNO')" />
        <variable name="undolist" messageType="java.util.List"></variable>
        <variable name="zfLotno" messageType="java.lang.String" expression="getXmlData('NormalStockIn', '//Message/Body/DATALIST/ZF_LOTNO')" />
        <variable name="ZFPHM" messageType="java.lang.String"></variable>
    </variables>
    <sequence>
        <receive name="NormalStockIn" bounds="224,-18,149,62">
            <input variable="NormalStockIn" type="org.jdom.Document" />
        </receive>
        <invoke name="MaterialPackingStockInImpl checkReceiveactState" type="invokebean" description="public void checkReceiveactState(java.lang.String receiveActNo)" bounds="228,74,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="checkReceiveactState" operationDesc="public void checkReceiveactState(java.lang.String receiveActNo)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="receiveActNo" type="java.lang.String" />
        </invoke>
        <invoke name="EventInfoUtil makeEventInfo" type="invokebean" description="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" bounds="228,209,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 variable="messageName" type="java.lang.String" />
            <input variable="eventUser" type="java.lang.String" />
            <input variable="eventComment" type="java.lang.String" />
            <input constant="101" type="java.lang.String" />
            <input constant="0001" type="java.lang.String" />
            <output variable="eventInfo" />
        </invoke>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="228,344,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="CommonValidation GetMessageID" type="invokebean" description="public java.lang.String GetMessageID(java.lang.String sitename)" bounds="228,479,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="228,614,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="228,749,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="MaterialReceiveRequestServiceImpl selectMaterialReceiveRequestInfo" type="invokebean" description="public java.lang.String selectMaterialReceiveRequestInfo(java.lang.String siteName, java.lang.String receiveRequestName)" bounds="623,642,141,105" partnerLink="MaterialReceiveRequestServiceImpl" partnerLinkType="MaterialReceiveRequestServiceImpl" operation="selectMaterialReceiveRequestInfo" operationDesc="public java.lang.String selectMaterialReceiveRequestInfo(java.lang.String siteName, java.lang.String receiveRequestName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="siteName" type="java.lang.String" />
            <input variable="receiveRequestName" type="java.lang.String" />
            <output variable="receiveRequestType" />
        </invoke>
        <switch name="switch" bounds="675,784,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="640,832,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <otherwise name="otherwise" type="otherwise" bounds="449,858,88,57">
                <source idx="0" terminal="5,A" />
                <invoke name="MaterialPackingStockInImpl GetNormalStockInList" type="invokebean" description="public java.util.List GetNormalStockInListPo(org.jdom.Document document)" bounds="227,938,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="GetNormalStockInList" operationDesc="public java.util.List GetNormalStockInListPo(org.jdom.Document document)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="NormalStockIn" type="org.jdom.Document" />
                    <output variable="oplist" />
                </invoke>
                <invoke name="MaterialPackingStockInImpl GetToERPList" type="invokebean" description="public java.util.List GetToERPList(java.util.List msilist, int num)" bounds="230,1067,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="GetToERPList" operationDesc="public java.util.List GetToERPList(java.util.List msilist, int num)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="oplist" type="java.util.List" />
                    <input constant="300" type="int" />
                    <output variable="toerplist" />
                </invoke>
                <invoke name="MaterialPackingStockInImpl generateNormalStockInMessageForERPAccount" type="invokebean" description="public java.util.List generateNormalStockInMessageForERPAccount(java.util.List toerplist, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageid, java.lang.String receiveActNo, java.lang.String receiveDate, java.lang.String siteName, java.lang.String zfLotno)" bounds="230,1202,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="generateNormalStockInMessageForERPAccount" operationDesc="public java.util.List generateNormalStockInMessageForERPAccountFreeze(java.util.List toerplist, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageid, java.lang.String receiveActNo, java.lang.String receiveDate, java.lang.String siteName, java.lang.String zfLotno)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="toerplist" />
                    <input variable="eventInfo" />
                    <input variable="messageid" />
                    <input variable="siteName" />
                    <input variable="receiveRequestName" />
                    <output variable="undolist" />
                </invoke>
                <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="230,1337,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="284,1472,33,33" type="switch">
                    <source idx="0" terminal="5,A" />
                    <switchstart name="switchstart" type="switchstart" bounds="245,1551,110,49">
                        <source idx="0" terminal="5,A" />
                    </switchstart>
                    <case name="case" type="case" condition="getListSize('undolist')&gt;0" bounds="150,1630,60,65">
                        <source idx="0" terminal="5,A" />
                        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="110,1725,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 SaveNormalStockInInfoForERPAccount" type="invokebean" description="public java.util.List SaveNormalStockInInfoForERPAccount(java.util.List toerplist, java.util.List undolist, com.cim.idm.framework.data.EventInfo eventinfo, java.lang.String messageID)" bounds="112,1864,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="SaveNormalStockInInfoForERPAccount" operationDesc="public java.util.List SaveNormalStockInInfoForERPAccount(java.util.List toerplist, java.util.List undolist, com.cim.idm.framework.data.EventInfo eventinfo, java.lang.String messageID)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="toerplist" type="java.util.List" />
                            <input variable="undolist" type="java.util.List" />
                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                            <input variable="messageid" type="java.lang.String" />
                            <output variable="tqmslist" />
                        </invoke>
                        <invoke name="MaterialPackingStockInImpl updataPallet" type="invokebean" description="public void updataPallet(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String receiveActNo)" bounds="112,1999,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="updataPallet" operationDesc="public void updataPallet(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="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="112,2134,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="112,2269,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="NormalStockIn" type="org.jdom.Document" />
                            <input constant="OICSender" type="java.lang.String" />
                        </invoke>
                        <switch name="switch" bounds="166,2404,33,33" type="switch">
                            <source idx="0" terminal="5,A" />
                            <switchstart name="switchstart" type="switchstart" bounds="127,2483,110,49">
                                <source idx="0" terminal="5,A" />
                            </switchstart>
                            <case name="case" type="case" condition="getVariable('toTQMSFlag') = 'N'" bounds="116,2562,60,65">
                                <source idx="0" terminal="5,A" />
                            </case>
                            <otherwise name="otherwise" type="otherwise" bounds="176,2562,87,65">
                                <source idx="0" terminal="5,A" />
                                <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="172,2639,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>
                            </otherwise>
                            <switchend name="switchend" type="switchend" bounds="127,2782,110,49">
                                <source idx="0" terminal="5,A" />
                                <source idx="1" terminal="5,A" />
                            </switchend>
                        </switch>
                        <invoke name="MaterialPackingServiceImpl getQueryResult" type="invokebean" description="public void getQueryResult(java.lang.String messageName, java.lang.String queryId, java.lang.String version, java.lang.String senderName, java.lang.String siteName)" bounds="112,2861,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="getQueryResult" operationDesc="public void getQueryResult(java.lang.String messageName, java.lang.String queryId, java.lang.String version, java.lang.String senderName, java.lang.String siteName)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="messageName" type="java.lang.String" />
                            <input constant="GetInspectedList" type="java.lang.String" />
                            <input constant="10001" type="java.lang.String" />
                            <input constant="OICSender" type="java.lang.String" />
                            <input variable="siteName" type="java.lang.String" />
                        </invoke>
                        <invoke name="MailUtil sendPreOQAMail" type="invokebean" description="public void sendPreOQAMail(java.lang.String siteName, java.util.List undolist)" bounds="112,2996,141,105" partnerLink="MailUtil" partnerLinkType="MailUtil" operation="sendPreOQAMail" operationDesc="public void sendPreOQAMail(java.lang.String siteName, java.util.List undolist)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="undolist" type="java.util.List" />
                        </invoke>
                    </case>
                    <otherwise name="otherwise" type="otherwise" bounds="378,1630,87,65">
                        <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="351,1725,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="NormalStockIn" type="org.jdom.Document" />
                            <input constant="OICSender" type="java.lang.String" />
                            <input constant="E" type="java.lang.String" />
                            <input constant="ERP过账?时" type="java.lang.String" />
                        </invoke>
                    </otherwise>
                    <switchend name="switchend" type="switchend" bounds="127,3121,110,49">
                        <source idx="0" terminal="5,A" />
                        <source idx="1" terminal="5,A" />
                    </switchend>
                </switch>
                <terminate name="terminate" bounds="112,3200,141,65">
                    <source idx="0" terminal="5,A" />
                </terminate>
            </otherwise>
            <case name="case" type="case" condition="getVariable('receiveRequestType') = 'ZTB1'&#xD;&#xA; or getVariable('receiveRequestType') = 'ZTB4'&#xD;&#xA;" bounds="733,905,60,55">
                <source idx="0" terminal="5,A" />
                <invoke name="MaterialPackingStockInImpl GetNormalStockInList" type="invokebean" description="public java.util.List GetNormalStockInList(org.jdom.Document document)" bounds="699,968,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="GetNormalStockInList" operationDesc="public java.util.List GetNormalStockInList(org.jdom.Document document)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="NormalStockIn" type="org.jdom.Document" />
                    <output variable="oplist" />
                </invoke>
                <invoke name="MaterialPackingStockInImpl GetToERPList" type="invokebean" description="public java.util.List GetToERPList(java.util.List msilist, int num)" bounds="698,1082,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="GetToERPList" operationDesc="public java.util.List GetToERPList(java.util.List msilist, int num)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="oplist" type="java.util.List" />
                    <input constant="300" type="int" />
                    <output variable="toerplist" />
                </invoke>
                <invoke name="MaterialPackingStockInImpl generateNormalStockInMessageForERPAccountFreezePosting" type="invokebean" description="generateNormalStockInMessageForERPAccountFreezePosting(List&lt;MaterialStockInClass&gt; toerplist,EventInfo eventInfo, String messageid, String receiveActNo, String receiveDate, String siteName,String zfLotno)" bounds="706,1198,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="generateNormalStockInMessageForERPAccountFreezePosting" operationDesc="public java.util.List generateNormalStockInMessageForERPAccountFreezePosting(java.util.List toerplist, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageid, java.lang.String receiveActNo, java.lang.String receiveDate, java.lang.String siteName, java.lang.String zfLotno)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="toerplist" type="java.util.List" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    <input variable="messageid" type="java.lang.String" />
                    <input variable="receiveActNo" type="java.lang.String" />
                    <input variable="receiveDate" type="java.lang.String" />
                    <input variable="siteName" type="java.lang.String" />
                    <input variable="zfLotno" type="java.lang.String" />
                    <output variable="undolist" />
                </invoke>
                <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="710,1347,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="759,1472,33,33" type="switch">
                    <source idx="0" terminal="5,A" />
                    <switchstart name="switchstart" type="switchstart" bounds="729,1539,110,49">
                        <source idx="0" terminal="5,A" />
                    </switchstart>
                    <case name="case" type="case" condition="getListSize('undolist')&gt;0" bounds="669,1628,60,45">
                        <source idx="0" terminal="5,A" />
                        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="636,1724,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 SaveNormalStockInInfoForERPAccountStockState" type="invokebean" description="public java.util.List SaveNormalStockInInfoForERPAccountStockState(java.util.List toerplist, java.util.List undolist, com.cim.idm.framework.data.EventInfo eventinfo, java.lang.String messageID)" bounds="637,1865,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="SaveNormalStockInInfoForERPAccountStockState" operationDesc="public java.util.List SaveNormalStockInInfoForERPAccountStockState(java.util.List toerplist, java.util.List undolist, com.cim.idm.framework.data.EventInfo eventinfo, java.lang.String messageID)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="toerplist" type="java.util.List" />
                            <input variable="undolist" type="java.util.List" />
                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                            <input variable="messageid" type="java.lang.String" />
                            <output variable="tqmslist" />
                        </invoke>
                        <invoke name="MaterialPackingStockInImpl updataPallet" type="invokebean" description="public void updataPallet(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String receiveActNo)" bounds="655,2005,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" operation="updataPallet" operationDesc="public void updataPallet(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="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="665,2168,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="665,2290,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="NormalStockIn" type="org.jdom.Document" />
                            <input constant="OICSender" type="java.lang.String" />
                        </invoke>
                        <switch name="switch" bounds="719,2422,33,33" type="switch">
                            <source idx="0" terminal="5,A" />
                            <switchstart name="switchstart" type="switchstart" bounds="683,2481,110,49">
                                <source idx="0" terminal="5,A" />
                            </switchstart>
                            <case name="case" type="case" condition="getVariable('toTQMSFlag') = 'N'" bounds="693,2550,60,54">
                                <source idx="0" terminal="5,A" />
                            </case>
                            <otherwise name="otherwise" type="otherwise" bounds="763,2550,88,50">
                                <source idx="0" terminal="5,A" />
                                <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="743,2625,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>
                            </otherwise>
                            <switchend name="switchend" type="switchend" bounds="720,2787,110,49">
                                <source idx="0" terminal="5,A" />
                                <source idx="1" terminal="5,A" />
                            </switchend>
                        </switch>
                        <invoke name="MaterialPackingServiceImpl getQueryResult" type="invokebean" description="public void getQueryResult(java.lang.String messageName, java.lang.String queryId, java.lang.String version, java.lang.String senderName, java.lang.String siteName)" bounds="711,2866,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="getQueryResult" operationDesc="public void getQueryResult(java.lang.String messageName, java.lang.String queryId, java.lang.String version, java.lang.String senderName, java.lang.String siteName)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="messageName" type="java.lang.String" />
                            <input constant="GetInspectedList" type="java.lang.String" />
                            <input constant="10001" type="java.lang.String" />
                            <input constant="OICSender" type="java.lang.String" />
                            <input variable="siteName" type="java.lang.String" />
                        </invoke>
                        <invoke name="MailUtil sendPreOQAMail" type="invokebean" description="public void sendPreOQAMail(java.lang.String siteName, java.util.List undolist)" bounds="714,3000,141,105" partnerLink="MailUtil" partnerLinkType="MailUtil" operation="sendPreOQAMail" operationDesc="public void sendPreOQAMail(java.lang.String siteName, java.util.List undolist)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="undolist" type="java.util.List" />
                        </invoke>
                    </case>
                    <otherwise name="otherwise" type="otherwise" bounds="811,1633,88,46">
                        <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="815,1724,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="NormalStockIn" type="org.jdom.Document" />
                            <input constant="OICSender" type="java.lang.String" />
                            <input constant="E" type="java.lang.String" />
                            <input constant="ERP过账?时" type="java.lang.String" />
                        </invoke>
                    </otherwise>
                    <switchend name="switchend" type="switchend" bounds="835,3136,110,49">
                        <source idx="0" terminal="5,A" />
                        <source idx="1" terminal="5,A" />
                    </switchend>
                </switch>
                <terminate name="terminate" bounds="745,3219,141,65">
                    <source idx="0" terminal="5,A" />
                </terminate>
            </case>
        </switch>
    </sequence>
</process>

