0 OR ALLCOILCOUNT_T <> 0 OR RCOUNT <> 0
UNION
SELECT SPEC_STL_GRD
,2 SEQ
,'小计' T_W_E
,COILCOUNT_E
,WGTSUM_E
,ALLCOILCOUNT_E
,ALLWGTSUM_E
,'' T_W_T
,COILCOUNT_T
,WGTSUM_T
,ALLCOILCOUNT_T
,ALLWGTSUM_T
,COILCOUNT_T1
,WGTSUM_T1
,ALLCOILCOUNT_T1
,ALLWGTSUM_T1
,RCOILCOUNT
,RCOUNT
,ORD_USE_TP
FROM (SELECT
T.SPEC_STL_GRD
,MIN(B.ORD_USE_TP) ORD_USE_TP
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) THEN 1 ELSE 0 END) COILCOUNT_E
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_E
,SUM(CASE WHEN SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ? THEN 1 ELSE 0 END) ALLCOILCOUNT_E
,SUM(CASE WHEN SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ? THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E
--,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) COILCOUNT_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) COILCOUNT_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) ALLCOILCOUNT_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) COILCOUNT_T1
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) ALLCOILCOUNT_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T1
--,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) RCOILCOUNT
--,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) AND T.COIL_STAT = '3' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
--,SUM(CASE WHEN (SUBSTR(T.MILL_DTIME, 1, 8) between ? and ?) and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or (? is not null AND SUBSTR(T.TRNF_DTIME, 1, 8) > ?)) AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) RCOILCOUNT
--,SUM(CASE WHEN (SUBSTR(T.MILL_DTIME, 1, 8) BETWEEN ? AND ?) AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or (? is not null AND SUBSTR(T.TRNF_DTIME, 1, 8) > ?)) AND T.COIL_STAT = '3' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
,SUM(CASE WHEN t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null THEN 1 ELSE 0 END) RCOILCOUNT
,SUM(CASE WHEN T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
FROM C_TBL02_COIL_COMM T
,(SELECT T.SPEC_STL_GRD
,MAX(T.ORD_USE_TP) ORD_USE_TP
FROM TBB01_KEY_PROD T
WHERE T.PROD_LINE = 'C'
GROUP BY T.SPEC_STL_GRD
) B
WHERE T.SPEC_STL_GRD = B.SPEC_STL_GRD(+)
AND T.SPEC_STL_GRD IS NOT NULL
AND T.LINE_TP IS NULL
GROUP BY T.SPEC_STL_GRD
)
UNION
SELECT '' SPEC_STL_GRD
,3 SEQ
,'合计' T_W_E
,COILCOUNT_E
,WGTSUM_E
,ALLCOILCOUNT_E
,ALLWGTSUM_E
,'' T_W_T
,COILCOUNT_T
,WGTSUM_T
,ALLCOILCOUNT_T
,ALLWGTSUM_T
,COILCOUNT_T1
,WGTSUM_T1
,ALLCOILCOUNT_T1
,ALLWGTSUM_T1
,RCOILCOUNT
,RCOUNT
,'1' ORD_USE_TP
FROM( SELECT
SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) THEN 1 ELSE 0 END) COILCOUNT_E
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_E
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ?) THEN 1 ELSE 0 END) ALLCOILCOUNT_E
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ?) THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) COILCOUNT_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.TRNF_DTIME,1,8) <= ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) ALLCOILCOUNT_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.TRNF_DTIME,1,8) <= ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) COILCOUNT_T1
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T1
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.TRNF_DTIME,1,8) <= ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) ALLCOILCOUNT_T1
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.TRNF_DTIME,1,8) <= ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T1
-- ,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) RCOILCOUNT
--,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) AND T.COIL_STAT = '3' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
-- ,SUM(CASE WHEN (SUBSTR(T.MILL_DTIME, 1, 8) between ? and ? ) and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or (? is not null AND SUBSTR(T.TRNF_DTIME, 1, 8) > ?)) AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) RCOILCOUNT
-- ,SUM(CASE WHEN (SUBSTR(T.MILL_DTIME, 1, 8) between ? and ? ) AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or (? is not null AND SUBSTR(T.TRNF_DTIME, 1, 8) > ?)) AND T.COIL_STAT = '3' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
,SUM(CASE WHEN t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null THEN 1 ELSE 0 END) RCOILCOUNT
,SUM(CASE WHEN T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
FROM C_TBL02_COIL_COMM T
,(SELECT T.SPEC_STL_GRD
,MAX(T.ORD_USE_TP) ORD_USE_TP
FROM TBB01_KEY_PROD T
WHERE T.PROD_LINE = 'C'
GROUP BY T.SPEC_STL_GRD
) B
WHERE T.SPEC_STL_GRD = B.SPEC_STL_GRD(+)
AND T.SPEC_STL_GRD IS NOT NULL
AND T.LINE_TP IS NULL
)
)
ORDER BY ORD_USE_TP,SPEC_STL_GRD,SEQ,T_W_E
]]>
0 OR ALLCOILCOUNT_T <> 0 OR RCOUNT <> 0
UNION
SELECT SPEC_STL_GRD
,2 SEQ
,'小计' T_W_E
,COILCOUNT_E
,WGTSUM_E
,ALLCOILCOUNT_E
,ALLWGTSUM_E
,'' T_W_T
,COILCOUNT_T
,WGTSUM_T
,ALLCOILCOUNT_T
,ALLWGTSUM_T
,COILCOUNT_T1
,WGTSUM_T1
,ALLCOILCOUNT_T1
,ALLWGTSUM_T1
,RCOILCOUNT
,RCOUNT
,ORD_USE_TP
FROM (SELECT
T.SPEC_STL_GRD
,MIN(B.ORD_USE_TP) ORD_USE_TP
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) THEN 1 ELSE 0 END) COILCOUNT_E
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_E
,SUM(CASE WHEN SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ? THEN 1 ELSE 0 END) ALLCOILCOUNT_E
,SUM(CASE WHEN SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ? THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E
--,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) COILCOUNT_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) COILCOUNT_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) ALLCOILCOUNT_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) COILCOUNT_T1
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) ALLCOILCOUNT_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T1
--,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) RCOILCOUNT
--,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) AND T.COIL_STAT = '3' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
--,SUM(CASE WHEN (SUBSTR(T.MILL_DTIME, 1, 8) between ? and ?) and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or (? is not null AND SUBSTR(T.TRNF_DTIME, 1, 8) > ?)) AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) RCOILCOUNT
--,SUM(CASE WHEN (SUBSTR(T.MILL_DTIME, 1, 8) BETWEEN ? AND ?) AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or (? is not null AND SUBSTR(T.TRNF_DTIME, 1, 8) > ?)) AND T.COIL_STAT = '3' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
,SUM(CASE WHEN t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null THEN 1 ELSE 0 END) RCOILCOUNT
,SUM(CASE WHEN T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
FROM C_TBL02_COIL_COMM T
,(SELECT T.SPEC_STL_GRD
,MAX(T.ORD_USE_TP) ORD_USE_TP
FROM TBB01_KEY_PROD T
WHERE T.PROD_LINE = 'C'
GROUP BY T.SPEC_STL_GRD
) B
WHERE T.SPEC_STL_GRD = B.SPEC_STL_GRD(+)
AND T.SPEC_STL_GRD IS NOT NULL
AND T.LINE_TP ='S'
GROUP BY T.SPEC_STL_GRD
)
UNION
SELECT '' SPEC_STL_GRD
,3 SEQ
,'合计' T_W_E
,COILCOUNT_E
,WGTSUM_E
,ALLCOILCOUNT_E
,ALLWGTSUM_E
,'' T_W_T
,COILCOUNT_T
,WGTSUM_T
,ALLCOILCOUNT_T
,ALLWGTSUM_T
,COILCOUNT_T1
,WGTSUM_T1
,ALLCOILCOUNT_T1
,ALLWGTSUM_T1
,RCOILCOUNT
,RCOUNT
,'1' ORD_USE_TP
FROM( SELECT
SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) THEN 1 ELSE 0 END) COILCOUNT_E
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_E
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ?) THEN 1 ELSE 0 END) ALLCOILCOUNT_E
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ?) THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) COILCOUNT_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.TRNF_DTIME,1,8) <= ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) ALLCOILCOUNT_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.TRNF_DTIME,1,8) <= ?) AND T.OUT_YARD_KIND IN ('2') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) COILCOUNT_T1
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T1
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.TRNF_DTIME,1,8) <= ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) ALLCOILCOUNT_T1
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.TRNF_DTIME,1,8) <= ?) AND T.OUT_YARD_KIND IN ('1') AND T.COIL_STAT = '3' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T1
-- ,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) RCOILCOUNT
--,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) AND T.COIL_STAT = '3' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
-- ,SUM(CASE WHEN (SUBSTR(T.MILL_DTIME, 1, 8) between ? and ? ) and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or (? is not null AND SUBSTR(T.TRNF_DTIME, 1, 8) > ?)) AND T.COIL_STAT = '3' THEN 1 ELSE 0 END) RCOILCOUNT
-- ,SUM(CASE WHEN (SUBSTR(T.MILL_DTIME, 1, 8) between ? and ? ) AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or (? is not null AND SUBSTR(T.TRNF_DTIME, 1, 8) > ?)) AND T.COIL_STAT = '3' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
,SUM(CASE WHEN t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null THEN 1 ELSE 0 END) RCOILCOUNT
,SUM(CASE WHEN T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
FROM C_TBL02_COIL_COMM T
,(SELECT T.SPEC_STL_GRD
,MAX(T.ORD_USE_TP) ORD_USE_TP
FROM TBB01_KEY_PROD T
WHERE T.PROD_LINE = 'C'
GROUP BY T.SPEC_STL_GRD
) B
WHERE T.SPEC_STL_GRD = B.SPEC_STL_GRD(+)
AND T.SPEC_STL_GRD IS NOT NULL
AND T.LINE_TP ='S'
)
)
ORDER BY ORD_USE_TP,SPEC_STL_GRD,SEQ,T_W_E
]]>
?) THEN 1 ELSE 0 END) RCOILCOUNT
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
FROM C_TBK02_COIL_COMM T
,(SELECT T.C_SPEC_STL_GRD STL_GRD,MAX(T.C_ORD_USE_TP) ORD_USE_TP
FROM TBB01_KEY_PROD T WHERE T.PROD_LINE = 'C' GROUP BY T.C_SPEC_STL_GRD) B
WHERE T.STL_GRD = B.STL_GRD(+) AND T.STL_GRD IS NOT NULL
GROUP BY C_PKG_UIM.GET_RSTEELCODE(T.STL_GRD),T.INSTR_COIL_THK,T.INSTR_COIL_WTH
union all*/
SELECT C_PKG_UIM.GET_RSTEELCODE(T.STL_GRD) STL_GRD
,'合计' COIL_SIZE
,MIN(B.ORD_USE_TP) ORD_USE_TP
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND T.IN_YARD_KIND = '1' THEN 1 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND T.OUT_YARD_KIND IN ('2') THEN 1 ELSE 0 END) COILCOUNT_E
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND T.IN_YARD_KIND = '1' THEN T.ACT_WGT/1000 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND T.OUT_YARD_KIND IN ('2') THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_E
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND T.IN_YARD_KIND = '1' THEN 1 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('2') THEN 1 ELSE 0 END)
+ SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = C_PKG_UIM.GET_PRE_LAST_DATE(?) AND T.IN_YARD_KIND = '1' THEN 1 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = C_PKG_UIM.GET_PRE_LAST_DATE(?) AND T.OUT_YARD_KIND IN ('2') THEN 1 ELSE 0 END)
- SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = C_PKG_UIM.GET_LAST_DATE(?) AND T.IN_YARD_KIND = '1' THEN 1 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = C_PKG_UIM.GET_LAST_DATE(?) AND T.OUT_YARD_KIND IN ('2') THEN 1 ELSE 0 END)
ALLCOILCOUNT_E
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND T.IN_YARD_KIND = '1' THEN T.ACT_WGT/1000 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('2') THEN T.ACT_WGT/1000 ELSE 0 END)
+SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = C_PKG_UIM.GET_PRE_LAST_DATE(?) AND T.IN_YARD_KIND = '1' THEN T.ACT_WGT/1000 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = C_PKG_UIM.GET_PRE_LAST_DATE(?) AND T.OUT_YARD_KIND IN ('2') THEN T.ACT_WGT/1000 ELSE 0 END)
-SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = C_PKG_UIM.GET_LAST_DATE(?) AND T.IN_YARD_KIND = '1' THEN T.ACT_WGT/1000 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = C_PKG_UIM.GET_LAST_DATE(?) AND T.OUT_YARD_KIND IN ('2') THEN T.ACT_WGT/1000 ELSE 0 END)
ALLWGTSUM_E
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND T.OUT_YARD_KIND IN ('1') THEN 1 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND T.IN_YARD_KIND = '2' THEN 1 ELSE 0 END) COILCOUNT_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND T.OUT_YARD_KIND IN ('1') THEN T.ACT_WGT/1000 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND T.IN_YARD_KIND = '2' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('1') THEN 1 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND T.IN_YARD_KIND = '2' THEN 1 ELSE 0 END)
+ SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = C_PKG_UIM.GET_PRE_LAST_DATE(?) AND T.OUT_YARD_KIND IN ('1') THEN 1 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = C_PKG_UIM.GET_PRE_LAST_DATE(?) AND T.IN_YARD_KIND = '2' THEN 1 ELSE 0 END)
- SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = C_PKG_UIM.GET_LAST_DATE(?) AND T.OUT_YARD_KIND IN ('1') THEN 1 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = C_PKG_UIM.GET_LAST_DATE(?) AND T.IN_YARD_KIND = '2' THEN 1 ELSE 0 END)
ALLCOILCOUNT_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('1') THEN T.ACT_WGT/1000 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND T.IN_YARD_KIND = '2' THEN T.ACT_WGT/1000 ELSE 0 END)
+ SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = C_PKG_UIM.GET_PRE_LAST_DATE(?) AND T.OUT_YARD_KIND IN ('1') THEN T.ACT_WGT/1000 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = C_PKG_UIM.GET_PRE_LAST_DATE(?) AND T.IN_YARD_KIND = '2' THEN T.ACT_WGT/1000 ELSE 0 END)
- SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = C_PKG_UIM.GET_LAST_DATE(?) AND T.OUT_YARD_KIND IN ('1') THEN T.ACT_WGT/1000 ELSE 0 END) - SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = C_PKG_UIM.GET_LAST_DATE(?) AND T.IN_YARD_KIND = '2' THEN T.ACT_WGT/1000 ELSE 0 END)
ALLWGTSUM_T
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) THEN 1 ELSE 0 END) RCOILCOUNT
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
FROM C_TBK02_COIL_COMM T
,(SELECT T.C_SPEC_STL_GRD STL_GRD,MAX(T.C_ORD_USE_TP) ORD_USE_TP
FROM TBB01_KEY_PROD T WHERE T.PROD_LINE = 'C' GROUP BY T.C_SPEC_STL_GRD) B
WHERE T.STL_GRD = B.STL_GRD(+) AND T.STL_GRD IS NOT NULL
GROUP BY C_PKG_UIM.GET_RSTEELCODE(T.STL_GRD)
)
WHERE nvl(ALLCOILCOUNT_E,0) <> 0 or nvl(ALLCOILCOUNT_T,0) <> 0 or nvl(RCOUNT,0) <> 0
ORDER BY ORD_USE_TP,STL_GRD,COIL_SIZE
]]>
= ? AND ? IS NOT NULL))THEN NVL(T.ACT_WGT, 0) ELSE 0 END) / 1000 WGTSUM_B,
--WGTSUM_I1 收(生产)数量
SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME, 1, 8) BETWEEN ? AND ?)AND T.IN_YARD_KIND = '1' THEN NVL(T.ACT_WGT, 0) ELSE 0 END) / 1000 - SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME, 1, 8) BETWEEN ? AND ?) AND T.OUT_YARD_KIND IN('2') THEN NVL(T.ACT_WGT, 0) ELSE 0 END) / 1000 WGTSUM_I1,
--WGTSUM_I2 本月止累计(收)生产
SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME, 1,6) = SUBSTR(?,1,6)) AND (SUBSTR(T.YARD_ENTRY_DTIME, 1, 8) <= ?) AND T.IN_YARD_KIND = '1' THEN NVL(T.ACT_WGT, 0) ELSE 0 END) / 1000 - SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME, 1, 6) = SUBSTR(?,1,6)) AND (SUBSTR(T.TRNF_DTIME, 1,8) <= ?) AND T.OUT_YARD_KIND IN('2') THEN NVL(T.ACT_WGT, 0) ELSE 0 END) / 1000 WGTSUM_I2,
--WGTSUM_O1 发(消耗)数量
SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME, 1, 8) BETWEEN ? AND ?) AND T.COIL_STAT = '3' AND T.OUT_YARD_KIND IN('1') THEN NVL(T.ACT_WGT, 0) ELSE 0 END) / 1000 - SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME, 1, 8) BETWEEN ? AND ?)AND T.IN_YARD_KIND = '2' THEN NVL(T.ACT_WGT, 0) ELSE 0 END) / 1000 WGTSUM_O1,
--WGTSUM_O2 本月止累计发(消耗)
SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME, 1, 6) = SUBSTR(?,1,6)) AND (SUBSTR(T.TRNF_DTIME, 1,8) <= ?) AND T.COIL_STAT = '3' AND T.OUT_YARD_KIND IN('1') THEN NVL(T.ACT_WGT, 0) ELSE 0 END) / 1000 - SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME, 1, 6) = SUBSTR(?,1,6) ) AND (SUBSTR(T.YARD_ENTRY_DTIME, 1,8) <= ?) AND T.IN_YARD_KIND = '2' THEN NVL(T.ACT_WGT, 0) ELSE 0 END) / 1000 WGTSUM_O2,
--WGTSUM_E 期末库存量 REMARK 备注
SUM(CASE WHEN (T.COIL_STAT = '2' AND T.CUR_LOAD_LOC IS NOT NULL) THEN NVL(T.ACT_WGT, 0) ELSE 0 END) / 1000 WGTSUM_E
FROM C_TBK02_COIL_COMM T,(SELECT T.C_SPEC_STL_GRD STL_GRD,MAX(T.C_ORD_USE_TP) ORD_USE_TP FROM TBB01_KEY_PROD T WHERE T.PROD_LINE = 'C' GROUP BY T.C_SPEC_STL_GRD) B
WHERE T.STL_GRD = B.STL_GRD(+) AND T.STL_GRD IS NOT NULL
GROUP BY C_PKG_UIM.GET_RSTEELCODE(T.STL_GRD))
ORDER BY ORD_USE_TP,STL_GRD
]]>
0 OR ALLLEIJI_T <> 0 --OR RCOUNT <> 0
UNION
SELECT SPEC_STL_GRD,2 SEQ,'小计' T_W_E,COILCOUNT_E,WGTSUM_E,ALLCOILCOUNT_E,ALLWGTSUM_E
,'' T_W_T
,LEIJI_T,ALLLEIJI_T,RCOILCOUNT,ORD_USE_TP,INGR_DEC_GRD FROM(
SELECT T.SPEC_STL_GRD
,MIN(B.ORD_USE_TP) ORD_USE_TP
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) AND T.LINE_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) COILCOUNT_E --重卷
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) AND T.LINE_TP = 'L' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_E --连退
,SUM(CASE WHEN SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ? AND T.LINE_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) ALLCOILCOUNT_E
,SUM(CASE WHEN SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ? AND T.LINE_TP = 'L' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2','3') THEN T.ACT_WGT/1000 ELSE 0 END) LEIJI_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('2','3') THEN T.ACT_WGT/1000 ELSE 0 END) ALLLEIJI_T
-- ,SUM(CASE WHEN (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null) AND T.LINE_TP = 'C' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOILCOUNT
-- ,SUM(CASE WHEN (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null) AND T.LINE_TP = 'L' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
,SUM(CASE WHEN (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null) AND T.LINE_TP IN('C','L') THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOILCOUNT
,null INGR_DEC_GRD
FROM C_TBC02_COIL_COMM T
,(SELECT T.SPEC_STL_GRD,MAX(T.ORD_USE_TP) ORD_USE_TP
FROM TBB01_KEY_PROD T WHERE T.PROD_LINE = 'C' GROUP BY T.SPEC_STL_GRD) B
WHERE T.SPEC_STL_GRD = B.SPEC_STL_GRD(+) AND T.SPEC_STL_GRD IS NOT NULL
GROUP BY T.SPEC_STL_GRD
)
UNION
SELECT '' SPEC_STL_GRD,3 SEQ,'合计' T_W_E,COILCOUNT_E,WGTSUM_E,ALLCOILCOUNT_E,ALLWGTSUM_E
,'' T_W_T
,LEIJI_T,ALLLEIJI_T,RCOILCOUNT,'1' ORD_USE_TP,INGR_DEC_GRD FROM(
SELECT
SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) AND T.LINE_TP = 'L' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_E
,SUM(CASE WHEN (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?) AND T.LINE_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) COILCOUNT_E
,SUM(CASE WHEN SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ? AND T.LINE_TP = 'L' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E
,SUM(CASE WHEN SUBSTR(T.YARD_ENTRY_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.YARD_ENTRY_DTIME,1,8) <= ? AND T.LINE_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) ALLCOILCOUNT_E
,SUM(CASE WHEN (SUBSTR(T.TRNF_DTIME,1,8) between ? and ?) AND T.OUT_YARD_KIND IN ('2','3') THEN T.ACT_WGT/1000 ELSE 0 END) LEIJI_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND T.OUT_YARD_KIND IN ('2','3') THEN T.ACT_WGT/1000 ELSE 0 END) ALLLEIJI_T
--,SUM(CASE WHEN (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null) AND T.LINE_TP = 'C' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOILCOUNT
--,SUM(CASE WHEN (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null) AND T.LINE_TP = 'L' THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
,SUM(CASE WHEN (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null) AND T.LINE_TP IN('L','C') THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOILCOUNT
,SUM(CASE WHEN (T.INGR_DEC_GRD IN ('1') AND (SUBSTR(T.YARD_ENTRY_DTIME,1,8) between ? and ?)) THEN T.ACT_WGT/1000 ELSE 0 END) INGR_DEC_GRD
FROM C_TBC02_COIL_COMM T
,(SELECT T.SPEC_STL_GRD,MAX(T.ORD_USE_TP) ORD_USE_TP
FROM TBB01_KEY_PROD T WHERE T.PROD_LINE = 'C' GROUP BY T.SPEC_STL_GRD) B
WHERE T.SPEC_STL_GRD = B.SPEC_STL_GRD(+) AND T.SPEC_STL_GRD IS NOT NULL
)
)
ORDER BY ORD_USE_TP,SPEC_STL_GRD,SEQ,T_W_E
]]>
0 OR ALLCOILCOUNT_T <> 0 OR RCOUNT <> 0
UNION
SELECT SPEC_STL_GRD,2 SEQ,'小计' T_W_E,COILCOUNT_E,WGTSUM_E,ALLCOILCOUNT_E,ALLWGTSUM_E,ALLCOILCOUNT_EN,ALLWGTSUM_EN
,'' T_W_T,COILCOUNT_T,WGTSUM_T,ALLCOILCOUNT_T,ALLWGTSUM_T,ALLCOILCOUNT_TN,ALLWGTSUM_TN,RCOILCOUNT,RCOUNT
,COILCOUNT_E1,WGTSUM_E1,ALLCOILCOUNT_E1,ALLWGTSUM_E1,ALLCOILCOUNT_E1N,ALLWGTSUM_E1N
,COILCOUNT_T1,WGTSUM_T1,ALLCOILCOUNT_T1,ALLWGTSUM_T1,ALLCOILCOUNT_T1N,ALLWGTSUM_T1N
,COILCOUNT_T2,WGTSUM_T2,ALLCOILCOUNT_T2,ALLWGTSUM_T2,ALLCOILCOUNT_T2N,ALLWGTSUM_T2N,RCOILCOUNT1,RCOUNT1,ORD_USE_TP FROM(
SELECT T.SPEC_STL_GRD
,MIN(B.ORD_USE_TP) ORD_USE_TP
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) = 12 THEN 1 ELSE 0 END) COILCOUNT_E
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) = 12 THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_E
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 THEN 1 ELSE 0 END) ALLCOILCOUNT_E
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 THEN 1 ELSE 0 END) ALLCOILCOUNT_EN
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_EN
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) COILCOUNT_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) ALLCOILCOUNT_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) ALLCOILCOUNT_TN
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_TN
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND LENGTH(T.COIL_NO) = 12 and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) THEN 1 ELSE 0 END) RCOILCOUNT
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND LENGTH(T.COIL_NO) = 12 AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) THEN 1 ELSE 0 END) COILCOUNT_E1
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_E1
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) THEN 1 ELSE 0 END) ALLCOILCOUNT_E1
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E1
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) THEN 1 ELSE 0 END) ALLCOILCOUNT_E1N
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E1N
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) COILCOUNT_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) ALLCOILCOUNT_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) ALLCOILCOUNT_T1N
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T1N
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN 1 ELSE 0 END) COILCOUNT_T2
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T2
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN 1 ELSE 0 END) ALLCOILCOUNT_T2
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T2
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN 1 ELSE 0 END) ALLCOILCOUNT_T2N
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T2N
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) THEN 1 ELSE 0 END) RCOILCOUNT1
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT1
FROM COLDCOIL T
,(SELECT T.SPEC_STL_GRD,MAX(T.ORD_USE_TP) ORD_USE_TP
FROM TBB01_KEY_PROD T WHERE T.PROD_LINE = 'C' GROUP BY T.SPEC_STL_GRD) B
WHERE T.SPEC_STL_GRD = B.SPEC_STL_GRD(+) AND T.SPEC_STL_GRD IS NOT NULL
GROUP BY T.SPEC_STL_GRD
)
UNION
SELECT '' SPEC_STL_GRD,3 SEQ,'合计' T_W_E,COILCOUNT_E,WGTSUM_E,ALLCOILCOUNT_E,ALLWGTSUM_E,ALLCOILCOUNT_EN,ALLWGTSUM_EN
,'' T_W_T,COILCOUNT_T,WGTSUM_T,ALLCOILCOUNT_T,ALLWGTSUM_T,ALLCOILCOUNT_TN,ALLWGTSUM_TN,RCOILCOUNT,RCOUNT
,COILCOUNT_E1,WGTSUM_E1,ALLCOILCOUNT_E1,ALLWGTSUM_E1,ALLCOILCOUNT_E1N,ALLWGTSUM_E1N
,COILCOUNT_T1,WGTSUM_T1,ALLCOILCOUNT_T1,ALLWGTSUM_T1,ALLCOILCOUNT_T1N,ALLWGTSUM_T1N
,COILCOUNT_T2,WGTSUM_T2,ALLCOILCOUNT_T2,ALLWGTSUM_T2,ALLCOILCOUNT_T2N,ALLWGTSUM_T2N,RCOILCOUNT1,RCOUNT1,'1' ORD_USE_TP FROM(
SELECT
SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) = 12 THEN 1 ELSE 0 END) COILCOUNT_E
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) = 12 THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_E
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 THEN 1 ELSE 0 END) ALLCOILCOUNT_E
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 THEN 1 ELSE 0 END) ALLCOILCOUNT_EN
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_EN
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) COILCOUNT_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) ALLCOILCOUNT_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) ALLCOILCOUNT_TN
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) = 12 AND T.OUT_YARD_KIND IN ('2') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_TN
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND LENGTH(T.COIL_NO) = 12 and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) THEN 1 ELSE 0 END) RCOILCOUNT
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND LENGTH(T.COIL_NO) = 12 AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) THEN 1 ELSE 0 END) COILCOUNT_E1
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_E1
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) THEN 1 ELSE 0 END) ALLCOILCOUNT_E1
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E1
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) THEN 1 ELSE 0 END) ALLCOILCOUNT_E1N
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.MILL_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_E1N
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) COILCOUNT_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) ALLCOILCOUNT_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T1
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN 1 ELSE 0 END) ALLCOILCOUNT_T1N
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'C' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T1N
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN 1 ELSE 0 END) COILCOUNT_T2
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,8) = ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN T.ACT_WGT/1000 ELSE 0 END) WGTSUM_T2
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN 1 ELSE 0 END) ALLCOILCOUNT_T2
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,6) = SUBSTR(?,1,6) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T2
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN 1 ELSE 0 END) ALLCOILCOUNT_T2N
,SUM(CASE WHEN SUBSTR(T.TRNF_DTIME,1,4) = SUBSTR(?,1,4) AND SUBSTR(T.TRNF_DTIME,1,8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND T.OUT_YARD_KIND IN ('2','3') AND T.DLIV_TP = 'T' THEN T.ACT_WGT/1000 ELSE 0 END) ALLWGTSUM_T2N
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) and (t.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) THEN 1 ELSE 0 END) RCOILCOUNT1
,SUM(CASE WHEN SUBSTR(T.MILL_DTIME, 1, 8) <= ? AND LENGTH(T.COIL_NO) IN(15,17) AND (T.COIL_STAT = '2' and t.CUR_LOAD_LOC is not null or SUBSTR(T.TRNF_DTIME, 1, 8) > ?) THEN NVL(T.ACT_WGT, 0) ELSE 0 END)/1000 RCOUNT1
FROM COLDCOIL T
,(SELECT T.SPEC_STL_GRD,MAX(T.ORD_USE_TP) ORD_USE_TP
FROM TBB01_KEY_PROD T WHERE T.PROD_LINE = 'C' GROUP BY T.SPEC_STL_GRD) B
WHERE T.SPEC_STL_GRD = B.SPEC_STL_GRD(+) AND T.SPEC_STL_GRD IS NOT NULL
)
)
ORDER BY ORD_USE_TP,SPEC_STL_GRD,SEQ,T_W_E
]]>
= 0.3 and l.thk < 0.5 and (l.mill_dtime between ? and ?) then
l.act_wgt
else
0
end) / 1000 || '' act_wgt2,
sum(case
when l.thk >= 0.3 and l.thk < 0.5 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt2,
sum(case
when l.thk >= 0.5 and l.thk < 0.6 and (l.mill_dtime between ? and ?) then
l.act_wgt
else
0
end) / 1000 || '' act_wgt2_3,
sum(case
when l.thk >= 0.5 and l.thk < 0.6 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt2_3,
sum(case
when l.thk >= 0.6 and l.thk < 1 and (l.mill_dtime between ? and ?) then
l.act_wgt
else
0
end) / 1000 || '' act_wgt3,
sum(case
when l.thk >= 0.6 and l.thk < 1 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt3,
sum(case
when l.thk >= 1 and l.thk < 3 and (l.mill_dtime between ? and ?) then
l.act_wgt
else
0
end) / 1000 || '' act_wgt4,
sum(case
when l.thk >= 1 and l.thk < 3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt4,
sum(case
when l.thk >= 3 and (l.mill_dtime between ? and ?) then
l.act_wgt
else
0
end) / 1000 || '' act_wgt5,
sum(case
when l.thk >= 3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt5,
sum(case
when (l.mill_dtime between ? and ?) then
l.act_wgt
else
0
end) / 1000 || '' act_wgt,
sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
AND NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union all
select 1 num,
'合计' spec_stl_grd,
'2' seq,
'产量' product_name,
't' unit,
sum(case
when l.thk < 0.3 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / 1000 || '' act_wgt1,
sum(case
when l.thk < 0.3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt1,
sum(case
when l.thk >= 0.3 and l.thk < 0.5 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / 1000 || '' act_wgt2,
sum(case
when l.thk >= 0.3 and l.thk < 0.5 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt2,
sum(case
when l.thk >= 0.5 and l.thk < 0.6 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / 1000 || '' act_wgt2_3,
sum(case
when l.thk >= 0.5 and l.thk < 0.6 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt2_3,
sum(case
when l.thk >= 0.6 and l.thk < 1 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / 1000 || '' act_wgt3,
sum(case
when l.thk >= 0.6 and l.thk < 1 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt3,
sum(case
when l.thk >= 1 and l.thk < 3 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / 1000 || '' act_wgt4,
sum(case
when l.thk >= 1 and l.thk < 3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt4,
sum(case
when l.thk >= 3 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / 1000 || '' act_wgt5,
sum(case
when l.thk >= 3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt5,
sum(case
when (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / 1000 || '' act_wgt,
sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
AND NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union all
--3 ?
select 1 num,
'合计' spec_stl_grd,
'3' seq,
'成材率' product_name,
't' unit,
decode(nvl(sum(case
when l.thk < 0.3 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk < 0.3 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / sum(case
when l.thk < 0.3 and (l.mill_dtime between ? and ?) then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt1,
decode(nvl(sum(case
when l.thk < 0.3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk < 0.3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when l.thk < 0.3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt1,
decode(nvl(sum(case
when l.thk >= 0.3 and l.thk < 0.5 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk >= 0.3 and l.thk < 0.5 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / sum(case
when l.thk >= 0.3 and l.thk < 0.5 and (l.mill_dtime between ? and ?) then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt2,
decode(nvl(sum(case
when l.thk >= 0.3 and l.thk < 0.5 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk >= 0.3 and l.thk < 0.5 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when l.thk >= 0.3 and l.thk < 0.5 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt2,
decode(nvl(sum(case
when l.thk >= 0.5 and l.thk < 0.6 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk >= 0.5 and l.thk < 0.6 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / sum(case
when l.thk >= 0.5 and l.thk < 0.6 and (l.mill_dtime between ? and ?) then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt2_3,
decode(nvl(sum(case
when l.thk >= 0.5 and l.thk < 0.6 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk >= 0.5 and l.thk < 0.6 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when l.thk >= 0.5 and l.thk < 0.6 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt2_3,
decode(nvl(sum(case
when l.thk >= 0.6 and l.thk < 1 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk >= 0.6 and l.thk < 1 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / sum(case
when l.thk >= 0.6 and l.thk < 1 and (l.mill_dtime between ? and ?) then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt3,
decode(nvl(sum(case
when l.thk >= 0.6 and l.thk < 1 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk >= 0.6 and l.thk < 1 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when l.thk >= 0.6 and l.thk < 1 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt3,
decode(nvl(sum(case
when l.thk >= 1 and l.thk < 3 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk >= 1 and l.thk < 3 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / sum(case
when l.thk >= 1 and l.thk < 3 and (l.mill_dtime between ? and ?) then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt4,
decode(nvl(sum(case
when l.thk >= 1 and l.thk < 3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk >= 1 and l.thk < 3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when l.thk >= 1 and l.thk < 3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt4,
decode(nvl(sum(case
when l.thk >= 3 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk >= 3 and (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / sum(case
when l.thk >= 3 and (l.mill_dtime between ? and ?) then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt5,
decode(nvl(sum(case
when l.thk >= 3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.thk >= 3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when l.thk >= 3 and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt5,
decode(nvl(sum(case
when (l.mill_dtime between ? and ?) then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when (l.mill_dtime between ? and ?) then
l.WGT
else
0
end) / sum(case
when (l.mill_dtime between ? and ?) then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt,
decode(nvl(sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
AND NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union
select 2 num,spec_stl_grd,seq,product_name,unit
,(case when seq = '3' then decode(nvl(k_wgt1,0),0,'0%',nvl(trunc(l_wgt1/k_wgt1*100,2),0)||'%') else act_wgt1 end) act_wgt1
,(case when seq = '3' then decode(nvl(sum_k_wgt1,0),0,'0%',nvl(trunc(sum_l_wgt1/sum_k_wgt1*100,2),0)||'%') else sumact_wgt1 end) sumact_wgt1
,(case when seq = '3' then decode(nvl(k_wgt2,0),0,'0%',nvl(trunc(l_wgt2/k_wgt2*100,2),0)||'%') else act_wgt2 end) act_wgt2
,(case when seq = '3' then decode(nvl(sum_k_wgt2,0),0,'0%',nvl(trunc(sum_l_wgt2/sum_k_wgt2*100,2),0)||'%') else sumact_wgt2 end) sumact_wgt2
,(case when seq = '3' then decode(nvl(k_wgt2_3,0),0,'0%',nvl(trunc(l_wgt2_3/k_wgt2_3*100,2),0)||'%') else act_wgt2_3 end) act_wgt2_3
,(case when seq = '3' then decode(nvl(sum_k_wgt2_3,0),0,'0%',nvl(trunc(sum_l_wgt2_3/sum_k_wgt2_3*100,2),0)||'%') else sumact_wgt2_3 end) sumact_wgt2_3
,(case when seq = '3' then decode(nvl(k_wgt3,0),0,'0%',nvl(trunc(l_wgt3/k_wgt3*100,2),0)||'%') else act_wgt3 end) act_wgt3
,(case when seq = '3' then decode(nvl(sum_k_wgt3,0),0,'0%',nvl(trunc(sum_l_wgt3/sum_k_wgt3*100,2),0)||'%') else sumact_wgt3 end) sumact_wgt3
,(case when seq = '3' then decode(nvl(k_wgt4,0),0,'0%',nvl(trunc(l_wgt4/k_wgt4*100,2),0)||'%') else act_wgt4 end) act_wgt4
,(case when seq = '3' then decode(nvl(sum_k_wgt4,0),0,'0%',nvl(trunc(sum_l_wgt4/sum_k_wgt4*100,2),0)||'%') else sumact_wgt4 end) sumact_wgt4
,(case when seq = '3' then decode(nvl(k_wgt5,0),0,'0%',nvl(trunc(l_wgt5/k_wgt5*100,2),0)||'%') else act_wgt5 end) act_wgt5
,(case when seq = '3' then decode(nvl(sum_k_wgt5,0),0,'0%',nvl(trunc(sum_l_wgt5/sum_k_wgt5*100,2),0)||'%') else sumact_wgt5 end) sumact_wgt5
,(case when seq = '3' then decode(nvl(k_wgt,0),0,'0%',nvl(trunc(l_wgt/k_wgt*100,2),0)||'%') else act_wgt end) act_wgt
,(case when seq = '3' then decode(nvl(sum_k_wgt,0),0,'0%',nvl(trunc(sum_l_wgt/sum_k_wgt*100,2),0)||'%') else sumact_wgt end) sumact_wgt
from
(
select a.spec_stl_grd,a.product_name,seq,'t' unit
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk < 0.3 and (a.mill_dtime between ? and ?) then a.l_wgt/a.k_wgt else null end))*100,2),0)||'%' else to_char(sum(case when a.thk < 0.3 and (a.mill_dtime between ? and ?) then a.act_wgt else 0 end)) end) act_wgt1
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk < 0.3 and a.mill_dtime <= ? then a.l_wgt/a.k_wgt else null end))*100,2),0)||'%' else to_char(sum(case when a.thk < 0.3 and a.mill_dtime <= ? then a.act_wgt else 0 end)) end) sumact_wgt1
,(case when a.seq = 3 then sum(case when a.thk < 0.3 and (a.mill_dtime between ? and ?) then a.k_wgt else 0 end) else null end) k_wgt1
,(case when a.seq = 3 then sum(case when a.thk < 0.3 and (a.mill_dtime between ? and ?) then a.l_wgt else 0 end) else null end) l_wgt1
,(case when a.seq = 3 then sum(case when a.thk < 0.3 and a.mill_dtime <= ? then a.k_wgt else 0 end) else null end) sum_k_wgt1
,(case when a.seq = 3 then sum(case when a.thk < 0.3 and a.mill_dtime <= ? then a.l_wgt else 0 end) else null end) sum_l_wgt1
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk >= 0.3 and a.thk < 0.5 and (a.mill_dtime between ? and ?) then a.l_wgt/a.k_wgt else null end))*100,2),0)||'%' else to_char(sum(case when a.thk >= 0.3 and a.thk < 0.5 and (a.mill_dtime between ? and ?) then a.act_wgt else 0 end)) end) act_wgt2
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk >= 0.3 and a.thk < 0.5 and a.mill_dtime <= ? then a.l_wgt/a.k_wgt else null end))*100,2),0)||'%' else to_char(sum(case when a.thk >= 0.3 and a.thk < 0.5 and a.mill_dtime <= ? then a.act_wgt else 0 end)) end) sumact_wgt2
,(case when a.seq = 3 then sum(case when a.thk >= 0.3 and a.thk < 0.5 and (a.mill_dtime between ? and ?) then a.k_wgt else 0 end) else null end) k_wgt2
,(case when a.seq = 3 then sum(case when a.thk >= 0.3 and a.thk < 0.5 and (a.mill_dtime between ? and ?) then a.l_wgt else 0 end) else null end) l_wgt2
,(case when a.seq = 3 then sum(case when a.thk >= 0.3 and a.thk < 0.5 and a.mill_dtime <= ? then a.k_wgt else 0 end) else null end) sum_k_wgt2
,(case when a.seq = 3 then sum(case when a.thk >= 0.3 and a.thk < 0.5 and a.mill_dtime <= ? then a.l_wgt else 0 end) else null end) sum_l_wgt2
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk >= 0.5 and a.thk < 0.6 and (a.mill_dtime between ? and ?) then a.l_wgt/a.k_wgt else null end))*100,2),0)||'%' else to_char(sum(case when a.thk >= 0.5 and a.thk < 0.6 and (a.mill_dtime between ? and ?) then a.act_wgt else 0 end)) end) act_wgt2_3
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk >= 0.5 and a.thk < 0.6 and a.mill_dtime <= ? then a.l_wgt/a.k_wgt else null end))*100,2),0)||'%' else to_char(sum(case when a.thk >= 0.5 and a.thk < 0.6 and a.mill_dtime <= ? then a.act_wgt else 0 end)) end) sumact_wgt2_3
,(case when a.seq = 3 then sum(case when a.thk >= 0.5 and a.thk < 0.6 and (a.mill_dtime between ? and ?) then a.k_wgt else 0 end) else null end) k_wgt2_3
,(case when a.seq = 3 then sum(case when a.thk >= 0.5 and a.thk < 0.6 and (a.mill_dtime between ? and ?) then a.l_wgt else 0 end) else null end) l_wgt2_3
,(case when a.seq = 3 then sum(case when a.thk >= 0.5 and a.thk < 0.6 and a.mill_dtime <= ? then a.k_wgt else 0 end) else null end) sum_k_wgt2_3
,(case when a.seq = 3 then sum(case when a.thk >= 0.5 and a.thk < 0.6 and a.mill_dtime <= ? then a.l_wgt else 0 end) else null end) sum_l_wgt2_3
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk >= 0.6 and a.thk < 1 and (a.mill_dtime between ? and ?) then a.l_wgt/a.k_wgt else null end))*100,2),0)||'%' else to_char(sum(case when a.thk >= 0.6 and a.thk < 1 and (a.mill_dtime between ? and ?) then a.act_wgt else 0 end)) end) act_wgt3
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk >= 0.6 and a.thk < 1 and a.mill_dtime <= ? then a.l_wgt/a.k_wgt else null end))*100,2),0)||'%' else to_char(sum(case when a.thk >= 0.6 and a.thk < 1 and a.mill_dtime <= ? then a.act_wgt else 0 end)) end) sumact_wgt3
,(case when a.seq = 3 then sum(case when a.thk >= 0.6 and a.thk < 1 and (a.mill_dtime between ? and ?) then a.k_wgt else 0 end) else null end) k_wgt3
,(case when a.seq = 3 then sum(case when a.thk >= 0.6 and a.thk < 1 and (a.mill_dtime between ? and ?) then a.l_wgt else 0 end) else null end) l_wgt3
,(case when a.seq = 3 then sum(case when a.thk >= 0.6 and a.thk < 1 and a.mill_dtime <= ? then a.k_wgt else 0 end) else null end) sum_k_wgt3
,(case when a.seq = 3 then sum(case when a.thk >= 0.6 and a.thk < 1 and a.mill_dtime <= ? then a.l_wgt else 0 end) else null end) sum_l_wgt3
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk >= 1 and a.thk < 3 and (a.mill_dtime between ? and ?) then a.l_wgt/a.k_wgt else null end))*100,2),0)||'%' else to_char(sum(case when a.thk >= 1 and a.thk < 3 and (a.mill_dtime between ? and ?) then a.act_wgt else 0 end)) end) act_wgt4
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk >= 1 and a.thk < 3 and a.mill_dtime <= ? then a.l_wgt/a.k_wgt else null end))*100,2),0)||'%' else to_char(sum(case when a.thk >= 1 and a.thk < 3 and a.mill_dtime <= ? then a.act_wgt else 0 end)) end) sumact_wgt4
,(case when a.seq = 3 then sum(case when a.thk >= 1 and a.thk < 3 and (a.mill_dtime between ? and ?) then a.k_wgt else 0 end) else null end) k_wgt4
,(case when a.seq = 3 then sum(case when a.thk >= 1 and a.thk < 3 and (a.mill_dtime between ? and ?) then a.l_wgt else 0 end) else null end) l_wgt4
,(case when a.seq = 3 then sum(case when a.thk >= 1 and a.thk < 3 and a.mill_dtime <= ? then a.k_wgt else 0 end) else null end) sum_k_wgt4
,(case when a.seq = 3 then sum(case when a.thk >= 1 and a.thk < 3 and a.mill_dtime <= ? then a.l_wgt else 0 end) else null end) sum_l_wgt4
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk >= 3 and (a.mill_dtime between ? and ?) then a.l_wgt/a.k_wgt else null end))*100,2),0)||'%' else to_char(sum(case when a.thk >= 3 and (a.mill_dtime between ? and ?) then a.act_wgt else 0 end)) end) act_wgt5
,(case when a.seq = 3 then nvl(trunc((avg(case when a.thk >= 3 and a.mill_dtime <= ? then a.l_wgt/a.k_wgt else null end)*100),2),0)||'%' else to_char(sum(case when a.thk >= 3 and a.mill_dtime <= ? then a.act_wgt else 0 end)) end) sumact_wgt5
,(case when a.seq = 3 then sum(case when a.thk >= 3 and (a.mill_dtime between ? and ?) then a.k_wgt else 0 end) else null end) k_wgt5
,(case when a.seq = 3 then sum(case when a.thk >= 3 and (a.mill_dtime between ? and ?) then a.l_wgt else 0 end) else null end) l_wgt5
,(case when a.seq = 3 then sum(case when a.thk >= 3 and a.mill_dtime <= ? then a.k_wgt else 0 end) else null end) sum_k_wgt5
,(case when a.seq = 3 then sum(case when a.thk >= 3 and a.mill_dtime <= ? then a.l_wgt else 0 end) else null end) sum_l_wgt5
,(case when a.seq = 3 then null else to_char(sum(case when (a.mill_dtime between ? and ?) then a.act_wgt else 0 end)) end) act_wgt
,(case when a.seq = 3 then null else to_char(sum(case when a.mill_dtime <= ? then a.act_wgt else 0 end)) end) sumact_wgt
,(case when a.seq = 3 then sum(case when (a.mill_dtime between ? and ?) then a.k_wgt else 0 end) else null end) k_wgt
,(case when a.seq = 3 then sum(case when (a.mill_dtime between ? and ?) then a.l_wgt else 0 end) else null end) l_wgt
,(case when a.seq = 3 then sum(case when a.mill_dtime <= ? then a.k_wgt else 0 end) else null end) sum_k_wgt
,(case when a.seq = 3 then sum(case when a.mill_dtime <= ? then a.l_wgt else 0 end) else null end) sum_l_wgt
from(
select '1' seq,
l.SPEC_STL_GRD,
'原料' product_name,
l.act_wgt/ 1000 ACT_WGT,
substr(l.MILL_DTIME, 1, 8) mill_dtime,
l.thk,
l.wth,
l.act_wgt / 1000 k_wgt,
l.wgt / 1000 l_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
AND NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union ALL
select '2' seq,
l.SPEC_STL_GRD,
'产量' product_name,
l.WGT / 1000 ACT_WGT,
l.MILL_DTIME,
l.thk,
l.wth,
l.act_wgt / 1000 k_wgt,
l.WGT / 1000 l_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
AND NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union ALL
select '3' seq,l.SPEC_STL_GRD,'成材率' product_name,0,l.MILL_DTIME
,l.thk,l.wth,l.ACT_WGT/1000 k_wgt,l.WGT/1000 l_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
AND NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
) a
group by a.spec_stl_grd,a.seq,a.product_name
order by a.spec_stl_grd,a.seq
)
)
]]>
= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.act_wgt
else
0
end) / 1000 || '' act_wgt1,
sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt1,
sum(case
when l.mill_dtime = ? then
l.act_wgt
else
0
end) / 1000 || '' act_wgt,
sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt
from (
SELECT B.COIL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
SUBSTR(T3.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'L'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
) A,
C_TBL02_COIL_COMM B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
GROUP BY J.DIVIDE_YN,
J.LINE_TP,
SUBSTR(J.OLD_SAMPL_NO, 1, 12)) D
WHERE B.COIL_NO = SUBSTR(A.OLD_SAMPL_NO, 1, 12)
AND A.OLD_SAMPL_NO = D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union all
--2
select 1 num,
'合计' spec_stl_grd,
'2' seq,
'产量' product_name,
't' unit,
sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.WGT
else
0
end) / 1000 || '' act_wgt1,
sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt1,
sum(case
when l.mill_dtime = ? then
l.WGT
else
0
end) / 1000 || '' act_wgt,
sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt
from (
SELECT B.COIL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
SUBSTR(T3.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'L'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
) A,
C_TBL02_COIL_COMM B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
GROUP BY J.DIVIDE_YN,
J.LINE_TP,
SUBSTR(J.OLD_SAMPL_NO, 1, 12)) D
WHERE B.COIL_NO = SUBSTR(A.OLD_SAMPL_NO, 1, 12)
AND A.OLD_SAMPL_NO = D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union all
--3
select 1 num,
'合计' spec_stl_grd,
'3' seq,
'成材率' product_name,
't' unit,
decode(nvl(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.WGT
else
0
end) / sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt1,
decode(nvl(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt1,
decode(nvl(sum(case
when l.mill_dtime = ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.mill_dtime = ? then
l.WGT
else
0
end) / sum(case
when l.mill_dtime = ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt,
decode(nvl(sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt
from (
SELECT B.COIL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
SUBSTR(T3.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'L'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
) A,
C_TBL02_COIL_COMM B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
GROUP BY J.DIVIDE_YN,
J.LINE_TP,
SUBSTR(J.OLD_SAMPL_NO, 1, 12)) D
WHERE B.COIL_NO = SUBSTR(A.OLD_SAMPL_NO, 1, 12)
AND A.OLD_SAMPL_NO = D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union
--4
select 2 num,
spec_stl_grd,
seq,
product_name,
unit,
(case
when seq = '3' then
decode(nvl(k_wgt1, 0),
0,
'0%',
nvl(trunc(l_wgt1 / k_wgt1 * 100, 2), 0) || '%')
else
act_wgt1
end) act_wgt1,
(case
when seq = '3' then
decode(nvl(sum_k_wgt1, 0),
0,
'0%',
nvl(trunc(sum_l_wgt1 / sum_k_wgt1 * 100, 2), 0) || '%')
else
sumact_wgt1
end) sumact_wgt1,
(case
when seq = '3' then
decode(nvl(k_wgt, 0),
0,
'0%',
nvl(trunc(l_wgt / k_wgt * 100, 2), 0) || '%')
else
act_wgt
end) act_wgt,
(case
when seq = '3' then
decode(nvl(sum_k_wgt, 0),
0,
'0%',
nvl(trunc(sum_l_wgt / sum_k_wgt * 100, 2), 0) || '%')
else
sumact_wgt
end) sumact_wgt
from (select a.spec_stl_grd,
a.product_name,
seq,
't' unit,
(case
when a.seq = 3 then
nvl(trunc((avg(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.l_wgt / a.k_wgt
else
null
end)) * 100,
2),
0) || '%'
else
to_char(sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.act_wgt
else
0
end))
end) act_wgt1,
(case
when a.seq = 3 then
nvl(trunc((avg(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.l_wgt / a.k_wgt
else
null
end)) * 100,
2),
0) || '%'
else
to_char(sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.act_wgt
else
0
end))
end) sumact_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.k_wgt
else
0
end)
else
null
end) k_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.l_wgt
else
0
end)
else
null
end) l_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.k_wgt
else
0
end)
else
null
end) sum_k_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.l_wgt
else
0
end)
else
null
end) sum_l_wgt1,
(case
when a.seq = 3 then
null
else
to_char(sum(case
when a.mill_dtime = ? then
a.act_wgt
else
0
end))
end) act_wgt,
(case
when a.seq = 3 then
null
else
to_char(sum(case
when a.mill_dtime <= ? then
a.act_wgt
else
0
end))
end) sumact_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime = ? then
a.k_wgt
else
0
end)
else
null
end) k_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime = ? then
a.l_wgt
else
0
end)
else
null
end) l_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime <= ? then
a.k_wgt
else
0
end)
else
null
end) sum_k_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime <= ? then
a.l_wgt
else
0
end)
else
null
end) sum_l_wgt
from (select '1' seq,
l.SPEC_STL_GRD,
'原料' product_name,
l.act_wgt / 1000 ACT_WGT,
substr(l.MILL_DTIME, 1, 8) mill_dtime,
l.thk,
l.wth,
l.act_wgt / 1000 k_wgt,
l.wgt / 1000 l_wgt
from (
SELECT B.COIL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
SUBSTR(T3.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'L'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
) A,
C_TBL02_COIL_COMM B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
GROUP BY J.DIVIDE_YN,
J.LINE_TP,
SUBSTR(J.OLD_SAMPL_NO, 1, 12)) D
WHERE B.COIL_NO = SUBSTR(A.OLD_SAMPL_NO, 1, 12)
AND A.OLD_SAMPL_NO = D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union ALL
select '2' seq,
l.SPEC_STL_GRD,
'产量' product_name,
l.WGT / 1000 ACT_WGT,
l.MILL_DTIME,
l.thk,
l.wth,
l.act_wgt / 1000 k_wgt,
l.WGT / 1000 l_wgt
from (
SELECT B.COIL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
SUBSTR(T3.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'L'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
) A,
C_TBL02_COIL_COMM B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
GROUP BY J.DIVIDE_YN,
J.LINE_TP,
SUBSTR(J.OLD_SAMPL_NO, 1, 12)) D
WHERE B.COIL_NO = SUBSTR(A.OLD_SAMPL_NO, 1, 12)
AND A.OLD_SAMPL_NO = D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union ALL
select '3' seq,
l.SPEC_STL_GRD,
'成材率' product_name,
0,
l.MILL_DTIME,
l.thk,
l.wth,
l.ACT_WGT / 1000 k_wgt,
l.WGT / 1000 l_wgt
from (
SELECT B.COIL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
SUBSTR(T3.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'L'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
) A,
C_TBL02_COIL_COMM B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 12) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) =
SUBSTR(?, 1, 6)
GROUP BY J.DIVIDE_YN,
J.LINE_TP,
SUBSTR(J.OLD_SAMPL_NO, 1, 12)) D
WHERE B.COIL_NO = SUBSTR(A.OLD_SAMPL_NO, 1, 12)
AND A.OLD_SAMPL_NO = D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
) a
group by a.spec_stl_grd, a.seq, a.product_name
order by a.spec_stl_grd, a.seq))
]]>
= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.act_wgt
else
0
end) / 1000 || '' act_wgt1,
sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt1,
sum(case
when l.mill_dtime = ? then
l.act_wgt
else
0
end) / 1000 || '' act_wgt,
sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union all
--2
select 1 num,
'合计' spec_stl_grd,
'2' seq,
'产量' product_name,
't' unit,
sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.WGT
else
0
end) / 1000 || '' act_wgt1,
sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt1,
sum(case
when l.mill_dtime = ? then
l.WGT
else
0
end) / 1000 || '' act_wgt,
sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union all
--3
select 1 num,
'合计' spec_stl_grd,
'3' seq,
'成材率' product_name,
't' unit,
decode(nvl(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.WGT
else
0
end) / sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt1,
decode(nvl(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt1,
decode(nvl(sum(case
when l.mill_dtime = ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.mill_dtime = ? then
l.WGT
else
0
end) / sum(case
when l.mill_dtime = ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt,
decode(nvl(sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union
--4
select 2 num,
spec_stl_grd,
seq,
product_name,
unit,
(case
when seq = '3' then
decode(nvl(k_wgt1, 0),
0,
'0%',
nvl(trunc(l_wgt1 / k_wgt1 * 100, 2), 0) || '%')
else
act_wgt1
end) act_wgt1,
(case
when seq = '3' then
decode(nvl(sum_k_wgt1, 0),
0,
'0%',
nvl(trunc(sum_l_wgt1 / sum_k_wgt1 * 100, 2), 0) || '%')
else
sumact_wgt1
end) sumact_wgt1,
(case
when seq = '3' then
decode(nvl(k_wgt, 0),
0,
'0%',
nvl(trunc(l_wgt / k_wgt * 100, 2), 0) || '%')
else
act_wgt
end) act_wgt,
(case
when seq = '3' then
decode(nvl(sum_k_wgt, 0),
0,
'0%',
nvl(trunc(sum_l_wgt / sum_k_wgt * 100, 2), 0) || '%')
else
sumact_wgt
end) sumact_wgt
from (select a.spec_stl_grd,
a.product_name,
seq,
't' unit,
(case
when a.seq = 3 then
nvl(trunc((avg(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.l_wgt / a.k_wgt
else
null
end)) * 100,
2),
0) || '%'
else
to_char(sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.act_wgt
else
0
end))
end) act_wgt1,
(case
when a.seq = 3 then
nvl(trunc((avg(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.l_wgt / a.k_wgt
else
null
end)) * 100,
2),
0) || '%'
else
to_char(sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.act_wgt
else
0
end))
end) sumact_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.k_wgt
else
0
end)
else
null
end) k_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.l_wgt
else
0
end)
else
null
end) l_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.k_wgt
else
0
end)
else
null
end) sum_k_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.l_wgt
else
0
end)
else
null
end) sum_l_wgt1,
(case
when a.seq = 3 then
null
else
to_char(sum(case
when a.mill_dtime = ? then
a.act_wgt
else
0
end))
end) act_wgt,
(case
when a.seq = 3 then
null
else
to_char(sum(case
when a.mill_dtime <= ? then
a.act_wgt
else
0
end))
end) sumact_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime = ? then
a.k_wgt
else
0
end)
else
null
end) k_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime = ? then
a.l_wgt
else
0
end)
else
null
end) l_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime <= ? then
a.k_wgt
else
0
end)
else
null
end) sum_k_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime <= ? then
a.l_wgt
else
0
end)
else
null
end) sum_l_wgt
from (select '1' seq,
l.SPEC_STL_GRD,
'原料' product_name,
l.act_wgt / 1000 ACT_WGT,
substr(l.MILL_DTIME, 1, 8) mill_dtime,
l.thk,
l.wth,
l.act_wgt / 1000 k_wgt,
l.wgt / 1000 l_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union ALL
select '2' seq,
l.SPEC_STL_GRD,
'产量' product_name,
l.WGT / 1000 ACT_WGT,
l.MILL_DTIME,
l.thk,
l.wth,
l.act_wgt / 1000 k_wgt,
l.WGT / 1000 l_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
union ALL
select '3' seq,
l.SPEC_STL_GRD,
'成材率' product_name,
0,
l.MILL_DTIME,
l.thk,
l.wth,
l.ACT_WGT / 1000 k_wgt,
l.WGT / 1000 l_wgt
from (
SELECT B.OLD_SAMPL_NO,
DECODE(ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT)),0,1,ROUND(B.ACT_WGT * (A.ACT_WGT / D.ACT))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM (
SELECT T3.COIL_STAT,
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME, 1, 8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.LINE_TP,
T3.DIVIDE_YN
FROM C_TBC02_COIL_COMM t3
WHERE T3.DIVIDE_YN = 'N'
AND T3.COIL_STAT != '1'
AND T3.LINE_TP = 'C'
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(t3.MILL_DTIME, 1, 6) = SUBSTR(?, 1, 6)) A,
( SELECT M.* FROM C_TBC02_COIL_COMM M WHERE M.DIVIDE_YN='N' AND M.LINE_TP='L') B,
(SELECT DECODE(SUM(J.ACT_WGT),0,1,SUM(J.ACT_WGT)) ACT,
SUBSTR(J.OLD_SAMPL_NO, 1, 15) OLD_SAMPL_NO,
J.DIVIDE_YN,
J.LINE_TP
FROM C_TBC02_COIL_COMM J
WHERE
NVL(J.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
AND SUBSTR(J.MILL_DTIME, 1, 6) = SUBSTR( ? , 1, 6)
GROUP BY J.DIVIDE_YN, J.LINE_TP, SUBSTR(J.OLD_SAMPL_NO, 1, 15)) D
WHERE SUBSTR(B.OLD_SAMPL_NO,1,14) =SUBSTR(A.OLD_SAMPL_NO,1,14)
AND SUBSTR(B.OLD_SAMPL_NO,1,15)= D.OLD_SAMPL_NO
AND D.DIVIDE_YN = A.DIVIDE_YN
AND D.LINE_TP = A.LINE_TP
GROUP BY B.OLD_SAMPL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.LINE_TP,
A.DIVIDE_YN,
D.ACT
) l
) a
group by a.spec_stl_grd, a.seq, a.product_name
order by a.spec_stl_grd, a.seq))
]]>
= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.act_wgt
else
0
end) / 1000 || '' act_wgt1,
sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt1,
sum(case
when l.mill_dtime = ? then
l.act_wgt
else
0
end) / 1000 || '' act_wgt,
sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.act_wgt
else
0
end) / 1000 || '' sumact_wgt
from (
SELECT B.COIL_NO,
DECODE( ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT))),0,1,ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT)))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM ( SELECT
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.H_COIL_NO1 OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME,1,8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.COIL_CUT_YN
FROM C_TBL02_COIL_COMM t3
WHERE
T3.COIL_CUT_YN IS NULL
AND T3.COIL_STAT!='1'
AND SUBSTR(t3.MILL_DTIME, 1,6) = SUBSTR( ? , 1,6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
C_TBk02_COIL_COMM B,
(SELECT F.H_COIL_NO1 OLD_SAMPL_NO,DECODE(F.ACT_WGT,0,1,F.ACT_WGT) WGT
FROM C_TBL02_COIL_COMM F
WHERE SUBSTR(F.MILL_DTIME, 1, 6) = SUBSTR( ?, 1,6)
--AND F.COIL_THK!='0.000'
AND NVL(F.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) C
WHERE B.COIL_NO =A.OLD_SAMPL_NO
AND A.OLD_SAMPL_NO=C.OLD_SAMPL_NO
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.COIL_CUT_YN
) l
union all
--2
select 1 num,
'合计' spec_stl_grd,
'2' seq,
'产量' product_name,
't' unit,
sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.WGT
else
0
end) / 1000 || '' act_wgt1,
sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt1,
sum(case
when l.mill_dtime = ? then
l.WGT
else
0
end) / 1000 || '' act_wgt,
sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / 1000 || '' sumact_wgt
from (
SELECT B.COIL_NO,
DECODE( ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT))),0,1,ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT)))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM ( SELECT
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.H_COIL_NO1 OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME,1,8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.COIL_CUT_YN
FROM C_TBL02_COIL_COMM t3
WHERE
T3.COIL_CUT_YN IS NULL
AND T3.COIL_STAT!='1'
AND SUBSTR(t3.MILL_DTIME, 1,6) = SUBSTR( ? , 1,6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
C_TBk02_COIL_COMM B,
(SELECT F.H_COIL_NO1 OLD_SAMPL_NO,DECODE(F.ACT_WGT,0,1,F.ACT_WGT) WGT
FROM C_TBL02_COIL_COMM F
WHERE SUBSTR(F.MILL_DTIME, 1, 6) = SUBSTR( ?, 1,6)
--AND F.COIL_THK!='0.000'
AND NVL(F.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) C
WHERE B.COIL_NO =A.OLD_SAMPL_NO
AND A.OLD_SAMPL_NO=C.OLD_SAMPL_NO
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.COIL_CUT_YN
) l
union all
--3
select 1 num,
'合计' spec_stl_grd,
'3' seq,
'成材率' product_name,
't' unit,
decode(nvl(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.WGT
else
0
end) / sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
l.mill_dtime = ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt1,
decode(nvl(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when (l.thk >= nvl(?, 0) and l.thk <= nvl(?, 99)) and
substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt1,
decode(nvl(sum(case
when l.mill_dtime = ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when l.mill_dtime = ? then
l.WGT
else
0
end) / sum(case
when l.mill_dtime = ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' act_wgt,
decode(nvl(sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end),
0),
0,
'0',
trunc(sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.WGT
else
0
end) / sum(case
when substr(l.mill_dtime, 1, 6) = substr(?, 1, 6) and
l.mill_dtime <= ? then
l.ACT_WGT
else
0
end) * 100,
2)) || '%' sumact_wgt
from (
SELECT B.COIL_NO,
DECODE( ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT))),0,1,ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT)))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM ( SELECT
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.H_COIL_NO1 OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME,1,8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.COIL_CUT_YN
FROM C_TBL02_COIL_COMM t3
WHERE
T3.COIL_CUT_YN IS NULL
AND T3.COIL_STAT!='1'
AND SUBSTR(t3.MILL_DTIME, 1,6) = SUBSTR( ? , 1,6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
C_TBk02_COIL_COMM B,
(SELECT F.H_COIL_NO1 OLD_SAMPL_NO,DECODE(F.ACT_WGT,0,1,F.ACT_WGT) WGT
FROM C_TBL02_COIL_COMM F
WHERE SUBSTR(F.MILL_DTIME, 1, 6) = SUBSTR( ?, 1,6)
--AND F.COIL_THK!='0.000'
AND NVL(F.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) C
WHERE B.COIL_NO =A.OLD_SAMPL_NO
AND A.OLD_SAMPL_NO=C.OLD_SAMPL_NO
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.COIL_CUT_YN
) l
union
--4
select 2 num,
spec_stl_grd,
seq,
product_name,
unit,
(case
when seq = '3' then
decode(nvl(k_wgt1, 0),
0,
'0%',
nvl(trunc(l_wgt1 / k_wgt1 * 100, 2), 0) || '%')
else
act_wgt1
end) act_wgt1,
(case
when seq = '3' then
decode(nvl(sum_k_wgt1, 0),
0,
'0%',
nvl(trunc(sum_l_wgt1 / sum_k_wgt1 * 100, 2), 0) || '%')
else
sumact_wgt1
end) sumact_wgt1,
(case
when seq = '3' then
decode(nvl(k_wgt, 0),
0,
'0%',
nvl(trunc(l_wgt / k_wgt * 100, 2), 0) || '%')
else
act_wgt
end) act_wgt,
(case
when seq = '3' then
decode(nvl(sum_k_wgt, 0),
0,
'0%',
nvl(trunc(sum_l_wgt / sum_k_wgt * 100, 2), 0) || '%')
else
sumact_wgt
end) sumact_wgt
from (select a.spec_stl_grd,
a.product_name,
seq,
't' unit,
(case
when a.seq = 3 then
nvl(trunc((avg(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.l_wgt / a.k_wgt
else
null
end)) * 100,
2),
0) || '%'
else
to_char(sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.act_wgt
else
0
end))
end) act_wgt1,
(case
when a.seq = 3 then
nvl(trunc((avg(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.l_wgt / a.k_wgt
else
null
end)) * 100,
2),
0) || '%'
else
to_char(sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.act_wgt
else
0
end))
end) sumact_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.k_wgt
else
0
end)
else
null
end) k_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime = ? then
a.l_wgt
else
0
end)
else
null
end) l_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.k_wgt
else
0
end)
else
null
end) sum_k_wgt1,
(case
when a.seq = 3 then
sum(case
when (a.thk >= nvl(?, 0) and a.thk <= nvl(?, 99)) and
a.mill_dtime <= ? then
a.l_wgt
else
0
end)
else
null
end) sum_l_wgt1,
(case
when a.seq = 3 then
null
else
to_char(sum(case
when a.mill_dtime = ? then
a.act_wgt
else
0
end))
end) act_wgt,
(case
when a.seq = 3 then
null
else
to_char(sum(case
when a.mill_dtime <= ? then
a.act_wgt
else
0
end))
end) sumact_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime = ? then
a.k_wgt
else
0
end)
else
null
end) k_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime = ? then
a.l_wgt
else
0
end)
else
null
end) l_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime <= ? then
a.k_wgt
else
0
end)
else
null
end) sum_k_wgt,
(case
when a.seq = 3 then
sum(case
when a.mill_dtime <= ? then
a.l_wgt
else
0
end)
else
null
end) sum_l_wgt
from (select '1' seq,
l.SPEC_STL_GRD,
'原料' product_name,
l.act_wgt / 1000 ACT_WGT,
substr(l.MILL_DTIME, 1, 8) mill_dtime,
l.thk,
l.wth,
l.act_wgt / 1000 k_wgt,
l.wgt / 1000 l_wgt
from (
SELECT B.COIL_NO,
DECODE( ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT))),0,1,ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT)))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM ( SELECT
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.H_COIL_NO1 OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME,1,8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.COIL_CUT_YN
FROM C_TBL02_COIL_COMM t3
WHERE
T3.COIL_CUT_YN IS NULL
AND T3.COIL_STAT!='1'
AND SUBSTR(t3.MILL_DTIME, 1,6) = SUBSTR( ? , 1,6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
C_TBk02_COIL_COMM B,
(SELECT F.H_COIL_NO1 OLD_SAMPL_NO,DECODE(F.ACT_WGT,0,1,F.ACT_WGT) WGT
FROM C_TBL02_COIL_COMM F
WHERE SUBSTR(F.MILL_DTIME, 1, 6) = SUBSTR( ?, 1,6)
--AND F.COIL_THK!='0.000'
AND NVL(F.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) C
WHERE B.COIL_NO =A.OLD_SAMPL_NO
AND A.OLD_SAMPL_NO=C.OLD_SAMPL_NO
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.COIL_CUT_YN
) l
union ALL
select '2' seq,
l.SPEC_STL_GRD,
'产量' product_name,
l.WGT / 1000 ACT_WGT,
l.MILL_DTIME,
l.thk,
l.wth,
l.act_wgt / 1000 k_wgt,
l.WGT / 1000 l_wgt
from (
SELECT B.COIL_NO,
DECODE( ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT))),0,1,ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT)))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM ( SELECT
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.H_COIL_NO1 OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME,1,8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.COIL_CUT_YN
FROM C_TBL02_COIL_COMM t3
WHERE
T3.COIL_CUT_YN IS NULL
AND T3.COIL_STAT!='1'
AND SUBSTR(t3.MILL_DTIME, 1,6) = SUBSTR( ? , 1,6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
C_TBk02_COIL_COMM B,
(SELECT F.H_COIL_NO1 OLD_SAMPL_NO,DECODE(F.ACT_WGT,0,1,F.ACT_WGT) WGT
FROM C_TBL02_COIL_COMM F
WHERE SUBSTR(F.MILL_DTIME, 1, 6) = SUBSTR( ?, 1,6)
--AND F.COIL_THK!='0.000'
AND NVL(F.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) C
WHERE B.COIL_NO =A.OLD_SAMPL_NO
AND A.OLD_SAMPL_NO=C.OLD_SAMPL_NO
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.COIL_CUT_YN
) l
union ALL
select '3' seq,
l.SPEC_STL_GRD,
'成材率' product_name,
0,
l.MILL_DTIME,
l.thk,
l.wth,
l.ACT_WGT / 1000 k_wgt,
l.WGT / 1000 l_wgt
from (
SELECT B.COIL_NO,
DECODE( ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT))),0,1,ROUND(B.ACT_WGT *(A.ACT_WGT/SUM(C.WGT)))) ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT WGT,
A.COIL_THK THK,
A.COIL_WTH WTH,
A.SPEC_STL_GRD,
A.MILL_DTIME
FROM ( SELECT
DECODE(T3.ACT_WGT,0,1,T3.ACT_WGT) ACT_WGT,
T3.H_COIL_NO1 OLD_SAMPL_NO,
SUBSTR(T3.MILL_DTIME,1,8) MILL_DTIME,
T3.SPEC_STL_GRD,
T3.COIL_THK,
T3.COIL_WTH,
T3.COIL_CUT_YN
FROM C_TBL02_COIL_COMM t3
WHERE
T3.COIL_CUT_YN IS NULL
AND T3.COIL_STAT!='1'
AND SUBSTR(t3.MILL_DTIME, 1,6) = SUBSTR( ? , 1,6)
AND NVL(T3.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) A,
C_TBk02_COIL_COMM B,
(SELECT F.H_COIL_NO1 OLD_SAMPL_NO,DECODE(F.ACT_WGT,0,1,F.ACT_WGT) WGT
FROM C_TBL02_COIL_COMM F
WHERE SUBSTR(F.MILL_DTIME, 1, 6) = SUBSTR( ?, 1,6)
--AND F.COIL_THK!='0.000'
AND NVL(F.EXTSHAPE_QUALITY, 'NULLP') NOT IN ('FP', 'CP')
) C
WHERE B.COIL_NO =A.OLD_SAMPL_NO
AND A.OLD_SAMPL_NO=C.OLD_SAMPL_NO
GROUP BY B.COIL_NO,
B.ACT_WGT,
A.OLD_SAMPL_NO,
A.ACT_WGT,
A.MILL_DTIME,
A.COIL_THK,
A.COIL_WTH,
A.SPEC_STL_GRD,
A.COIL_CUT_YN
) l
) a
group by a.spec_stl_grd, a.seq, a.product_name
order by a.spec_stl_grd, a.seq))
]]>