Files
GateDge2023_ljy/07.珠海英搏尔/Enpower.Python/产品成本还原报表V4.0_存储过程.sql

385 lines
16 KiB
MySQL
Raw Normal View History

2024-07-16 10:33:50 +08:00
--EXEC PROC_CB_PRODUCT_COST_SELECT '',''
ALTER PROCEDURE PROC_CB_PRODUCT_COST_SELECT
@billNo varchar(100)
,@materialNumber varchar(100)
AS
BEGIN
;WITH #SelectMo AS (
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
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
WHERE 1 = 1
AND t0.FBILLNO = @billNo
UNION
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
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
AND t1.FNUMBER = @materialNumber
)
,#TopMo AS (
SELECT t0.*
,CONVERT(varchar(1000),ROW_NUMBER() OVER (ORDER BY t0.FID,t0.FMATERIALID)) AS 'aPATH'
,0 AS 'FLOT',CAST('' AS nvarchar(255)) AS 'FLOT_TEXT',CONVERT(decimal(23,10), 0) AS 'FAMOUNT',0 'lv'
FROM #SelectMo t0
)
,#<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
FROM T_PRD_PICKMTRL t1
INNER JOIN T_PRD_PICKMTRLDATA t1e on t1.FID = t1e.FID
WHERE t1.FDOCUMENTSTATUS = 'C'
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.FMATERIALID,t0e.FLOT,SUM(t0e.FAMOUNT) AS 'FAMOUNT','PRD_MO' AS 'FFORMID'
FROM T_PRD_FEEDMTRL t0
INNER JOIN T_PRD_FEEDMTRLDATA t0e on t0.FID = t0e.FID
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'
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
)
,<><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
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
)
, <><EFBFBD>ϵ<EFBFBD> AS (
SELECT t0e.FSUBREQENTRYID AS FMOENTRYID,t0e.FMATERIALID,t0e.FLOT,SUM(t0e.FAMOUNT) AS 'FAMOUNT','SUB_SUBREQORDER' AS 'FFORMID'
FROM T_SUB_FEEDMTRL t0
INNER JOIN T_SUB_FEEDMTRLENTRY t0e on t0.FID = t0e.FID
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'
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
)
, #<23><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD> AS (
SELECT t0.FMATERIALID AS 'TopMaterialId'
,t0.FMATERIALID AS 'MoMaterialId'
,t1e.FMATERIALID
,t1e.FLOT
,t1e.FLOT_TEXT
,t1e.FAMOUNT
,CONVERT(decimal(23,10),0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,0 AS 'FSTATUS'
,CONVERT(varchar(1000),CONCAT(t0.aPATH,'.',ROW_NUMBER() OVER (PARTITION BY t0.FID,t0.FENTRYID ORDER BY t1e.FMATERIALID))) AS 'aPATH'
,t0.aPATH AS 'PPATH'
,t0.lv + 1 lv
,t0.FFORMID
,t1e.MoId AS 'MoId'
,t1e.MoEntryId AS 'MoEntryId'
,t1e.MoBillNo AS 'MoBillNo'
,t0.FID AS 'PMoId'
,t0.FENTRYID AS 'PMoEntryId'
,t0.FBILLNO AS 'PMoBillNo'
,0 AS 'isTrue'
FROM #TopMo t0
CROSS APPLY (
SELECT t1e.FLOT,t1e.FLOT_TEXT,t1e.FMATERIALID,SUM(t1e.FAMOUNT) AS 'FAMOUNT'
,ISNULL(t2.FID,0) AS 'MoId',ISNULL(t2e.FENTRYID,0) AS 'MoEntryId',ISNULL(t2.FBILLNO,'') AS 'MoBillNo'
FROM T_PRD_PICKMTRLDATA t1e
LEFT JOIN T_PRD_MO t2 on t2.FBILLNO = t1e.FLOT_TEXT AND t2.FDOCUMENTSTATUS = 'C'
LEFT JOIN T_PRD_MOENTRY t2e on t2e.FID = t2.FID
WHERE t1e.FMOENTRYID = t0.FENTRYID
GROUP BY t1e.FLOT,t1e.FLOT_TEXT,t1e.FMATERIALID,t2.FID,t2e.FENTRYID,t2.FBILLNO
) t1e
UNION ALL
SELECT tt.TopMaterialId
,ISNULL(t0.MoMaterialId,'')
,t0.FMATERIALID
,t0.FLOT
,t0.FLOT_TEXT
,t0.FAMOUNT
,ISNULL(t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,t0.FSTATUS
,CONVERT(varchar(1000),CONCAT(tt.aPATH,'.',ROW_NUMBER() OVER (PARTITION BY tt.MoId,tt.MoEntryId ORDER BY t0.FMATERIALID))) AS 'aPATH'
,tt.aPATH
,tt.lv + 1 lv
,ISNULL(t0.FFORMID,'')
,ISNULL(t0.FID,0) AS 'MoId'
,ISNULL(t0.FENTRYID,0) AS 'MoEntryId'
,ISNULL(t0.FBILLNO,'') AS 'MoBillNo'
,tt.MoId AS 'PMoId'
,tt.MoEntryId AS 'PMoEntryId'
,tt.MoBillNo AS 'PMoEntryId'
,CASE WHEN t0.FBILLNO = tt.MoBillNo THEN 1 ELSE 0 END AS 'isTrue'
FROM #<23><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD> tt
CROSS APPLY (
SELECT t0.FID,t0.FBILLNO,t0e.FENTRYID,t0e.FMATERIALID AS MoMaterialId,t0e.FBOMID
,CONVERT(decimal(23,10),0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,0 AS 'FSTATUS'
,t1.FLOT,t1.FLOT_TEXT,t1.FMATERIALID,t1.FAMOUNT,t1.FMOENTRYID,CONVERT(varchar(36),t1.FFORMID) AS 'FFORMID'
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> t1
LEFT JOIN T_PRD_MO t0 on t0.FBILLNO = t1.FLOT_TEXT
LEFT JOIN T_PRD_MOENTRY t0e on t0.FID = t0e.FID
WHERE t1.FMOENTRYID = tt.MoEntryId
AND tt.FFORMID = t1.FFORMID
UNION ALL
SELECT t0.FID,t0.FBILLNO,t0e.FENTRYID,t0e.FMATERIALID AS MoMaterialId,t0e.FBOMID
,t0e.FSTOCKINQTY,t0e.FSTATUS
,t1.FLOT,t1.FLOT_TEXT,t1.FMATERIALID,t1.FAMOUNT,t1.FMOENTRYID,CONVERT(varchar(36),t1.FFORMID) AS 'FFORMID'
FROM <><CEAF><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> t1
INNER JOIN T_SUB_REQORDER t0 on t0.FBILLNO = t1.FLOT_TEXT
INNER JOIN T_SUB_REQORDERENTRY t0e on t0.FID = t0e.FID
WHERE t1.FMOENTRYID = tt.MoEntryId
AND tt.FFORMID = t1.FFORMID
) t0
WHERE 1=1
AND tt.isTrue = 0
)
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS (
SELECT FID AS 'MoId',FENTRYID AS 'MoEntryId',FBILLNO AS 'MoBillNo'
,0 AS 'PMoId'
,0 AS 'PMoEntryId'
,FBILLNO AS 'PMoBillNo'
,TopMaterialId,TopMaterialId AS 'MoMaterialId',FMATERIALID,FLOT,FLOT_TEXT,FAMOUNT
,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,FSTATUS,aPATH,'' AS 'PPATH',lv,FFORMID
FROM #TopMo
UNION ALL
SELECT MoId,MoEntryId,MoBillNo,PMoId,PMoEntryId,PMoBillNo
,TopMaterialId,MoMaterialId,FMATERIALID,FLOT,FLOT_TEXT,FAMOUNT,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,FSTATUS,aPATH,PPATH,lv,FFORMID
FROM #<23><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>
)
, <>ʹ<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><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ AS (
SELECT t2.FNAME
--,t0_L.FNAME
,ISNULL(t0.FEXPID,0) AS 'FEXPID'
FROM T_BD_EXPENSE t0
INNER JOIN T_BD_EXPENSE_L t0_L on t0.FEXPID = t0_L.FEXPID AND t0_L.FLOCALEID = 2052
RIGHT JOIN (
SELECT 'ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>' AS 'FNAME'
UNION ALL SELECT 'ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>'
UNION ALL SELECT '<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>'
UNION ALL SELECT '<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
UNION ALL SELECT '<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>'
UNION ALL SELECT 'ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>'
UNION ALL SELECT '<EFBFBD><EFBFBD><EFBFBD>'
UNION ALL SELECT '<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>'
UNION ALL SELECT '<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>'
UNION ALL SELECT 'ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
UNION ALL SELECT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
UNION ALL SELECT '<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
UNION ALL SELECT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD>'
UNION ALL SELECT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>'
) t2 on CHARINDEX(t2.FNAME ,t0_L.FNAME) > 0
)
, #<23><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>ϸ AS (
SELECT
t0.aPATH
,SUM(t2.FAMOUNT) famount
,t4_l.FNAME AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ'
,' ' fsourcebilltypename
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> t0
INNER JOIN T_CB_PROORDERDIME t1 ON t1.FBILLID = t0.MoId
AND t1.FFORMID = t0.FFORMID AND t0.MoEntryId = t1.FBILLENTRYID
INNER JOIN V_CB_EXPALLORESULTREC t2 on t2.FPRODUCTDIMEID = t1.FPRODUCTDIMEID
INNER JOIN V_CB_EXPALLORESULTSEND t3 on t3.FSENDID = t2.FSENDID
INNER JOIN #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ t4_l on t4_l.FEXPID = t2.FEXPENSEITEMID
WHERE 1 = 1
AND t0.MoEntryId != 0
GROUP BY t1.FCOSTCENTERID
,t2.FCOSTCENTERID,t2.FCostItemId,t2.FEXPENSEITEMID
,t4_l.FNAME
,t0.aPATH
)
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>ת<EFBFBD><D7AA> AS (
SELECT *
FROM #<23><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>ϸ t0
PIVOT
(
SUM(t0.famount)
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>])
) AS t1
)
, #<23><>ʱ<EFBFBD><CAB1><EFBFBD>ɱ<EFBFBD> AS (
SELECT MoBillNo,PMoBillNo
,MoId,MoEntryId,PMoId,PMoEntryId,TopMaterialId,MoMaterialId,t0.FMATERIALID
,t0.FLOT,t0.FLOT_TEXT AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',aPATH,PPATH,lv,t0.FFORMID
--,t0.FAMOUNT AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܳɱ<EFBFBD>', ISNULL(t2.FAMOUNT,0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܳɱ<EFBFBD>',ISNULL(t3.FAMOUNT,0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܳɱ<EFBFBD>'
--, ISNULL(t4.FAMOUNT,0) AS 'ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܳɱ<EFBFBD>',ISNULL(t5.FAMOUNT,0) AS 'ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܳɱ<EFBFBD>'
,CASE t0.MoId WHEN 0 THEN (t0.FAMOUNT + ISNULL(t2.FAMOUNT,0) -ISNULL(t3.FAMOUNT,0) + ISNULL(t4.FAMOUNT,0) - ISNULL(t5.FAMOUNT,0)) ELSE 0 END AS 'ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>'
,(t0.FAMOUNT + ISNULL(t2.FAMOUNT,0) -ISNULL(t3.FAMOUNT,0) + ISNULL(t4.FAMOUNT,0) - ISNULL(t5.FAMOUNT,0)) AS 'ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>2'
,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'
,CASE t0.FFORMID WHEN 'PRD_MO' THEN ISNULL(t0e.FSTOCKINQUASELAUXQTY ,0) ELSE t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> END AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A'
,CASE t0.FFORMID WHEN 'PRD_MO' THEN ISNULL(t0e.FSTATUS ,0) ELSE t0.FSTATUS END AS 'ҵ<EFBFBD><EFBFBD>״̬'
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> t0
LEFT JOIN T_PRD_MOENTRY_A t0e on t0.MoEntryId = t0e.FENTRYID
LEFT JOIN #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> t2 on t2.FMOENTRYID = t0.PMoEntryId AND t2.FMATERIALID = t0.FMATERIALID AND t2.FLOT = t0.FLOT AND t2.FFORMID = t0.FFORMID
LEFT JOIN #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> t3 on t3.FMOENTRYID = t0.PMoEntryId AND t3.FMATERIALID = t0.FMATERIALID AND t3.FLOT = t0.FLOT AND t3.FFORMID = t0.FFORMID
LEFT JOIN <><EFBFBD>ϵ<EFBFBD> t4 on t4.FMOENTRYID = t0.PMoEntryId AND t4.FMATERIALID = t0.FMATERIALID AND t4.FLOT = t0.FLOT AND t4.FFORMID = t0.FFORMID
LEFT JOIN <><CEAF><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> t5 on t5.FMOENTRYID = t0.PMoEntryId AND t5.FMATERIALID = t0.FMATERIALID AND t5.FLOT = t0.FLOT AND t5.FFORMID = t0.FFORMID
LEFT JOIN <>ʹ<EFBFBD>ʱ<EFBFBD>鼯 t6 on t6.FPROORDERENTRYID = t0.MoEntryId
)
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD> AS (
SELECT t0.MoBillNo
,t0.PMoBillNo
,t0.aPATH
,t0.PPATH
,t0.lv
,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,t0.ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>
,t0.ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>2
,t0.ҵ<EFBFBD><EFBFBD>״̬
,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A
,t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB
,CASE t0.MoType WHEN 1 THEN t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB ELSE 0 END '<EFBFBD><EFBFBD>ͨC'
,CASE t0.MoType WHEN 2 THEN t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB ELSE 0 END '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>D'
,CASE t0.MoType WHEN 3 THEN t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB ELSE 0 END '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>E'
,CASE t0.MoType WHEN 4 THEN t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB ELSE 0 END '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F'
,CASE t0.MoType WHEN 0 THEN t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB ELSE 0 END '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>G'
,CASE t0.MoType WHEN 1 THEN t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB * t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A ELSE 0 END '<EFBFBD><EFBFBD>ͨI=C*A'
,CASE t0.MoType WHEN 2 THEN t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB * t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A ELSE 0 END '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>J=D*A'
,CASE t0.MoType WHEN 3 THEN t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB * t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A ELSE 0 END '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>K=E*A'
,CASE t0.MoType WHEN 4 THEN t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB * t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A ELSE 0 END '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L=F*A'
,CASE t0.MoType WHEN 0 THEN t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB * t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A ELSE 0 END '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>M=G*A'
,MoId,MoEntryId,PMoId,PMoEntryId,TopMaterialId,MoMaterialId,t0.FMATERIALID
,ISNULL(t7.<EFBFBD><EFBFBD><EFBFBD>,0) AS '<EFBFBD><EFBFBD><EFBFBD>'
,ISNULL(t7.<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>,0) AS '<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>'
,ISNULL(t7.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD>,0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD>'
,ISNULL(t7.<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>,0) AS '<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>'
,ISNULL(t7.[<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,ISNULL(t7.<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) AS '<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,ISNULL(t7.ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) AS 'ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,ISNULL(t7.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>'
,ISNULL(t7.ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>,0) AS 'ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>'
,ISNULL(t7.<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>,0) AS '<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>'
,ISNULL(t7.ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>,0) AS 'ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>'
,ISNULL(t7.ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>,0) AS 'ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>'
,ISNULL(t7.<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>,0) AS '<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>'
,ISNULL(t7.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>],0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>'
,ISNULL(t7.<EFBFBD><EFBFBD><EFBFBD>,0) +ISNULL(t7.<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>,0) +ISNULL(t7.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD>,0) +ISNULL(t7.<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>,0)
+ISNULL(t7.[<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>],0)+ISNULL(t7.<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)+ISNULL(t7.ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) +ISNULL(t7.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)
+ISNULL(t7.ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>,0) +ISNULL(t7.<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>,0) +ISNULL(t7.ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>,0)+ISNULL(t7.ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>,0)
+ISNULL(t7.<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>,0) +ISNULL(t7.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>],0) AS '<EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
FROM #<23><>ʱ<EFBFBD><CAB1><EFBFBD>ɱ<EFBFBD> t0
LEFT JOIN #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>ת<EFBFBD><D7AA> t7 on t7.aPATH = t0.aPATH
)
SELECT * INTO #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
;WITH <><CDB3> AS (
SELECT
SUM(t1.[<EFBFBD><EFBFBD>ͨC]) AS 'C'
,SUM(t1.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>D]) AS 'D'
,SUM(t1.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>E]) AS 'E'
,SUM(t1.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F]) AS 'F'
,SUM(t1.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>G]) AS 'G'
,SUM(t1.[<EFBFBD><EFBFBD>ͨI=C*A]) AS 'I'
,SUM(t1.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>J=D*A]) AS 'J'
,SUM(t1.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>K=E*A]) AS 'K'
,SUM(t1.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L=F*A]) AS 'L'
,SUM(t1.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>M=G*A]) AS 'M'
,SUM(t1.ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>) AS 'ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>'
,SUM(t1.<EFBFBD><EFBFBD><EFBFBD>) AS '<EFBFBD><EFBFBD><EFBFBD>'
,SUM(t1.<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>) AS '<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>'
,SUM(t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD>) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD>'
,SUM(t1.<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>) AS '<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>'
,SUM(t1.[<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]) AS '<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,SUM(t1.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>'
,SUM(t1.<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) AS '<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,SUM(t1.ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) AS 'ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,SUM(t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>'
,SUM(t1.ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>) AS 'ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>'
,SUM(t1.<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>) AS '<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>'
,SUM(t1.ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>) AS 'ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>'
,SUM(t1.ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>) AS 'ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>'
,SUM(t1.<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>) AS '<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>'
,t0.aPATH
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> t0
INNER JOIN #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> t1 ON t0.lv <= t1.lv AND CHARINDEX(t0.aPATH,t1.aPATH) = 1
GROUP BY t0.aPATH
)
SELECT t0.MoBillNo
,t0.PMoBillNo
,t3.FNUMBER AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t3_l.FNAME AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t3_l.FSPECIFICATION AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>'
,t1.FNUMBER AS '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>',t1_l.FNAME AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1_l.FSPECIFICATION AS '<EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>'
,CASE t1b.FERPCLSID WHEN 1 THEN '<EFBFBD>' WHEN 2 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' WHEN 3 THEN 'ί<EFBFBD><EFBFBD>' WHEN 5 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ELSE '' END AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,t0.ҵ<EFBFBD><EFBFBD>״̬
--,t0.ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>
,t2.ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD> + t2.ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD> +t2.ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD> +t2.<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>+t2.<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+t2.<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>+t2.ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>+t2.<EFBFBD><EFBFBD><EFBFBD>+t2.<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>+t2.<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>+t2.ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+t2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>+t2.[<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] + t2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD> +t2.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] AS O0
--,t0.ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>2 + t0.ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD> +t0.ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD> +t0.<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>+t0.<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+t0.<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>+t0.ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>+t0.<EFBFBD><EFBFBD><EFBFBD>+t0.<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>+t0.<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>+t0.ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>+t0.[<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] + t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD> +t0.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] AS O02
,t0.<EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + t01.ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>2 AS 'O02'
,t2.ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>
,t0.ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>2
,t2.ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD> --AS O1
,t2.ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD> --AS O2
,t2.<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD> --AS O3
,t2.<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --AS O4
,t2.<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD> --AS O5
,t2.ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD> --AS O6
,t2.<EFBFBD><EFBFBD><EFBFBD> --AS O7
,t2.<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD> --AS O8
,t2.<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD> --AS O9
,t2.ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> --AS O10
,t2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD> --AS O11
,t2.[<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] AS O12
,t2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD> --AS O13
,t2.[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A --AS A
,t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB --AS B
,t2.C AS [<EFBFBD><EFBFBD>ͨC]
,t2.D AS [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>D]
,t2.E AS [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>E]
,t2.F AS [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F]
,t2.G AS [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>G]
,t2.C + t2.D +t2.E + t2.F + t2.G AS H--[<EFBFBD>ϼ<EFBFBD>H=C+D+E+F+G]
,t2.I --AS [<EFBFBD><EFBFBD>ͨI=C*A]
,t2.J --AS [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>J=D*A]
,t2.K --AS [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>K=E*A]
,t2.L --AS [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L=F*A]
,t2.M --AS [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>M=G*A]
,t2.I + t2.J + t2.K + t2.L + t2.M AS N--[<EFBFBD>ϼ<EFBFBD>N=I+J+K+L+M]
,t0.aPATH
,t0.PPATH
,t0.lv
,MoId,MoEntryId,PMoId,PMoEntryId,TopMaterialId,MoMaterialId,t0.FMATERIALID
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> t0
INNER JOIN T_BD_MATERIAL t1 on t0.FMATERIALID = t1.FMATERIALID
INNER JOIN T_BD_MATERIALBASE t1b on t1b.FMATERIALID = t0.FMATERIALID
INNER JOIN T_BD_MATERIAL_L t1_l on t0.FMATERIALID = t1_l.FMATERIALID AND t1_l.FLOCALEID = 2052
INNER JOIN <><CDB3> t2 on t0.aPATH = t2.aPATH
INNER JOIN T_BD_MATERIAL t3 on t0.TopMaterialId = t3.FMATERIALID
INNER JOIN T_BD_MATERIAL_L t3_l on t0.TopMaterialId = t3_l.FMATERIALID AND t3_l.FLOCALEID = 2052
LEFT JOIN (
SELECT tt.PPATH,SUM(tt.ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>2) AS 'ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>2'
FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> tt
GROUP BY tt.PPATH
) t01 on t01.PPATH = t0.aPATH
ORDER BY CAST(CONCAT('/',REPLACE(t0.aPATH,'.','/'),'/') AS HIERARCHYID)
DROP TABLE #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
END