138 lines
6.1 KiB
MySQL
138 lines
6.1 KiB
MySQL
|
|
DECLARE @period int
|
|||
|
|
DECLARE @dbName varchar(100)
|
|||
|
|
DECLARE @ACCTGORGID int
|
|||
|
|
DECLARE @billNo varchar(100)
|
|||
|
|
SET @ACCTGORGID = 100039
|
|||
|
|
SET @period = 201801
|
|||
|
|
SET @billNo = 'MO000019'
|
|||
|
|
SELECT @dbName = DB_NAME()
|
|||
|
|
|
|||
|
|
IF @dbName != 'AIS20231110222743'
|
|||
|
|
BEGIN
|
|||
|
|
SET @period = 202305
|
|||
|
|
SET @ACCTGORGID = 1
|
|||
|
|
|
|||
|
|
SET @billNo = 'WO2403210039'
|
|||
|
|
SET @billNo = 'WO2403210048'
|
|||
|
|
SET @billNo = 'WO2304230023'
|
|||
|
|
--SET @billNo = 'WO2405290121'
|
|||
|
|
--SET @billNo = 'WO2406220013'
|
|||
|
|
--SET @billNo = 'TO2302060061'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
;WITH #<23><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> AS (
|
|||
|
|
SELECT t0.FPRODUCTNO
|
|||
|
|
,t0.FBILLID
|
|||
|
|
,t0.FBILLENTRYID
|
|||
|
|
,t0.FPRODUCTID
|
|||
|
|
,t0.FFORMID
|
|||
|
|
,t1.FPRODUCTDIMEID
|
|||
|
|
,t3.FMATERIALID
|
|||
|
|
,t3.FQUALIFIEDINQTY
|
|||
|
|
,t3d.FCOSTITEMID
|
|||
|
|
,t3d.FEXPENSESITEMID
|
|||
|
|
,t3.FEXPTYPE
|
|||
|
|
,t3d.FQUALIFIEDINAMOUNT
|
|||
|
|
,t3.FCURRINPUTAMOUNT
|
|||
|
|
,(t2.FYEAR * 100 + t2.FPERIOD) AS 'FPERIOD'
|
|||
|
|
FROM T_CB_PROORDERDIME t0
|
|||
|
|
INNER JOIN V_CB_PROORDERINFO t1 on t1.FPRODUCTDIMEID = t0.FPRODUCTDIMEID
|
|||
|
|
INNER JOIN V_HS_OUTACCTG t2 on t1.FACCTGID = t2.FID
|
|||
|
|
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 t0.FPRODUCTNO = @billNo
|
|||
|
|
AND t2.FACCTGORGID = @ACCTGORGID
|
|||
|
|
AND t2.FCOMPUTEID != ''
|
|||
|
|
--AND (t2.FYEAR * 100 + t2.FPERIOD) <= @period
|
|||
|
|
AND t1.FENDINITKEY = 1
|
|||
|
|
)
|
|||
|
|
, #<23>ɱ<EFBFBD>ת<EFBFBD><D7AA> AS (
|
|||
|
|
SELECT t1.FPRODUCTNO,t1.FPRODUCTID,t1.FPRODUCTDIMEID,t1.FBILLID,t1.FBILLENTRYID,t1.FMATERIALID,t1.FEXPTYPE
|
|||
|
|
,t1.FCURRINPUTAMOUNT,t1.FQUALIFIEDINQTY,t1.FPERIOD
|
|||
|
|
,t1.O0,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
|
|||
|
|
FROM (
|
|||
|
|
SELECT t0.FPRODUCTNO,t0.FPRODUCTID,t0.FPRODUCTDIMEID,t0.FBILLID,t0.FBILLENTRYID,t0.FEXPTYPE
|
|||
|
|
,t0.FMATERIALID,t0.FQUALIFIEDINAMOUNT,t0.FCURRINPUTAMOUNT,t0.FQUALIFIEDINQTY,t0.FPERIOD
|
|||
|
|
,t1.fieldName
|
|||
|
|
FROM #<23><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> t0
|
|||
|
|
LEFT JOIN V_BD_COST_RESTORE_EXPENSE_V2 t1 on t0.FEXPENSESITEMID = t1.FEXPID
|
|||
|
|
) t0
|
|||
|
|
PIVOT
|
|||
|
|
(
|
|||
|
|
SUM(t0.FQUALIFIEDINAMOUNT) FOR
|
|||
|
|
t0.fieldName IN (O0,O1,O2,O3,O4,O5,O6,O7,O8,O9,O10,O11,O12,O13,O14,O15)
|
|||
|
|
) AS t1
|
|||
|
|
)
|
|||
|
|
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS (
|
|||
|
|
SELECT t0e.FENUMID,t0e.FSEQ,t0e.FVALUE,t0e_l.FCAPTION
|
|||
|
|
FROM T_META_FORMENUMITEM t0e
|
|||
|
|
INNER JOIN T_META_FORMENUMITEM_L t0e_l on t0e.FENUMID = t0e_l.FENUMID AND t0e_l.FLOCALEID = 2052
|
|||
|
|
WHERE 1 = 1
|
|||
|
|
AND t0e.FID = 'ac14913e-bd72-416d-a50b-2c7432bbff63'
|
|||
|
|
)
|
|||
|
|
SELECT t0.FPRODUCTNO,t0.FPRODUCTID,t0.FPRODUCTDIMEID
|
|||
|
|
,t0.FMATERIALID,t0.FEXPTYPE,t0.FBILLID,t0.FBILLENTRYID
|
|||
|
|
,t3_l.FNAME,t3.FNUMBER
|
|||
|
|
,ISNULL(t2_l.FNAME,'') AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',ISNULL(t2.FNUMBER,'') AS '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,ISNULL(t2w.FCAPTION,'') AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',ISNULL(t2b.FERPCLSID,'') AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ'
|
|||
|
|
,t0.FMATERIALID '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,ISNULL(t4.FAMOUNT, 0) '<EFBFBD><EFBFBD><EFBFBD>ϳɱ<EFBFBD>',ISNULL(t4.FQTY,0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',ISNULL(t4.FLOT,0) AS 'FLOT',ISNULL(t5.FNUMBER,'') AS 'FLOT_TEXT'
|
|||
|
|
,ISNULL(t4.FPERIOD,'') AS 'FPERIOD'
|
|||
|
|
,t0.<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>
|
|||
|
|
,t0.<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0.<EFBFBD><EFBFBD><EFBFBD>ϳɱ<EFBFBD>Q + t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O + t0.ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>S AS '<EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD>R'
|
|||
|
|
,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>S,t0.<EFBFBD><EFBFBD><EFBFBD>ϳɱ<EFBFBD>Q,t0.ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q1,t0.<EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>Q2,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O
|
|||
|
|
,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><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><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>칫<EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><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><EFBFBD><EFBFBD>_<EFBFBD>ӹ<EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_ί<EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
FROM ( SELECT t0.FPRODUCTNO,t0.FPRODUCTID,t0.FPRODUCTDIMEID,t0.FMATERIALID,t0.FEXPTYPE,t0.FBILLID,t0.FBILLENTRYID
|
|||
|
|
,CASE t0.FEXPTYPE WHEN 0 THEN 'ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD>' WHEN 1 THEN '<EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD>' WHEN 2 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ELSE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' END '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(t0.FCURRINPUTAMOUNT) AS '<EFBFBD>ۼ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>'
|
|||
|
|
,SUM(t0.FQUALIFIEDINQTY) AS '<EFBFBD>ۼ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,MAX(t0.FPERIOD) AS 'FPERIOD'
|
|||
|
|
,SUM(ISNULL(t0.O0,0)) AS 'ֱ<EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>S'
|
|||
|
|
,SUM(ISNULL(t0.O1,0)) AS '<EFBFBD><EFBFBD><EFBFBD>ϳɱ<EFBFBD>Q'
|
|||
|
|
--,CASE t0.FEXPTYPE WHEN 0 THEN SUM(ISNULL(t0.O1,0)) ELSE 0 END AS 'ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q1'
|
|||
|
|
--,CASE WHEN t0.FEXPTYPE != 0 THEN SUM(ISNULL(t0.O1,0)) ELSE 0 END AS '<EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>Q2'
|
|||
|
|
,SUM(CASE t0.FEXPTYPE WHEN 0 THEN ISNULL(t0.O1,0) ELSE 0 END) AS 'ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q1'
|
|||
|
|
,SUM(CASE WHEN t0.FEXPTYPE != 0 THEN ISNULL(t0.O1,0) ELSE 0 END) AS '<EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>Q2'
|
|||
|
|
,SUM(ISNULL(t0.O2,0) + ISNULL(t0.O3,0)+ISNULL(t0.O4,0)+ISNULL(t0.O5,0)+ISNULL(t0.O6,0)+ISNULL(t0.O7,0)+ISNULL(t0.O8,0)+ISNULL(t0.O9,0)+ISNULL(t0.O10,0)+ISNULL(t0.O11,0)+ISNULL(t0.O12,0)+ISNULL(t0.O13,0)+ISNULL(t0.O14,0)+ISNULL(t0.O15,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O'
|
|||
|
|
,SUM(ISNULL(t0.O2,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_ְ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O3,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>ɷ<EFBFBD>֧<EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O4,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O5,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O6,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_ҵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O7,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>칫<EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O8,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O9,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O10,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O11,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O12,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>ӹ<EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O13,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O14,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
,SUM(ISNULL(t0.O15,0)) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_ί<EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD>'
|
|||
|
|
FROM #<23>ɱ<EFBFBD>ת<EFBFBD><D7AA> t0
|
|||
|
|
GROUP BY t0.FPRODUCTNO,t0.FPRODUCTID,t0.FPRODUCTDIMEID,t0.FMATERIALID,t0.FEXPTYPE,t0.FBILLID,t0.FBILLENTRYID
|
|||
|
|
) t0
|
|||
|
|
LEFT JOIN T_BD_MATERIAL t2 on t0.FMATERIALID = t2.FMATERIALID
|
|||
|
|
LEFT JOIN T_BD_MATERIAL_L t2_l on t2_l.FMATERIALID = t0.FMATERIALID AND t2_l.FLOCALEID = 2052
|
|||
|
|
LEFT JOIN T_BD_MATERIALBASE t2b on t2b.FMATERIALID = t0.FMATERIALID
|
|||
|
|
LEFT JOIN #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> t2w on t2w.FVALUE = t2b.FERPCLSID
|
|||
|
|
INNER JOIN T_BD_MATERIAL t3 on t0.FPRODUCTID = t3.FMATERIALID
|
|||
|
|
INNER JOIN T_BD_MATERIAL_L t3_l on t3_l.FMATERIALID = t0.FPRODUCTID AND t3_l.FLOCALEID = 2052
|
|||
|
|
OUTER APPLY (
|
|||
|
|
SELECT t5.FLOT
|
|||
|
|
,CONVERT(int,CONVERT(varchar(6) ,t6.FBILLDATE,112)) AS 'FPERIOD'
|
|||
|
|
,SUM(t4.FAMOUNT) AS 'FAMOUNT',SUM(t6.FQTY) AS 'FQTY'
|
|||
|
|
FROM V_CB_COSTALLORESULTSEND t4
|
|||
|
|
INNER JOIN T_HS_INIVSTOCKDIMENSION t5 on t5.FENTRYID = t4.FDIMEENTRYID AND t5.FLOT != 0
|
|||
|
|
INNER JOIN V_HS_OUTINSTOCKSEQ t6 on t6.FENTRYID = t4.FOUTINSTOCKID
|
|||
|
|
WHERE t4.FPRODUCTDIMEID = t0.FPRODUCTDIMEID AND t5.FMATERIALID = t0.FMATERIALID
|
|||
|
|
AND CONVERT(int,CONVERT(varchar(6) ,t6.FBILLDATE,112)) <= t0.FPERIOD
|
|||
|
|
GROUP BY t5.FLOT
|
|||
|
|
,CONVERT(int,CONVERT(varchar(6) ,t6.FBILLDATE,112))
|
|||
|
|
) t4
|
|||
|
|
LEFT JOIN T_BD_LOTMASTER t5 on t5.FLOTID = t4.FLOT
|
|||
|
|
ORDER BY t0.FPRODUCTDIMEID
|
|||
|
|
,t0.FEXPTYPE DESC
|
|||
|
|
,t0.FMATERIALID ASC
|
|||
|
|
,t4.FLOT ASC
|