51 lines
2.2 KiB
SQL
51 lines
2.2 KiB
SQL
--需求数量,未领数量,已领数量
|
|
/* 根据生产订单号,销售订单号,物料进行筛选对应的物料*/
|
|
SELECT
|
|
t0.FBILLNO
|
|
,t0.FID
|
|
,t0e.FQTY
|
|
,t0e.FENTRYID
|
|
,t0e.FMATERIALID
|
|
,t0e_a.FREPQUAQTY
|
|
--,t0e_a.FREQSRC --1.销售订单
|
|
,(CASE WHEN t1e.FSRCBILLNO is null THEN (CASE t0e_a.FREQSRC WHEN 1 THEN t0e.FSALEORDERNO ELSE '' END) ELSE t1e.FSRCBILLNO END) AS 'FSALEORDERNO'
|
|
INTO #TEMPMO
|
|
FROM
|
|
T_PRD_MO t0
|
|
INNER JOIN T_PRD_MOENTRY t0e ON t0.FID = t0E.FID
|
|
INNER JOIN T_PRD_MOENTRY_A t0e_a ON t0e_a.FENTRYID = t0e.FENTRYID
|
|
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t1e on t1e.FENTRYID = t0e.FSRCBILLENTRYID AND t0e.FSRCBILLID = t0e.FSALEORDERID
|
|
WHERE 1 = 1
|
|
AND t0.FDOCUMENTSTATUS = 'C'
|
|
AND (t0e_a.FSTATUS < 5)
|
|
--AND t0e.FMATERIALID = 100258
|
|
AND t0.FBILLNO = 'MO000023'
|
|
|
|
SELECT
|
|
t0.FMATERIALID AS 'ProMateralId'
|
|
,t1e.FMATERIALID
|
|
,t1e_c.FSTOCKID
|
|
--,t1.FBILLNO
|
|
,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--基本单位已领数量
|
|
,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--基本单位已领数量
|
|
,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--基本单位未领数量
|
|
,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOIDS'
|
|
,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FENTRYID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOENTRYIDS'
|
|
,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FBILLNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MONOS'
|
|
,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FSALEORDERNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID AND tt.FSALEORDERNO !='' for xml path('')),1,1,''),'') AS 'SALENOS'
|
|
INTO #TEMPMOQTY
|
|
FROM #TEMPMO t0
|
|
INNER JOIN T_PRD_PPBOMENTRY t1e ON t1e.FMOENTRYID = t0.FENTRYID --生产用料清单表体
|
|
INNER JOIN T_PRD_PPBOMENTRY_Q t1e_q ON t1e_q.FENTRYID = t1e.FENTRYID
|
|
INNER JOIN T_PRD_PPBOMENTRY_C t1e_c ON t1e_c.FENTRYID = t1e.FENTRYID
|
|
GROUP BY
|
|
t0.FMATERIALID,t1e.FMATERIALID,t1e_c.FSTOCKID
|
|
|
|
SELECT t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS
|
|
--INTO #TEMPMONO2Pro
|
|
FROM #TEMPMOQTY t0
|
|
GROUP BY t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS
|
|
|
|
DROP TABLE #TEMPMO
|
|
--DROP TABLE #TMPLIST
|