This commit is contained in:
PastSaid
2023-12-14 10:31:17 +08:00
parent 6d521d4bf9
commit a44ce28933
10 changed files with 673 additions and 83 deletions

View File

@@ -1,48 +1,86 @@
declare @LCID int
set @LCID = 2052
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
,b.FBILLNO
--,'' AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,AE.FMATERIALID
,AE.FENTRYID
,C_L.FNAME AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,C_L.FSPECIFICATION AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>'
--,(CASE
-- FEXPUNIT
-- CS.FEXPUNIT
-- WHEN 'Y' THEN
-- CONVERT ( VARCHAR, BA.FEXPPERIOD ) + '<27><>'
-- CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) ) + '<27><>'
-- WHEN 'M' THEN
-- CONVERT ( VARCHAR, ba.FEXPPERIOD) + '<27><>'
-- CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) /12 ) + '<27><>'
-- WHEN 'D' THEN
-- CONVERT ( VARCHAR, ba.FEXPPERIOD ) + '<27><>' ELSE ''
--END) as '<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>'
--,'' as '<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,'' as 'ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,'' as '<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,'' as '<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>ֵ'
--,a.FUNITID
--,'' as '<EFBFBD><EFBFBD>λ'
--,'' as '<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,BA.FSAFESTOCK AS '<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,AE.m01 as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,AE.s01 as 'ǰ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,AE.s02 as 'ǰ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,AE.s03 as 'ǰһ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,EE_A.FSTOCKINQUAAUXQTY as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,'' as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,(EE_A.FSTOCKINQUAAUXQTY + 0) as '<EFBFBD>ϼƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,'' as '<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,DE.FQTY AS '<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
-- CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) /365) + '<27><>' ELSE ''
--END) AS '<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>'
,(CASE
CS.FEXPUNIT
WHEN 'Y' THEN
CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) * 12 ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN 'M' THEN
CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN 'D' THEN
CONVERT ( VARCHAR, CAST(CS.FEXPPERIOD AS INT) / 365 * 12) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ELSE ''
END) AS '<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>'
--,'' AS '<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,CP.FLOTYIELD AS 'ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,CP.FPACKUNITCONVERRATIO AS '<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,CP.FPACKUNITCONVERRATIO AS '<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>'
--,CP.FPACKUNITID AS '<EFBFBD><EFBFBD>λ'
,CS.FSTOREUNITID AS '<EFBFBD><EFBFBD>λ'
,'' AS '<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,CAST(CS.FSAFESTOCK AS INT) AS '<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,AE.FSEQ
--,AE.M01 AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,AE.S01 AS 'ǰ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,AE.S02 AS 'ǰ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,AE.S03 AS 'ǰһ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,'' AS 'ǰ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,'' AS 'ǰ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,'' AS 'ǰһ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,DE.FSRCBILLNO
--,EE_A.FSTOCKINQUAAUXQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,(EE_A.FSTOCKINQUAAUXQTY + 0) AS '<EFBFBD>ϼƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,'' AS '<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,(B.PlanQty / CP.FPACKUNITCONVERRATIO)AS 'ϵͳ<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,(B.VerifyQty / CP.FPACKUNITCONVERRATIO) AS 'ȷ<EFBFBD>ϼƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,B.VerifyQty AS 'ȷ<EFBFBD>ϼƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,DE.FREMARK AS '<EFBFBD><EFBFBD>ע'
FROM
T_PLN_FORECAST A --Ԥ<EFBFBD>
left join T_PLN_FORECASTENTRY AE on a.FID = ae.FID
left join T_PLN_PLANORDER_B B_b on ae.FENTRYID = b_b.FSALEORDERENTRYID and a.FID = b_b.FSALEORDERID
left join T_PLN_PLANORDER B on b.FID = b_b.FID
--T_PLN_PLANORDER A --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--LEFT JOIN T_BD_MATERIAL B ON A.FMATERIALID = B.FMATERIALID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--LEFT JOIN T_BD_MATERIALSTOCK BA ON BA.FMATERIALID = B.FMATERIALID
--LEFT JOIN T_PLN_FORECASTENTRY DE ON DE.FMATERIALID = B.FMATERIALID --Ԥ<EFBFBD>
--left join T_PLN_FORECAST d on de.FID = d.FID
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 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--LEFT JOIN T_PRD_MOENTRY_A EE_A ON EE_A.FENTRYID = EE.FENTRYID AND EE.FID =EE_A.FID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
where a.fdate ='2023-12-01'
-- A.FRELEASETYPE = 1
WHERE
A.FDATE BETWEEN @STARTDATE AND @ENDDATE