This commit is contained in:
PastSaid
2023-12-17 11:37:43 +08:00
parent ea90726158
commit 224c74d538
18 changed files with 610 additions and 124 deletions

View File

@@ -0,0 +1,80 @@
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_INQUIRPLMTMPRTP1111111111')
DROP PROCEDURE dbo.PROC_INQUIRPLMTMPRTP1111111111;
GO
CREATE PROCEDURE PROC_INQUIRPLMTMPRTP1111111111
@FRECORDDATE DATETIME
,@FRECORDYEAR INT
,@FRECORDMONTH INT
AS
BEGIN
SELECT
AE.FSRCBILLNO
,AE.FMATERIALID
,AE.FSALEORDERENTRYID
,AE.FSALEORDERENTRYSEQ
,SUM(AE.FQTY) AS FQTY
,SUM(B.FFINISHQTY) AS FFINISHQTY --
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 e52b554423704173b7306554708a8b05
,AE.FMOENTRYID
,FFINISHQTY
FROM
T_PRD_MORPT A
LEFT JOIN T_PRD_MORPTENTRY AE ON AE.FID = A.FID
WHERE A.FDOCUMENTSTATUS='C'
) B on B.FMOENTRYID = AE.FENTRYID
RIGHT JOIN (
SELECT
A.FMATERIALID
,A.FNUMBER
,B.FSTOCKORGID
,B.FLOT
,SUM(B.FBASEQTY) AS FBASEQTY
,@FRECORDDATE AS FRECORDDATE
,@FRECORDYEAR as FRECORDYEAR
,@FRECORDMONTH as FRECORDMONTH
,AP.FLOTYIELD -- '每批产量'
,AP.FPACKUNITCONVERRATIO -- '包装规格'
,AP.FPACKUNITID -- '单位'
--INTO #TMPRECORD
FROM
T_BD_MATERIAL A
INNER JOIN T_BD_MATERIALPRODUCE AP ON AP.FMATERIALID = A.FMATERIALID
INNER JOIN T_STK_INVENTORY B ON A.FMASTERID = B.FMATERIALID
WHERE
B.FSTOCKORGID = 100038 And A.FDOCUMENTSTATUS = 'C'
GROUP BY
A.FMATERIALID
,A.FNUMBER
,B.FSTOCKORGID
,B.FLOT
,AP.FLOTYIELD -- '每批产量'
,AP.FPACKUNITCONVERRATIO -- '包装规格'
,AP.FPACKUNITID -- '单位'
) C on C.FMATERIALID = AE.FMATERIALID
WHERE
AE.FSRCBILLTYPE ='PLN_PLANORDER' AND AE_A.FSTATUS <> 6 and AE.FSALEORDERENTRYID <> 0
GROUP BY
AE.FSRCBILLNO
,AE.FMATERIALID
,AE.FSALEORDERENTRYID
,AE.FSALEORDERENTRYSEQ
--ALTER TABLE #TMPRECORD ADD FRECORDDATE DATETIME
--UPDATE #TMPRECORD SET FRECORDDATE = @FRECORDDATE
--ALTER TABLE #TMPRECORD ADD FRECORDYEAR int DEFAULT 0
--UPDATE #TMPRECORD SET FRECORDYEAR = @FRECORDYEAR
--ALTER TABLE #TMPRECORD ADD FRECORDMONTH int DEFAULT 0
--UPDATE #TMPRECORD SET FRECORDMONTH = @FRECORDMONTH
SELECT * FROM #TMPRECORD
DROP TABLE #TMPRECORD
END

View File

@@ -4,32 +4,42 @@ IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_INQUIRE_PLANPLMRPT')
GO
CREATE PROCEDURE PROC_INQUIRE_PLANPLMRPT
@STARTDATE date
,@ENDDATE date
@TableName varchar(100)
,@LCID int
,@SeqFld varchar(200)
,@HasId int output
,@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
BEGIN
SELECT
@HasId = COUNT(A.FID)
FROM
T_PLAN_PLANPLMRPT A
WHERE
A.FDATE BETWEEN @STARTDATE AND @ENDDATE
A.FRECORDMONTH = @month AND A.FRECORDYEAR = @year
END
if @hasId =1
BEGIN
if @hasId > 0
begin
SELECT
*
INTO #TMPMPS
*
into #TMPMPS
FROM
T_PLAN_PLANPLMRPT A
WHERE
A.FDATE BETWEEN @STARTDATE AND @ENDDATE
END
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

View File

@@ -8,56 +8,20 @@ CREATE PROCEDURE PROC_ProductionSchedule
,@ENDDATE date
,@LCID int
,@SeqFld varchar(200)
--,@HasId int output
,@year int
,@month int
,@HasId int output
AS
BEGIN
DECLARE @HasId int
DECLARE @SQL VARCHAR(2000)
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 @STARTDATE,@ENDDATE,@LCID,@SeqFld, @HasId
EXEC PROC_INQUIRE_PLANPLMRPT @TableName,@LCID,@SeqFld,@year,@month, @HasId
END
IF @HasId = 0
IF @HasId = 0
BEGIN
EXEC PROC_INQUIRPLMTMPRTP @STARTDATE,@ENDDATE,@LCID,@SeqFld
end
SET @sql = '
select
t0.FID
,FENTRYID
,FBILLNO
,FMATERIALID
,FNAME
,FSPECIFICATION
,ShelfLife
,0 AS StandardLot --<2D><>׼<EFBFBD><D7BC><EFBFBD><EFBFBD>
--,FLOTYIELD --ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--,FPACKUNITCONVERRATIO -- <20><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
--,CAST(FPACKUNITCONVERRATIO AS VARCHAR)+STOREUNITNAME+''/''+FPACKUNITNAME as FPACKUNITCONVT --<2D><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
--,FPACKUNITID --<2D><>λ
,FSTOREUNITID
,STOREUNITNAME
,0 AS SAFESTOCKCOUNT --<2D><>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>
,CAST(FSAFESTOCK AS INT) AS SAFESTOCK
,0 AS M01
,0 AS S01
,0 AS S02
,0 AS S03
,0 AS InStockQty
,0 AS InProductionQty
,0 AS TotalStockQty
--,(FOrderQty / CP.FPACKUNITCONVERRATIO) AS OrderLotQty -- ''ϵͳ<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''
--,(FFirmQty / CP.FPACKUNITCONVERRATIO) AS FirmLotQty -- ''ȷ<EFBFBD>ϼƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''
,FFirmQty --ȷ<>ϼƻ<CFBC><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,FFirmQty as FirmLotQty --ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,FOrderQty as OrderLotQty --<2D>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,'+@SeqFld+'
into '+ @TableName +' From #TMPMPS t0 '
EXECUTE(@sql)
DROP TABLE #TMPMPS
EXEC PROC_INQUIRPLMTMPRTP @TableName,@STARTDATE,@ENDDATE,@LCID,@SeqFld
END
END

View File

@@ -4,13 +4,73 @@ IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_INQUIRPLMTMPRTP')
GO
CREATE PROCEDURE PROC_INQUIRPLMTMPRTP
@STARTDATE date
@TableName varchar(100)
,@STARTDATE date
,@ENDDATE date
,@LCID int
,@SeqFld varchar(200)
AS
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'
) 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
@@ -19,65 +79,102 @@ BEGIN
,C.FNUMBER
,C_L.FNAME
,C_L.FSPECIFICATION
,(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 'ShelfLife'
,(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'
--,'' AS '<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,CS.FSAFESTOCK --<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,CS.FSTOREUNITID --<EFBFBD><EFBFBD><EFBFBD>λ
--,CP.FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,CP.FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
--,CP.FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>'
--,CP.FPACKUNITID -- '<27><>λ'
--,AE.M01
--,AE.S01
--,AE.S02
--,AE.S03
,'' AS 'M01'
,'' AS 'S01'
,'' AS 'S02'
,'' AS 'S03'
,(CASE CP.FPACKUNITCONVERRATIO
WHEN 0
THEN CS.FSAFESTOCK ELSE (CS.FSAFESTOCK/CP.FPACKUNITCONVERRATIO)
END) AS SAFESTOCKCOUNT
,CP.FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,CP.FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
,CP.FPACKUNITID -- '<27><>λ'
,AE.M01
,AE.S01
,AE.S02
,AE.S03
,(CASE CP.FPACKUNITCONVERRATIO
WHEN 0
THEN D.FQTY - D.FFINISHQTY ELSE ((D.FQTY - D.FFINISHQTY)/CP.FPACKUNITCONVERRATIO)
END) AS InProductionQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,(CASE CP.FPACKUNITCONVERRATIO
WHEN 0
THEN E.FBASEQTY ELSE (E.FBASEQTY/CP.FPACKUNITCONVERRATIO)
END) AS InStockQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,(CASE CP.FPACKUNITCONVERRATIO
WHEN 0
THEN (D.FQTY + E.FBASEQTY) ELSE ((D.FQTY + E.FBASEQTY)/CP.FPACKUNITCONVERRATIO)
END) AS TotalStockQty --<EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,(CASE CP.FPACKUNITCONVERRATIO
WHEN 0
THEN B.FOrderQty ELSE (B.FOrderQty/CP.FPACKUNITCONVERRATIO)
END) AS OrderLotQty --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,CS.FSTOREUNITID AS FPACKUNITID -- '<27><>λ'
--, 140 as FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
--,150 as FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
--,400 AS SAFESTOCKCOUNT --<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--,'' AS 'M01'
--,'' AS 'S01'
--,'' AS 'S02'
--,'' AS 'S03'
,B.FFirmQty
,B.FOrderQty
into #TMPMPS
FROM
(
SELECT
A.FMATERIALID
,A_B.FSALEORDERENTRYID
,SUM(A.FFirmQty) as 'FFirmQty'
,SUM(A.FORDERQTY) as 'FOrderQty'
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
--Ԥ<EFBFBD>
LEFT JOIN T_PLN_FORECASTENTRY AE ON B.FSALEORDERENTRYID = AE.FENTRYID
LEFT JOIN T_PLN_FORECAST A ON A.FID = AE.FID
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(A.FBASEQTY) AS FBASEQTY
FROM T_STK_INVENTORY A
group by A.FMATERIALID,A.FSTOCKORGID
) E on E.FMATERIALID = C.FMASTERID AND E.FSTOCKORGID = A.FFOREORGID
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 STOREUNITNAME varchar(10)
update #TMPMPS SET #TMPMPS.STOREUNITNAME = B_L.FNAME from T_BD_UNIT_L B_L where B_L.FUNITID = #TMPMPS.FSTOREUNITID
ALTER TABLE #TMPMPS ADD FSTOREUNITNAME VARCHAR(10)
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(10)
--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 FPACKUNITNAME VARCHAR(10)
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(10)
UPDATE T SET T.FPACKUNITCONVT = CONCAT(CONVERT(VARCHAR,T.FPACKUNITCONVERRATIO),T.STOREUNITNAME,'/',T.FPACKUNITNAME) FROM #TMPMPS T
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end
DECLARE @SQL VARCHAR(2000)
SET @sql = '
select
t0.*
,'+@SeqFld+'
into '+ @TableName +' From #TMPMPS t0 '
EXECUTE(@sql)
DROP TABLE #TMPMPS
DROP TABLE #TMP_PLN_INFO
DROP TABLE #TMP_MO_INFO
END

View File

@@ -0,0 +1,22 @@
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_PPL_SaveCurrentData')
DROP PROCEDURE dbo.PROC_PPL_SaveCurrentData;
GO
CREATE PROCEDURE PROC_PPL_SaveCurrentData
@TableName varchar(100)
,@FRECORDDATE varchar(20)
,@FRECORDYEAR INT
,@FRECORDMONTH INT
AS
BEGIN
DELETE FROM T_PLAN_PLANPLMRPT WHERE FRECORDDATE = @FRECORDYEAR AND FRECORDMONTH = @FRECORDMONTH
DECLARE @SQL VARCHAR(2000)
SET @sql = '
SELECT *,'+@FRECORDDATE+' AS FRECORDDATE ,'+@FRECORDYEAR+' AS FRECORDYEAR ,'+@FRECORDMONTH+' AS FRECORDMONTH
INTO T_PLAN_PLANPLMRPT FROM '+@TableName
EXECUTE(@sql)
END

View File

@@ -0,0 +1,27 @@
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_PPL_AutoSaveCurrentData')
DROP PROCEDURE dbo.PROC_PPL_AutoSaveCurrentData;
GO
CREATE PROCEDURE PROC_PPL_AutoSaveCurrentData
@TableName varchar(100)
,@FRECORDDATE datetime
,@STARTDATE date
,@ENDDATE date
,@FRECORDYEAR INT
,@FRECORDMONTH INT
AS
BEGIN
EXEC PROC_INQUIRPLMTMPRTP @TableName,@STARTDATE,@ENDDATE,2052,' ROW_NUMBER() OVER(ORDER BY t0.FID ) FIDENTITYID '
DELETE FROM T_PLAN_PLANPLMRPT WHERE FRECORDDATE = @FRECORDYEAR AND FRECORDMONTH = @FRECORDMONTH
DECLARE @SQL VARCHAR(2000)
SET @sql = '
SELECT *,'+@FRECORDDATE+' AS FRECORDDATE ,'+@FRECORDYEAR+' AS FRECORDYEAR ,'+@FRECORDMONTH+' AS FRECORDMONTH
INTO T_PLAN_PLANPLMRPT FROM '+@TableName
EXECUTE(@sql)
execute(N'drop table'+ @TableName)
END

View File

@@ -0,0 +1,38 @@
SELECT
--A.FID
--,AE.FENTRYID
--,AE.FSALEORDERNO
--,AE.FSRCBILLID
--,AE.FSRCBILLENTRYID
--,AE.FSRCBILLENTRYSEQ
--,AE.FSRCBILLTYPE
--,AE.FSALEORDERID
--,AE_A.FREQSRC
--,AE_A.FCREATETYPE
--,AE_A.FSTATUS --6<EFBFBD><EFBFBD><EFBFBD>ѽ
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>
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'
) B on B.FMOENTRYID = AE.FENTRYID
WHERE
AE.FSRCBILLTYPE ='PLN_PLANORDER' AND AE_A.FSTATUS <> 6 and AE.FSALEORDERENTRYID <> 0
GROUP BY
AE.FSRCBILLNO
,AE.FMATERIALID
,AE.FSALEORDERENTRYID
,AE.FSALEORDERENTRYSEQ