266 lines
11 KiB
MySQL
266 lines
11 KiB
MySQL
|
|
--WO2405090020
|
|||
|
|
declare @Level int
|
|||
|
|
;WITH #TopMo AS (
|
|||
|
|
SELECT t0.FBILLNO,t0e.FID,t0e.FENTRYID,t0e.FMATERIALID AS TopMaterialId,t0e.FMATERIALID
|
|||
|
|
,0 FLOT,CAST('' AS nvarchar(255)) FLOT_TEXT,CONVERT(decimal(23,10), 0) FAMOUNT
|
|||
|
|
,CONVERT(varchar(1000),ROW_NUMBER() OVER (ORDER BY t0.FID,t0e.FSEQ)) AS 'aPATH'
|
|||
|
|
,0 lv
|
|||
|
|
,t0e_a.FSTOCKINQUASELAUXQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,t0e_a.FSTATUS
|
|||
|
|
,CHARINDEX(t0.FBILLNO,'SUB') AS 'oType'
|
|||
|
|
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 = 'RO2405090020'
|
|||
|
|
--AND t0.FBILLNO = 'TO2405210015'
|
|||
|
|
--AND t0.FBILLNO = 'WO2405160002'
|
|||
|
|
--AND t0.FBILLNO = 'WO2405080005'
|
|||
|
|
--AND t0.FBILLNO = 'TO2404290033'
|
|||
|
|
--AND t0.FBILLNO = 'TO2403250007'
|
|||
|
|
)
|
|||
|
|
,#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> AS (
|
|||
|
|
SELECT t1e.FLOT,t1e.FLOT_TEXT,t1e.FMATERIALID,0 AS 'oType'
|
|||
|
|
,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',0 AS 'oType'
|
|||
|
|
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',0 AS 'oType'
|
|||
|
|
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,1 AS 'oType'
|
|||
|
|
,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',1 AS 'oType'
|
|||
|
|
FROM T_SUB_FEEDMTRL t0
|
|||
|
|
INNER JOIN T_SUB_FEEDMTRLENTRY t0e on t0.FID = t0e.FID
|
|||
|
|
--INNER JOIN T_SUB_FEEDMTRLENTRY_A t0e_a on t0e.FENTRYID = t0e_a.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',1 AS 'oType'
|
|||
|
|
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
|
|||
|
|
)
|
|||
|
|
, #TABLE1 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.oType
|
|||
|
|
,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
|
|||
|
|
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.oType,-1)
|
|||
|
|
,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 #TABLE1 tt
|
|||
|
|
CROSS APPLY (
|
|||
|
|
SELECT t0.FID,t0.FBILLNO,t0e.FENTRYID,t0e.FMATERIALID AS MoMaterialId,t0e.FBOMID
|
|||
|
|
--,t0e_a.FSTOCKINQUASELAUXQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,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,t1.oType
|
|||
|
|
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
|
|||
|
|
--LEFT JOIN T_PRD_MOENTRY_A t0e_a on t0e.FENTRYID = t0e_a.FENTRYID
|
|||
|
|
WHERE t1.FMOENTRYID = tt.MoEntryId
|
|||
|
|
AND tt.oType = t1.oType
|
|||
|
|
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,t1.oType
|
|||
|
|
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.oType = t1.oType
|
|||
|
|
) t0
|
|||
|
|
WHERE 1=1
|
|||
|
|
AND tt.isTrue = 0
|
|||
|
|
--AND tt.lv < 10
|
|||
|
|
)
|
|||
|
|
, #table2 AS (
|
|||
|
|
SELECT FID AS 'MoId',FENTRYID AS 'MoEntryId',FBILLNO AS 'MoBillNo'
|
|||
|
|
,0 AS 'PMoId'
|
|||
|
|
,0 AS 'PMoEntryId'
|
|||
|
|
,'' AS 'PMoBillNo'
|
|||
|
|
,TopMaterialId,TopMaterialId AS 'MoMaterialId',FMATERIALID,FLOT,FLOT_TEXT,FAMOUNT,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,FSTATUS,aPATH,'' AS 'PPATH',lv,oType
|
|||
|
|
--,CONCAT('/',aPATH,'/') RnPath
|
|||
|
|
--,(CASE LEFT(FBILLNO,2) WHEN 'WO' THEN 1 WHEN 'RO' THEN 2 WHEN 'TO' THEN 3 WHEN 'RT' THEN 4 ELSE 0 END) AS 'MoType'
|
|||
|
|
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,oType
|
|||
|
|
--,CONCAT('/',REPLACE(aPATH,'.','/'),'/') RnPath
|
|||
|
|
--,(CASE LEFT(MoBillNo,2) WHEN 'WO' THEN 1 WHEN 'RO' THEN 2 WHEN 'TO' THEN 3 WHEN 'RT' THEN 4 ELSE 0 END) AS 'MoType'
|
|||
|
|
FROM #TABLE1
|
|||
|
|
)
|
|||
|
|
, #ʵ<>ʹ<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
|
|||
|
|
)
|
|||
|
|
, #table3 AS (
|
|||
|
|
SELECT MoBillNo,PMoBillNo
|
|||
|
|
,MoId,MoEntryId,PMoId,PMoEntryId,TopMaterialId,MoMaterialId,t0.FMATERIALID
|
|||
|
|
--,t1.FNUMBER,t1_l.FNAME
|
|||
|
|
--,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.FLOT,t0.FLOT_TEXT AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',aPATH,PPATH,lv,t0.oType
|
|||
|
|
--,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>'
|
|||
|
|
,(t0.FAMOUNT + ISNULL(t2.FAMOUNT,0) -ISNULL(t3.FAMOUNT,0) + ISNULL(t4.FAMOUNT,0) - ISNULL(t5.FAMOUNT,0)) AS 'ֱ<EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,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.oType WHEN 0 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.oType WHEN 0 THEN ISNULL(t0e.FSTATUS ,0) ELSE t0.FSTATUS END AS 'ҵ<EFBFBD><EFBFBD>״̬'
|
|||
|
|
FROM #table2 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.MoEntryId AND t2.FMATERIALID = t0.FMATERIALID AND t2.FLOT = t0.FLOT AND t2.oType = t0.oType
|
|||
|
|
LEFT JOIN #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> t3 on t3.FMOENTRYID = t0.MoEntryId AND t3.FMATERIALID = t0.FMATERIALID AND t3.FLOT = t0.FLOT AND t3.oType = t0.oType
|
|||
|
|
LEFT JOIN #ί<>ⲹ<EFBFBD>ϵ<EFBFBD> t4 on t4.FMOENTRYID = t0.MoEntryId AND t4.FMATERIALID = t0.FMATERIALID AND t4.FLOT = t0.FLOT AND t4.oType = t0.oType
|
|||
|
|
LEFT JOIN #ί<><CEAF><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> t5 on t5.FMOENTRYID = t0.MoEntryId AND t5.FMATERIALID = t0.FMATERIALID AND t5.FLOT = t0.FLOT AND t5.oType = t0.oType
|
|||
|
|
LEFT JOIN #ʵ<>ʹ<EFBFBD>ʱ<EFBFBD>鼯 t6 on t6.FPROORDERENTRYID = t0.MoEntryId
|
|||
|
|
)
|
|||
|
|
, #table4 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>״̬
|
|||
|
|
,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
|
|||
|
|
FROM #table3 t0
|
|||
|
|
)
|
|||
|
|
,#ͳ<><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'
|
|||
|
|
,t0.aPATH
|
|||
|
|
FROM #table4 t0
|
|||
|
|
INNER JOIN #table4 t1 ON CHARINDEX(t0.aPATH,t1.aPATH) = 1
|
|||
|
|
GROUP BY t0.aPATH
|
|||
|
|
)
|
|||
|
|
SELECT t0.MoBillNo
|
|||
|
|
,t0.PMoBillNo
|
|||
|
|
--,t0.FNUMBER,t0.FNAME,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t1.FNUMBER,t1_l.FNAME
|
|||
|
|
,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>
|
|||
|
|
,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A
|
|||
|
|
,t0.<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʱB
|
|||
|
|
,t2.C AS [<EFBFBD><EFBFBD>ͨC]
|
|||
|
|
,t2.D [<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 [<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 [<EFBFBD>ϼ<EFBFBD>N=I+J+K+L+M]
|
|||
|
|
,t0.aPATH
|
|||
|
|
,t0.PPATH
|
|||
|
|
,t0.lv
|
|||
|
|
,MoId,MoEntryId,PMoId,PMoEntryId,TopMaterialId,MoMaterialId,t0.FMATERIALID
|
|||
|
|
FROM #table4 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
|
|||
|
|
--ORDER BY CAST(t0.RnPath AS HIERARCHYID)
|
|||
|
|
ORDER BY CAST(CONCAT('/',REPLACE(t0.aPATH,'.','/'),'/') AS HIERARCHYID)
|