1
This commit is contained in:
445
07.珠海英搏尔/Enpower.Python/产品成本还原报表V8.2.sql
Normal file
445
07.珠海英搏尔/Enpower.Python/产品成本还原报表V8.2.sql
Normal file
@@ -0,0 +1,445 @@
|
||||
IF EXISTS (SELECT 1 WHERE object_id('tempdb..#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') IS NOT NULL)
|
||||
DROP TABLE [dbo].#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
GO
|
||||
IF EXISTS (SELECT 1 WHERE object_id('tempdb..#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>') IS NOT NULL)
|
||||
DROP TABLE [dbo].#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
GO
|
||||
IF EXISTS (SELECT 1 WHERE object_id('tempdb..#<23><><EFBFBD><EFBFBD>ʹ<EFBFBD>óɱ<C3B3>_<EFBFBD><5F>ʱ<EFBFBD><CAB1>') IS NOT NULL)
|
||||
DROP TABLE [dbo].#<23><><EFBFBD><EFBFBD>ʹ<EFBFBD>óɱ<C3B3>_<EFBFBD><5F>ʱ<EFBFBD><CAB1>
|
||||
GO
|
||||
|
||||
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 <20><><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'
|
||||
--SET @billNo = 'WO2310240112'
|
||||
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 #TopMo AS (
|
||||
SELECT * FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
)
|
||||
,#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> AS (
|
||||
SELECT t1e.FLOT,t1e.FLOT_TEXT,t1e.FMATERIALID,'PRD_MO' AS 'FFORMID'
|
||||
,SUM(t1e.FAMOUNT) AS 'FAMOUNT',t1e.FMOENTRYID,t1e.FMOBILLNO
|
||||
,SUM(t1e.FBASEACTUALQTY) AS 'FBASEACTUALQTY'
|
||||
,MAX(CONVERT(int,CONVERT(varchar(6),t1.FDATE,112))) AS 'FPERIOD'
|
||||
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.FLOT,t0e.FLOT_TEXT,t0e.FMATERIALID,'PRD_MO' AS 'FFORMID'
|
||||
,SUM(t0e.FAMOUNT) AS 'FAMOUNT',t0e.FMOENTRYID,t0e.FMOBILLNO
|
||||
,SUM(t0e_q.FACTUALQTY) AS 'FQTY'
|
||||
,MAX(CONVERT(int,CONVERT(varchar(6),t0.FDATE,112))) AS 'FPERIOD'
|
||||
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.FLOT,t0e.FLOT_TEXT,t0e.FMATERIALID,'PRD_MO' AS 'FFORMID'
|
||||
,-SUM(t0e.FAMOUNT) AS 'FAMOUNT',t0e.FMOENTRYID,t0e.FMOBILLNO
|
||||
,-SUM(t0e.FQTY) AS 'FQTY'
|
||||
,MAX(CONVERT(int,CONVERT(varchar(6),t0.FDATE,112))) AS 'FPERIOD'
|
||||
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><EFBFBD><EFBFBD><EFBFBD>ϳɱ<CFB3> AS (
|
||||
SELECT t0.FLOT,t0.FLOT_TEXT,t0.FMATERIALID,'PRD_MO' AS 'FFORMID'
|
||||
,SUM(t0.FAMOUNT) AS 'FAMOUNT',t0.FMOENTRYID,t0.FMOBILLNO
|
||||
,SUM(t0.FBASEACTUALQTY) AS 'FBASEACTUALQTY'
|
||||
,MAX(t0.FPERIOD) AS 'FPERIOD'
|
||||
FROM (
|
||||
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>
|
||||
) t0
|
||||
GROUP BY t0.FMOENTRYID,t0.FMATERIALID,t0.FLOT,t0.FLOT_TEXT,t0.FMOBILLNO
|
||||
)
|
||||
,#ί<><CEAF><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> AS (
|
||||
SELECT t1e.FLOT,t1e.FLOT_TEXT,t1e.FMATERIALID,'SUB_SUBREQORDER' AS 'FFORMID'
|
||||
,SUM(ISNULL(t1e_a.FAMOUNT,0)) FAMOUNT,t1e.FSUBREQENTRYID AS 'FMOENTRYID',t1e.FSUBREQBILLNO AS 'FMOBILLNO'
|
||||
,SUM(t1e.FBASEACTUALQTY) AS 'FBASEACTUALQTY'
|
||||
,MAX(CONVERT(int,CONVERT(varchar(6),t1.FDATE,112))) AS 'FPERIOD'
|
||||
FROM T_SUB_PICKMTRL t1
|
||||
INNER JOIN T_SUB_PICKMTRLDATA t1e on t1.FID = t1e.FID
|
||||
INNER JOIN T_SUB_PICKMTRLDATA_A t1e_a on t1e.FENTRYID = t1e_a.FENTRYID
|
||||
WHERE t1.FDOCUMENTSTATUS = 'C'
|
||||
GROUP BY t1e.FLOT,t1e.FLOT_TEXT,t1e.FMATERIALID,t1e.FSUBREQENTRYID,t1e.FSUBREQBILLNO
|
||||
)
|
||||
, #ί<>ⲹ<EFBFBD>ϵ<EFBFBD> AS (
|
||||
SELECT t0e.FLOT,t0e.FLOT_TEXT,t0e.FMATERIALID,'SUB_SUBREQORDER' AS 'FFORMID'
|
||||
,SUM(t0e.FAMOUNT) AS 'FAMOUNT',t0e.FSUBREQENTRYID AS 'FMOENTRYID',t0e.FSUBREQBILLNO AS 'FMOBILLNO'
|
||||
,SUM(t0e_q.FACTUALQTY) AS 'FQTY'
|
||||
,MAX(CONVERT(int,CONVERT(varchar(6),t0.FDATE,112))) AS 'FPERIOD'
|
||||
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.FLOT_TEXT,t0e.FMATERIALID,t0e.FSUBREQENTRYID,t0e.FSUBREQBILLNO
|
||||
)
|
||||
, #ί<><CEAF><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> AS (
|
||||
SELECT t0e.FLOT,t0e.FLOT_TEXT,t0e.FMATERIALID,'SUB_SUBREQORDER' AS 'FFORMID'
|
||||
,-SUM(t0e.FAMOUNT) AS 'FAMOUNT',t0e_a.FSUBREQENTRYID AS 'FMOENTRYID',t0e_a.FSUBREQBILLNO AS 'FMOBILLNO'
|
||||
,-SUM(t0e.FQTY) AS 'FQTY'
|
||||
,MAX(CONVERT(int,CONVERT(varchar(6),t0.FDATE,112))) AS 'FPERIOD'
|
||||
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.FLOT_TEXT,t0e.FMATERIALID,t0e_a.FSUBREQENTRYID,t0e_a.FSUBREQBILLNO
|
||||
)
|
||||
, #ί<>ⶩ<EFBFBD><E2B6A9><EFBFBD><EFBFBD><EFBFBD>ϳɱ<CFB3> AS (
|
||||
SELECT t0.FLOT,t0.FLOT_TEXT,t0.FMATERIALID,'PRD_MO' AS 'FFORMID'
|
||||
,SUM(t0.FAMOUNT) AS 'FAMOUNT',t0.FMOENTRYID,t0.FMOBILLNO
|
||||
,SUM(t0.FBASEACTUALQTY) AS 'FBASEACTUALQTY'
|
||||
,MAX(t0.FPERIOD) AS 'FPERIOD'
|
||||
FROM (
|
||||
SELECT * FROM #ί<><CEAF><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
|
||||
UNION ALL
|
||||
SELECT * FROM #ί<>ⲹ<EFBFBD>ϵ<EFBFBD>
|
||||
UNION ALL
|
||||
SELECT * FROM #ί<><CEAF><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
|
||||
) t0
|
||||
GROUP BY t0.FMOENTRYID,t0.FMATERIALID,t0.FLOT,t0.FLOT_TEXT,t0.FMOBILLNO
|
||||
)
|
||||
, #ֱ<>Ӳ<EFBFBD><D3B2><EFBFBD> AS (
|
||||
SELECT t0.FID,t0.FBILLNO,t0e.FENTRYID,t0e.FMATERIALID AS MoMaterialId,t0e.FBOMID
|
||||
,CONVERT(decimal(23,10),t0e_a.FSTOCKINQUASELAUXQTY) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t1.FLOT,t1.FLOT_TEXT,t1.FMATERIALID,t1.FAMOUNT,t1.FMOENTRYID
|
||||
,CONVERT(VARCHAR(36),'PRD_MO') AS 'FFORMID'
|
||||
,t0e_a.FSTOCKINQUASELAUXQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1.FBASEACTUALQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t1.FPERIOD
|
||||
,CASE WHEN ISNULL(t0.FID,0) = 0 THEN CAST(1 AS decimal(23,10)) ELSE CONVERT(decimal(23,10),t1.FBASEACTUALQTY / t0e.FBASEUNITQTY) END AS 'QtyRatio'
|
||||
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳɱ<CFB3> t1
|
||||
LEFT JOIN T_PRD_MO t0 on t0.FBILLNO = t1.FLOT_TEXT
|
||||
LEFT JOIN T_PRD_MOENTRY t0e on t0.FID = t0e.FID
|
||||
LEFT JOIN T_PRD_MOENTRY_A t0e_a on t0e.FENTRYID = t0e_a.FENTRYID
|
||||
UNION ALL
|
||||
SELECT t0.FID,t0.FBILLNO,t0e.FENTRYID,t0e.FMATERIALID AS MoMaterialId,t0e.FBOMID
|
||||
,t0e.FSTOCKINQTY
|
||||
,t1.FLOT,t1.FLOT_TEXT,t1.FMATERIALID,t1.FAMOUNT,t1.FMOENTRYID
|
||||
,CONVERT(VARCHAR(36),'SUB_SUBREQORDER') AS 'FFORMID'
|
||||
,t0e.FQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1.FBASEACTUALQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t1.FPERIOD
|
||||
,CASE WHEN ISNULL(t0.FID,0) = 0 THEN CAST(1 AS decimal(23,10)) ELSE CONVERT(decimal(23,10),t1.FBASEACTUALQTY / t0e.FQTY) END AS 'QtyRatio'
|
||||
FROM #ί<>ⶩ<EFBFBD><E2B6A9><EFBFBD><EFBFBD><EFBFBD>ϳɱ<CFB3> t1
|
||||
LEFT JOIN T_SUB_REQORDER t0 on t0.FBILLNO = t1.FLOT_TEXT
|
||||
LEFT JOIN T_SUB_REQORDERENTRY t0e on t0.FID = t0e.FID
|
||||
)
|
||||
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS (
|
||||
SELECT t0.FBILLNO AS 'MoBillNo'
|
||||
,t0.FBILLNO AS 'PMoBillNo'
|
||||
,CONVERT(varchar(1000),ROW_NUMBER() OVER (ORDER BY t0.FID,t0.FENTRYID,t0.FMATERIALID)) AS 'aPATH'
|
||||
,CONVERT(varchar(1000),'0') AS 'PPATH'
|
||||
,CONVERT(VARCHAR(8000),'') AS 'MPath'
|
||||
,0 AS 'lv'
|
||||
,t0.FID AS 'MoId'
|
||||
,t0.FENTRYID AS 'MoEntryId'
|
||||
,t0.FMATERIALID AS 'MoMaterialId'
|
||||
,0 AS 'PMoId'
|
||||
,0 AS 'PMoEntryId'
|
||||
,0 AS 'PMoMaterialId'
|
||||
,t0.TopMaterialId
|
||||
,t0.FMATERIALID
|
||||
,0 FLOT
|
||||
,CONVERT(nvarchar(255),'') AS 'FLOT_TEXT'
|
||||
,CONVERT(decimal(23,10),0) AS 'FAMOUNT'
|
||||
,CONVERT(decimal(23,10),1) AS 'QtyRatio'
|
||||
,CONVERT(decimal(23,10),1) AS 'TQtyRatio'
|
||||
,CONVERT(decimal(23,10),0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>'
|
||||
,CONVERT(decimal(23,10),0) AS '<EFBFBD><EFBFBD><EFBFBD>ϳɱ<EFBFBD>'
|
||||
,t0.FQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t0.FQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t0.FPERIOD
|
||||
,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0.FFORMID
|
||||
FROM #TopMo t0
|
||||
UNION ALL
|
||||
SELECT ISNULL(t0.FBILLNO,'') AS 'MoBillNo'
|
||||
,tt.MoBillNo
|
||||
,CONVERT(varchar(1000),CONCAT(tt.aPATH,'.',ROW_NUMBER() OVER (PARTITION BY tt.MoId,tt.MoEntryId ORDER BY t0.FMATERIALID))) AS 'aPATH'
|
||||
,tt.aPATH
|
||||
,CONVERT(varchar(8000),CONCAT(tt.MPath,ISNULL(tt.MoBillNo,''),'>'))
|
||||
,tt.lv + 1 lv
|
||||
,ISNULL(t0.FID,0) AS 'MoId'
|
||||
,ISNULL(t0.FENTRYID,0) AS 'MoEntryId'
|
||||
,ISNULL(t0.MoMaterialId, 0)
|
||||
,tt.MoId AS 'PMoId'
|
||||
,tt.MoEntryId AS 'PMoEntryId'
|
||||
,tt.MoMaterialId AS 'PMoMaterialId'
|
||||
,tt.TopMaterialId
|
||||
,t0.FMATERIALID
|
||||
,t0.FLOT
|
||||
,t0.FLOT_TEXT
|
||||
,CONVERT(decimal(23,10),t0.FAMOUNT * tt.QtyRatio)
|
||||
,CONVERT(decimal(23,10),tt.QtyRatio * t0.QtyRatio)
|
||||
,CONVERT(decimal(23,10),tt.QtyRatio)
|
||||
,CONVERT(decimal(23,10),tt.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>)
|
||||
,CONVERT(decimal(23,10),t0.FAMOUNT)
|
||||
,CONVERT(decimal(23,10),t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
,ISNULL(t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
,t0.FPERIOD
|
||||
,ISNULL(t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.FFORMID,'')
|
||||
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> tt
|
||||
CROSS APPLY (
|
||||
SELECT *
|
||||
FROM #ֱ<>Ӳ<EFBFBD><D3B2><EFBFBD> t0
|
||||
WHERE t0.FFORMID = tt.FFORMID
|
||||
AND t0.FMOENTRYID = tt.MoEntryId
|
||||
) t0
|
||||
WHERE 1=1
|
||||
AND CHARINDEX(tt.MoBillNo,tt.MPath) = 0
|
||||
)
|
||||
SELECT *
|
||||
INTO #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;WITH #<23>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD> AS (
|
||||
SELECT
|
||||
t0.FPRODUCTDIMEID
|
||||
,t0.FPRODUCTNO
|
||||
,t0.FPRODUCTID
|
||||
,t0.FBILLID
|
||||
,t0.FBILLENTRYID
|
||||
,t2.FMATERIALID
|
||||
,t2e.FEXPENSESITEMID
|
||||
,t2e.FCOSTITEMID
|
||||
,SUM(t2e.FQUALIFIEDINAMOUNT) AS '<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,SUM(t2e.FCURRINPUTAMOUNT) AS '<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,MAX(t2.FSUMQUALIFIEDINQTY) AS '<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,MAX(t2.FSUMCURRINPUTQTY) AS '<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,MAX(t3.FSUMQUALIFIEDINQTY) AS '<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2'
|
||||
,MAX(t3.FSUMCURRINPUTQTY) AS '<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2'
|
||||
,t2.FEXPTYPE
|
||||
,tt.aPATH
|
||||
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> tt
|
||||
INNER JOIN T_CB_PROORDERDIME t0 on tt.MoEntryId = t0.FBILLENTRYID AND tt.MoId = t0.FBILLID
|
||||
INNER JOIN V_CB_PROORDERINFO t1 ON t1.FPRODUCTDIMEID= t0.FPRODUCTDIMEID
|
||||
INNER JOIN V_CB_COSTMATTERIAL t2 on t2.FID = t1.FID
|
||||
INNER JOIN V_CB_COSTMATTERIALDETAIL t2e on t2.FENTRYID = t2e.FENTRYID
|
||||
INNER JOIN V_CB_COSTCALEXPENSE t3 on t3.FID = t2.FID
|
||||
CROSS APPLY(
|
||||
SELECT TOP 1 1 AS 'val'
|
||||
FROM V_HS_OUTACCTG t5
|
||||
WHERE t5.FID = t1.FACCTGID
|
||||
AND (tt.FPERIOD IS NULL OR t5.FYEAR *100 + t5.FPERIOD <= tt.FPERIOD)
|
||||
ORDER BY t5.FYEAR *100 + t5.FPERIOD DESC
|
||||
) t4
|
||||
WHERE 1=1
|
||||
AND tt.MoEntryId != 0
|
||||
GROUP BY t0.FPRODUCTDIMEID,t0.FPRODUCTNO,t0.FPRODUCTID,t0.FBILLID,t0.FBILLENTRYID
|
||||
,t2.FMATERIALID,t2e.FEXPENSESITEMID,t2e.FCOSTITEMID
|
||||
,t2.FEXPTYPE
|
||||
,tt.aPATH
|
||||
)
|
||||
, #<23><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD> AS (
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT SUM(t0.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) AS '<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FBILLENTRYID
|
||||
,t0.aPATH
|
||||
,CASE t0.FEXPTYPE WHEN 0 THEN 'ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>' WHEN 1 THEN '<EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>' ELSE t1.FNAME END AS '<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM #<23>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD> t0
|
||||
LEFT JOIN V_BD_COST_RESTORE_EXPENSE t1 on t0.FEXPENSESITEMID = t1.FEXPID
|
||||
GROUP BY t0.FBILLENTRYID,t0.FEXPTYPE,t0.aPATH,t1.FNAME
|
||||
) t0
|
||||
PIVOT(
|
||||
SUM(t0.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) FOR
|
||||
t0.<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD> IN (ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>,ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>,ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>,<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>,<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>,ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>칫<EFBFBD><EFBFBD>,<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ӹ<EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ί<EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ϳɱ<EFBFBD>)
|
||||
) AS t1
|
||||
)
|
||||
, #ֱ<>Ӳ<EFBFBD><D3B2>ϼ<EFBFBD><CFBC><EFBFBD> AS (
|
||||
SELECT tt.*
|
||||
,CASE tt.MoId WHEN 0 THEN tt.<EFBFBD><EFBFBD><EFBFBD>ϳɱ<EFBFBD> ELSE ISNULL(t2.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) END '<EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD>'
|
||||
,CASE tt.MoId WHEN 0 THEN t1.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ELSE ISNULL(t2.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) END AS '<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,CASE tt.MoId WHEN 0 THEN t1.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ELSE ISNULL(t2.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) END AS '<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,CASE tt.MoId WHEN 0 THEN t1.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ELSE ISNULL(t2.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,1) END AS '<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,CASE tt.MoId WHEN 0 THEN t1.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ELSE ISNULL(t2.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,1) END AS '<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,CASE t1.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WHEN 0 THEN 0 ELSE ISNULL(t1.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,1)/ ISNULL(t1.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,1) END 'Ͷ<EFBFBD><EFBFBD><EFBFBD>깤ռ<EFBFBD><EFBFBD>'
|
||||
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> tt
|
||||
OUTER APPLY (
|
||||
SELECT
|
||||
t0.FPRODUCTDIMEID
|
||||
,t0.FPRODUCTNO
|
||||
,t0.FBILLID
|
||||
,t0.FBILLENTRYID
|
||||
,t0.FMATERIALID
|
||||
,SUM(t0.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) AS '<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,SUM(t0.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) AS '<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,MAX(t0.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) '<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,MAX(t0.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) AS '<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM #<23>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD> t0
|
||||
WHERE 1=1
|
||||
AND t0.FEXPTYPE = 0
|
||||
AND t0.aPATH = tt.PPATH
|
||||
AND t0.FMATERIALID = tt.FMATERIALID
|
||||
GROUP BY t0.FPRODUCTDIMEID,t0.FPRODUCTNO,t0.FBILLID,t0.FBILLENTRYID,t0.FMATERIALID
|
||||
) t1
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t0.FPRODUCTDIMEID
|
||||
,t0.FPRODUCTNO
|
||||
,t0.FBILLID
|
||||
,t0.FBILLENTRYID
|
||||
,t0.FPRODUCTID
|
||||
,SUM(t0.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) AS '<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,SUM(t0.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) AS '<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,MAX(t0.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2) '<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,MAX(t0.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2) AS '<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t0.aPATH
|
||||
FROM #<23>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD> t0
|
||||
WHERE 1=1
|
||||
GROUP BY t0.FPRODUCTDIMEID,t0.FPRODUCTNO,t0.FBILLID,t0.FBILLENTRYID
|
||||
,t0.FPRODUCTID,t0.aPATH
|
||||
) t2 on t2.aPATH = tt.aPATH AND t2.FPRODUCTID = tt.FMATERIALID
|
||||
)
|
||||
, #<23><><EFBFBD><EFBFBD>ʹ<EFBFBD>óɱ<C3B3> AS (
|
||||
SELECT tt.MoBillNo,tt.PMoBillNo,tt.FMATERIALID,tt.lv
|
||||
,<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,Ͷ<EFBFBD><EFBFBD><EFBFBD>깤ռ<EFBFBD><EFBFBD>
|
||||
,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,CAST(tt.<EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD> AS decimal(23,10)) AS '<EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD>'
|
||||
,CAST(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS decimal(23,10)) '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>'
|
||||
,aPATH,PPATH
|
||||
,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,FFORMID
|
||||
,tt.MPath,tt.MoId,tt.MoEntryId,tt.MoMaterialId,tt.PMoId,tt.PMoEntryId
|
||||
,tt.PMoMaterialId,tt.TopMaterialId
|
||||
,tt.FLOT,tt.FLOT_TEXT,tt.FAMOUNT,tt.FPERIOD
|
||||
FROM #ֱ<>Ӳ<EFBFBD><D3B2>ϼ<EFBFBD><CFBC><EFBFBD> tt
|
||||
WHERE tt.lv = 0
|
||||
UNION ALL
|
||||
SELECT tt.MoBillNo,tt.PMoBillNo,tt.FMATERIALID,tt.lv
|
||||
,tt.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,tt.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,tt.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,tt.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,tt.Ͷ<EFBFBD><EFBFBD><EFBFBD>깤ռ<EFBFBD><EFBFBD>
|
||||
,tt.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,tt.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,CAST(tt.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / tt.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * t0.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> * tt.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * tt.Ͷ<EFBFBD><EFBFBD><EFBFBD>깤ռ<EFBFBD><EFBFBD> AS decimal(23,10))
|
||||
,CAST(tt.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / tt.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * t0.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS decimal(23,10))
|
||||
,tt.aPATH,tt.PPATH
|
||||
,tt.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,tt.FFORMID
|
||||
,tt.MPath,tt.MoId,tt.MoEntryId,tt.MoMaterialId,tt.PMoId,tt.PMoEntryId
|
||||
,tt.PMoMaterialId,tt.TopMaterialId
|
||||
,tt.FLOT,tt.FLOT_TEXT,tt.FAMOUNT,tt.FPERIOD
|
||||
FROM #ֱ<>Ӳ<EFBFBD><D3B2>ϼ<EFBFBD><CFBC><EFBFBD> tt
|
||||
INNER JOIN #<23><><EFBFBD><EFBFBD>ʹ<EFBFBD>óɱ<C3B3> t0 on tt.lv = t0.lv + 1 AND tt.PPATH = t0.aPATH
|
||||
)
|
||||
SELECT tt.*
|
||||
,ISNULL(t0.ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS 'ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS 'ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS 'ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>'
|
||||
,ISNULL(t0.ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS 'ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD>칫<EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD>칫<EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS 'ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD>ӹ<EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) AS '<EFBFBD>ӹ<EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.ί<EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS 'ί<EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD>'
|
||||
,ISNULL(t0.<EFBFBD><EFBFBD><EFBFBD>ϳɱ<EFBFBD>,0) * tt.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> AS '<EFBFBD><EFBFBD><EFBFBD>ϳɱ<EFBFBD>'
|
||||
INTO #<23><><EFBFBD><EFBFBD>ʹ<EFBFBD>óɱ<C3B3>_<EFBFBD><5F>ʱ<EFBFBD><CAB1>
|
||||
FROM #<23><><EFBFBD><EFBFBD>ʹ<EFBFBD>óɱ<C3B3> tt
|
||||
LEFT JOIN #<23><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD> t0 on tt.aPATH = t0.aPATH
|
||||
ORDER BY CAST(CONCAT('/',REPLACE(tt.aPATH,'.','/'),'/') AS HIERARCHYID)
|
||||
|
||||
;WITH #ʵ<>ʹ<EFBFBD>ʱ<EFBFBD>鼯 AS (
|
||||
SELECT t0e.FPROORDERNO,t0e.FPROORDERENTRYID,FCOSTCENTERID
|
||||
,SUM(t0e.FHRWORKTIME) AS '<EFBFBD><EFBFBD>Աʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ',SUM(t0e.FRPTQTY) AS '<EFBFBD>㱨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,SUM(t2e.FHRWORKTIME) FHRWORKTIME,SUM(t2e.FFINISHQTY) FFINISHQTY
|
||||
FROM T_CB_WORKHOURSENTRY t0e
|
||||
INNER JOIN T_PRD_MORPTENTRY t2e on t2e.FENTRYID = t0e.FSRCENTRYID
|
||||
WHERE t0e.FSRCBILLFORMID = 'PRD_MORPT'
|
||||
GROUP BY t0e.FPROORDERNO,t0e.FPROORDERENTRYID,FCOSTCENTERID
|
||||
)
|
||||
, #<23><>ʱ AS (
|
||||
SELECT t0.*
|
||||
,CASE ISNULL(t6.<EFBFBD>㱨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) WHEN 0 THEN 0 ELSE ISNULL(t6.<EFBFBD><EFBFBD>Աʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,0) / ISNULL(t6.<EFBFBD>㱨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) END AS '<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB'
|
||||
,(CASE LEFT(t0.MoBillNo,2) WHEN 'WO' THEN 1 WHEN 'TO' THEN 2 WHEN 'RO' THEN 3 WHEN 'RT' THEN 4 ELSE 0 END) AS 'MoType'
|
||||
,CAST(CONCAT('/',REPLACE(t0.aPATH,'.','/'),'/') AS HIERARCHYID) PATH_ID
|
||||
,(CASE t0.MoId WHEN 0 THEN t0.<EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD> ELSE 0 END) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM #<23><><EFBFBD><EFBFBD>ʹ<EFBFBD>óɱ<C3B3>_<EFBFBD><5F>ʱ<EFBFBD><CAB1> t0
|
||||
LEFT JOIN #ʵ<>ʹ<EFBFBD>ʱ<EFBFBD>鼯 t6 on t6.FPROORDERENTRYID = t0.MoEntryId
|
||||
)
|
||||
, #ͳ<>ƹ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ɱ<EFBFBD> AS (
|
||||
SELECT
|
||||
t0.aPATH
|
||||
,SUM(t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,SUM(CASE t1.MoType WHEN 1 THEN t1.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB ELSE 0 END) '<EFBFBD><EFBFBD>ͨC'
|
||||
,SUM(CASE t1.MoType WHEN 2 THEN t1.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB ELSE 0 END) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>D'
|
||||
,SUM(CASE t1.MoType WHEN 3 THEN t1.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB ELSE 0 END) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>E'
|
||||
,SUM(CASE t1.MoType WHEN 4 THEN t1.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB ELSE 0 END) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F'
|
||||
,SUM(CASE t1.MoType WHEN 0 THEN t1.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB ELSE 0 END) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>G'
|
||||
,SUM(CASE t1.MoType WHEN 1 THEN t1.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB * t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * t1.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> ELSE 0 END) '<EFBFBD><EFBFBD>ͨI'
|
||||
,SUM(CASE t1.MoType WHEN 2 THEN t1.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB * t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * t1.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> ELSE 0 END) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>J'
|
||||
,SUM(CASE t1.MoType WHEN 3 THEN t1.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB * t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * t1.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> ELSE 0 END) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>K'
|
||||
,SUM(CASE t1.MoType WHEN 4 THEN t1.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB * t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * t1.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> ELSE 0 END) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L'
|
||||
,SUM(CASE t1.MoType WHEN 0 THEN t1.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB * t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * t1.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> ELSE 0 END) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>M'
|
||||
FROM #<23><>ʱ t0
|
||||
INNER JOIN #<23><>ʱ t1 ON t1.PATH_ID.IsDescendantOf(t0.PATH_ID) = 1
|
||||
GROUP BY t0.aPATH
|
||||
)
|
||||
SELECT *
|
||||
FROM #<23><><EFBFBD><EFBFBD>ʹ<EFBFBD>óɱ<C3B3>_<EFBFBD><5F>ʱ<EFBFBD><CAB1> t0
|
||||
INNER JOIN #ͳ<>ƹ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ɱ<EFBFBD> t1 on t0.aPATH = t1.aPATH
|
||||
Reference in New Issue
Block a user