feat 合并物料明细

This commit is contained in:
Amjacks 2025-03-31 14:30:15 +08:00
parent 371d1db0b3
commit e9514e252d

View File

@ -49,22 +49,31 @@
#{name}
</foreach>
GROUP BY m5.MATERIALSPECNAME, m5.RECEIVEREQUESTNAME, m5.SDK_ID, m5.phase
)
SELECT m3.WIDTH AS DESCRIPTION, be.DESCRIPTION AS ERPLOCATION2, m.ERPLOCATION, o.ORGNAME AS ERPFACTORY2,
m2.STOCKORGNO AS ERPFACTORY, sss.DESCRIPTION AS LOCATIONNAME2, m.LOCATIONNAME, m2.SUPPLIERNO,
'1' RECEIVEREQUESTDETAILNAME, SUM( m.REQUESTQUANTITY ) REQUESTQUANTITY, SUM( m.RECEIVEDQUANTITY ) RECEIVEDQUANTITY,
),
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, NVL( MAX( BB.QTY ), 0 ) CREATEQTY,
NVL( MAX( AA.QTY ), 0 ) STOCKINQTY, m3.DESC_CN, m.MATERIALUNIT, M3.MATERIALUNITDESC,
CASE WHEN m3.EXPIRATION_RULES = '0' THEN '入厂保质期'
WHEN m3.EXPIRATION_RULES = '1' THEN '出厂保质期' ELSE '未定义'
END AS REPLACED_VALUE,
m.SDK_ID, m3.WIDTH SPECNAME, m3.PHASE, m.MATERIALSPECNAME, m.SITENAME, m.RECEIVEREQUESTNAME,
DECODE( m3.IS_BATCH, 'Y', '是' '否' ) IS_BATCH, '是' IS_BATCH, DECODE( m4.IQCFLAG, 'Y', '是' '否' ) IQCFLAG,
max( m.REMARK ) REMARK, max( m.SALESMAN ) SALESPERSON, max( m.SALESASSISTANT ) CAREER_ASSISTANCE,
max( m.BUSINESSDIVISION ) BUSINESS_UNIT, TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) RECEIVETIME,
TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) MAKEDATE
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
)
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
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
@ -118,14 +127,24 @@
</select>
<select id="getByKey" resultType="com.cim.idm.model.MaterialReceiveRequest">
SELECT *
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
FROM MATERIALRECEIVEREQUEST
WHERE SITENAME = #{siteName}
AND RECEIVEREQUESTNAME = #{receiveRequestName}
</select>
<select id="getReceiveByDelivery" resultType="com.cim.idm.model.MaterialReceiveRequest">
SELECT *
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
FROM MATERIALRECEIVEREQUEST
WHERE SITENAME = #{siteName}
AND DELIVERYNAME = #{receiveRequestName}