2025-03-26 09:06:23 +08:00
|
|
|
<?xml version="1.0" encoding="UTF-8" ?>
|
|
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
|
<mapper namespace="com.cim.idm.dao.DeliveryDao">
|
|
|
|
|
|
|
|
<insert id="createDelivery">
|
|
|
|
INSERT INTO MATERIALRECEIVEREQUEST(SITENAME, RECEIVEREQUESTNAME, RECEIVEREQUESTTYPE)
|
|
|
|
VALUES (#{siteName}, #{receiveRequestName}, #{receiveRequestType})
|
|
|
|
</insert>
|
|
|
|
|
2025-03-31 14:31:16 +08:00
|
|
|
<insert id="createRelation">
|
|
|
|
INSERT ALL
|
|
|
|
<foreach item="item" index="index" collection="receiveList">
|
|
|
|
INTO MATERIALRECEIVEDELIVERY (RECEIVEREQUESTNAME, DELIVERYNAME, DELIVERYNUM) VALUES (#{item.receiveRequestName}, #{item.deliveryName}, #{item.deliveryNum})
|
|
|
|
</foreach>
|
|
|
|
SELECT * FROM dual
|
|
|
|
</insert>
|
|
|
|
|
2025-03-26 09:06:23 +08:00
|
|
|
<update id="bindDelivery">
|
|
|
|
UPDATE MATERIALRECEIVEREQUEST SET DELIVERYNAME = #{receiveRequestName}
|
|
|
|
WHERE SITENAME = #{siteName}
|
|
|
|
AND RECEIVEREQUESTNAME IN
|
|
|
|
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
|
|
|
#{name}
|
|
|
|
</foreach>
|
|
|
|
</update>
|
2025-03-26 10:32:09 +08:00
|
|
|
|
2025-03-31 15:02:54 +08:00
|
|
|
<select id="getPurchase" resultType="com.cim.idm.model.po.MaterialReceiveRequest">
|
2025-03-26 10:32:09 +08:00
|
|
|
SELECT SITENAME, RECEIVEREQUESTNAME FROM MATERIALRECEIVEREQUEST
|
|
|
|
WHERE SITENAME = #{dto.siteName}
|
|
|
|
AND RECEIVEREQUESTTYPE IN
|
|
|
|
<foreach item="type" index="index" collection="typeList" open="(" separator="," close=")">
|
|
|
|
#{type}
|
|
|
|
</foreach>
|
|
|
|
<if test="dto.receiveRequestName != null and dto.receiveRequestName != ''">
|
|
|
|
AND RECEIVEREQUESTNAME LIKE '%'||#{dto.receiveRequestName}||'%'
|
|
|
|
</if>
|
|
|
|
</select>
|
2025-03-26 17:40:01 +08:00
|
|
|
|
|
|
|
<!-- GetInvoiceDetailInformationRow Z10006_SAP -->
|
|
|
|
<select id="getStoreDetail" resultType="map">
|
|
|
|
WITH AA AS (
|
|
|
|
SELECT m5.RECEIVEREQUESTNAME, m5.MATERIALSPECNAME, m5.SDK_ID, m5.phase, SUM( m5.MATERIALQUANTITY ) QTY
|
|
|
|
FROM MATERIALPACKING m5
|
|
|
|
WHERE m5.STOCKSTATE IN ( 'Stocked', 'StockOut' )
|
|
|
|
AND m5.RECEIVEREQUESTNAME in
|
|
|
|
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
|
|
|
#{name}
|
|
|
|
</foreach>
|
|
|
|
GROUP BY m5.MATERIALSPECNAME, m5.RECEIVEREQUESTNAME, m5.SDK_ID, m5.phase
|
|
|
|
),
|
|
|
|
BB AS (
|
|
|
|
SELECT m5.RECEIVEREQUESTNAME, m5.MATERIALSPECNAME, m5.SDK_ID, m5.phase, SUM( m5.MATERIALQUANTITY ) QTY
|
|
|
|
FROM MATERIALPACKING m5
|
|
|
|
WHERE m5.STOCKSTATE = 'Created'
|
|
|
|
AND m5.RECEIVEREQUESTNAME in
|
|
|
|
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
|
|
|
#{name}
|
|
|
|
</foreach>
|
|
|
|
GROUP BY m5.MATERIALSPECNAME, m5.RECEIVEREQUESTNAME, m5.SDK_ID, m5.phase
|
2025-03-31 14:30:15 +08:00
|
|
|
),
|
|
|
|
MAIN AS (
|
|
|
|
SELECT m.MATERIALSPECNAME,
|
|
|
|
SUM( m.REQUESTQUANTITY ) REQUESTQUANTITY,
|
|
|
|
SUM( m.RECEIVEDQUANTITY ) RECEIVEDQUANTITY,
|
|
|
|
SUM( m.REQUESTQUANTITY - m.RECEIVEDQUANTITY ) AS RECEIVEDQUANTITY2,
|
|
|
|
SUM( m.REQUESTQUANTITY - m.RECEIVEDQUANTITY ) AS MINUSQTY
|
|
|
|
FROM MATERIALRECEIVEREQUESTDETAIL m
|
|
|
|
WHERE RECEIVEREQUESTNAME in
|
|
|
|
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
|
|
|
#{name}
|
|
|
|
</foreach>
|
|
|
|
GROUP BY m.MATERIALSPECNAME
|
2025-03-26 17:40:01 +08:00
|
|
|
)
|
2025-03-31 14:30:15 +08:00
|
|
|
SELECT distinct MAIN.*, TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) RECEIVETIME, TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) MAKEDATE, '1' RECEIVEREQUESTDETAILNAME, '是' IS_BATCH,
|
|
|
|
m.MATERIALSPECNAME, m.SITENAME, m.ERPLOCATION, m.LOCATIONNAME, m.MATERIALUNIT, m.SDK_ID,
|
|
|
|
m.REMARK REMARK, m.SALESMAN SALESPERSON, m.SALESASSISTANT CAREER_ASSISTANCE, m.BUSINESSDIVISION BUSINESS_UNIT,
|
|
|
|
m2.STOCKORGNO AS ERPFACTORY, m2.SUPPLIERNO,
|
|
|
|
m3.WIDTH AS DESCRIPTION, m3.MATERIALUNITDESC, m3.WIDTH SPECNAME, m3.PHASE, m3.DESC_CN, DECODE( m3.IS_BATCH, 'Y', '是' , '否' ) IS_BATCH,
|
|
|
|
CASE WHEN m3.EXPIRATION_RULES = '0' THEN '入厂保质期' WHEN m3.EXPIRATION_RULES = '1' THEN '出厂保质期' ELSE '未定义' END AS REPLACED_VALUE,
|
|
|
|
DECODE( m4.IQCFLAG, 'Y', '是', '否' ) IQCFLAG,
|
|
|
|
be.DESCRIPTION AS ERPLOCATION2, o.ORGNAME AS ERPFACTORY2, sss.DESCRIPTION AS LOCATIONNAME2,
|
|
|
|
NVL( BB.QTY, 0 ) CREATEQTY, NVL( AA.QTY, 0 ) STOCKINQTY
|
|
|
|
FROM MAIN
|
|
|
|
LEFT JOIN MATERIALRECEIVEREQUESTDETAIL m ON MAIN.MATERIALSPECNAME = m.MATERIALSPECNAME
|
2025-03-26 17:40:01 +08:00
|
|
|
LEFT JOIN MATERIALRECEIVEREQUEST m2 ON m.RECEIVEREQUESTNAME = m2.RECEIVEREQUESTNAME
|
|
|
|
LEFT JOIN MATERIALSPEC m3 ON m.MATERIALSPECNAME = m3.MATERIALSPECNAME
|
|
|
|
LEFT JOIN BS_MATERIALFACTORY m4 ON m.MATERIALSPECNAME = m4.MATERIALSPECNAME AND m.ERPFACTORY = m4.ERPFACTORY
|
|
|
|
LEFT JOIN SUPPLIER S ON m2.SUPPLIERNO = S.SUPPLIERNO
|
|
|
|
LEFT JOIN BS_ERPLOCATION be ON m.ERPLOCATION = be.ERPLOCATIONNAME
|
|
|
|
LEFT JOIN ORG o ON o.ORGNO = m2.STOCKORGNO
|
|
|
|
LEFT JOIN STORAGESPEC sss ON m.LOCATIONNAME = sss.STORAGENAME
|
|
|
|
LEFT JOIN AA ON AA.RECEIVEREQUESTNAME = m.RECEIVEREQUESTNAME
|
|
|
|
AND AA.MATERIALSPECNAME = m.MATERIALSPECNAME
|
|
|
|
AND AA.SDK_ID = m.SDK_ID AND AA.PHASE = m3.PHASE
|
|
|
|
LEFT JOIN BB ON BB.RECEIVEREQUESTNAME = m.RECEIVEREQUESTNAME
|
|
|
|
AND BB.MATERIALSPECNAME = m.MATERIALSPECNAME
|
|
|
|
AND BB.SDK_ID = m.SDK_ID
|
|
|
|
AND BB.PHASE = m3.PHASE
|
|
|
|
WHERE ( m2.RETURNFLAG IS NULL OR m2.RETURNFLAG != 'Y' )
|
|
|
|
AND m.RECEIVEREQUESTNAME in
|
|
|
|
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
|
|
|
#{name}
|
|
|
|
</foreach>
|
|
|
|
AND m.SITENAME = #{siteName}
|
|
|
|
AND m2.RECEIVEREQUESTTYPE IN ( 'ZK4A', '45', '4C', 'Z001', 'Z002', 'Z003', 'Z004' )
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- GetPackingRow xh002 -->
|
|
|
|
<select id="getStoreCharge" resultType="map">
|
|
|
|
SELECT ROWNUM SEQ, TTT.*
|
|
|
|
FROM (
|
|
|
|
SELECT A.RECEIVEREQUESTNAME, A.SITENAME, A.MATERIALPACKINGNAME, A.MATERIALSPECNAME, A.ERPLOCATION, A.ERPFACTORY,
|
|
|
|
A.LOCATIONNAME, A.CHARGE, A.REMARK, B.DESC_CN, B.DESCRIPTION, A.SDK_ID, SS.SPECNAME, A.PHASE,
|
|
|
|
A.MATERIALQUANTITY, M.FNAME UNIT, BE.DESCRIPTION ERPLOCATIONDESC, S.DESCRIPTION LOCATIONNAMEDESC,
|
|
|
|
A.ERPFACTORY ERPFACTROY, o.ORGNAME ERPFACTROYDESC, A.SUPPLIERNAME SUPPLIERNO
|
|
|
|
FROM MATERIALPACKING A
|
|
|
|
LEFT JOIN MATERIALSPEC B ON A.MATERIALSPECNAME = B.MATERIALSPECNAME
|
|
|
|
LEFT JOIN SDK_SPEC SS ON A.SDK_ID = SS.SDK_ID
|
|
|
|
LEFT JOIN BS_ERPLOCATION BE ON BE.ERPLOCATIONNAME = A.ERPLOCATION
|
|
|
|
LEFT JOIN STORAGESPEC S ON S.STORAGENAME = A.LOCATIONNAME
|
|
|
|
LEFT JOIN ORG o ON o.ORGNO = A.ERPFACTORY
|
|
|
|
LEFT JOIN MATERIALUNIT M ON M.FNUMBER = A.UNIT
|
|
|
|
WHERE A.SITENAME = #{siteName}
|
|
|
|
AND A.RECEIVEREQUESTNAME in
|
|
|
|
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
|
|
|
#{name}
|
|
|
|
</foreach>
|
|
|
|
AND A.STOCKSTATE = 'Created'
|
|
|
|
ORDER BY A.MATERIALSPECNAME, A.SDK_ID, A.PHASE
|
|
|
|
) TTT
|
|
|
|
</select>
|
|
|
|
|
2025-03-31 15:02:54 +08:00
|
|
|
<select id="getByKey" resultType="com.cim.idm.model.po.MaterialReceiveRequest">
|
2025-03-31 14:30:15 +08:00
|
|
|
SELECT SITENAME, RECEIVEREQUESTNAME, RECEIVEREQUESTTYPE, PURCHASEORDERGROUP, RECEIVEREQUESTSTATE, SUPPLIERNO,
|
|
|
|
OEMSITENAME, OEMSITEINCHARGE, SYSTEMTYPE, LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER,
|
|
|
|
LASTEVENTCOMMENT, ERPPONAME, SAVEREASON, RESPPERSON, RESPDEPART, SOLVETIME, PASSSTATE, WORKER, SDK_ID,
|
|
|
|
ERPID, REMARK, PURCHASER, PURORGNO, ORDERDATE, CLOSERUSER, CLOSEDATE, STOCKORGNO, RETURNFLAG,
|
|
|
|
RECEIVEREQUESTDETAILTYPE, ERPLOCATION, PRODUCTDEPTNO, SOURCEBILLID, EFFECTIVESTARTTIME, EFFECTIVEENDTIME,
|
|
|
|
DELIVERYNAME
|
2025-03-26 17:40:01 +08:00
|
|
|
FROM MATERIALRECEIVEREQUEST
|
|
|
|
WHERE SITENAME = #{siteName}
|
|
|
|
AND RECEIVEREQUESTNAME = #{receiveRequestName}
|
|
|
|
</select>
|
|
|
|
|
2025-03-31 15:02:54 +08:00
|
|
|
<select id="getReceiveByDelivery" resultType="com.cim.idm.model.po.MaterialReceiveRequest">
|
2025-03-31 14:30:15 +08:00
|
|
|
SELECT SITENAME, RECEIVEREQUESTNAME, RECEIVEREQUESTTYPE, PURCHASEORDERGROUP, RECEIVEREQUESTSTATE, SUPPLIERNO,
|
|
|
|
OEMSITENAME, OEMSITEINCHARGE, SYSTEMTYPE, LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER,
|
|
|
|
LASTEVENTCOMMENT, ERPPONAME, SAVEREASON, RESPPERSON, RESPDEPART, SOLVETIME, PASSSTATE, WORKER, SDK_ID,
|
|
|
|
ERPID, REMARK, PURCHASER, PURORGNO, ORDERDATE, CLOSERUSER, CLOSEDATE, STOCKORGNO, RETURNFLAG,
|
|
|
|
RECEIVEREQUESTDETAILTYPE, ERPLOCATION, PRODUCTDEPTNO, SOURCEBILLID, EFFECTIVESTARTTIME, EFFECTIVEENDTIME,
|
|
|
|
DELIVERYNAME
|
2025-03-26 17:40:01 +08:00
|
|
|
FROM MATERIALRECEIVEREQUEST
|
|
|
|
WHERE SITENAME = #{siteName}
|
|
|
|
AND DELIVERYNAME = #{receiveRequestName}
|
|
|
|
</select>
|
2025-03-31 14:31:16 +08:00
|
|
|
|
2025-03-31 15:02:54 +08:00
|
|
|
<select id="getReceiveDetail" resultType="com.cim.idm.model.po.MaterialReceiveRequestDetail">
|
2025-03-31 14:31:16 +08:00
|
|
|
SELECT SITENAME, RECEIVEREQUESTNAME, RECEIVEREQUESTDETAILNAME, POCATEGORY, RECEIVEREQUESTDETAILTYPE,
|
|
|
|
MATERIALSPECNAME, DESCRIPTION, REQUESTQUANTITY, RECEIVEDQUANTITY, ERPLOCATION, RETURNFLAG, FREEFLAG,
|
|
|
|
RECEIVEREQUESTDETAILSTATE, HOLDSTATE, IQCFLAG, PLANDATE, CREATEUSER, CREATETIME, CHARGE, ERPFACTORY,
|
|
|
|
LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER, LASTEVENTCOMMENT, SDK_ID, MATERIALUNIT,
|
|
|
|
STATE, PHASE, ERPDETAILID, SOURCELINEID, APPLICANT, INNERORDER, ERPPONAME, INNERFLAG, SUPPLIERCHARGE,
|
|
|
|
FORCECOMPLETEDFLAG, ERPPODETAILNAME, TRANFERTYPE, PRTBARCODEQTY, LOCATIONNAME, DELETEDETAILFLAG,
|
|
|
|
PRODUCTORDER, PLANORDER, REMARK, SALESMAN, SALESASSISTANT, BUSINESSDIVISION, FINISHFLAG, COSTCENTER,
|
|
|
|
ORDERCHANGEDATE, WMSRETURNCHARGENO, PURCHASEREQUESTNOTE, PURCHASEREQUESTNO, PURCHASEREQUESTDETAILNO
|
|
|
|
FROM MATERIALRECEIVEREQUESTDETAIL
|
|
|
|
WHERE RECEIVEREQUESTNAME in
|
|
|
|
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
|
|
|
#{name}
|
|
|
|
</foreach>
|
|
|
|
order by RECEIVEREQUESTNAME
|
|
|
|
</select>
|
2025-03-26 09:06:23 +08:00
|
|
|
</mapper>
|