1
This commit is contained in:
@@ -1,45 +0,0 @@
|
||||
|
||||
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_INQUIRE_PLANPLMRPT')
|
||||
DROP PROCEDURE dbo.PROC_INQUIRE_PLANPLMRPT;
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE PROC_INQUIRE_PLANPLMRPT
|
||||
@TableName varchar(100)
|
||||
,@LCID int
|
||||
,@SeqFld varchar(200)
|
||||
,@year int
|
||||
,@month int
|
||||
,@HasId int out
|
||||
AS
|
||||
BEGIN
|
||||
set @hasId = 0;
|
||||
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_PLAN_PLANPLMRPT]') AND type IN ('U'))
|
||||
BEGIN
|
||||
SELECT
|
||||
@HasId = COUNT(A.FID)
|
||||
FROM
|
||||
T_PLAN_PLANPLMRPT A
|
||||
WHERE
|
||||
A.FRECORDMONTH = @month AND A.FRECORDYEAR = @year
|
||||
END
|
||||
if @hasId > 0
|
||||
begin
|
||||
SELECT
|
||||
*
|
||||
into #TMPMPS
|
||||
FROM
|
||||
T_PLAN_PLANPLMRPT A
|
||||
WHERE
|
||||
A.FRECORDMONTH = @month AND A.FRECORDYEAR = @year
|
||||
|
||||
DECLARE @SQL VARCHAR(2000)
|
||||
SET @sql = '
|
||||
select
|
||||
t0.*
|
||||
,'+@SeqFld+'
|
||||
into '+ @TableName +' From #TMPMPS t0 '
|
||||
|
||||
EXECUTE(@sql)
|
||||
DROP TABLE #TMPMPS
|
||||
end
|
||||
END
|
||||
@@ -1,27 +0,0 @@
|
||||
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_ProductionSchedule')
|
||||
DROP PROCEDURE dbo.PROC_ProductionSchedule;
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE PROC_ProductionSchedule
|
||||
@TableName varchar(100)
|
||||
,@STARTDATE date
|
||||
,@ENDDATE date
|
||||
,@LCID int
|
||||
,@SeqFld varchar(200)
|
||||
,@year int
|
||||
,@month int
|
||||
,@HasId int output
|
||||
AS
|
||||
BEGIN
|
||||
set @HasId = 0
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_PLAN_PLANPLMRPT]') AND type IN ('U'))
|
||||
BEGIN
|
||||
EXEC PROC_INQUIRE_PLANPLMRPT @TableName,@LCID,@SeqFld,@year,@month, @HasId
|
||||
END
|
||||
|
||||
IF @HasId = 0
|
||||
BEGIN
|
||||
EXEC PROC_INQUIRPLMTMPRTP @TableName,@STARTDATE,@ENDDATE,@LCID,@SeqFld
|
||||
END
|
||||
END
|
||||
@@ -1,162 +0,0 @@
|
||||
|
||||
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_INQUIRPLMTMPRTP')
|
||||
DROP PROCEDURE dbo.PROC_INQUIRPLMTMPRTP;
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE PROC_INQUIRPLMTMPRTP
|
||||
@TableName varchar(100)
|
||||
,@STARTDATE date
|
||||
,@ENDDATE date
|
||||
,@LCID int
|
||||
,@SeqFld varchar(200)
|
||||
AS
|
||||
BEGIN
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>㱨<EFBFBD><EFBFBD>start
|
||||
SELECT
|
||||
AE.FSRCBILLNO
|
||||
,AE.FMATERIALID
|
||||
,AE.FSALEORDERENTRYID
|
||||
,AE.FSALEORDERENTRYSEQ
|
||||
,SUM(AE.FQTY) AS FQTY
|
||||
,SUM(B.FFINISHQTY) AS FFINISHQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
into #TMP_MO_INFO
|
||||
FROM
|
||||
T_PRD_MO A
|
||||
LEFT JOIN T_PRD_MOENTRY AE ON A.FID = AE.FID
|
||||
LEFT JOIN T_PRD_MOENTRY_A AE_A ON AE_A.FENTRYID = AE.FENTRYID
|
||||
LEFT JOIN (SELECT
|
||||
A.FBILLTYPE --50fa7c2eda7947b89fab5431bf25d48e <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨 e52b554423704173b7306554708a8b05 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨
|
||||
,AE.FMOENTRYID
|
||||
,FFINISHQTY
|
||||
FROM
|
||||
T_PRD_MORPT A
|
||||
LEFT JOIN T_PRD_MORPTENTRY AE ON AE.FID = A.FID
|
||||
WHERE A.FDOCUMENTSTATUS='C' AND A.FBILLTYPE = '50fa7c2eda7947b89fab5431bf25d48e'
|
||||
) B on B.FMOENTRYID = AE.FENTRYID
|
||||
WHERE
|
||||
AE.FSRCBILLTYPE ='PLN_PLANORDER'
|
||||
AND AE_A.FSTATUS <> 6
|
||||
AND AE.FSALEORDERENTRYID <> 0
|
||||
AND A.FDATE between @STARTDATE and @ENDDATE
|
||||
GROUP BY
|
||||
AE.FSRCBILLNO
|
||||
,AE.FMATERIALID
|
||||
,AE.FSALEORDERENTRYID
|
||||
,AE.FSALEORDERENTRYSEQ
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>㱨<EFBFBD><EFBFBD>end
|
||||
|
||||
|
||||
--<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start
|
||||
SELECT
|
||||
A.FID
|
||||
,A.FBILLNO
|
||||
,A.FMATERIALID
|
||||
,A_B.FSALEORDERENTRYID
|
||||
,SUM(A.FFirmQty) as 'FFirmQty'
|
||||
,SUM(A.FORDERQTY) as 'FOrderQty'
|
||||
into #TMP_PLN_INFO
|
||||
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.FID
|
||||
,A.FBILLNO
|
||||
,A.FRELEASETYPE
|
||||
,A.FMATERIALID
|
||||
,A_B.FSALEORDERENTRYID
|
||||
--<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end
|
||||
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start
|
||||
SELECT
|
||||
A.FID
|
||||
,A.FBILLNO
|
||||
,AE.FMATERIALID
|
||||
,AE.FENTRYID
|
||||
,C.FNUMBER
|
||||
,C_L.FNAME
|
||||
,C_L.FSPECIFICATION
|
||||
,(CASE CS.FEXPPERIOD
|
||||
WHEN 0 THEN ''
|
||||
ELSE
|
||||
CASE
|
||||
CS.FEXPUNIT
|
||||
WHEN 'Y' THEN
|
||||
CONVERT ( VARCHAR,CAST((CS.FEXPPERIOD * 12) AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHEN 'M' THEN
|
||||
CONVERT ( VARCHAR,CAST(CS.FEXPPERIOD AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHEN 'D' THEN
|
||||
CONVERT ( VARCHAR, CAST((
|
||||
CASE CS.FEXPPERIOD % 30 WHEN 0 THEN CS.FEXPPERIOD / 30 ELSE CS.FEXPPERIOD / 365 * 12 END
|
||||
) AS INT)) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ELSE ''
|
||||
END
|
||||
END) AS 'SHELFLIFE'
|
||||
,C.FLotSize AS StandardLot
|
||||
,CS.FSAFESTOCK AS SAFESTOCK --<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,CS.FSTOREUNITID --<EFBFBD><EFBFBD><EFBFBD>浥λ
|
||||
,(PackageValConver(CS.FSAFESTOCK, CP.FPACKUNITCONVERRATIO)) AS SAFESTOCKCOUNT
|
||||
,CP.FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,CP.FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
|
||||
,CP.FPACKUNITID -- '<27><>λ'
|
||||
,PackageValConver(AE.M01,CP.FPACKUNITCONVERRATIO) as M01
|
||||
,PackageValConver(AE.S01,CP.FPACKUNITCONVERRATIO) as S01
|
||||
,PackageValConver(AE.S02,CP.FPACKUNITCONVERRATIO) as S02
|
||||
,PackageValConver(AE.S03,CP.FPACKUNITCONVERRATIO) as S03
|
||||
,PackageValConver((ISNULL(D.FQTY,0) - ISNULL(D.FFINISHQTY,0)),CP.FPACKUNITCONVERRATIO) AS InProductionQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,PackageValConver(ISNULL(E.FQTY,0),CP.FPACKUNITCONVERRATIO) AS InStockQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,PackageValConver((ISNULL(D.FQTY,0) + ISNULL(E.FQTY,0)),CP.FPACKUNITCONVERRATIO) AS TotalStockQty --<EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,PackageValConver(B.FOrderQty,CP.FPACKUNITCONVERRATIO) AS OrderLotQty --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,B.FFirmQty
|
||||
,B.FOrderQty
|
||||
into #TMPMPS
|
||||
FROM
|
||||
T_PLN_FORECAST A
|
||||
LEFT JOIN T_PLN_FORECASTENTRY AE ON A.FID = AE.FID
|
||||
RIGHT JOIN #TMP_PLN_INFO B ON B.FSALEORDERENTRYID = AE.FENTRYID
|
||||
LEFT JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL_L C_L ON C_L.FMATERIALID = B.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIALSTOCK CS ON CS.FMATERIALID = B.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIALPRODUCE CP ON CP.FMATERIALID = B.FMATERIALID
|
||||
LEFT JOIN #TMP_MO_INFO D on D.FSRCBILLNO = B.FBILLNO AND D.FSALEORDERENTRYID = AE.FENTRYID AND D.FSALEORDERENTRYSEQ = AE.FSEQ
|
||||
LEFT JOIN (SELECT
|
||||
A.FMATERIALID
|
||||
,A.FSTOCKORGID
|
||||
,SUM(A1.FQTY) AS FQTY
|
||||
FROM T_STK_INVENTORY A
|
||||
LEFT JOIN T_STK_INVINITDETAIL A1 on A.FMATERIALID = A1.FMATERIALID AND A.Fstockid = A1.FSTOCKID
|
||||
group by A.FMATERIALID,A.FSTOCKORGID
|
||||
) E on E.FMATERIALID = B.FMATERIALID
|
||||
WHERE
|
||||
--A.FDATE BETWEEN '2023-12-01 00:00:00' AND '2023-12-31 23:59:59'
|
||||
A.FDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>λ
|
||||
ALTER TABLE #TMPMPS ADD FSTOREUNITNAME VARCHAR(50)
|
||||
UPDATE #TMPMPS SET #TMPMPS.FSTOREUNITNAME = B_L.FNAME FROM T_BD_UNIT_L B_L WHERE B_L.FUNITID = #TMPMPS.FSTOREUNITID
|
||||
|
||||
ALTER TABLE #TMPMPS ADD FPACKUNITNAME VARCHAR(50)
|
||||
UPDATE #TMPMPS SET #TMPMPS.FPACKUNITNAME = B_L.FNAME FROM T_BD_UNIT_L B_L WHERE B_L.FUNITID = #TMPMPS.FPACKUNITID
|
||||
|
||||
ALTER TABLE #TMPMPS ADD FPACKUNITCONVT VARCHAR(100)
|
||||
UPDATE T SET T.FPACKUNITCONVT = CONCAT(CONVERT(VARCHAR,T.FPACKUNITCONVERRATIO),T.FSTOREUNITNAME,'/',T.FPACKUNITNAME) FROM #TMPMPS T
|
||||
|
||||
--ALTER TABLE #TMPMPS ADD TotalStockQty decimal(23,6)
|
||||
--UPDATE T SET T.TotalStockQty = T.InProductionQty +T.InStockQty FROM #TMPMPS T
|
||||
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end
|
||||
|
||||
DECLARE @SQL VARCHAR(2000)
|
||||
SET @sql = N'
|
||||
select
|
||||
t0.*
|
||||
,'+@SeqFld+'
|
||||
into '+ @TableName +' From #TMPMPS t0 '
|
||||
EXECUTE(@sql)
|
||||
|
||||
DROP TABLE #TMPMPS
|
||||
DROP TABLE #TMP_PLN_INFO
|
||||
DROP TABLE #TMP_MO_INFO
|
||||
END
|
||||
162
MonthlyProductionSchedule/SQLServer/生产计划表1.0/月度生产计划表-预测单.sql
Normal file
162
MonthlyProductionSchedule/SQLServer/生产计划表1.0/月度生产计划表-预测单.sql
Normal file
@@ -0,0 +1,162 @@
|
||||
|
||||
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_INQUIRPLMTMPRTP')
|
||||
DROP PROCEDURE dbo.PROC_INQUIRPLMTMPRTP;
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE PROC_INQUIRPLMTMPRTP
|
||||
@TableName varchar(100)
|
||||
,@STARTDATE date
|
||||
,@ENDDATE date
|
||||
,@LCID int
|
||||
,@SeqFld varchar(200)
|
||||
AS
|
||||
BEGIN
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>㱨<EFBFBD><EFBFBD>start
|
||||
SELECT
|
||||
t0E.FSRCBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FSALEORDERENTRYID
|
||||
,t0E.FSALEORDERENTRYSEQ
|
||||
,SUM(t0E.FQTY) AS FQTY
|
||||
,SUM(t1.FFINISHQTY) AS FFINISHQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
into #TMP_MO_INFO
|
||||
FROM
|
||||
T_PRD_MO t0
|
||||
LEFT JOIN T_PRD_MOENTRY t0E ON t0.FID = t0E.FID
|
||||
LEFT JOIN T_PRD_MOENTRY_A t0E_A ON t0E_A.FENTRYID = t0E.FENTRYID
|
||||
LEFT JOIN (SELECT
|
||||
t0.FBILLTYPE --50fa7c2eda7947b89fab5431bf25d48e <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨 e52b554423704173b7306554708a8b05 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨
|
||||
,t0E.FMOENTRYID
|
||||
,FFINISHQTY
|
||||
FROM
|
||||
T_PRD_MORPT t0
|
||||
LEFT JOIN T_PRD_MORPTENTRY t0E ON t0E.FID = t0.FID
|
||||
WHERE t0.FDOCUMENTSTATUS='C' AND t0.FBILLTYPE = '50fa7c2eda7947b89fab5431bf25d48e'
|
||||
) t1 on t1.FMOENTRYID = t0E.FENTRYID
|
||||
WHERE
|
||||
t0E.FSRCBILLTYPE ='PLN_PLANORDER'
|
||||
AND t0E_A.FSTATUS <> 6
|
||||
AND t0E.FSALEORDERENTRYID <> 0
|
||||
AND t0.FDATE between @STARTDATE and @ENDDATE
|
||||
GROUP BY
|
||||
t0E.FSRCBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FSALEORDERENTRYID
|
||||
,t0E.FSALEORDERENTRYSEQ
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>㱨<EFBFBD><EFBFBD>end
|
||||
|
||||
|
||||
--<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start
|
||||
SELECT
|
||||
t0.FID
|
||||
,t0.FBILLNO
|
||||
,t0.FMATERIALID
|
||||
,t0_B.FSALEORDERENTRYID
|
||||
,SUM(t0.FFirmQty) as 'FFirmQty'
|
||||
,SUM(t0.FORDERQTY) as 'FOrderQty'
|
||||
into #TMP_PLN_INFO
|
||||
FROM
|
||||
T_PLN_PLANORDER t0
|
||||
LEFT JOIN T_PLN_PLANORDER_B t0_B ON t0.FID = t0_B.FID
|
||||
WHERE
|
||||
t0.FRELEASETYPE = 1
|
||||
--AND (t0.FRELEASESTATUS = 1 OR t0.FRELEASESTATUS = 2 )
|
||||
GROUP By
|
||||
t0.FID
|
||||
,t0.FBILLNO
|
||||
,t0.FRELEASETYPE
|
||||
,t0.FMATERIALID
|
||||
,t0_B.FSALEORDERENTRYID
|
||||
--<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end
|
||||
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start
|
||||
SELECT
|
||||
t0.FID
|
||||
,t0.FBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FENTRYID
|
||||
,t2.FNUMBER
|
||||
,t2_L.FNAME
|
||||
,t2_L.FSPECIFICATION
|
||||
,(CASE t2S.FEXPPERIOD
|
||||
WHEN 0 THEN ''
|
||||
ELSE
|
||||
CASE
|
||||
t2S.FEXPUNIT
|
||||
WHEN 'Y' THEN
|
||||
CONVERT ( VARCHAR,CAST((t2S.FEXPPERIOD * 12) AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHEN 'M' THEN
|
||||
CONVERT ( VARCHAR,CAST(t2S.FEXPPERIOD AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHEN 't3' THEN
|
||||
CONVERT ( VARCHAR, CAST((
|
||||
CASE t2S.FEXPPERIOD % 30 WHEN 0 THEN t2S.FEXPPERIOD / 30 ELSE t2S.FEXPPERIOD / 365 * 12 END
|
||||
) AS INT)) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ELSE ''
|
||||
END
|
||||
END) AS 'SHELFLIFE'
|
||||
,t2.FLotSize AS StandardLot
|
||||
,t2S.FSAFESTOCK AS SAFESTOCK --<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t2S.FSTOREUNITID --<EFBFBD><EFBFBD><EFBFBD>浥λ
|
||||
,(dbo.PackageValConver(t2S.FSAFESTOCK, t2P.FPACKUNITCONVERRATIO)) AS SAFESTOCKCOUNT
|
||||
,t2P.FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t2P.FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
|
||||
,t2P.FPACKUNITID -- '<27><>λ'
|
||||
,dbo.PackageValConver(t0E.M01,t2P.FPACKUNITCONVERRATIO) as M01
|
||||
,dbo.PackageValConver(t0E.S01,t2P.FPACKUNITCONVERRATIO) as S01
|
||||
,dbo.PackageValConver(t0E.S02,t2P.FPACKUNITCONVERRATIO) as S02
|
||||
,dbo.PackageValConver(t0E.S03,t2P.FPACKUNITCONVERRATIO) as S03
|
||||
,dbo.PackageValConver((ISNULL(t3.FQTY,0) - ISNULL(t3.FFINISHQTY,0)),t2P.FPACKUNITCONVERRATIO) AS InProductionQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(ISNULL(t4.FQTY,0),t2P.FPACKUNITCONVERRATIO) AS InStockQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver((ISNULL(t3.FQTY,0) + ISNULL(t4.FQTY,0)),t2P.FPACKUNITCONVERRATIO) AS TotalStockQty --<EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(t1.FOrderQty,t2P.FPACKUNITCONVERRATIO) AS OrderLotQty --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t1.FFirmQty
|
||||
,t1.FOrderQty
|
||||
into #TMPMPS
|
||||
FROM
|
||||
T_PLN_FORECAST t0
|
||||
LEFT JOIN T_PLN_FORECASTENTRY t0E ON t0.FID = t0E.FID
|
||||
LEFT JOIN #TMP_PLN_INFO t1 ON t1.FSALEORDERENTRYID = t0E.FENTRYID AND t1.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL t2 ON t2.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL_L t2_L ON t2_L.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIALSTOCK t2S ON t2S.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIALPRODUCE t2P ON t2P.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN #TMP_MO_INFO t3 on t3.FSRCBILLNO = t1.FBILLNO AND t3.FSALEORDERENTRYID = t0E.FENTRYID AND t3.FSALEORDERENTRYSEQ = t0E.FSEQ
|
||||
LEFT JOIN (SELECT
|
||||
t0.FMATERIALID
|
||||
,t0.FSTOCKORGID
|
||||
,SUM(t1.FQTY) AS FQTY
|
||||
FROM T_STK_INVENTORY t0
|
||||
LEFT JOIN T_STK_INVINITDETAIL t1 ON t0.FMATERIALID = t1.FMATERIALID AND t0.FSTOCKID = t1.FSTOCKID
|
||||
GROUP BY t0.FMATERIALID,t0.FSTOCKORGID
|
||||
) t4 on t4.FMATERIALID = t0E.FMATERIALID
|
||||
WHERE
|
||||
--t0.FDATE BETWEEN '2023-12-01 00:00:00' AND '2023-12-31 23:59:59'
|
||||
t0.FDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>λ
|
||||
ALTER TABLE #TMPMPS ADD FSTOREUNITNAME VARCHAR(50)
|
||||
UPDATE #TMPMPS SET #TMPMPS.FSTOREUNITNAME = B_L.FNAME FROM T_BD_UNIT_L B_L WHERE B_L.FUNITID = #TMPMPS.FSTOREUNITID
|
||||
|
||||
ALTER TABLE #TMPMPS ADD FPACKUNITNAME VARCHAR(50)
|
||||
UPDATE #TMPMPS SET #TMPMPS.FPACKUNITNAME = B_L.FNAME FROM T_BD_UNIT_L B_L WHERE B_L.FUNITID = #TMPMPS.FPACKUNITID
|
||||
|
||||
ALTER TABLE #TMPMPS ADD FPACKUNITCONVT VARCHAR(100)
|
||||
UPDATE T SET T.FPACKUNITCONVT = CONCAT(CONVERT(VARCHAR,T.FPACKUNITCONVERRATIO),T.FSTOREUNITNAME,'/',T.FPACKUNITNAME) FROM #TMPMPS T
|
||||
|
||||
--ALTER TABLE #TMPMPS ADD TotalStockQty decimal(23,6)
|
||||
--UPDATE T SET T.TotalStockQty = T.InProductionQty +T.InStockQty FROM #TMPMPS T
|
||||
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end
|
||||
|
||||
DECLARE @SQL VARCHAR(2000)
|
||||
SET @sql = N'
|
||||
select
|
||||
t0.*
|
||||
,'+@SeqFld+'
|
||||
into '+ @TableName +' From #TMPMPS t0 '
|
||||
EXECUTE(@sql)
|
||||
|
||||
DROP TABLE #TMPMPS
|
||||
DROP TABLE #TMP_PLN_INFO
|
||||
DROP TABLE #TMP_MO_INFO
|
||||
END
|
||||
BIN
MonthlyProductionSchedule/SQLServer/生产计划表2.0.zip
Normal file
BIN
MonthlyProductionSchedule/SQLServer/生产计划表2.0.zip
Normal file
Binary file not shown.
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Navicat Premium Data Transfer
|
||||
|
||||
Source Server : sql server
|
||||
Source Server Type : SQL Server
|
||||
Source Server Version : 15002080
|
||||
Source Host : .:1433
|
||||
Source Catalog : AIS20231110222743
|
||||
Source Schema : dbo
|
||||
|
||||
Target Server Type : SQL Server
|
||||
Target Server Version : 15002080
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 27/12/2023 16:44:40
|
||||
*/
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for T_MATERIAL_INVENTORY_MONTH_RECORD
|
||||
-- ----------------------------
|
||||
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_MATERIAL_INVENTORY_MONTH_RECORD]') AND type IN ('U'))
|
||||
DROP TABLE [dbo].[T_MATERIAL_INVENTORY_MONTH_RECORD]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[T_MATERIAL_INVENTORY_MONTH_RECORD] (
|
||||
[FID] int not null PRIMARY KEY IDENTITY(100000,1),
|
||||
[FMASTERID] int NULL,
|
||||
[FMATERIALID] int NOT NULL,
|
||||
[FNUMBER] nvarchar(80) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
||||
[FSTOCKQTY] decimal(23,10) NOT NULL,
|
||||
[FLOTYIELD] int not NULL,
|
||||
[FPACKUNITCONVERRATIO] int not NULL,
|
||||
[FPACKUNITID] int not NULL,
|
||||
[FUSEORGID] int NOT NULL,
|
||||
[RECORDYEAR] int NOT NULL,
|
||||
[RECORDMONTH] int NOT NULL,
|
||||
[RECORDDAY] int NOT NULL
|
||||
)
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[T_MATERIAL_INVENTORY_MONTH_RECORD] SET (LOCK_ESCALATION = TABLE)
|
||||
GO
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_INQUIRE_PLANPLMRPT')
|
||||
DROP PROCEDURE dbo.PROC_INQUIRE_PLANPLMRPT;
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE PROC_INQUIRE_PLANPLMRPT
|
||||
@TABLENAME VARCHAR(100)
|
||||
,@SEQFLD VARCHAR(200)
|
||||
,@YEAR INT
|
||||
,@MONTH INT
|
||||
,@DAY INT
|
||||
,@HASID INT OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
SET @HASID = 0;
|
||||
|
||||
SELECT
|
||||
*
|
||||
INTO #TMPMPS
|
||||
FROM
|
||||
T_PLAN_PLANPLMRPT A
|
||||
WHERE
|
||||
A.FRECORDDAY = @DAY AND A.FRECORDMONTH = @MONTH AND A.FRECORDYEAR = @YEAR
|
||||
|
||||
SELECT @HASID = COUNT(1) FROM #TMPMPS
|
||||
|
||||
DECLARE @SQL VARCHAR(2000)
|
||||
|
||||
SET @sql = '
|
||||
select
|
||||
t0.*
|
||||
,'+@SeqFld+'
|
||||
into '+ @TableName +' From #TMPMPS t0 '
|
||||
|
||||
EXECUTE(@sql)
|
||||
DROP TABLE #TMPMPS
|
||||
END
|
||||
@@ -0,0 +1,143 @@
|
||||
|
||||
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_TMP_INQUIRE_PLANPLMRPT')
|
||||
DROP PROCEDURE dbo.PROC_TMP_INQUIRE_PLANPLMRPT;
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE PROC_TMP_INQUIRE_PLANPLMRPT
|
||||
@TABLENAME VARCHAR(100)
|
||||
,@SEQFLD VARCHAR(200)
|
||||
,@LCID INT
|
||||
,@STARTDATE DATE
|
||||
,@ENDDATE DATE
|
||||
,@YEAR INT
|
||||
,@MONTH INT
|
||||
,@DAY INT
|
||||
,@HASID INT OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
SELECT
|
||||
t0.FID
|
||||
,t0.FBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FENTRYID
|
||||
,t0E.FSEQ
|
||||
,t2.FNUMBER
|
||||
,t2_L.FNAME
|
||||
,t2_L.FSPECIFICATION
|
||||
,(CASE t2S.FEXPPERIOD
|
||||
WHEN 0 THEN ''
|
||||
ELSE
|
||||
CASE
|
||||
t2S.FEXPUNIT
|
||||
WHEN 'Y' THEN
|
||||
CONVERT ( VARCHAR,CAST((t2S.FEXPPERIOD * 12) AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHEN 'M' THEN
|
||||
CONVERT ( VARCHAR,CAST(t2S.FEXPPERIOD AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHEN 'D' THEN
|
||||
CONVERT ( VARCHAR, CAST((
|
||||
CASE t2S.FEXPPERIOD % 30 WHEN 0 THEN t2S.FEXPPERIOD / 30 ELSE t2S.FEXPPERIOD / 365 * 12 END
|
||||
) AS INT)) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ELSE ''
|
||||
END
|
||||
END) AS 'SHELFLIFE'
|
||||
,CONCAT(t2.FLotSize,t5_L.FNAME, '/<2F><>') AS StandardLot
|
||||
,dbo.ToDecimal2(t2S.FSAFESTOCK) AS SAFESTOCK --<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t2S.FSTOREUNITID --<EFBFBD><EFBFBD><EFBFBD>浥λ
|
||||
,t5_L.FNAME AS FSTOREUNITNAME
|
||||
,(dbo.PackageValConver(t2S.FSAFESTOCK, t4.FPACKUNITCONVERRATIO)) AS SAFESTOCKCOUNT
|
||||
,CONCAT(CONVERT(VARCHAR,dbo.ToDecimal2(t4.FPACKUNITCONVERRATIO)),t5_L.FNAME ,'/' ,t6_L.FNAME) AS FPACKUNITCONVT
|
||||
,t4.FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t4.FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
|
||||
,t4.FPACKUNITID -- '<27><>λ'
|
||||
,t6_L.FNAME AS FPACKUNITNAME
|
||||
,dbo.PackageValConver(t0E.M01,t4.FPACKUNITCONVERRATIO) as M01
|
||||
,dbo.PackageValConver(t0E.S01,t4.FPACKUNITCONVERRATIO) as S01
|
||||
,dbo.PackageValConver(t0E.S02,t4.FPACKUNITCONVERRATIO) as S02
|
||||
,dbo.PackageValConver(t0E.S03,t4.FPACKUNITCONVERRATIO) as S03
|
||||
,dbo.PackageValConver(ISNULL(t3.FFINISHQTY,0) - ISNULL(t3.FSTOCKINQUASELQTY,0) ,t4.FPACKUNITCONVERRATIO) AS InProductionQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(ISNULL(t4.FSTOCKQTY,0),t4.FPACKUNITCONVERRATIO) AS InStockQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver((ISNULL(t3.FFINISHQTY,0) - ISNULL(t3.FSTOCKINQUASELQTY,0) + ISNULL(t4.FSTOCKQTY,0)),t4.FPACKUNITCONVERRATIO) AS TotalStockQty --<EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(t1.FOrderQty,t4.FLOTYIELD) AS OrderLotQty --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(t1.FFirmQty, t4.FPACKUNITCONVERRATIO) AS FirmLotQty --ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.ToDecimal2(t1.FFirmQty) FFirmQty --ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,@DAY AS FRECORDDAY
|
||||
,@MONTH AS FRECORDMONTH
|
||||
,@YEAR AS FRECORDYEAR
|
||||
into #TMPMPS
|
||||
FROM
|
||||
T_PLN_FORECAST t0
|
||||
LEFT JOIN T_PLN_FORECASTENTRY t0E ON t0.FID = t0E.FID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t1.FMATERIALID
|
||||
,t1.FCOMPUTERNO
|
||||
,t1.FBILLNO
|
||||
,t1_B.FSALEORDERENTRYID
|
||||
,sum(t1.FFirmQty) FFirmQty
|
||||
,sum(t1.FOrderQty) FOrderQty
|
||||
FROM
|
||||
T_PLN_PLANORDER t1
|
||||
LEFT JOIN T_PLN_PLANORDER_B t1_B ON t1.FID = t1_B.FID
|
||||
WHERE t1.FDATASOURCE = 1 AND t1.FCREATEDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
GROUP BY
|
||||
t1.FCOMPUTERNO
|
||||
,t1.FBILLNO
|
||||
,t1.FMATERIALID
|
||||
,t1_B.FSALEORDERENTRYID
|
||||
) t1 ON t1.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL t2 ON t2.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL_L t2_L ON (t2_L.FMATERIALID = t0E.FMATERIALID AND t2_L.FLOCALEID = @LCID)
|
||||
LEFT JOIN T_BD_MATERIALSTOCK t2S ON t2S.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t0E.FSRCBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FSALEORDERENTRYID
|
||||
,t0E.FSALEORDERENTRYSEQ
|
||||
,SUM(t1.FFINISHQTY) AS FFINISHQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,SUM(t1.FSTOCKINQUASELQTY) AS FSTOCKINQUASELQTY --<EFBFBD>ϸ<EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
FROM
|
||||
T_PRD_MO t0
|
||||
LEFT JOIN T_PRD_MOENTRY t0E ON t0.FID = t0E.FID
|
||||
LEFT JOIN T_PRD_MOENTRY_A t0E_A ON t0E_A.FENTRYID = t0E.FENTRYID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t0.FBILLTYPE --50fa7c2eda7947b89fab5431bf25d48e <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨 e52b554423704173b7306554708a8b05 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨
|
||||
,t0E.FMOENTRYID
|
||||
,t0E.FFINISHQTY
|
||||
,t0E_A.FSTOCKINQUASELQTY
|
||||
FROM
|
||||
T_PRD_MORPT t0
|
||||
LEFT JOIN T_PRD_MORPTENTRY t0E ON t0E.FID = t0.FID
|
||||
LEFT JOIN T_PRD_MORPTENTRY_A t0E_A ON t0E_A.FID = t0.FID AND t0E_A.FENTRYID = t0E.FENTRYID
|
||||
WHERE t0.FDOCUMENTSTATUS='C' AND t0.FBILLTYPE = '50fa7c2eda7947b89fab5431bf25d48e'
|
||||
) t1 ON t1.FMOENTRYID = t0E.FENTRYID
|
||||
WHERE
|
||||
t0E.FSRCBILLTYPE ='PLN_PLANORDER'
|
||||
AND t0E_A.FSTATUS <> 6
|
||||
AND t0E.FSALEORDERENTRYID <> 0
|
||||
AND t0.FDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
GROUP BY
|
||||
t0E.FSRCBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FSALEORDERENTRYID
|
||||
,t0E.FSALEORDERENTRYSEQ
|
||||
) t3 ON t3.FSALEORDERENTRYID = t0E.FENTRYID AND t3.FSALEORDERENTRYSEQ = t0E.FSEQ AND t3.FSRCBILLNO = t0.FBILLNO
|
||||
LEFT JOIN T_MATERIAL_INVENTORY_MONTH_RECORD t4 ON (t4.FMATERIALID = t0E.FMATERIALID AND t4.RECORDYEAR = @YEAR AND t4.RECORDMONTH = @MONTH and t4.RECORDDAY = @DAY)
|
||||
LEFT JOIN T_BD_UNIT_L t5_L ON (t5_l.FUNITID = t2S.FSTOREUNITID AND t5_L.FLOCALEID = @LCID)
|
||||
LEFT JOIN T_BD_UNIT_L t6_L ON (t6_l.FUNITID = t4.FPACKUNITID AND t6_L.FLOCALEID = @LCID)
|
||||
WHERE
|
||||
t0.FDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
|
||||
SELECT @HASID = COUNT(1) FROM #TMPMPS
|
||||
|
||||
DECLARE @SQL VARCHAR(2000)
|
||||
|
||||
SET @sql = '
|
||||
select
|
||||
t0.*
|
||||
,'+@SeqFld+'
|
||||
into '+ @TableName +' From #TMPMPS t0 '
|
||||
|
||||
EXECUTE(@sql)
|
||||
DROP TABLE #TMPMPS
|
||||
END
|
||||
@@ -0,0 +1,30 @@
|
||||
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_ProductionSchedule')
|
||||
DROP PROCEDURE dbo.PROC_ProductionSchedule;
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE PROC_ProductionSchedule
|
||||
@TABLENAME VARCHAR(100)
|
||||
,@STARTDATE DATE
|
||||
,@ENDDATE DATE
|
||||
,@LCID INT
|
||||
,@SEQFLD VARCHAR(200)
|
||||
,@YEAR INT
|
||||
,@MONTH INT
|
||||
,@DAY INT
|
||||
,@HASID INT OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
SET @HASID = 0
|
||||
|
||||
SELECT @DAY = (CASE WHEN LTRIM(RTRIM(T0.FPARAMETERS)) = '' THEN @DAY ELSE CAST(T0.FPARAMETERS AS INT) END) FROM T_BAS_SCHEDULEINFO T0 WHERE T0.FSCHEDULETYPEID = '657bf589f52174'
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_PLAN_PLANPLMRPT]') AND TYPE IN ('U'))
|
||||
BEGIN
|
||||
EXEC PROC_INQUIRE_PLANPLMRPT @TABLENAME,@SEQFLD,@YEAR,@MONTH,@DAY, @HASID OUTPUT
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
EXEC PROC_TMP_INQUIRE_PLANPLMRPT @TABLENAME, @SEQFLD, @LCID, @STARTDATE, @ENDDATE, @YEAR, @MONTH, @DAY, @HASID OUTPUT
|
||||
END
|
||||
|
||||
END
|
||||
@@ -0,0 +1,129 @@
|
||||
|
||||
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_SAVE_PLANPLMRPT_DATA')
|
||||
DROP PROCEDURE dbo.PROC_SAVE_PLANPLMRPT_DATA;
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE PROC_SAVE_PLANPLMRPT_DATA
|
||||
@STARTDATE date
|
||||
,@ENDDATE date
|
||||
,@YEAR int
|
||||
,@MONTH int
|
||||
,@DAY int
|
||||
,@LCID int
|
||||
AS
|
||||
BEGIN
|
||||
SELECT @DAY = (CASE WHEN LTRIM(RTRIM(T0.FPARAMETERS)) = '' THEN @DAY ELSE CAST(T0.FPARAMETERS AS INT) END) FROM T_BAS_SCHEDULEINFO T0 WHERE T0.FSCHEDULETYPEID = '657bf589f52174'
|
||||
|
||||
INSERT INTO T_PLAN_PLANPLMRPT
|
||||
SELECT
|
||||
t0.FBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FENTRYID
|
||||
,t0E.FSEQ
|
||||
,t2.FNUMBER
|
||||
,t2_L.FNAME
|
||||
,t2_L.FSPECIFICATION
|
||||
,(CASE t2S.FEXPPERIOD
|
||||
WHEN 0 THEN ''
|
||||
ELSE
|
||||
CASE
|
||||
t2S.FEXPUNIT
|
||||
WHEN 'Y' THEN
|
||||
CONVERT ( VARCHAR,CAST((t2S.FEXPPERIOD * 12) AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHEN 'M' THEN
|
||||
CONVERT ( VARCHAR,CAST(t2S.FEXPPERIOD AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHEN 'D' THEN
|
||||
CONVERT ( VARCHAR, CAST((
|
||||
CASE t2S.FEXPPERIOD % 30 WHEN 0 THEN t2S.FEXPPERIOD / 30 ELSE t2S.FEXPPERIOD / 365 * 12 END
|
||||
) AS INT)) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ELSE ''
|
||||
END
|
||||
END) AS 'SHELFLIFE'
|
||||
,CONCAT(t2.FLotSize,t5_L.FNAME, '/<2F><>') AS StandardLot
|
||||
,dbo.ToDecimal2(t2S.FSAFESTOCK) AS SAFESTOCK --<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t2S.FSTOREUNITID --<EFBFBD><EFBFBD><EFBFBD>浥λ
|
||||
,t5_L.FNAME AS FSTOREUNITNAME
|
||||
,(dbo.PackageValConver(t2S.FSAFESTOCK, t4.FPACKUNITCONVERRATIO)) AS SAFESTOCKCOUNT
|
||||
,CONCAT(CONVERT(VARCHAR,dbo.ToDecimal2(t4.FPACKUNITCONVERRATIO)),t5_L.FNAME ,'/' ,t6_L.FNAME) AS FPACKUNITCONVT --<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>
|
||||
,t4.FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t4.FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
|
||||
,t4.FPACKUNITID -- '<27><>λ'
|
||||
,t6_L.FNAME AS FPACKUNITNAME
|
||||
,dbo.PackageValConver(t0E.M01,t4.FPACKUNITCONVERRATIO) as M01 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(t0E.S01,t4.FPACKUNITCONVERRATIO) as S01 --ǰһ<EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(t0E.S02,t4.FPACKUNITCONVERRATIO) as S02 --ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(t0E.S03,t4.FPACKUNITCONVERRATIO) as S03 --ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(ISNULL(t3.FFINISHQTY,0) - ISNULL(t3.FSTOCKINQUASELQTY,0) ,t4.FPACKUNITCONVERRATIO) AS InProductionQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(ISNULL(t4.FSTOCKQTY,0),t4.FPACKUNITCONVERRATIO) AS InStockQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver((ISNULL(t3.FFINISHQTY,0) - ISNULL(t3.FSTOCKINQUASELQTY,0) + ISNULL(t4.FSTOCKQTY,0)),t4.FPACKUNITCONVERRATIO) AS TotalStockQty --<EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(t1.FOrderQty,t4.FLOTYIELD) AS OrderLotQty --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(t1.FFirmQty, t4.FPACKUNITCONVERRATIO) AS FirmLotQty --ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.ToDecimal2(t1.FFirmQty) FFirmQty --ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,@DAY AS FRECORDDAY
|
||||
,@MONTH AS FRECORDMONTH
|
||||
,@YEAR AS FRECORDYEAR
|
||||
FROM
|
||||
T_PLN_FORECAST t0
|
||||
LEFT JOIN T_PLN_FORECASTENTRY t0E ON t0.FID = t0E.FID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t1.FMATERIALID
|
||||
,t1.FCOMPUTERNO
|
||||
,t1.FBILLNO
|
||||
,t1_B.FSALEORDERENTRYID
|
||||
,sum(t1.FFirmQty) FFirmQty
|
||||
,sum(t1.FOrderQty) FOrderQty
|
||||
FROM
|
||||
T_PLN_PLANORDER t1
|
||||
LEFT JOIN T_PLN_PLANORDER_B t1_B ON t1.FID = t1_B.FID
|
||||
WHERE t1.FDATASOURCE = 1 AND t1.FCREATEDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
GROUP BY
|
||||
t1.FCOMPUTERNO
|
||||
,t1.FBILLNO
|
||||
,t1.FMATERIALID
|
||||
,t1_B.FSALEORDERENTRYID
|
||||
) t1 ON t1.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL t2 ON t2.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL_L t2_L ON (t2_L.FMATERIALID = t0E.FMATERIALID AND t2_L.FLOCALEID = @LCID)
|
||||
LEFT JOIN T_BD_MATERIALSTOCK t2S ON t2S.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t0E.FSRCBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FSALEORDERENTRYID
|
||||
,t0E.FSALEORDERENTRYSEQ
|
||||
,SUM(t1.FFINISHQTY) AS FFINISHQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,SUM(t1.FSTOCKINQUASELQTY) AS FSTOCKINQUASELQTY --<EFBFBD>ϸ<EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
FROM
|
||||
T_PRD_MO t0
|
||||
LEFT JOIN T_PRD_MOENTRY t0E ON t0.FID = t0E.FID
|
||||
LEFT JOIN T_PRD_MOENTRY_A t0E_A ON t0E_A.FENTRYID = t0E.FENTRYID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t0.FBILLTYPE --50fa7c2eda7947b89fab5431bf25d48e <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨 e52b554423704173b7306554708a8b05 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨
|
||||
,t0E.FMOENTRYID
|
||||
,t0E.FFINISHQTY
|
||||
,t0E_A.FSTOCKINQUASELQTY
|
||||
FROM
|
||||
T_PRD_MORPT t0
|
||||
LEFT JOIN T_PRD_MORPTENTRY t0E ON t0E.FID = t0.FID
|
||||
LEFT JOIN T_PRD_MORPTENTRY_A t0E_A ON t0E_A.FID = t0.FID AND t0E_A.FENTRYID = t0E.FENTRYID
|
||||
WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FBILLTYPE = '50fa7c2eda7947b89fab5431bf25d48e'
|
||||
) t1 ON t1.FMOENTRYID = t0E.FENTRYID
|
||||
WHERE
|
||||
t0E.FSRCBILLTYPE ='PLN_PLANORDER'
|
||||
AND t0E_A.FSTATUS <> 6
|
||||
AND t0E.FSALEORDERENTRYID <> 0
|
||||
AND t0.FDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
GROUP BY
|
||||
t0E.FSRCBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FSALEORDERENTRYID
|
||||
,t0E.FSALEORDERENTRYSEQ
|
||||
) t3 ON t3.FSALEORDERENTRYID = t0E.FENTRYID AND t3.FSALEORDERENTRYSEQ = t0E.FSEQ AND t3.FSRCBILLNO = t0.FBILLNO
|
||||
LEFT JOIN T_MATERIAL_INVENTORY_MONTH_RECORD t4 ON (t4.FMATERIALID = t0E.FMATERIALID AND t4.RECORDYEAR = @YEAR AND t4.RECORDMONTH = @MONTH and t4.RECORDDAY = @DAY)
|
||||
LEFT JOIN T_BD_UNIT_L t5_L ON (t5_l.FUNITID = t2S.FSTOREUNITID AND t5_L.FLOCALEID = @LCID)
|
||||
LEFT JOIN T_BD_UNIT_L t6_L ON (t6_l.FUNITID = t4.FPACKUNITID AND t6_L.FLOCALEID = @LCID)
|
||||
WHERE
|
||||
t0.FDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
|
||||
END
|
||||
@@ -0,0 +1,43 @@
|
||||
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_SAVE_MATERIAL_INVENTORY')
|
||||
DROP PROCEDURE dbo.PROC_SAVE_MATERIAL_INVENTORY;
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE PROC_SAVE_MATERIAL_INVENTORY
|
||||
@LCID int
|
||||
,@YEAR int
|
||||
,@MONTH int
|
||||
,@DAY int
|
||||
AS
|
||||
BEGIN
|
||||
DELETE FROM T_MATERIAL_INVENTORY_MONTH_RECORD WHERE RECORDDAY = @DAY AND RECORDMONTH = @MONTH AND RECORDYEAR = @YEAR
|
||||
|
||||
INSERT INTO T_MATERIAL_INVENTORY_MONTH_RECORD
|
||||
SELECT
|
||||
T0.FMASTERID
|
||||
,T0.FMATERIALID
|
||||
,T0.FNUMBER
|
||||
,ISNULL(T1.STOCKQTY,0) AS FSTOCKQTY
|
||||
,T0P.FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,T0P.FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
|
||||
,T0P.FPACKUNITID -- '<27><>λ'
|
||||
,T0.FUSEORGID
|
||||
,@YEAR AS RECORDYEAR
|
||||
,@MONTH AS RECORDMONTH
|
||||
,@DAY AS RECORDDAY
|
||||
FROM
|
||||
T_BD_MATERIAL T0
|
||||
LEFT JOIN T_BD_MATERIALPRODUCE T0P ON T0P.FMATERIALID = T0.FMATERIALID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
T1.FMATERIALID
|
||||
,SUM(T1.FBASEQTY) AS STOCKQTY
|
||||
FROM
|
||||
T_STK_INVENTORY T1
|
||||
GROUP BY
|
||||
T1.FMATERIALID
|
||||
) T1 ON T0.FMATERIALID = T1.FMATERIALID
|
||||
WHERE
|
||||
T0.FDOCUMENTSTATUS = 'C' AND T0.FUSEORGID = 1
|
||||
ORDER BY T0.FMATERIALID
|
||||
|
||||
END
|
||||
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
Navicat Premium Data Transfer
|
||||
|
||||
Source Server : sql server
|
||||
Source Server Type : SQL Server
|
||||
Source Server Version : 15002080
|
||||
Source Host : .:1433
|
||||
Source Catalog : AIS20231110222743
|
||||
Source Schema : dbo
|
||||
|
||||
Target Server Type : SQL Server
|
||||
Target Server Version : 15002080
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 29/12/2023 01:50:37
|
||||
*/
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for T_PLAN_PLANPLMRPT
|
||||
-- ----------------------------
|
||||
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_PLAN_PLANPLMRPT]') AND type IN ('U'))
|
||||
DROP TABLE [dbo].[T_PLAN_PLANPLMRPT]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[T_PLAN_PLANPLMRPT] (
|
||||
[FID] int NOT NULL PRIMARY KEY IDENTITY(100000,1),
|
||||
[FBILLNO] varchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FMATERIALID] int NULL,
|
||||
[FENTRYID] int NULL,
|
||||
[FSEQ] int NULL,
|
||||
[FNUMBER] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FNAME] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FSPECIFICATION] nvarchar(510) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[SHELFLIFE] varchar(50) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[StandardLot] varchar(200) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
||||
[SAFESTOCK] decimal(23,2) NULL,
|
||||
[FSTOREUNITID] int NULL,
|
||||
[FSTOREUNITNAME] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[SAFESTOCKCOUNT] decimal(23,2) NULL,
|
||||
[FPACKUNITCONVT] nvarchar(200) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
||||
[FLOTYIELD] int NULL,
|
||||
[FPACKUNITCONVERRATIO] int NULL,
|
||||
[FPACKUNITID] int NULL,
|
||||
[FPACKUNITNAME] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[M01] decimal(23,2) NULL,
|
||||
[S01] decimal(23,2) NULL,
|
||||
[S02] decimal(23,2) NULL,
|
||||
[S03] decimal(23,2) NULL,
|
||||
[InProductionQty] decimal(23,2) NULL,
|
||||
[InStockQty] decimal(23,2) NULL,
|
||||
[TotalStockQty] decimal(23,2) NULL,
|
||||
[OrderLotQty] decimal(23,2) NULL,
|
||||
[FirmLotQty] decimal(23,2) NULL,
|
||||
[FFirmQty] decimal(23,2) NULL,
|
||||
[FRECORDDAY] int null,
|
||||
[FRECORDMONTH] int null,
|
||||
[FRECORDYEAR] int null
|
||||
)
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[T_PLAN_PLANPLMRPT] SET (LOCK_ESCALATION = TABLE)
|
||||
GO
|
||||
|
||||
@@ -7,5 +7,5 @@ select @result = (CASE @coefficient
|
||||
WHEN 0
|
||||
THEN @cnvNumber ELSE (@cnvNumber/@coefficient)
|
||||
END)
|
||||
RETURN @result
|
||||
RETURN ROUND(@result,2)
|
||||
END
|
||||
32
MonthlyProductionSchedule/SQLServer/生产计划表2.0/查询_物料库存记录.sql
Normal file
32
MonthlyProductionSchedule/SQLServer/生产计划表2.0/查询_物料库存记录.sql
Normal file
@@ -0,0 +1,32 @@
|
||||
--DELETE FROM T_MATERIAL_INVENTORY_MONTH_RECORD WHERE RECORDDAY = 27 AND RECORDMONTH = 12 AND RECORDYEAR = 2023
|
||||
|
||||
INSERT INTO T_MATERIAL_INVENTORY_MONTH_RECORD
|
||||
SELECT
|
||||
T0.FMASTERID
|
||||
,T0.FMATERIALID
|
||||
,T0.FNUMBER
|
||||
--,T0_L.FNAME
|
||||
,ISNULL(T1.STOCKQTY,0) AS FSTOCKQTY
|
||||
,T0P.FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,T0P.FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
|
||||
,T0P.FPACKUNITID -- '<27><>λ'
|
||||
,T0.FUSEORGID
|
||||
,2023 AS RECORDYEAR
|
||||
,12 AS RECORDMONTH
|
||||
,20 AS RECORDDAY
|
||||
FROM
|
||||
T_BD_MATERIAL T0
|
||||
LEFT JOIN T_BD_MATERIAL_L T0_L ON (T0_L.FMATERIALID = T0.FMATERIALID AND T0_L.FLOCALEID = 2052)
|
||||
LEFT JOIN T_BD_MATERIALPRODUCE T0P ON T0P.FMATERIALID = T0.FMATERIALID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
T1.FMATERIALID
|
||||
,SUM(T1.FBASEQTY) AS STOCKQTY
|
||||
FROM
|
||||
T_STK_INVENTORY T1
|
||||
GROUP BY
|
||||
T1.FMATERIALID
|
||||
) T1 ON T0.FMATERIALID = T1.FMATERIALID
|
||||
WHERE
|
||||
T0.FDOCUMENTSTATUS = 'C' AND T0.FUSEORGID =1
|
||||
ORDER BY T0.FMATERIALID
|
||||
118
MonthlyProductionSchedule/SQLServer/生产计划表2.0/查询_生产计划数据.sql
Normal file
118
MonthlyProductionSchedule/SQLServer/生产计划表2.0/查询_生产计划数据.sql
Normal file
@@ -0,0 +1,118 @@
|
||||
DECLARE @STARTDATE DATE,@ENDDATE DATE,@LCID INT,@YEAR INT,@MONTH INT,@DAY INT
|
||||
SET @STARTDATE ='2023-12-01'
|
||||
SET @ENDDATE ='2023-12-31'
|
||||
SET @LCID = 2052
|
||||
SET @YEAR = 2023
|
||||
SET @MONTH = 12
|
||||
SET @DAY = 20
|
||||
|
||||
--<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ʱ<EFBFBD>ƻ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
SELECT @DAY = (CASE WHEN LTRIM(RTRIM(T0.FPARAMETERS)) = '' THEN @DAY ELSE CAST(T0.FPARAMETERS AS INT) END) FROM T_BAS_SCHEDULEINFO T0 WHERE T0.FSCHEDULETYPEID = '657bf589f52174'
|
||||
SELECT
|
||||
t0.FID
|
||||
,t0.FBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FENTRYID
|
||||
,t0E.FSEQ
|
||||
,t2.FNUMBER
|
||||
,t2_L.FNAME
|
||||
,t2_L.FSPECIFICATION
|
||||
,(CASE t2S.FEXPPERIOD
|
||||
WHEN 0 THEN ''
|
||||
ELSE
|
||||
CASE
|
||||
t2S.FEXPUNIT
|
||||
WHEN 'Y' THEN
|
||||
CONVERT ( VARCHAR,CAST((t2S.FEXPPERIOD * 12) AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHEN 'M' THEN
|
||||
CONVERT ( VARCHAR,CAST(t2S.FEXPPERIOD AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHEN 'D' THEN
|
||||
CONVERT ( VARCHAR, CAST((
|
||||
CASE t2S.FEXPPERIOD % 30 WHEN 0 THEN t2S.FEXPPERIOD / 30 ELSE t2S.FEXPPERIOD / 365 * 12 END
|
||||
) AS INT)) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ELSE ''
|
||||
END
|
||||
END) AS 'SHELFLIFE'
|
||||
,CONCAT(t2.FLotSize,t5_L.FNAME, '/<2F><>') AS StandardLot
|
||||
,dbo.ToDecimal2(t2S.FSAFESTOCK) AS SAFESTOCK --<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t2S.FSTOREUNITID --<EFBFBD><EFBFBD><EFBFBD>浥λ
|
||||
,t5_L.FNAME AS FSTOREUNITNAME
|
||||
,(dbo.PackageValConver(t2S.FSAFESTOCK, t4.FPACKUNITCONVERRATIO)) AS SAFESTOCKCOUNT
|
||||
,CONCAT(CONVERT(VARCHAR,dbo.ToDecimal2(t4.FPACKUNITCONVERRATIO)),t5_L.FNAME ,'/' ,t6_L.FNAME) AS FPACKUNITCONVT
|
||||
,t4.FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t4.FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
|
||||
,t4.FPACKUNITID -- '<27><>λ'
|
||||
,t6_L.FNAME AS FPACKUNITNAME
|
||||
,dbo.PackageValConver(t0E.M01,t4.FPACKUNITCONVERRATIO) as M01
|
||||
,dbo.PackageValConver(t0E.S01,t4.FPACKUNITCONVERRATIO) as S01
|
||||
,dbo.PackageValConver(t0E.S02,t4.FPACKUNITCONVERRATIO) as S02
|
||||
,dbo.PackageValConver(t0E.S03,t4.FPACKUNITCONVERRATIO) as S03
|
||||
,dbo.PackageValConver(ISNULL(t3.FFINISHQTY,0) - ISNULL(t3.FSTOCKINQUASELQTY,0) ,t4.FPACKUNITCONVERRATIO) AS InProductionQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(ISNULL(t4.FSTOCKQTY,0),t4.FPACKUNITCONVERRATIO) AS InStockQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver((ISNULL(t3.FFINISHQTY,0) - ISNULL(t3.FSTOCKINQUASELQTY,0) + ISNULL(t4.FSTOCKQTY,0)),t4.FPACKUNITCONVERRATIO) AS TotalStockQty --<EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(t1.FOrderQty,t4.FLOTYIELD) AS OrderLotQty --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.PackageValConver(t1.FFirmQty, t4.FPACKUNITCONVERRATIO) AS FirmLotQty --ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,dbo.ToDecimal2(t1.FFirmQty) FFirmQty --ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
FROM
|
||||
T_PLN_FORECAST t0
|
||||
LEFT JOIN T_PLN_FORECASTENTRY t0E ON t0.FID = t0E.FID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t1.FMATERIALID
|
||||
,t1.FCOMPUTERNO
|
||||
,t1.FBILLNO
|
||||
,t1_B.FSALEORDERENTRYID
|
||||
,sum(t1.FFirmQty) FFirmQty
|
||||
,sum(t1.FOrderQty) FOrderQty
|
||||
FROM
|
||||
T_PLN_PLANORDER t1
|
||||
LEFT JOIN T_PLN_PLANORDER_B t1_B ON t1.FID = t1_B.FID
|
||||
WHERE t1.FDATASOURCE = 1 AND t1.FCREATEDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
GROUP BY
|
||||
t1.FCOMPUTERNO
|
||||
,t1.FBILLNO
|
||||
,t1.FMATERIALID
|
||||
,t1_B.FSALEORDERENTRYID
|
||||
) t1 ON t1.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL t2 ON t2.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL_L t2_L ON (t2_L.FMATERIALID = t0E.FMATERIALID AND t2_L.FLOCALEID = @LCID)
|
||||
LEFT JOIN T_BD_MATERIALSTOCK t2S ON t2S.FMATERIALID = t0E.FMATERIALID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t0E.FSRCBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FSALEORDERENTRYID
|
||||
,t0E.FSALEORDERENTRYSEQ
|
||||
,SUM(t1.FFINISHQTY) AS FFINISHQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,SUM(t1.FSTOCKINQUASELQTY) AS FSTOCKINQUASELQTY --<EFBFBD>ϸ<EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
FROM
|
||||
T_PRD_MO t0
|
||||
LEFT JOIN T_PRD_MOENTRY t0E ON t0.FID = t0E.FID
|
||||
LEFT JOIN T_PRD_MOENTRY_A t0E_A ON t0E_A.FENTRYID = t0E.FENTRYID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t0.FBILLTYPE --50fa7c2eda7947b89fab5431bf25d48e <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨 e52b554423704173b7306554708a8b05 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㱨
|
||||
,t0E.FMOENTRYID
|
||||
,t0E.FFINISHQTY
|
||||
,t0E_A.FSTOCKINQUASELQTY
|
||||
FROM
|
||||
T_PRD_MORPT t0
|
||||
LEFT JOIN T_PRD_MORPTENTRY t0E ON t0E.FID = t0.FID
|
||||
LEFT JOIN T_PRD_MORPTENTRY_A t0E_A ON t0E_A.FID = t0.FID AND t0E_A.FENTRYID = t0E.FENTRYID
|
||||
WHERE t0.FDOCUMENTSTATUS='C' AND t0.FBILLTYPE = '50fa7c2eda7947b89fab5431bf25d48e'
|
||||
) t1 ON t1.FMOENTRYID = t0E.FENTRYID
|
||||
WHERE
|
||||
t0E.FSRCBILLTYPE ='PLN_PLANORDER'
|
||||
AND t0E_A.FSTATUS <> 6
|
||||
AND t0E.FSALEORDERENTRYID <> 0
|
||||
AND t0.FDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
GROUP BY
|
||||
t0E.FSRCBILLNO
|
||||
,t0E.FMATERIALID
|
||||
,t0E.FSALEORDERENTRYID
|
||||
,t0E.FSALEORDERENTRYSEQ
|
||||
) t3 ON t3.FSALEORDERENTRYID = t0E.FENTRYID AND t3.FSALEORDERENTRYSEQ = t0E.FSEQ AND t3.FSRCBILLNO = t0.FBILLNO
|
||||
LEFT JOIN T_MATERIAL_INVENTORY_MONTH_RECORD t4 ON (t4.FMATERIALID = t0E.FMATERIALID AND t4.RECORDYEAR = @YEAR AND t4.RECORDMONTH = @MONTH and t4.RECORDDAY = @DAY)
|
||||
LEFT JOIN T_BD_UNIT_L t5_L ON (t5_l.FUNITID = t2S.FSTOREUNITID AND t5_L.FLOCALEID = @LCID)
|
||||
LEFT JOIN T_BD_UNIT_L t6_L ON (t6_l.FUNITID = t4.FPACKUNITID AND t6_L.FLOCALEID = @LCID)
|
||||
WHERE
|
||||
t0.FDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
Reference in New Issue
Block a user