<?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="DeviceFromExcel.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="YardDeviceServiceImpl" partnerLinkType="bean:YardDeviceServiceImpl" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
    </partnerLinks>
    <variables>
        <variable name="arrayRepair" messageType="java.lang.String"></variable>
        <variable name="assyGrade" messageType="java.lang.String"></variable>
        <variable name="boxElement" messageType="org.jdom.Element"></variable>
        <variable name="boxList" messageType="java.util.List"></variable>
        <variable name="boxName" messageType="java.lang.String"></variable>
        <variable name="boxQty" messageType="java.lang.String"></variable>
        <variable name="caseNO" messageType="java.lang.String"></variable>
        <variable name="cellGrade" messageType="java.lang.String"></variable>
        <variable name="cellRepair" messageType="java.lang.String"></variable>
        <variable name="charge" messageType="java.lang.String"></variable>
        <variable name="checkInCode" messageType="java.lang.String"></variable>
        <variable name="container" messageType="java.lang.String"></variable>
        <variable name="CreateOEMShipRequest" messageType="java.lang.String"></variable>
        <variable name="cross" messageType="java.lang.String"></variable>
        <variable name="department" messageType="java.lang.String"></variable>
        <variable name="device" messageType="java.lang.String"></variable>
        <variable name="deviceName" messageType="java.lang.String"></variable>
        <variable name="domesticExport" messageType="java.lang.String"></variable>
        <variable name="erpfactoryname" messageType="java.lang.String"></variable>
        <variable name="erplocationname" 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="eventName" messageType="java.lang.String" expression="getXmlData('message','/Message/Header/MESSAGENAME')" />
        <variable name="eventUser" messageType="java.lang.String" expression="getXmlData('message','/Message/Header/EVENTUSER')" />
        <variable name="groupName" messageType="java.lang.String" expression="getXmlData('message', '/Message/Body/GROUPNAME')" />
        <variable name="height" messageType="java.lang.String"></variable>
        <variable name="importtype" messageType="java.lang.String"></variable>
        <variable name="invoiceNO" messageType="java.lang.String"></variable>
        <variable name="length" messageType="java.lang.String"></variable>
        <variable name="lotGrade" messageType="java.lang.String"></variable>
        <variable name="message" messageType="org.jdom.Document"></variable>
        <variable name="moduleName" messageType="java.lang.String"></variable>
        <variable name="net" messageType="java.lang.String"></variable>
        <variable name="oemBoxInfo" messageType="com.cim.idm.fgwmsextend.customizing.management.data.BOE_OEM_Box"></variable>
        <variable name="oemBoxList" messageType="java.util.List" expression="newInstance('java.util.ArrayList', 100)" />
        <variable name="oemPalletInfo" messageType="com.cim.idm.fgwmsextend.customizing.management.data.BOE_OEM_Pallet"></variable>
        <variable name="oemPalletList" messageType="java.util.List" expression="newInstance('java.util.ArrayList', 20)" />
        <variable name="oemPanelInfo" messageType="com.cim.idm.fgwmsextend.customizing.management.data.BOE_OEM_Panel"></variable>
        <variable name="oemPanelList" messageType="java.util.List" expression="newInstance('java.util.ArrayList', 1000)" />
        <variable name="orgSiteName" messageType="java.lang.String"></variable>
        <variable name="packtime" messageType="java.lang.String"></variable>
        <variable name="palletElement" messageType="org.jdom.Element"></variable>
        <variable name="palletList" messageType="java.util.List"></variable>
        <variable name="palletName" messageType="java.lang.String"></variable>
        <variable name="panelElement" messageType="org.jdom.Element"></variable>
        <variable name="panelList" messageType="java.util.List"></variable>
        <variable name="panelName" messageType="java.lang.String"></variable>
        <variable name="panelQty" messageType="java.lang.String"></variable>
        <variable name="PONO" messageType="java.lang.String"></variable>
        <variable name="processGroupName" messageType="java.lang.String"></variable>
        <variable name="productSpecName" messageType="java.lang.String"></variable>
        <variable name="qPanelQty" messageType="java.lang.String"></variable>
        <variable name="quantity" messageType="java.lang.String" expression="getXmlData('message', '/Message/Body/QUANTITY')" />
        <variable name="receiveName" messageType="java.lang.String" expression="getXmlData('message', '/Message/Body/RECEIVEREQUESTNAME')" />
        <variable name="receiveRequestName" messageType="java.lang.String"></variable>
        <variable name="remark" messageType="java.lang.String"></variable>
        <variable name="replySubjectName" messageType="java.lang.String" expression="getXmlData('message','/Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="revisionCode" messageType="java.lang.String"></variable>
        <variable name="saletype" messageType="java.lang.String"></variable>
        <variable name="singlePanelQty" messageType="java.lang.String"></variable>
        <variable name="site" messageType="java.lang.String" expression="getXmlData('message', '/Message/Body/SITENAME')" />
        <variable name="siteName" messageType="java.lang.String"></variable>
        <variable name="width" messageType="java.lang.String"></variable>
    </variables>
    <sequence>
        <receive name="DeviceFromExcel" bounds="191,23,140,75">
            <input variable="message" type="org.jdom.Document" />
        </receive>
        <invoke name="EventInfoUtil makeEventInfo" type="invokebean" description="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" bounds="187,105,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="DeviceFromExcel" 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="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="188,227,140,102" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <expression name="expression" type="expression" bounds="183,361,140,62">
            <source idx="0" terminal="5,A" />
            <function value="setVariable('palletList',getElementList('message','//DEVICEGROUP'))" />
        </expression>
        <while name="while" bounds="246,444,32,49" type="2" collection="palletList" element="palletElement">
            <source idx="0" terminal="5,A" />
            <whilestart name="whilestart" type="whilestart" bounds="207,523,110,49">
                <source idx="0" terminal="5,A" />
            </whilestart>
            <expression name="expression" type="expression" bounds="192,602,140,62">
                <source idx="0" terminal="5,A" />
                <function value="setVariable('siteName',getXmlData('palletElement','//SITENAME'))" />
                <function value="setVariable('receiveRequestName',getXmlData('palletElement','//RECEIVEREQUESTNAME'))" />
                <function value="setVariable('container',getXmlData('palletElement','//CONTAINER'))" />
                <function value="setVariable('charge',getXmlData('palletElement','//CHARGE'))" />
                <function value="setVariable('device',getXmlData('palletElement','//DEVICE'))" />
                <function value="setVariable('deviceName',getXmlData('palletElement','//DEVICENAME'))" />
                <function value="setVariable('caseNO',getXmlData('palletElement','//CASENO'))" />
                <function value="setVariable('PONO',getXmlData('palletElement','//PONO'))" />
                <function value="setVariable('invoiceNO',getXmlData('palletElement','//INVOICENO'))" />
                <function value="setVariable('length',getXmlData('palletElement','//LENGTH'))" />
                <function value="setVariable('width',getXmlData('palletElement','//WIDTH'))" />
                <function value="setVariable('height',getXmlData('palletElement','//HEIGHT'))" />
                <function value="setVariable('cross',getXmlData('palletElement','//CROSS'))" />
                <function value="setVariable('net',getXmlData('palletElement','//NET'))" />
                <function value="setVariable('department',getXmlData('palletElement','//DEPARTMENT'))" />
            </expression>
            <invoke name="YardDeviceServiceImpl devicePreStock" type="invokebean" description="public com.cim.idm.fgwmsextend.customizing.management.data.BOE_OEM_Pallet makeBOE_OEM_PalletInfo(java.lang.String SiteName, java.lang.String palletName, java.lang.String productSpecName, java.lang.String lotGrade, java.lang.String boxQty, java.lang.String singlePanelQty, java.lang.String orgSiteName, java.lang.String revisionCode, java.lang.String checkInCode, java.lang.String domesticExport)" bounds="128,696,262,102" partnerLink="YardDeviceServiceImpl" partnerLinkType="YardDeviceServiceImpl" operation="devicePreStock" operationDesc="public com.cim.idm.fgwmsextend.customizing.management.data.BOE_OEM_Pallet makeBOE_OEM_PalletInfo(java.lang.String SiteName, java.lang.String palletName, java.lang.String productSpecName, java.lang.String lotGrade, java.lang.String boxQty, java.lang.String singlePanelQty, java.lang.String orgSiteName, java.lang.String revisionCode, java.lang.String checkInCode, java.lang.String domesticExport)" 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="receiveRequestName" type="java.lang.String" />
                <input variable="PONO" type="java.lang.String" />
                <input variable="invoiceNO" type="java.lang.String" />
                <input variable="container" type="java.lang.String" />
                <input variable="charge" type="java.lang.String" />
                <input variable="device" type="java.lang.String" />
                <input variable="deviceName" type="java.lang.String" />
                <input variable="caseNO" type="java.lang.String" />
                <input variable="length" type="java.lang.String" />
                <input variable="width" type="java.lang.String" />
                <input variable="height" type="java.lang.String" />
                <input variable="cross" type="java.lang.String" />
                <input variable="net" type="java.lang.String" />
                <input variable="department" type="java.lang.String" />
            </invoke>
            <whileend name="whileend" type="whileend" bounds="205,822,110,49">
                <source idx="0" terminal="5,A" />
            </whileend>
        </while>
        <invoke name="YardDeviceServiceImpl makeReceiveRequst" type="invokebean" description="public com.cim.idm.fgwmsextend.customizing.management.data.BOE_OEM_Pallet makeBOE_OEM_PalletInfo(java.lang.String SiteName, java.lang.String palletName, java.lang.String productSpecName, java.lang.String lotGrade, java.lang.String boxQty, java.lang.String singlePanelQty, java.lang.String orgSiteName, java.lang.String revisionCode, java.lang.String checkInCode, java.lang.String domesticExport)" bounds="145,901,228,105" partnerLink="YardDeviceServiceImpl" partnerLinkType="YardDeviceServiceImpl" operation="makeReceiveRequst" operationDesc="public com.cim.idm.fgwmsextend.customizing.management.data.BOE_OEM_Pallet makeBOE_OEM_PalletInfo(java.lang.String SiteName, java.lang.String palletName, java.lang.String productSpecName, java.lang.String lotGrade, java.lang.String boxQty, java.lang.String singlePanelQty, java.lang.String orgSiteName, java.lang.String revisionCode, java.lang.String checkInCode, java.lang.String domesticExport)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
            <input variable="site" type="java.lang.String" />
            <input variable="receiveName" type="java.lang.String" />
            <input variable="quantity" type="java.lang.String" />
        </invoke>
        <invoke name="ESBService sendReplyBySender" type="invokebean" description="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName)" bounds="152,1072,224,102" 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="OICSender" type="java.lang.String" />
        </invoke>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="195,1193,140,102" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
    </sequence>
</process>

