Files
GateDge2023_ljy/07.珠海英搏尔/Enpower.Python/领+补-退.sql

152 lines
5.0 KiB
MySQL
Raw Normal View History

2024-07-16 10:33:50 +08:00
IF EXISTS (SELECT 1 WHERE object_id('tempdb..#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') IS NOT NULL)
BEGIN
DROP TABLE #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
END
IF EXISTS (SELECT 1 WHERE object_id('tempdb..#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>') IS NOT NULL)
BEGIN
DROP TABLE [dbo].[#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>]
END
CREATE TABLE #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(
[FBILLNO] [nvarchar](80) NULL,
[FID] [int] NOT NULL,
[FENTRYID] [int] NOT NULL,
[TopMaterialId] [int] NULL,
[FMATERIALID] [int] NULL,
[FFORMID] [varchar](36) NULL,
[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] [decimal](23, 10) NOT NULL,
[FSTATUS] [char](1) NULL,
[FCOSTDATE] [datetime] NULL,
[FQTY] [decimal](23, 10) NOT NULL,
[FPERIOD] [int] NULL
) ON [PRIMARY]
declare @sqlL varchar(max)
declare @billNo varchar(100),@materialNumber varchar(100)
declare @dbName varchar(100)
SET @sqlL = N'
INSERT INTO #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT t0.FBILLNO,t0.FID,t0e.FENTRYID,t0e.FMATERIALID AS TopMaterialId,t0e.FMATERIALID
,t0.FFORMID AS FFORMID,t0e_a.FSTOCKINQUASELAUXQTY AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,t0e_a.FSTATUS,t0e_a.FCOSTDATE,t0e_a.FSTOCKINQUASELAUXQTY AS FQTY
,CONVERT(INT, CONVERT(VARCHAR(6),ISNULL(t0e_a.FCOSTDATE,GETDATE()),112)) AS FPERIOD
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.FENTRYID = t0e_a.FENTRYID
INNER JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0e.FMATERIALID
WHERE 1 = 1
'
select @dbName = db_name()
if @dbName != 'AIS20231110222743'
BEGIN
SET @billNo = 'WO2403210039'
--SET @billNo = 'WO2310240111'
--SET @billNo = 'TO2310120003'
SET @billNo = 'RO2403280019'
SET @billNo = 'WO2304230023'
END
IF @billNo != '' OR @materialNumber = ''
BEGIN
SET @sqlL = @sqlL + N' AND t0.FBILLNO = ''' + @billNo + ''''
END
IF @materialNumber != ''
BEGIN
SET @sqlL = @sqlL + N' AND t1.FNUMBER = ''' + @materialNumber + ''''
END
EXEC(@sqlL)
;WITH #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> AS (
SELECT t1e.FMOENTRYID,t1e.FMOBILLNO,t1e.FMATERIALID,t1e.FLOT,t1e.FLOT_TEXT
--,SUM(t1e.FAMOUNT) AS 'FAMOUNT'
--,SUM(t1e.FACTUALQTY) AS 'FQTY'
,t1e.FAMOUNT,t1e.FACTUALQTY,t1e.FPRICE
,'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' AS 'FFORMID'
FROM T_PRD_PICKMTRL t1
INNER JOIN T_PRD_PICKMTRLDATA t1e on t1.FID = t1e.FID
WHERE t1.FDOCUMENTSTATUS = 'C' AND t1e.FMOBILLNO != t1e.FLOT_TEXT
--GROUP BY t1e.FLOT,t1e.FLOT_TEXT,t1e.FMATERIALID,t1e.FMOENTRYID,t1e.FMOBILLNO
)
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> AS (
SELECT t0e.FMOENTRYID,t0e.FMOBILLNO,t0e.FMATERIALID,t0e.FLOT,t0e.FLOT_TEXT
--,SUM(t0e.FAMOUNT) AS 'FAMOUNT'
--,SUM(t0e_q.FACTUALQTY) AS 'FQTY'
,t0e.FAMOUNT,t0e_q.FACTUALQTY,t0e.FPRICE
,'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' AS 'FFORMID'
FROM T_PRD_FEEDMTRL t0
INNER JOIN T_PRD_FEEDMTRLDATA t0e on t0.FID = t0e.FID
INNER JOIN T_PRD_FEEDMTRLDATA_Q t0e_q on t0e_q.FENTRYID = t0e.FENTRYID
WHERE t0.FDOCUMENTSTATUS = 'C'
--GROUP BY t0e.FMOID,t0e.FMOENTRYID,t0e.FMATERIALID,t0e.FLOT,t0e.FLOT_TEXT,t0e.FMOBILLNO
)
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> AS (
SELECT t0e.FMOENTRYID,t0e.FMOBILLNO,t0e.FMATERIALID,t0e.FLOT,t0e.FLOT_TEXT
--,-SUM(t0e.FAMOUNT) AS 'FAMOUNT'
--,-SUM(t0e.FQTY) AS 'FQTY'
,-t0e.FAMOUNT AS 'FAMOUNT',-t0e.FQTY AS 'FQTY',-t0e.FPRICE AS 'FPRICE'
,'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' AS 'FFORMID'
FROM T_PRD_RETURNMTRL t0
INNER JOIN T_PRD_RETURNMTRLENTRY t0e on t0.FID = t0e.FID
WHERE t0.FDOCUMENTSTATUS = 'C'
--GROUP BY t0e.FMOID,t0e.FMOENTRYID,t0e.FMATERIALID,t0e.FLOT,t0e.FLOT_TEXT,t0e.FMOBILLNO
)
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> AS (
SELECT t0e.FMOENTRYID,t0e.FMATERIALID,t0e.FLOT,SUM(t0e.FAMOUNT) AS 'FAMOUNT','PRD_MO' AS 'FFORMID'
,SUM(t0e_q.FACTUALQTY) AS 'FQTY'
FROM T_PRD_FEEDMTRL t0
INNER JOIN T_PRD_FEEDMTRLDATA t0e on t0.FID = t0e.FID
INNER JOIN T_PRD_FEEDMTRLDATA_Q t0e_q on t0e_q.FENTRYID = t0e.FENTRYID
WHERE t0.FDOCUMENTSTATUS = 'C'
GROUP BY t0e.FMOID,t0e.FMOENTRYID,t0e.FMATERIALID,t0e.FLOT
)
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> AS (
SELECT t0e.FMOENTRYID,t0e.FMATERIALID,t0e.FLOT,SUM(t0e.FAMOUNT) AS 'FAMOUNT','PRD_MO' AS 'FFORMID'
,SUM(t0e.FQTY) AS 'FQTY'
FROM T_PRD_RETURNMTRL t0
INNER JOIN T_PRD_RETURNMTRLENTRY t0e on t0.FID = t0e.FID
WHERE t0.FDOCUMENTSTATUS = 'C'
GROUP BY t0e.FMOID,t0e.FMOENTRYID,t0e.FMATERIALID,t0e.FLOT
)
, <><EFBFBD>ϵ<EFBFBD> AS (
SELECT t0e.FSUBREQENTRYID AS FMOENTRYID,t0e.FMATERIALID,t0e.FLOT,SUM(t0e.FAMOUNT) AS 'FAMOUNT','SUB_SUBREQORDER' AS 'FFORMID'
,SUM(t0e_q.FACTUALQTY) AS 'FQTY'
FROM T_SUB_FEEDMTRL t0
INNER JOIN T_SUB_FEEDMTRLENTRY t0e on t0.FID = t0e.FID
INNER JOIN T_SUB_FEEDMTRLENTRY_Q t0e_q on t0e_q.FENTRYID = t0e.FENTRYID
WHERE t0.FDOCUMENTSTATUS = 'C'
GROUP BY t0e.FLOT,t0e.FMATERIALID,t0e.FSUBREQENTRYID
)
, <><CEAF><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> AS (
SELECT t0e_a.FSUBREQENTRYID AS FMOENTRYID,t0e.FMATERIALID,t0e.FLOT,SUM(t0e.FAMOUNT) AS 'FAMOUNT','SUB_SUBREQORDER' AS 'FFORMID'
,SUM(t0e.FQTY) AS 'FQTY'
FROM T_SUB_RETURNMTRL t0
INNER JOIN T_SUB_RETURNMTRLENTRY t0e on t0.FID = t0e.FID
INNER JOIN T_SUB_RETURNMTRLENTRY_A t0e_a on t0e.FENTRYID = t0e_a.FENTRYID
WHERE t0.FDOCUMENTSTATUS = 'C'
GROUP BY t0e.FLOT,t0e.FMATERIALID,t0e_a.FSUBREQENTRYID
)
, <>Ӳ<EFBFBD><D3B2><EFBFBD> AS (
SELECT * FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
UNION ALL
SELECT * FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
UNION ALL
SELECT * FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
)
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS (
SELECT * FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UNION ALL
SELECT *
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
)
SELECT FAMOUNT,FACTUALQTY,FPRICE
FROM <>Ӳ<EFBFBD><D3B2><EFBFBD> t0
WHERE t0.FMOBILLNO = 'WO2304230023'