106 lines
3.7 KiB
MySQL
106 lines
3.7 KiB
MySQL
|
|
DECLARE @period int
|
|||
|
|
DECLARE @dbName varchar(100)
|
|||
|
|
DECLARE @ACCTGORGID int
|
|||
|
|
|
|||
|
|
SET @ACCTGORGID = 100039
|
|||
|
|
SET @period = 201801
|
|||
|
|
SELECT @dbName = DB_NAME()
|
|||
|
|
|
|||
|
|
IF @dbName != 'AIS20231110222743'
|
|||
|
|
BEGIN
|
|||
|
|
SET @period = 202406
|
|||
|
|
SET @ACCTGORGID = 1
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
;WITH #<23><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> AS (
|
|||
|
|
SELECT t0.FPRODUCTNO
|
|||
|
|
,t0.FPRODUCTID
|
|||
|
|
,t0.FBILLID
|
|||
|
|
,t0.FBILLENTRYID
|
|||
|
|
,t0.FFORMID
|
|||
|
|
,t0.FPRODUCTDIMEID
|
|||
|
|
,(t2.FYEAR * 100 + t2.FPERIOD) AS 'FPERIOD'
|
|||
|
|
FROM T_CB_PROORDERDIME t0
|
|||
|
|
INNER JOIN V_CB_PROORDERINFO t1 on t0.FPRODUCTDIMEID = t1.FPRODUCTDIMEID
|
|||
|
|
INNER JOIN V_HS_OUTACCTG t2 on t2.FID = t1.FACCTGID
|
|||
|
|
WHERE 1=1
|
|||
|
|
AND (t2.FYEAR * 100 + t2.FPERIOD) = @period
|
|||
|
|
AND t2.FACCTGORGID = @ACCTGORGID
|
|||
|
|
AND t2.FCOMPUTEID != ''
|
|||
|
|
AND t0.FFORMID = 'PRD_MO'
|
|||
|
|
AND t1.FENDINITKEY = 1 --<EFBFBD><EFBFBD>ĩ<EFBFBD><EFBFBD>ʶ
|
|||
|
|
)
|
|||
|
|
, #<23>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD> AS (
|
|||
|
|
SELECT t0.FPRODUCTNO,t0.FPRODUCTID,t0.FPRODUCTDIMEID,t0.FBILLID,t0.FBILLENTRYID
|
|||
|
|
,t1.FCOSTITEMID
|
|||
|
|
,(CASE WHEN t1.FEXPENSESITEMID = 4655037 AND t1.FCOSTITEMID = 20523 THEN 4655093 ELSE t1.FEXPENSESITEMID END) AS 'FEXPENSESITEMID'
|
|||
|
|
,t1.FEXPTYPE
|
|||
|
|
,t1.FQUALIFIEDINAMOUNT
|
|||
|
|
,t1.FCURRINPUTAMOUNT
|
|||
|
|
FROM #<23><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> t0
|
|||
|
|
CROSS APPLY (
|
|||
|
|
SELECT t1.FID
|
|||
|
|
,t1.FPRODUCTDIMEID
|
|||
|
|
,t3d.FCOSTITEMID
|
|||
|
|
,t3d.FEXPENSESITEMID
|
|||
|
|
,t3.FEXPTYPE
|
|||
|
|
,SUM(t3d.FQUALIFIEDINAMOUNT) 'FQUALIFIEDINAMOUNT'
|
|||
|
|
,SUM(t3d.FCURRINPUTAMOUNT) 'FCURRINPUTAMOUNT'
|
|||
|
|
FROM V_CB_PROORDERINFO t1
|
|||
|
|
INNER JOIN V_HS_OUTACCTG t2 on t1.FACCTGID = t2.FID
|
|||
|
|
AND (t2.FYEAR * 100 + t2.FPERIOD) <= t0.FPERIOD
|
|||
|
|
INNER JOIN V_CB_COSTMATTERIAL t3 on t3.FID = t1.FID
|
|||
|
|
INNER JOIN V_CB_COSTMATTERIALDETAIL t3d on t3d.FENTRYID = t3.FENTRYID
|
|||
|
|
WHERE 1 = 1
|
|||
|
|
AND t1.FPRODUCTDIMEID = t0.FPRODUCTDIMEID
|
|||
|
|
AND t1.FENDINITKEY = 1
|
|||
|
|
GROUP BY t1.FPRODUCTDIMEID
|
|||
|
|
,t3d.FCOSTITEMID
|
|||
|
|
,t3d.FEXPENSESITEMID
|
|||
|
|
,t3.FEXPTYPE
|
|||
|
|
) t1
|
|||
|
|
)
|
|||
|
|
, #<23>ɱ<EFBFBD>ת<EFBFBD><D7AA> AS (
|
|||
|
|
SELECT t1.FPRODUCTNO,t1.FPRODUCTID,t1.FPRODUCTDIMEID,t1.FBILLID,t1.FBILLENTRYID
|
|||
|
|
,t1.O1,t1.O2,t1.O3,t1.O4,t1.O5,t1.O6,t1.O7,t1.O8,t1.O9,t1.O10,t1.O11,t1.O12,t1.O13,t1.O14,t1.O15,t1.O16
|
|||
|
|
FROM (
|
|||
|
|
SELECT t0.FPRODUCTNO,t0.FPRODUCTID,t0.FPRODUCTDIMEID,t0.FBILLID,t0.FBILLENTRYID
|
|||
|
|
,t0.FQUALIFIEDINAMOUNT,t1.fieldName
|
|||
|
|
FROM #<23>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD> t0
|
|||
|
|
LEFT JOIN V_BD_COST_RESTORE_EXPENSE t1 on t0.FEXPENSESITEMID = t1.FEXPID
|
|||
|
|
WHERE NOT (t0.FCOSTITEMID = 20522 AND t0.FEXPENSESITEMID = 20045)
|
|||
|
|
)t0
|
|||
|
|
PIVOT
|
|||
|
|
(
|
|||
|
|
SUM(t0.FQUALIFIEDINAMOUNT) FOR
|
|||
|
|
t0.fieldName IN (O1,O2,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13,O14,O15,O16)
|
|||
|
|
) AS t1
|
|||
|
|
)
|
|||
|
|
SELECT t0.*
|
|||
|
|
,ISNULL(t1.O1,0) AS 'O1'
|
|||
|
|
,ISNULL(t1.O2,0) AS 'O2'
|
|||
|
|
,ISNULL(t1.O3,0) AS 'O3'
|
|||
|
|
,ISNULL(t1.O4,0) AS 'O4'
|
|||
|
|
,ISNULL(t1.O5,0) AS 'O5'
|
|||
|
|
,ISNULL(t1.O6,0) AS 'O6'
|
|||
|
|
,ISNULL(t1.O7,0) AS 'O7'
|
|||
|
|
,ISNULL(t1.O8,0) AS 'O8'
|
|||
|
|
,ISNULL(t1.O9,0) AS 'O9'
|
|||
|
|
,ISNULL(t1.O10,0) AS 'O10'
|
|||
|
|
,ISNULL(t1.O11,0) AS 'O11'
|
|||
|
|
,ISNULL(t1.O12,0) AS 'O12'
|
|||
|
|
,ISNULL(t1.O13,0) AS 'O13'
|
|||
|
|
,ISNULL(t1.O14,0) AS 'O14'
|
|||
|
|
,ISNULL(t1.O15,0) AS 'O15'
|
|||
|
|
,ISNULL(t1.O16,0) AS 'O16'
|
|||
|
|
,ISNULL(t1.O2,0) + ISNULL(t1.O3,0) + ISNULL(t1.O4,0) + ISNULL(t1.O5,0) + ISNULL(t1.O6,0) + ISNULL(t1.O7,0) + ISNULL(t1.O8,0) + ISNULL(t1.O9,0) + ISNULL(t1.O10,0) + ISNULL(t1.O11,0) + ISNULL(t1.O12,0) + ISNULL(t1.O13,0) + ISNULL(t1.O14,0) + ISNULL(t1.O15,0) + ISNULL(t1.O16,0) AS 'O'
|
|||
|
|
,ISNULL(t1.O1,0) + ISNULL(t1.O2,0) + ISNULL(t1.O3,0) + ISNULL(t1.O4,0) + ISNULL(t1.O5,0) + ISNULL(t1.O6,0) + ISNULL(t1.O7,0) + ISNULL(t1.O8,0) + ISNULL(t1.O9,0) + ISNULL(t1.O10,0) + ISNULL(t1.O11,0) + ISNULL(t1.O12,0) + ISNULL(t1.O13,0) + ISNULL(t1.O14,0) + ISNULL(t1.O15,0) + ISNULL(t1.O16,0) AS 'R'
|
|||
|
|
,0 P
|
|||
|
|
,t2.FNUMBER
|
|||
|
|
,t2_l.FNAME
|
|||
|
|
,t2_l.FDESCRIPTION
|
|||
|
|
FROM #<23><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> t0
|
|||
|
|
LEFT JOIN #<23>ɱ<EFBFBD>ת<EFBFBD><D7AA> t1 on t0.FBILLID = t1.FBILLID
|
|||
|
|
AND t0.FBILLENTRYID = t1.FBILLENTRYID
|
|||
|
|
INNER JOIN T_BD_MATERIAL t2 on t0.FPRODUCTID = t2.FMATERIALID
|
|||
|
|
INNER JOIN T_BD_MATERIAL_L t2_l on t2_l.FMATERIALID = t0.FPRODUCTID AND t2_l.FLOCALEID = 2052
|