DECLARE @DATE DATE,@STARTDATE DATETIME ,@ENDDATE DATETIME SET @DATE = '2023-12-15' SELECT @STARTDATE = DATEADD(MONTH, DATEDIFF(MONTH, 0, @DATE), 0) ,@ENDDATE = DATEADD(MS,-3, DATEADD(MONTH, DATEDIFF(MONTH, 0, DATEADD(MONTH, 1, @DATE)), 0)) DECLARE @LCID INT SET @LCID = 2052 SELECT A.FBILLNO ,AE.FMATERIALID ,AE.FENTRYID ,C_L.FNAME AS '产品名称' ,C_L.FSPECIFICATION AS '规格型号' --,(CASE -- CS.FEXPUNIT -- WHEN 'Y' THEN -- CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) ) + '年' -- WHEN 'M' THEN -- CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) /12 ) + '年' -- WHEN 'D' THEN -- CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) /365) + '年' ELSE '' --END) AS '有效期' ,(CASE CS.FEXPUNIT WHEN 'Y' THEN CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) * 12 ) + '个月' WHEN 'M' THEN CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) ) + '个月' WHEN 'D' THEN CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) / 365 * 12) + '个月' ELSE '' END) AS '有效期' --,'' AS '标准批量' --,CP.FLOTYIELD AS '每批产量' --,CP.FPACKUNITCONVERRATIO AS '包装规格' --,CP.FPACKUNITCONVERRATIO AS '包装规格-换算' --,CP.FPACKUNITID AS '单位' ,CS.FSTOREUNITID AS '单位' ,'' AS '安全库存量(件)' ,CAST(CS.FSAFESTOCK AS INT) AS '安全库存数量' ,AE.FSEQ --,AE.M01 AS '本月预计需求量' --,AE.S01 AS '前三月发货量' --,AE.S02 AS '前二月发货量' --,AE.S03 AS '前一月发货量' ,'' AS '前三月发货量' ,'' AS '前二月发货量' ,'' AS '前一月发货量' --,DE.FSRCBILLNO --,EE_A.FSTOCKINQUAAUXQTY AS '已入库量' --,'' AS '在生产量' --,(EE_A.FSTOCKINQUAAUXQTY + 0) AS '合计库存量' --,'' AS '计划生产批数' --,(B.PlanQty / CP.FPACKUNITCONVERRATIO)AS '系统计划生产批数' --,(B.VerifyQty / CP.FPACKUNITCONVERRATIO) AS '确认计划生产批数' ,B.VerifyQty AS '确认计划生产量' --,DE.FREMARK AS '备注' FROM T_PLN_FORECAST A --预测单 LEFT JOIN T_PLN_FORECASTENTRY AE ON A.FID = AE.FID LEFT JOIN ( SELECT A.FMATERIALID ,A_B.FSALEORDERENTRYID ,SUM(case when A.FRELEASESTATUS = 1 then A.FDemandQty else 0 end) as 'PlanQty' ,SUM(case when A.FRELEASESTATUS = 2 then A.FDemandQty else 0 end) as 'VerifyQty' FROM T_PLN_PLANORDER A LEFT JOIN T_PLN_PLANORDER_B A_B ON A.FID = A_B.FID WHERE A.FRELEASETYPE = 1 AND (A.FRELEASESTATUS = 1 OR A.FRELEASESTATUS = 2 ) group By A.FRELEASETYPE ,A.FMATERIALID ,A_B.FSALEORDERENTRYID ) B ON B.FSALEORDERENTRYID = AE.FENTRYID LEFT JOIN T_BD_MATERIAL C ON C.FMATERIALID = AE.FMATERIALID LEFT JOIN T_BD_MATERIAL_L C_L ON C_L.FMATERIALID = AE.FMATERIALID LEFT JOIN T_BD_MATERIALSTOCK CS ON CS.FMATERIALID = AE.FMATERIALID LEFT JOIN T_BD_MATERIALPRODUCE CP ON CP.FMATERIALID = C.FMATERIALID --LEFT JOIN T_PRD_MOENTRY_LK DE_LK ON DE_LK.FSID = B.FID --LEFT JOIN T_PRD_MOENTRY DE ON DE.FENTRYID = DE_LK.FENTRYID --LEFT JOIN T_PRD_MOENTRY EE ON EE.FMATERIALID = B.FMATERIALID --生产订单 --LEFT JOIN T_PRD_MOENTRY_A EE_A ON EE_A.FENTRYID = EE.FENTRYID AND EE.FID =EE_A.FID --生产订单 WHERE A.FDATE BETWEEN @STARTDATE AND @ENDDATE