0 ]]> 0 AND REQ_STATUS = 1 AND SUPPLY_UNIT_CODE='120501' ORDER BY GPREQ_ID DESC ]]> 0 AND REQ_STATUS = 1 AND SUPPLY_UNIT_CODE = '120504' AND TYPE_FLAG = '0' ORDER BY GPREQ_ID DESC ]]> 0 AND REQ_STATUS = 1 AND SUPPLY_UNIT_CODE = '120504' AND TYPE_FLAG = '1' ORDER BY GPREQ_ID DESC ]]> 0 AND REQ_STATUS = 1 AND SUPPLY_UNIT_CODE = '120504' AND TYPE_FLAG = '2' ORDER BY GPREQ_ID DESC ]]> 0 AND REQ_STATUS = 1 AND SUPPLY_UNIT_CODE = '120504' AND TYPE_FLAG = '3' ORDER BY GPREQ_ID DESC ]]> 0 AND REQ_STATUS = 1 AND SUPPLY_UNIT_CODE = '120504' AND TYPE_FLAG = '4' ORDER BY GPREQ_ID DESC ]]> 0 AND GPREQ_ID IN ( #gpbuyplanid# ) ]]> 0 AND GPREQ_ID IN ( #gpbuyplanid# ) ]]> SELECT 'W' || TO_CHAR(SYSDATE, 'YYYYMM') || LPAD(NVL(MAX(TO_NUMBER(SUBSTR(T.GPBUYPLANID, 8, 11))) + 1, 1),4,'0') VERSION_NO FROM BUY_GP_REQ T WHERE SUBSTR(T.GPBUYPLANID, 2, 6) = TO_CHAR(SYSDATE, 'YYYYMM') INSERT INTO BUY_GP_REQ( GPBUYPLANID , REC_TYPE , GPREQ_ID , ORD_SQE_PK , GPTYPE , MATERIAL_NO , MATERIAL_NAME , GRADECODE , GRADENAME , DIAMETER , LEN_GP_SINGLE , LENGTH , WEIGHT_ONE , GP_NUM , GP_WEIGHT , OLD_GP_NUM , OLD_GP_WEIGHT , WEIGHT_ASS , NUM_TOT , WEIGHT_TOT , ROLL_MONTH , GET_ENDTIME , REC_STATUS , MEMO , CREATE_NAME , CREATE_TIME , CIC ) SELECT ?, '0', a.gpreq_id, NULL, a.gptype, a.material_no, a.material_name, a.gradecode, a.gradename, a.diameter_gp, a.len_gp_single, a.length_gp, a.weight_gp_one, NULL, NULL, (select sum(gp_num) from PLN_REQINF_GP WHERE gpreq_id in ( #gpreq_id# )), a.gp_weight, CEIL(a.gp_weight/60) * 60, NULL, NULL, NULL, NULL, '0', NULL, NULL, SYSDATE, CIC FROM PLN_REQINF_GP a WHERE a.BUYPLANID IS NULL AND a.gpreq_id = ? INSERT INTO BUY_GP_REQ( GPBUYPLANID , REC_TYPE , GPTYPE , MATERIAL_NAME , GRADENAME , DIAMETER , LEN_GP_SINGLE , OLD_GP_WEIGHT , CREATE_TIME , GRADECODE , CIC , MATERIAL_NO ) SELECT ?, 1, ?, ?, ?, ?, ?, ?, SYSDATE, (SELECT MAX(GRADECODE) FROM COM_BASE_GRADE WHERE GRADENAME=?), ?, ? || (SELECT MAX(SPEC_CODE) FROM COM_BASE_SPEC WHERE SPEC_NAME =?)||','||(SELECT MAX(GRADECODE) FROM COM_BASE_GRADE WHERE GRADENAME=?) FROM DUAL UPDATE PLN_REQINF_GP SET BUYPLANID = ? WHERE BUYPLANID IS NULL UPDATE BUY_BASE_CUSTOMER SET CUSTOMER_NM=?,REGION_NO=? WHERE CUSTOMER_NO=? UPDATE BUY_BASE_REQ SET WET_D=?,WET_DG=?,WET_DGF=? WHERE CUSTOMER_NO=? SELECT GPBUYPLANID,CIC,CASE REC_TYPE WHEN '0' THEN '正常' WHEN '1' THEN '预排' WHEN '2' THEN '利计划' ELSE '' END AS REC_TYPE, GPREQ_ID,ORD_SQE_PK,CASE GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE,MATERIAL_NO, MATERIAL_NAME,GRADENAME,DIAMETER,LEN_GP_SINGLE,LENGTH, WEIGHT_ONE,GP_NUM,GP_WEIGHT,OLD_GP_NUM,OLD_GP_WEIGHT, WEIGHT_ASS,NUM_TOT,WEIGHT_TOT,ROLL_MONTH,GET_ENDTIME, CASE REC_STATUS WHEN '0' THEN '编制' WHEN '1' THEN '生效' WHEN '2' THEN '提报' ELSE '' END AS REC_STATUS FROM BUY_GP_REQ WHERE REC_STATUS='1' AND GPBUYPLANID IN ( SELECT e.gpbuyplanid FROM ( SELECT a.gpbuyplanid,a.cic FROM BUY_GP_REQ a LEFT JOIN PLN_REQINF_GP b ON a.gpbuyplanid = b.buyplanid GROUP BY a.gpbuyplanid,a.cic ) e LEFT JOIN ( SELECT c.supp_name,c.agreement_code,d.std_idx FROM COM_BASE_PURCHASE_PROVIDER c INNER JOIN com_base_purchase_std_idx d ON c.agreement_code = d.agreement_code WHERE c.supp_name =? )f ON e.cic = f.std_idx WHERE f.STD_IDX IS NOT NULL ) SELECT 1 CODE,'铸坯' NAME FROM DUAL UNION SELECT 2 CODE,'锻坯' NAME FROM DUAL SELECT a.CIC,a.GRADENAME STEELGRADES FROM COM_MSC_STD_CIC a WHERE a.cic in ( SELECT b.std_idx FROM com_base_purchase_std_idx b ) UPDATE BUY_GP_ORDER a SET get_endtime=NULL WHERE get_endtime=TO_DATE('2000-01-01','YYYY-MM-DD') UPDATE BUY_GP_ORDER a SET a.order_sqe = ( WITH t as ( SELECT RANK() OVER(PARTITION BY ORDER_NO ORDER BY rowid)+ (SELECT NVL(MAX(TO_NUMBER(ORDER_SQE)),0) FROM BUY_GP_ORDER WHERE ORDER_NO= a.ORDER_NO) AS RN,a.rowid FROM BUY_GP_ORDER a WHERE a.order_no IS NOT NULL AND a.order_sqe IS NULL ) SELECT RN FROM t where a.ROWID=t.ROWID ) WHERE a.order_no IS NOT NULL AND a.order_sqe IS NULL DELETE FROM BUY_GP_ORDER WHERE GPBUYPLANID IN ( SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE GPBUYPLANID ) DELETE FROM BUY_GP_ORDER WHERE GPBUYPLANID IN ( SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK IN ( #ORD_NO_PK# ) ) BEGIN UPDATE PLN_REQINF_GP SET REQ_STATUS=1, GP_SYWEIGHT=NULL WHERE REQ_STATUS='2' AND GPREQ_ID IN ( SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK IN ( #ORD_NO_PK# ) ); DELETE FROM BUY_GP_ORDER t WHERE GPBUYPLANID IN ( SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK IN ( #ORD_NO_PK# ) ) AND EXISTS(SELECT * FROM PLN_REQINF_GP WHERE REQ_STATUS=1 AND GPREQ_ID = t.GPBUYPLANID); END; 0 ) td WHERE tc.GPBUYPLANID = td.GPBUYPLANID ) ]]> 0 ) td WHERE tc.GPREQ_ID = td.GPBUYPLANID ) ]]> 0 ) where EXISTS ( WITH t AS ( SELECT avg(t.gp_weight) gp_weight,t.gpreq_id,nvl(sum(t1.gpreq_weight),avg(t.gp_weight)) gpreq_weight FROM PLN_REQINF_GP t,PLN_ORDER_ZG_S t1 WHERE t1.gpreq_id in (SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK IN ( #ORD_NO_PK# ) ) and 1=1 AND t.req_status in ('2','3','4') AND t.gpreq_id = t1.gpreq_id(+) GROUP BY t.gpreq_id ), t1 AS ( SELECT SUM(WEIGHT_NUM) AS WEIGHT_NUM, gpbuyplanid FROM buy_gp_order GROUP BY gpbuyplanid ), t2 AS ( SELECT t.gpreq_id,t1.WEIGHT_NUM-t.gpreq_weight as sy_weight FROM t,t1 WHERE t.gpreq_id = t1.gpbuyplanid(+) ) select t2.sy_weight from t2 where t2.gpreq_id = a.gpreq_id and t2.sy_weight >0 ) and a.ifbuyplan ='1' and a.req_status in ('2','3','4') ]]> 0 ), t2 AS ( SELECT ROW_NUMBER() OVER (ORDER BY t1.gp_syweight) AS RN , t.gpreq_id,t.gp_weight,t1.gp_syweight,t1.gpbuyplanid FROM t LEFT JOIN t1 ON t.material_name = t1.material_name AND t.len_gp_single= t1.len_gp_single AND t.cic = t1.cic WHERE t1.gp_syweight >=t.gp_weight ), t3 AS ( SELECT * FROM t2 WHERE RN=1 ) SELECT gpbuyplanid FROM t3 ) WHERE gpreq_id = '#gpreq_id#'; UPDATE BUY_GP_REQ SET GP_SYWEIGHT = WEIGHT_TOT - (SELECT sum(a.gp_weight) FROM PLN_REQINF_GP a WHERE a.buyplanid = (SELECT buyplanid FROM PLN_REQINF_GP WHERE gpreq_id = '#gpreq_id#')) WHERE GPBUYPLANID = (SELECT buyplanid FROM PLN_REQINF_GP WHERE gpreq_id = '#gpreq_id#'); END; ]]> SELECT SUPP_SHORT_NAME AS SUPPLIER FROM COM_BASE_SUPP WHERE SUPP_NAME NOT IN ( SELECT SUPP_CODE SUPPLIER FROM BUY_GP_ORDER WHERE ORD_NO_PK = ? ) SELECT ORD_NO_PK, ORDER_NO, ORDER_SQE, GPBUYPLANID, CASE GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE, SUPP_CODE, MATERIAL_NAME, LENGTH, WEIGHT_NUM, WEIGHT_TOT, LEN_GP_SINGLE FROM BUY_GP_ORDER WHERE ORD_NO_PK = ? =a.Weight_Num THEN a.weight_tot ELSE a.weight_tot * ?/a.Weight_Num END FROM BUY_GP_ORDER a WHERE a.ord_no_pk = ?; UPDATE BUY_GP_ORDER SET WEIGHT_NUM = WEIGHT_NUM - ?, WEIGHT_TOT = WEIGHT_TOT- WEIGHT_TOT * ?/ WEIGHT_NUM WHERE ORD_NO_PK =?; DELETE FROM BUY_GP_ORDER WHERE WEIGHT_NUM <=0 AND ORD_NO_PK =?; END; ]]> 0 AND b.ifbuyplan ='1' AND b.req_donestatus >0 ]]> 'A'||to_char(sysdate,'yymm')||'0000'),2) FROM dual ]]> 0 then dbms_output.put_line(v_count); return; end if; --return; delete from ydm_gp_buttress where mat_no in (select mat_no from ydm_gp_inlist where instock_doc IN (#instock_doc#) and mat_origin_name ='外购' --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购') ); delete from mat_gp_m where mat_no in (select mat_no from ydm_gp_inlist where instock_doc IN (#instock_doc#) and mat_origin_name ='外购' --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购') ); UPDATE stl_lg_instore_result a SET ACT_COUNT = ACT_COUNT - NVL((SELECT SUM(ACT_COUNT) FROM ydm_gp_inlist b where instock_doc IN (#instock_doc#) AND b.JUDGE_STOVE_NO = a.JUDGE_STOVE_NO AND b.FIX_NUM = a.FIX_NUM GROUP BY b.JUDGE_STOVE_NO,b.FIX_NUM),0), WEIGHT = WEIGHT - NVL((SELECT SUM(ACT_WEIGHT) FROM ydm_gp_inlist b where instock_doc IN (#instock_doc#) AND b.mat_origin_name ='外购' AND b.JUDGE_STOVE_NO = a.JUDGE_STOVE_NO AND b.FIX_NUM = a.FIX_NUM --where exists (select mat_no from ydm_gp_inlist where instock_doc IN (#instock_doc#) --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购') --) GROUP BY b.JUDGE_STOVE_NO,b.FIX_NUM),0); DELETE FROM stl_lg_instore_result WHERE (ACT_COUNT<=0 OR ACT_COUNT IS NULL) AND (pro_plan_id like 'GP_W%' or pro_plan_id like 'DP_W%'); delete from ydm_gp_inlist where instock_doc IN(#instock_doc#) and mat_origin_name ='外购' --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购') ; END; ]]> 0 then dbms_output.put_line(v_count); return; end if; --return; delete from ydm_gp_buttress where mat_no in (select mat_no from ydm_gp_inlist where JUDGE_STOVE_NO IN (#judge_stove_no#) AND instock_doc IN (#instock_doc#) and mat_origin_name ='外购' --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购') ); delete from mat_gp_m where mat_no in (select mat_no from ydm_gp_inlist where JUDGE_STOVE_NO IN (#judge_stove_no#) AND instock_doc IN (#instock_doc#) and mat_origin_name ='外购' --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购') ); UPDATE stl_lg_instore_result a SET ACT_COUNT = ACT_COUNT - NVL((SELECT SUM(ACT_COUNT) FROM ydm_gp_inlist b where JUDGE_STOVE_NO IN (#judge_stove_no#) AND instock_doc IN (#instock_doc#) AND b.JUDGE_STOVE_NO = a.JUDGE_STOVE_NO AND b.FIX_NUM = a.FIX_NUM GROUP BY b.JUDGE_STOVE_NO,b.FIX_NUM),0), WEIGHT = WEIGHT - NVL((SELECT SUM(ACT_WEIGHT) FROM ydm_gp_inlist b where JUDGE_STOVE_NO IN (#judge_stove_no#) AND instock_doc IN (#instock_doc#) AND b.mat_origin_name ='外购' AND b.JUDGE_STOVE_NO = a.JUDGE_STOVE_NO AND b.FIX_NUM = a.FIX_NUM --where exists (select mat_no from ydm_gp_inlist where instock_doc IN (#instock_doc#) --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购') --) GROUP BY b.JUDGE_STOVE_NO,b.FIX_NUM),0); DELETE FROM stl_lg_instore_result WHERE (ACT_COUNT<=0 OR ACT_COUNT IS NULL) AND (pro_plan_id like 'GP_W%' or pro_plan_id like 'DP_W%'); delete from ydm_gp_inlist where JUDGE_STOVE_NO IN (#judge_stove_no#) AND instock_doc IN(#instock_doc#) and mat_origin_name ='外购' --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购') ; END; ]]> SELECT S.* FROM PLN_ORDER_ZG_S S WHERE S.GPREQ_ID = '#PRO_PLAN_ID#' AND S.EXE_STATUS IN('0','1') ORDER BY TO_NUMBER(S.GX_PRO_SEQ) ASC SELECT T.* FROM PLN_ORDER_DZ_S T WHERE T.GPREQ_ID = '#PRO_PLAN_ID#' AND T.EXE_STATUS IN('0','1') ORDER BY TO_NUMBER(T.GX_PRO_SEQ) ASC SELECT GET_GP_PLNZGM_NUM('#PRO_PLAN_ID#','#GX_PLAN_NO#') AS DB_ACT_COUNT FROM DUAL SELECT NVL(SUM(T.ACT_COUNT),0)ACT_COUNT, T.FIX_NUM,T.STOVE_NO,T.JUDGE_STOVE_NO,T.PRO_PLAN_ID,T.GX_PLAN_NO FROM MAT_GP_M T WHERE T.PRO_PLAN_ID = ? AND T.STOVE_NO = ? AND T.JUDGE_STOVE_NO =? AND T.PRO_PLAN_ID_ZG IS NULL AND T.QCM_STAUS = '00' GROUP BY T.PRO_PLAN_ID, T.GX_PLAN_NO, T.STOVE_NO, T.JUDGE_STOVE_NO, T.FIX_NUM ORDER BY T.FIX_NUM DESC = TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T11 AS (SELECT 'A' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T10 GROUP BY PLINENAME), /**********************************炼钢日范围查询**************************************/ T12 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T10.CONTROL_ID, T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM STL_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T13 AS (SELECT 'A' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T12 GROUP BY PLINENAME), /********炼钢累计数值*******/ T14 AS ( SELECT * FROM T11 UNION ALL SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11 ), /********炼钢日数值*******/ T15 AS ( SELECT * FROM T13 UNION ALL SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13 ), /**********************************轧管时间范围查询**************************************/ T AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T1 AS (SELECT 'D' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T GROUP BY PLINENAME), /**********************************轧管日范围查询**************************************/ T2 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T3 AS (SELECT 'D' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T2 GROUP BY PLINENAME), /********轧管累计数值*******/ T4 AS ( SELECT * FROM T1 UNION ALL SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1 ), /********轧管日数值*******/ T5 AS ( SELECT * FROM T3 UNION ALL SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3 ), /**********************************热处理时间范围查询**************************************/ T30 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON,PLINE_CODE FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE FROM (SELECT T1.CONTROL_ID, T1.LOGS_BEG, T1.LOGS_END, T.PLINE_CODE, T1.STOP_TYPE, T1.STOP_REASON, T1.STOP_SMALL FROM HTT_CONTROL_LOG T, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')) T WHERE 1=1 --AND T.STOP_TYPE IN ('500601', '500602') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON), T31 AS (SELECT --'F' PROCESS_CODE, CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1' WHEN PLINE_CODE IN ('C049','C050') THEN 'F2' WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3' ELSE NULL END PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 TIMETOTAL FROM T30 GROUP BY PLINENAME,PLINE_CODE), /**********************************热处理日范围查询**************************************/ T32 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON,PLINE_CODE FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE FROM (SELECT T1.CONTROL_ID, T1.LOGS_BEG, T1.LOGS_END, T.PLINE_CODE, T1.STOP_TYPE, T1.STOP_REASON, T1.STOP_SMALL FROM HTT_CONTROL_LOG T, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')) T WHERE 1=1 --AND T.STOP_TYPE IN ('500601', '500602') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON), T33 AS (SELECT --'F' PROCESS_CODE, CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1' WHEN PLINE_CODE IN ('C049','C050') THEN 'F2' WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3' ELSE NULL END PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T32 GROUP BY PLINENAME,PLINE_CODE), /********热处理累计数值*******/ T34 AS ( SELECT * FROM T31 UNION ALL SELECT PROCESS_CODE ,'小计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T31 GROUP BY PROCESS_CODE UNION ALL SELECT 'F4' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T31 ), /********热处理日数值*******/ T35 AS ( SELECT * FROM T33 UNION ALL SELECT PROCESS_CODE ,'小计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T33 GROUP BY PROCESS_CODE UNION ALL SELECT 'F4' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T33 ), T99 AS ( SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,PLINE_CODE, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB), 'D',NVL(T4.ZCNB,T00.ZCNB), 'F1',NVL(T34.ZCNB,T00.ZCNB), 'F2',NVL(T34.ZCNB,T00.ZCNB), 'F3',NVL(T34.ZCNB,T00.ZCNB), 'F4',NVL(T34.ZCNB,T00.ZCNB), T00.ZCNB) ZCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB), 'D',NVL(T4.ZCWB,T00.ZCWB), 'F1',NVL(T34.ZCWB,T00.ZCWB), 'F2',NVL(T34.ZCWB,T00.ZCWB), 'F3',NVL(T34.ZCWB,T00.ZCWB), 'F4',NVL(T34.ZCWB,T00.ZCWB), T00.ZCWB) ZCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB), 'D',NVL(T4.YCNB,T00.YCNB), 'F1',NVL(T34.YCNB,T00.YCNB), 'F2',NVL(T34.YCNB,T00.YCNB), 'F3',NVL(T34.YCNB,T00.YCNB), 'F4',NVL(T34.YCNB,T00.YCNB), T00.YCNB) YCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB), 'D',NVL(T4.YCWB,T00.YCWB), 'F1',NVL(T34.YCWB,T00.YCWB), 'F2',NVL(T34.YCWB,T00.YCWB), 'F3',NVL(T34.YCWB,T00.YCWB), 'F4',NVL(T34.YCWB,T00.YCWB), T00.YCWB) YCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL), 'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL), 'F1',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'F2',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'F3',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'F4',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), T00.TJTIMETOTAL) TJTIMETOTAL, DECODE(T00.PROCESS_CODE,'A',NVL(T14.TIMETOTAL,T00.TIMETOTAL), 'D',NVL(T4.TIMETOTAL,T00.TIMETOTAL), 'F1',NVL(T34.TIMETOTAL,T00.TIMETOTAL), 'F2',NVL(T34.TIMETOTAL,T00.TIMETOTAL), 'F3',NVL(T34.TIMETOTAL,T00.TIMETOTAL), 'F4',NVL(T34.TIMETOTAL,T00.TIMETOTAL), T00.TIMETOTAL) TIMETOTAL, YXNB,YXZH,DAYZYL, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY), 'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY), 'F1',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'F2',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'F3',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'F4',NVL(T35.ZCNBDAY,T00.ZCNBDAY), T00.ZCNBDAY) ZCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY), 'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY), 'F1',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'F2',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'F3',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'F4',NVL(T35.ZCWBDAY,T00.ZCWBDAY), T00.ZCWBDAY) ZCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY), 'D',NVL(T5.YCNBDAY,T00.YCNBDAY), 'F1',NVL(T35.YCNBDAY,T00.YCNBDAY), 'F2',NVL(T35.YCNBDAY,T00.YCNBDAY), 'F3',NVL(T35.YCNBDAY,T00.YCNBDAY), 'F4',NVL(T35.YCNBDAY,T00.YCNBDAY), T00.YCNBDAY) YCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY), 'D',NVL(T5.YCWBDAY,T00.YCWBDAY), 'F1',NVL(T35.YCWBDAY,T00.YCWBDAY), 'F2',NVL(T35.YCWBDAY,T00.YCWBDAY), 'F3',NVL(T35.YCWBDAY,T00.YCWBDAY), 'F4',NVL(T35.YCWBDAY,T00.YCWBDAY), T00.YCWBDAY) YCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F1',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F2',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F3',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F4',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), T00.TJTIMETOTALDAY) TJTIMETOTALDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.TIMETOTALDAY,T00.TIMETOTALDAY), 'D',NVL(T5.TIMETOTALDAY,T00.TIMETOTALDAY), 'F1',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), 'F2',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), 'F3',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), 'F4',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), T00.TIMETOTALDAY) TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T00,T14,T15,T4,T5,T34,T35 WHERE 1=1 AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+) AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+) AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+) AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+) AND T00.PROCESS_CODE = T34.PROCESS_CODE(+) AND T00.PLINE_NAME = T34.PLINENAME(+) AND T00.PROCESS_CODE = T35.PROCESS_CODE(+) AND T00.PLINE_NAME = T35.PLINENAME(+) ), T100 AS ( SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL, CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB, CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH, CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL, ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY FROM T99 ) SELECT PLINEORDER, CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN '热处理(本部)' WHEN PLINE_CODE IN ('C049','C050') THEN '热处理(元通)' WHEN PLINE_CODE IN ('C048','C054','C055') THEN '热处理(深加工)' ELSE PROCESS_DESC END DEPT, PLINE_NAME PLINENAME,PLINE_CODE PLINECODE, TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB, TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB, TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB, TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB, TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL, TIMETOTAL, YXNB,YXZH,DAYZYL, TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY, TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY, TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY, TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY, TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY, TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T100 ORDER BY PLINEORDER ]]> = TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T11 AS (SELECT 'A' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T10 GROUP BY PLINENAME), /**********************************炼钢日范围查询**************************************/ T12 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T10.CONTROL_ID, T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM STL_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T13 AS (SELECT 'A' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T12 GROUP BY PLINENAME), /********炼钢累计数值*******/ T14 AS ( SELECT * FROM T11 UNION ALL SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11 ), /********炼钢日数值*******/ T15 AS ( SELECT * FROM T13 UNION ALL SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13 ), /**********************************轧管时间范围查询**************************************/ T AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T1 AS (SELECT 'D' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T GROUP BY PLINENAME), /**********************************轧管日范围查询**************************************/ T2 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T3 AS (SELECT 'D' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T2 GROUP BY PLINENAME), /********轧管累计数值*******/ T4 AS ( SELECT * FROM T1 UNION ALL SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1 ), /********轧管日数值*******/ T5 AS ( SELECT * FROM T3 UNION ALL SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3 ), /**********************************热处理时间范围查询**************************************/ T30 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE, STATION FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048') AND T.STATION IN ('0','1') UNION ALL SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C049','C050') AND T.STATION IN ('0','1') ) T WHERE 1=1 AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION), T31 AS (SELECT CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1' WHEN PLINE_CODE IN ('C049','C050') THEN 'F2' WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3' ELSE NULL END PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL, STATION, CASE WHEN PLINE_CODE='C022' AND STATION ='0' THEN 6 WHEN PLINE_CODE='C023' AND STATION ='0' THEN 7 WHEN PLINE_CODE='C024' AND STATION ='0' THEN 8 WHEN PLINE_CODE='C025' AND STATION ='0' THEN 9 WHEN PLINE_CODE='C026' AND STATION ='0' THEN 10 WHEN PLINE_CODE='C049' AND STATION ='0' THEN 15 WHEN PLINE_CODE='C050' AND STATION ='0' THEN 16 WHEN PLINE_CODE='C054' AND STATION ='0' THEN 20 WHEN PLINE_CODE='C055' AND STATION ='0' THEN 21 WHEN PLINE_CODE='C048' AND STATION ='0' THEN 22 WHEN PLINE_CODE='C022' AND STATION ='1' THEN 30 WHEN PLINE_CODE='C023' AND STATION ='1' THEN 31 WHEN PLINE_CODE='C024' AND STATION ='1' THEN 32 WHEN PLINE_CODE='C025' AND STATION ='1' THEN 33 WHEN PLINE_CODE='C026' AND STATION ='1' THEN 34 WHEN PLINE_CODE='C049' AND STATION ='1' THEN 41 WHEN PLINE_CODE='C050' AND STATION ='1' THEN 42 WHEN PLINE_CODE='C054' AND STATION ='1' THEN 45 WHEN PLINE_CODE='C055' AND STATION ='1' THEN 46 WHEN PLINE_CODE='C048' AND STATION ='1' THEN 47 ELSE NULL END PLINEORDER FROM T30 GROUP BY PLINENAME,PLINE_CODE,STATION), /**********************************热处理日范围查询**************************************/ T32 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE, STATION FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048') AND T.STATION IN ('0','1') UNION ALL SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C049','C050') AND T.STATION IN ('0','1') ) T WHERE 1=1 AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION), T33 AS (SELECT CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1' WHEN PLINE_CODE IN ('C049','C050') THEN 'F2' WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3' ELSE NULL END PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY, STATION, CASE WHEN PLINE_CODE='C022' AND STATION ='0' THEN 6 WHEN PLINE_CODE='C023' AND STATION ='0' THEN 7 WHEN PLINE_CODE='C024' AND STATION ='0' THEN 8 WHEN PLINE_CODE='C025' AND STATION ='0' THEN 9 WHEN PLINE_CODE='C026' AND STATION ='0' THEN 10 WHEN PLINE_CODE='C049' AND STATION ='0' THEN 15 WHEN PLINE_CODE='C050' AND STATION ='0' THEN 16 WHEN PLINE_CODE='C054' AND STATION ='0' THEN 20 WHEN PLINE_CODE='C055' AND STATION ='0' THEN 21 WHEN PLINE_CODE='C048' AND STATION ='0' THEN 22 WHEN PLINE_CODE='C022' AND STATION ='1' THEN 30 WHEN PLINE_CODE='C023' AND STATION ='1' THEN 31 WHEN PLINE_CODE='C024' AND STATION ='1' THEN 32 WHEN PLINE_CODE='C025' AND STATION ='1' THEN 33 WHEN PLINE_CODE='C026' AND STATION ='1' THEN 34 WHEN PLINE_CODE='C049' AND STATION ='1' THEN 41 WHEN PLINE_CODE='C050' AND STATION ='1' THEN 42 WHEN PLINE_CODE='C054' AND STATION ='1' THEN 45 WHEN PLINE_CODE='C055' AND STATION ='1' THEN 46 WHEN PLINE_CODE='C048' AND STATION ='1' THEN 47 ELSE NULL END PLINEORDER FROM T32 GROUP BY PLINENAME,PLINE_CODE,STATION), /********热处理累计数值*******/ T34 AS ( SELECT * FROM T31 UNION ALL SELECT PROCESS_CODE ,DECODE(station,'0','热处理','1','探伤') || '小计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL,STATION, CASE WHEN PROCESS_CODE='F1' AND STATION ='0' THEN 11 WHEN PROCESS_CODE='F2' AND STATION ='0' THEN 17 WHEN PROCESS_CODE='F3' AND STATION ='0' THEN 23 WHEN PROCESS_CODE='F1' AND STATION ='1' THEN 35 WHEN PROCESS_CODE='F2' AND STATION ='1' THEN 43 WHEN PROCESS_CODE='F3' AND STATION ='1' THEN 48 END PLINEORDER FROM T31 GROUP BY PROCESS_CODE,STATION UNION ALL SELECT '热处理' PROCESS_CODE ,DECODE(station,'0','管加工热处理(炉)','1','管加工热处理(探伤)') || '合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL,STATION, CASE WHEN STATION ='0' THEN 24 WHEN STATION ='1' THEN 49 END PLINEORDER FROM T31 GROUP BY STATION ), /********热处理日数值*******/ T35 AS ( SELECT * FROM T33 UNION ALL SELECT PROCESS_CODE ,DECODE(station,'0','管加工热处理(炉)','1','管加工热处理(探伤)') || '合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY,STATION, CASE WHEN PROCESS_CODE='F1' AND STATION ='0' THEN 11 WHEN PROCESS_CODE='F2' AND STATION ='0' THEN 17 WHEN PROCESS_CODE='F3' AND STATION ='0' THEN 23 WHEN PROCESS_CODE='F1' AND STATION ='1' THEN 35 WHEN PROCESS_CODE='F2' AND STATION ='1' THEN 43 WHEN PROCESS_CODE='F3' AND STATION ='1' THEN 48 END PLINEORDER FROM T33 GROUP BY PROCESS_CODE,STATION UNION ALL SELECT '热处理' PROCESS_CODE ,DECODE(station,'0','管加工热处理(炉)','1','管加工热处理(探伤)') || '合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY,STATION, CASE WHEN STATION ='0' THEN 24 WHEN STATION ='1' THEN 49 END PLINEORDER FROM T33 GROUP BY STATION ), /**********************************加工时间范围查询**************************************/ T40 AS (SELECT SUM(TJTIME) AS TJTIME, TJREASON, PLINE_CODE FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL FROM HTT_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056', 'C039','C051','C038','C057', 'C052','C078','C058' ) ) T WHERE 1=1 AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.TJREASON,TA.PLINE_CODE) , T41 AS (SELECT CASE WHEN PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056') THEN 'G1' WHEN PLINE_CODE IN ( 'C039','C051','C038','C057') THEN 'G2' WHEN PLINE_CODE IN ( 'C052','C078','C058') THEN 'G3' ELSE NULL END PROCESS_CODE, PLINE_CODE, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24*60*7 TIMETOTAL, CASE WHEN PLINE_CODE='C028' THEN 55 WHEN PLINE_CODE='C029' THEN 56 WHEN PLINE_CODE='C030' THEN 57 WHEN PLINE_CODE='C031' THEN 58 WHEN PLINE_CODE='C032' THEN 59 WHEN PLINE_CODE='C033' THEN 60 WHEN PLINE_CODE='C034' THEN 61 WHEN PLINE_CODE='C035' THEN 62 WHEN PLINE_CODE='C036' THEN 63 WHEN PLINE_CODE='C037' THEN 64 WHEN PLINE_CODE='C053' THEN 65 WHEN PLINE_CODE='C056' THEN 66 WHEN PLINE_CODE='C039' THEN 70 WHEN PLINE_CODE='C051' THEN 71 WHEN PLINE_CODE='C038' THEN 72 WHEN PLINE_CODE='C057' THEN 73 WHEN PLINE_CODE='C052' THEN 80 WHEN PLINE_CODE='C078' THEN 81 WHEN PLINE_CODE='C058' THEN 82 ELSE NULL END PLINEORDER FROM T40 GROUP BY PLINE_CODE), /**********************************加工线日范围查询**************************************/ T42 AS (SELECT SUM(TJTIME) AS TJTIME, TJREASON, PLINE_CODE FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL FROM HTT_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056', 'C039','C051','C038','C057', 'C052','C078','C058' ) ) T WHERE 1=1 AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.TJREASON,TA.PLINE_CODE), T43 AS (SELECT CASE WHEN PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056') THEN 'G1' WHEN PLINE_CODE IN ( 'C039','C051','C038','C057') THEN 'G2' WHEN PLINE_CODE IN ( 'C052','C078','C058') THEN 'G3' ELSE NULL END PROCESS_CODE, PLINE_CODE, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24*60 TIMETOTALDAY, CASE WHEN PLINE_CODE='C028' THEN 55 WHEN PLINE_CODE='C029' THEN 56 WHEN PLINE_CODE='C030' THEN 57 WHEN PLINE_CODE='C031' THEN 58 WHEN PLINE_CODE='C032' THEN 59 WHEN PLINE_CODE='C033' THEN 60 WHEN PLINE_CODE='C034' THEN 61 WHEN PLINE_CODE='C035' THEN 62 WHEN PLINE_CODE='C036' THEN 63 WHEN PLINE_CODE='C037' THEN 64 WHEN PLINE_CODE='C053' THEN 65 WHEN PLINE_CODE='C056' THEN 66 WHEN PLINE_CODE='C039' THEN 70 WHEN PLINE_CODE='C051' THEN 71 WHEN PLINE_CODE='C038' THEN 72 WHEN PLINE_CODE='C057' THEN 73 WHEN PLINE_CODE='C052' THEN 80 WHEN PLINE_CODE='C078' THEN 81 WHEN PLINE_CODE='C058' THEN 82 ELSE NULL END PLINEORDER FROM T42 GROUP BY PLINE_CODE), /********加工线累计数值*******/ T44 AS ( SELECT * FROM T41 UNION ALL SELECT PROCESS_CODE ,DECODE(PROCESS_CODE,'G1','本部加工线','G2','元通加工线','G3','深加工加工线') || '合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL, CASE WHEN PROCESS_CODE='G1' THEN 67 WHEN PROCESS_CODE='G2' THEN 74 WHEN PROCESS_CODE='G3' THEN 83 END PLINEORDER FROM T41 GROUP BY PROCESS_CODE UNION ALL SELECT 'G' PROCESS_CODE , '管加工加工线合计' PLINENAME, SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL, 100 PLINEORDER FROM T41 ), /********加工线日数值*******/ T45 AS ( SELECT * FROM T43 UNION ALL SELECT PROCESS_CODE ,DECODE(PROCESS_CODE,'G1','本部加工线','G2','元通加工线','G3','深加工加工线') || '合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY) ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY, CASE WHEN PROCESS_CODE='G1' THEN 67 WHEN PROCESS_CODE='G2' THEN 74 WHEN PROCESS_CODE='G3' THEN 83 END PLINEORDER FROM T43 GROUP BY PROCESS_CODE UNION ALL SELECT 'G' PROCESS_CODE , '管加工加工线合计' PLINENAME, SUM(ZCNBDAY) ZCNB,SUM(ZCWBDAY)ZCWB,SUM(YCNBDAY) YCNB,SUM(YCWBDAY) YCWB, SUM(TJTIMETOTALDAY) TJTIMETOTAL,SUM(TIMETOTALDAY) TIMETOTAL, 100 PLINEORDER FROM T43 ), T99 AS ( SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,T00.PLINE_CODE, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB), 'D',NVL(T4.ZCNB,T00.ZCNB), 'F1',NVL(T34.ZCNB,T00.ZCNB), 'F2',NVL(T34.ZCNB,T00.ZCNB), 'F3',NVL(T34.ZCNB,T00.ZCNB), 'G1',NVL(T44.ZCNB,T00.ZCNB), 'G2',NVL(T44.ZCNB,T00.ZCNB), 'G3',NVL(T44.ZCNB,T00.ZCNB), 'G',NVL(T44.ZCNB,T00.ZCNB), T00.ZCNB) ZCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB), 'D',NVL(T4.ZCWB,T00.ZCWB), 'F1',NVL(T34.ZCWB,T00.ZCWB), 'F2',NVL(T34.ZCWB,T00.ZCWB), 'F3',NVL(T34.ZCWB,T00.ZCWB), 'G1',NVL(T44.ZCWB,T00.ZCWB), 'G2',NVL(T44.ZCWB,T00.ZCWB), 'G3',NVL(T44.ZCWB,T00.ZCWB), 'G',NVL(T44.ZCWB,T00.ZCWB), T00.ZCWB) ZCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB), 'D',NVL(T4.YCNB,T00.YCNB), 'F1',NVL(T34.YCNB,T00.YCNB), 'F2',NVL(T34.YCNB,T00.YCNB), 'F3',NVL(T34.YCNB,T00.YCNB), 'G1',NVL(T44.YCNB,T00.YCNB), 'G2',NVL(T44.YCNB,T00.YCNB), 'G3',NVL(T44.YCNB,T00.YCNB), 'G',NVL(T44.YCNB,T00.YCNB), T00.YCNB) YCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB), 'D',NVL(T4.YCWB,T00.YCWB), 'F1',NVL(T34.YCWB,T00.YCWB), 'F2',NVL(T34.YCWB,T00.YCWB), 'F3',NVL(T34.YCWB,T00.YCWB), 'G1',NVL(T44.YCWB,T00.YCWB), 'G2',NVL(T44.YCWB,T00.YCWB), 'G3',NVL(T44.YCWB,T00.YCWB), 'G',NVL(T44.YCWB,T00.YCWB), T00.YCWB) YCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL), 'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL), 'F1',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'F2',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'F3',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'G1',NVL(T44.TJTIMETOTAL,T00.TJTIMETOTAL), 'G2',NVL(T44.TJTIMETOTAL,T00.TJTIMETOTAL), 'G3',NVL(T44.TJTIMETOTAL,T00.TJTIMETOTAL), 'G',NVL(T44.TJTIMETOTAL,T00.TJTIMETOTAL), T00.TJTIMETOTAL) TJTIMETOTAL, T00.TIMETOTAL1 TIMETOTAL, YXNB,YXZH,DAYZYL, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY), 'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY), 'F1',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'F2',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'F3',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'G1',NVL(T45.ZCNBDAY,T00.ZCNBDAY), 'G2',NVL(T45.ZCNBDAY,T00.ZCNBDAY), 'G3',NVL(T45.ZCNBDAY,T00.ZCNBDAY), 'G',NVL(T45.ZCNBDAY,T00.ZCNBDAY), T00.ZCNBDAY) ZCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY), 'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY), 'F1',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'F2',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'F3',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'G1',NVL(T45.ZCWBDAY,T00.ZCWBDAY), 'G2',NVL(T45.ZCWBDAY,T00.ZCWBDAY), 'G3',NVL(T45.ZCWBDAY,T00.ZCWBDAY), 'G',NVL(T45.ZCWBDAY,T00.ZCWBDAY), T00.ZCWBDAY) ZCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY), 'D',NVL(T5.YCNBDAY,T00.YCNBDAY), 'F1',NVL(T35.YCNBDAY,T00.YCNBDAY), 'F2',NVL(T35.YCNBDAY,T00.YCNBDAY), 'F3',NVL(T35.YCNBDAY,T00.YCNBDAY), 'G1',NVL(T45.YCNBDAY,T00.YCNBDAY), 'G2',NVL(T45.YCNBDAY,T00.YCNBDAY), 'G3',NVL(T45.YCNBDAY,T00.YCNBDAY), 'G',NVL(T45.YCNBDAY,T00.YCNBDAY), T00.YCNBDAY) YCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY), 'D',NVL(T5.YCWBDAY,T00.YCWBDAY), 'F1',NVL(T35.YCWBDAY,T00.YCWBDAY), 'F2',NVL(T35.YCWBDAY,T00.YCWBDAY), 'F3',NVL(T35.YCWBDAY,T00.YCWBDAY), 'G1',NVL(T45.YCWBDAY,T00.YCWBDAY), 'G2',NVL(T45.YCWBDAY,T00.YCWBDAY), 'G3',NVL(T45.YCWBDAY,T00.YCWBDAY), 'G',NVL(T45.YCWBDAY,T00.YCWBDAY), T00.YCWBDAY) YCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F1',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F2',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F3',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'G1',NVL(T45.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'G2',NVL(T45.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'G3',NVL(T45.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'G',NVL(T45.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), T00.TJTIMETOTALDAY) TJTIMETOTALDAY, T00.TIMETOTALDAY1 TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T00,T14,T15,T4,T5,T34,T35,T44,T45 WHERE 1=1 AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+) AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+) AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+) AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+) AND T00.PLINEORDER = T34.PLINEORDER(+) AND T00.PLINEORDER = T35.PLINEORDER(+) AND T00.PLINEORDER = T44.PLINEORDER(+) AND T00.PLINEORDER = T45.PLINEORDER(+) ), T100 AS ( SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL, CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB, CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH, CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL, ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN NVL(YCNBDAY,0) + NVL(YCWBDAY,0) =0 THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY FROM T99 ) SELECT PLINEORDER, CASE WHEN PLINEORDER IN ( 6,7,8,9,10,11,15,16,17,20,21,22,23,24) THEN '管加工热处理(炉)' WHEN PLINEORDER IN ( 30,31,32,33,34,35,41,42,43,44,45,46,47,48,49) THEN '管加工热处理(探伤)' WHEN PLINEORDER IN (55,56,57,58,59,60,61,62,63,64,65,66,67,70,71,72,73,74,80,81,82,83,100) THEN '管加工加工线' ELSE PROCESS_DESC END DEPT, PLINE_NAME PLINENAME, CASE WHEN PLINEORDER IN ( 6,7,8,9,10,11,15,16,17,20,21,22,23,24) THEN PLINE_CODE || '0' WHEN PLINEORDER IN ( 30,31,32,33,34,35,41,42,43,44,45,46,47,48,49) THEN PLINE_CODE || '1' ELSE PLINE_CODE END PLINECODE, TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB, TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB, TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB, TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB, TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL, TIMETOTAL, YXNB,YXZH,DAYZYL, TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY, TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY, TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY, TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY, TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY, TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T100 ORDER BY PLINEORDER ]]> = TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T11 AS (SELECT 'A' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T10 GROUP BY PLINENAME), /**********************************炼钢日范围查询**************************************/ T12 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T10.CONTROL_ID, T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM STL_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T13 AS (SELECT 'A' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T12 GROUP BY PLINENAME), /********炼钢累计数值*******/ T14 AS ( SELECT * FROM T11 UNION ALL SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11 ), /********炼钢日数值*******/ T15 AS ( SELECT * FROM T13 UNION ALL SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13 ), /**********************************轧管时间范围查询**************************************/ T AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T1 AS (SELECT 'D' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T GROUP BY PLINENAME), /**********************************轧管日范围查询**************************************/ T2 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T3 AS (SELECT 'D' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T2 GROUP BY PLINENAME), /********轧管累计数值*******/ T4 AS ( SELECT * FROM T1 UNION ALL SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1 ), /********轧管日数值*******/ T5 AS ( SELECT * FROM T3 UNION ALL SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3 ), /**********************************热处理时间范围查询**************************************/ T30 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE, STATION FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T --, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' --AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048') AND T.STATION IN ('0','1') UNION ALL SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T --, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' --AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C049','C050') AND T.STATION IN ('0','1') ) T WHERE 1=1 --AND T.STOP_TYPE IN ('500601', '500602') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION), T31 AS (SELECT --'F' PROCESS_CODE, CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1' WHEN PLINE_CODE IN ('C049','C050') THEN 'F2' WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3' ELSE NULL END PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL, STATION FROM T30 GROUP BY PLINENAME,PLINE_CODE,STATION), /**********************************热处理日范围查询**************************************/ T32 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE, STATION FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T --, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' --AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048') AND T.STATION IN ('0','1') UNION ALL SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T --, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' --AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C049','C050') AND T.STATION IN ('0','1') ) T WHERE 1=1 --AND T.STOP_TYPE IN ('500601', '500602') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION), T33 AS (SELECT --'F' PROCESS_CODE, CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1' WHEN PLINE_CODE IN ('C049','C050') THEN 'F2' WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3' ELSE NULL END PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY, STATION FROM T32 GROUP BY PLINENAME,PLINE_CODE,STATION), /********热处理累计数值*******/ T34 AS ( SELECT * FROM T31 UNION ALL SELECT PROCESS_CODE ,DECODE(station,'0','热处理','1','探伤') || '小计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL,STATION FROM T31 GROUP BY PROCESS_CODE,STATION ), /********热处理日数值*******/ T35 AS ( SELECT * FROM T33 UNION ALL SELECT PROCESS_CODE ,DECODE(station,'0','热处理','1','探伤') || '小计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY,STATION FROM T33 GROUP BY PROCESS_CODE,STATION ), /**********************************加工时间范围查询**************************************/ T40 AS (SELECT SUM(TJTIME) AS TJTIME, DECODE(STATION,'G1','本部加工线','G2','元通加工线','G3','深加工加工线') PLINENAME, TJREASON,STATION PLINE_CODE FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE, CASE WHEN PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056') THEN 'G1' WHEN PLINE_CODE IN ( 'C039','C051','C038','C057') THEN 'G2' WHEN PLINE_CODE IN ( 'C052','C078','C058') THEN 'G3' END STATION FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056', 'C039','C051','C038','C057', 'C052','C078','C058' ) ) T WHERE 1=1 AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.TJREASON,TA.STATION), T41 AS (SELECT 'G' PROCESS_CODE, PLINENAME, PLINE_CODE, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, DECODE(PLINE_CODE ,'G1',24 * 60*12 * #DAYS#,'G2',24 * 60* 4 * #DAYS#,'G3',24 * 60 * 3 * #DAYS#) TIMETOTAL FROM T40 GROUP BY PLINENAME,PLINE_CODE), /**********************************加工线日范围查询**************************************/ T42 AS (SELECT SUM(TJTIME) AS TJTIME, DECODE(STATION,'G1','本部加工线','G2','元通加工线','G3','深加工加工线') PLINENAME, TJREASON,STATION PLINE_CODE FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE, CASE WHEN PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056') THEN 'G1' WHEN PLINE_CODE IN ( 'C039','C051','C038','C057') THEN 'G2' WHEN PLINE_CODE IN ( 'C052','C078','C058') THEN 'G3' END STATION FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056', 'C039','C051','C038','C057', 'C052','C078','C058' ) ) T WHERE 1=1 AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.TJREASON,TA.STATION), T43 AS (SELECT 'G' PROCESS_CODE, PLINENAME, PLINE_CODE, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, DECODE(PLINE_CODE ,'G1',24 * 60*12 * 1,'G2',24 * 60* 4 * 1,'G3',24 * 60* 4 * 1) TIMETOTAL FROM T42 GROUP BY PLINENAME,PLINE_CODE), /********加工线累计数值*******/ T44 AS ( SELECT PROCESS_CODE,PLINENAME,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL FROM T41 UNION ALL SELECT 'G' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T41 ), /********加工线日数值*******/ T45 AS ( SELECT PROCESS_CODE,PLINENAME,ZCNB ZCNBDAY,ZCWB ZCWBDAY,YCNB YCNBDAY,YCWB YCWBDAY,TJTIMETOTAL TJTIMETOTALDAY,TIMETOTAL TIMETOTALDAY FROM T43 UNION ALL SELECT 'G' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T43 ), T99 AS ( SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,PLINE_CODE, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB), 'D',NVL(T4.ZCNB,T00.ZCNB), 'F1',NVL(T34.ZCNB,T00.ZCNB), 'F2',NVL(T34.ZCNB,T00.ZCNB), 'F3',NVL(T34.ZCNB,T00.ZCNB), 'F4',NVL(T34.ZCNB,T00.ZCNB), 'G',NVL(T44.ZCNB,T00.ZCNB), T00.ZCNB) ZCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB), 'D',NVL(T4.ZCWB,T00.ZCWB), 'F1',NVL(T34.ZCWB,T00.ZCWB), 'F2',NVL(T34.ZCWB,T00.ZCWB), 'F3',NVL(T34.ZCWB,T00.ZCWB), 'F4',NVL(T34.ZCWB,T00.ZCWB), 'G',NVL(T44.ZCWB,T00.ZCWB), T00.ZCWB) ZCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB), 'D',NVL(T4.YCNB,T00.YCNB), 'F1',NVL(T34.YCNB,T00.YCNB), 'F2',NVL(T34.YCNB,T00.YCNB), 'F3',NVL(T34.YCNB,T00.YCNB), 'F4',NVL(T34.YCNB,T00.YCNB), 'G',NVL(T44.YCNB,T00.YCNB), T00.YCNB) YCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB), 'D',NVL(T4.YCWB,T00.YCWB), 'F1',NVL(T34.YCWB,T00.YCWB), 'F2',NVL(T34.YCWB,T00.YCWB), 'F3',NVL(T34.YCWB,T00.YCWB), 'F4',NVL(T34.YCWB,T00.YCWB), 'G',NVL(T44.YCWB,T00.YCWB), T00.YCWB) YCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL), 'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL), 'F1',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'F2',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'F3',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'F4',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'G',NVL(T44.TJTIMETOTAL,T00.TJTIMETOTAL), T00.TJTIMETOTAL) TJTIMETOTAL, DECODE(T00.PROCESS_CODE,'A',NVL(T14.TIMETOTAL,T00.TIMETOTAL), 'D',NVL(T4.TIMETOTAL,T00.TIMETOTAL), 'F1',NVL(T34.TIMETOTAL,T00.TIMETOTAL), 'F2',NVL(T34.TIMETOTAL,T00.TIMETOTAL), 'F3',NVL(T34.TIMETOTAL,T00.TIMETOTAL), 'F4',NVL(T34.TIMETOTAL,T00.TIMETOTAL), 'G',NVL(T44.TIMETOTAL,T00.TIMETOTAL), T00.TIMETOTAL) TIMETOTAL, YXNB,YXZH,DAYZYL, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY), 'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY), 'F1',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'F2',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'F3',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'F4',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'G',NVL(T45.ZCNBDAY,T00.ZCNBDAY), T00.ZCNBDAY) ZCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY), 'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY), 'F1',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'F2',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'F3',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'F4',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'G',NVL(T45.ZCWBDAY,T00.ZCWBDAY), T00.ZCWBDAY) ZCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY), 'D',NVL(T5.YCNBDAY,T00.YCNBDAY), 'F1',NVL(T35.YCNBDAY,T00.YCNBDAY), 'F2',NVL(T35.YCNBDAY,T00.YCNBDAY), 'F3',NVL(T35.YCNBDAY,T00.YCNBDAY), 'F4',NVL(T35.YCNBDAY,T00.YCNBDAY), 'G',NVL(T45.YCNBDAY,T00.YCNBDAY), T00.YCNBDAY) YCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY), 'D',NVL(T5.YCWBDAY,T00.YCWBDAY), 'F1',NVL(T35.YCWBDAY,T00.YCWBDAY), 'F2',NVL(T35.YCWBDAY,T00.YCWBDAY), 'F3',NVL(T35.YCWBDAY,T00.YCWBDAY), 'F4',NVL(T35.YCWBDAY,T00.YCWBDAY), 'G',NVL(T45.YCWBDAY,T00.YCWBDAY), T00.YCWBDAY) YCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F1',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F2',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F3',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F4',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'G',NVL(T45.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), T00.TJTIMETOTALDAY) TJTIMETOTALDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.TIMETOTALDAY,T00.TIMETOTALDAY), 'D',NVL(T5.TIMETOTALDAY,T00.TIMETOTALDAY), 'F1',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), 'F2',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), 'F3',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), 'F4',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), 'G',NVL(T45.TIMETOTALDAY,T00.TIMETOTALDAY), T00.TIMETOTALDAY) TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T00,T14,T15,T4,T5,T34,T35,T44,T45 WHERE 1=1 AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+) AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+) AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+) AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+) AND T00.PROCESS_CODE = T34.PROCESS_CODE(+) AND T00.PLINE_NAME = T34.PLINENAME(+) AND T00.PROCESS_CODE = T35.PROCESS_CODE(+) AND T00.PLINE_NAME = T35.PLINENAME(+) AND T00.PROCESS_CODE = T44.PROCESS_CODE(+) AND T00.PLINE_NAME = T44.PLINENAME(+) AND T00.PROCESS_CODE = T45.PROCESS_CODE(+) AND T00.PLINE_NAME = T45.PLINENAME(+) ), T100 AS ( SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL, CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB, CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH, CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL, ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN NVL(YCNBDAY,0) + NVL(YCWBDAY,0) =0 THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY FROM T99 ) SELECT PLINEORDER, CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN '热处理(本部)' WHEN PLINE_CODE IN ('C049','C050') THEN '热处理(元通)' WHEN PLINE_CODE IN ('C048','C054','C055') THEN '热处理(深加工)' ELSE PROCESS_DESC END DEPT, PLINE_NAME PLINENAME, CASE WHEN PLINEORDER IN (6,7,8,9,10,30,31,40,41,42) THEN PLINE_CODE || '0' WHEN PLINEORDER IN (20,21,22,23,24,35,36,50,51,52) THEN PLINE_CODE || '1' ELSE PLINE_CODE END PLINECODE, TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB, TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB, TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB, TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB, TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL, TIMETOTAL, YXNB,YXZH,DAYZYL, TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY, TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY, TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY, TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY, TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY, TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T100 ORDER BY PLINEORDER ]]> = TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T11 AS (SELECT 'A' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T10 GROUP BY PLINENAME), /**********************************炼钢日范围查询**************************************/ T12 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T10.CONTROL_ID, T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM STL_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T13 AS (SELECT 'A' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T12 GROUP BY PLINENAME), /********炼钢累计数值*******/ T14 AS ( SELECT * FROM T11 UNION ALL SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11 ), /********炼钢日数值*******/ T15 AS ( SELECT * FROM T13 UNION ALL SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13 ), /**********************************轧管时间范围查询**************************************/ T AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T1 AS (SELECT 'D' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T GROUP BY PLINENAME), /**********************************轧管日范围查询**************************************/ T2 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T3 AS (SELECT 'D' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T2 GROUP BY PLINENAME), /********轧管累计数值*******/ T4 AS ( SELECT * FROM T1 UNION ALL SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1 ), /********轧管日数值*******/ T5 AS ( SELECT * FROM T3 UNION ALL SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3 ), /**********************************热处理时间范围查询**************************************/ T30 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE, STATION FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T --, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' --AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048') AND T.STATION IN ('0','1') UNION ALL SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T --, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' --AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C049','C050') AND T.STATION IN ('0','1') ) T WHERE 1=1 --AND T.STOP_TYPE IN ('500601', '500602') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION), T31 AS (SELECT --'F' PROCESS_CODE, CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1' WHEN PLINE_CODE IN ('C049','C050') THEN 'F2' WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3' ELSE NULL END PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL, STATION FROM T30 GROUP BY PLINENAME,PLINE_CODE,STATION), /**********************************热处理日范围查询**************************************/ T32 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON, PLINE_CODE, STATION FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T --, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' --AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048') AND T.STATION IN ('0','1') UNION ALL SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.STATION FROM HTT_CONTROL_LOG T --, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' --AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE IN ('C049','C050') AND T.STATION IN ('0','1') ) T WHERE 1=1 --AND T.STOP_TYPE IN ('500601', '500602') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION), T33 AS (SELECT --'F' PROCESS_CODE, CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1' WHEN PLINE_CODE IN ('C049','C050') THEN 'F2' WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3' ELSE NULL END PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY, STATION FROM T32 GROUP BY PLINENAME,PLINE_CODE,STATION), /********热处理累计数值*******/ T34 AS ( SELECT * FROM T31 UNION ALL SELECT PROCESS_CODE ,DECODE(station,'0','热处理','1','探伤') || '小计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL,STATION FROM T31 GROUP BY PROCESS_CODE,STATION ), /********热处理日数值*******/ T35 AS ( SELECT * FROM T33 UNION ALL SELECT PROCESS_CODE ,DECODE(station,'0','热处理','1','探伤') || '小计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY,STATION FROM T33 GROUP BY PROCESS_CODE,STATION ), T99 AS ( SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,PLINE_CODE, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB), 'D',NVL(T4.ZCNB,T00.ZCNB), 'F1',NVL(T34.ZCNB,T00.ZCNB), 'F2',NVL(T34.ZCNB,T00.ZCNB), 'F3',NVL(T34.ZCNB,T00.ZCNB), 'F4',NVL(T34.ZCNB,T00.ZCNB), T00.ZCNB) ZCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB), 'D',NVL(T4.ZCWB,T00.ZCWB), 'F1',NVL(T34.ZCWB,T00.ZCWB), 'F2',NVL(T34.ZCWB,T00.ZCWB), 'F3',NVL(T34.ZCWB,T00.ZCWB), 'F4',NVL(T34.ZCWB,T00.ZCWB), T00.ZCWB) ZCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB), 'D',NVL(T4.YCNB,T00.YCNB), 'F1',NVL(T34.YCNB,T00.YCNB), 'F2',NVL(T34.YCNB,T00.YCNB), 'F3',NVL(T34.YCNB,T00.YCNB), 'F4',NVL(T34.YCNB,T00.YCNB), T00.YCNB) YCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB), 'D',NVL(T4.YCWB,T00.YCWB), 'F1',NVL(T34.YCWB,T00.YCWB), 'F2',NVL(T34.YCWB,T00.YCWB), 'F3',NVL(T34.YCWB,T00.YCWB), 'F4',NVL(T34.YCWB,T00.YCWB), T00.YCWB) YCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL), 'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL), 'F1',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'F2',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'F3',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), 'F4',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL), T00.TJTIMETOTAL) TJTIMETOTAL, DECODE(T00.PROCESS_CODE,'A',NVL(T14.TIMETOTAL,T00.TIMETOTAL), 'D',NVL(T4.TIMETOTAL,T00.TIMETOTAL), 'F1',NVL(T34.TIMETOTAL,T00.TIMETOTAL), 'F2',NVL(T34.TIMETOTAL,T00.TIMETOTAL), 'F3',NVL(T34.TIMETOTAL,T00.TIMETOTAL), 'F4',NVL(T34.TIMETOTAL,T00.TIMETOTAL), T00.TIMETOTAL) TIMETOTAL, YXNB,YXZH,DAYZYL, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY), 'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY), 'F1',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'F2',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'F3',NVL(T35.ZCNBDAY,T00.ZCNBDAY), 'F4',NVL(T35.ZCNBDAY,T00.ZCNBDAY), T00.ZCNBDAY) ZCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY), 'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY), 'F1',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'F2',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'F3',NVL(T35.ZCWBDAY,T00.ZCWBDAY), 'F4',NVL(T35.ZCWBDAY,T00.ZCWBDAY), T00.ZCWBDAY) ZCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY), 'D',NVL(T5.YCNBDAY,T00.YCNBDAY), 'F1',NVL(T35.YCNBDAY,T00.YCNBDAY), 'F2',NVL(T35.YCNBDAY,T00.YCNBDAY), 'F3',NVL(T35.YCNBDAY,T00.YCNBDAY), 'F4',NVL(T35.YCNBDAY,T00.YCNBDAY), T00.YCNBDAY) YCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY), 'D',NVL(T5.YCWBDAY,T00.YCWBDAY), 'F1',NVL(T35.YCWBDAY,T00.YCWBDAY), 'F2',NVL(T35.YCWBDAY,T00.YCWBDAY), 'F3',NVL(T35.YCWBDAY,T00.YCWBDAY), 'F4',NVL(T35.YCWBDAY,T00.YCWBDAY), T00.YCWBDAY) YCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F1',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F2',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F3',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), 'F4',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY), T00.TJTIMETOTALDAY) TJTIMETOTALDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.TIMETOTALDAY,T00.TIMETOTALDAY), 'D',NVL(T5.TIMETOTALDAY,T00.TIMETOTALDAY), 'F1',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), 'F2',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), 'F3',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), 'F4',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY), T00.TIMETOTALDAY) TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T00,T14,T15,T4,T5,T34,T35 WHERE 1=1 AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+) AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+) AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+) AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+) AND T00.PROCESS_CODE = T34.PROCESS_CODE(+) AND T00.PLINE_NAME = T34.PLINENAME(+) AND T00.PROCESS_CODE = T35.PROCESS_CODE(+) AND T00.PLINE_NAME = T35.PLINENAME(+) ), T100 AS ( SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL, CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB, CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH, CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL, ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN NVL(YCNBDAY,0) + NVL(YCWBDAY,0) =0 THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY FROM T99 ) SELECT PLINEORDER, CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN '热处理(本部)' WHEN PLINE_CODE IN ('C049','C050') THEN '热处理(元通)' WHEN PLINE_CODE IN ('C048','C054','C055') THEN '热处理(深加工)' ELSE PROCESS_DESC END DEPT, PLINE_NAME PLINENAME, CASE WHEN PLINEORDER IN (6,7,8,9,10,30,31,40,41,42) THEN PLINE_CODE || '0' WHEN PLINEORDER IN (20,21,22,23,24,35,36,50,51,52) THEN PLINE_CODE || '1' ELSE PLINE_CODE END PLINECODE, TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB, TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB, TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB, TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB, TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL, TIMETOTAL, YXNB,YXZH,DAYZYL, TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY, TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY, TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY, TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY, TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY, TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T100 ORDER BY PLINEORDER ]]> = TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T11 AS (SELECT 'A' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T10 GROUP BY PLINENAME), /**********************************炼钢日范围查询**************************************/ T12 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T10.CONTROL_ID, T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM STL_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T13 AS (SELECT 'A' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T12 GROUP BY PLINENAME), /********炼钢累计数值*******/ T14 AS ( SELECT * FROM T11 UNION ALL SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11 ), /********炼钢日数值*******/ T15 AS ( SELECT * FROM T13 UNION ALL SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13 ), /**********************************轧管时间范围查询**************************************/ T AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T1 AS (SELECT 'D' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T GROUP BY PLINENAME), /**********************************轧管日范围查询**************************************/ T2 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T3 AS (SELECT 'D' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T2 GROUP BY PLINENAME), /********轧管累计数值*******/ T4 AS ( SELECT * FROM T1 UNION ALL SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1 ), /********轧管日数值*******/ T5 AS ( SELECT * FROM T3 UNION ALL SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3 ), /**********************************热处理时间范围查询**************************************/ T30 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM (SELECT t1.control_id,t1.logs_beg,t1.logs_end, t.pline_code,t1.stop_type,t1.stop_reason,t1.stop_small FROM HTT_CONTROL_LOG t,HTT_CONTROL_LOG_DETAIL t1 WHERE t.pro_type ='2' AND t.control_id = t1.control_id AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND t.pline_code IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')) T WHERE 1=1 AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T31 AS (SELECT 'F' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * 8 TIMETOTAL FROM T30 GROUP BY PLINENAME), /**********************************热处理日范围查询**************************************/ T32 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM (SELECT t1.control_id,t1.logs_beg,t1.logs_end, t.pline_code,t1.stop_type,t1.stop_reason,t1.stop_small FROM HTT_CONTROL_LOG t,HTT_CONTROL_LOG_DETAIL t1 WHERE t.pro_type ='2' AND t.control_id = t1.control_id AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND t.pline_code IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')) T WHERE 1=1 AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T33 AS (SELECT 'F' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T32 GROUP BY PLINENAME), /********热处理累计数值*******/ T34 AS ( SELECT * FROM T31 UNION ALL SELECT 'F' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T31 ), /********热处理日数值*******/ T35 AS ( SELECT * FROM T33 UNION ALL SELECT 'F' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3 ), T99 AS ( SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,PLINE_CODE, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB),'D',NVL(T4.ZCNB,T00.ZCNB),'F',NVL(T34.ZCNB,T00.ZCNB),T00.ZCNB) ZCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB),'D',NVL(T4.ZCWB,T00.ZCWB),'F',NVL(T34.ZCWB,T00.ZCWB),T00.ZCWB) ZCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB),'D',NVL(T4.YCNB,T00.YCNB),'F',NVL(T34.YCNB,T00.YCNB),T00.YCNB) YCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB),'D',NVL(T4.YCWB,T00.YCWB),'F',NVL(T34.YCWB,T00.YCWB),T00.YCWB) YCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL),'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL),'F',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),T00.TJTIMETOTAL) TJTIMETOTAL, DECODE(T00.PROCESS_CODE,'A',NVL(T14.TIMETOTAL,T00.TIMETOTAL),'D',NVL(T4.TIMETOTAL,T00.TIMETOTAL),'F',NVL(T34.TIMETOTAL,T00.TIMETOTAL),T00.TIMETOTAL) TIMETOTAL, YXNB,YXZH,DAYZYL, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY),'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY),'F',NVL(T35.ZCNBDAY,T00.ZCNBDAY),T00.ZCNBDAY) ZCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY),'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY),'F',NVL(T35.ZCWBDAY,T00.ZCWBDAY),T00.ZCWBDAY) ZCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY),'D',NVL(T5.YCNBDAY,T00.YCNBDAY),'F',NVL(T35.YCNBDAY,T00.YCNBDAY),T00.YCNBDAY) YCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY),'D',NVL(T5.YCWBDAY,T00.YCWBDAY),'F',NVL(T5.YCWBDAY,T00.YCWBDAY),T00.YCWBDAY) YCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),'F',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),T00.TJTIMETOTALDAY) TJTIMETOTALDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.TIMETOTALDAY,T00.TIMETOTALDAY),'D',NVL(T5.TIMETOTALDAY,T00.TIMETOTALDAY),'F',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),T00.TIMETOTALDAY) TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T00,T14,T15,T4,T5,T34,T35 WHERE 1=1 AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+) AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+) AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+) AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+) AND T00.PROCESS_CODE = T34.PROCESS_CODE(+) AND T00.PLINE_NAME = T34.PLINENAME(+) AND T00.PROCESS_CODE = T35.PROCESS_CODE(+) AND T00.PLINE_NAME = T35.PLINENAME(+) ), T100 AS ( SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL, CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB, CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH, CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL, ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN NVL(YCNBDAY,0) + NVL(YCWBDAY,0) =0 THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY FROM T99 ) SELECT PLINEORDER,PROCESS_DESC DEPT,PLINE_NAME PLINENAME,PLINE_CODE PLINECODE, TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB, TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB, TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB, TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB, TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL, TIMETOTAL, YXNB,YXZH,DAYZYL, TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY, TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY, TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY, TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY, TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY, TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T100 ORDER BY PLINEORDER ]]> = TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T11 AS (SELECT 'A' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T10 GROUP BY PLINENAME), /**********************************炼钢日范围查询**************************************/ T12 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T10.CONTROL_ID, T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM STL_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T13 AS (SELECT 'A' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T12 GROUP BY PLINENAME), /********炼钢累计数值*******/ T14 AS ( SELECT * FROM T11 UNION ALL SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11 ), /********炼钢日数值*******/ T15 AS ( SELECT * FROM T13 UNION ALL SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13 ), /**********************************轧管时间范围查询**************************************/ T AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T1 AS (SELECT 'D' PROCESS_CODE, PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL FROM T GROUP BY PLINENAME), /**********************************轧管日范围查询**************************************/ T2 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T3 AS (SELECT 'D' PROCESS_CODE, PLINENAME , MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY FROM T2 GROUP BY PLINENAME), /********轧管累计数值*******/ T4 AS ( SELECT * FROM T1 UNION ALL SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB, SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1 ), /********轧管日数值*******/ T5 AS ( SELECT * FROM T3 UNION ALL SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY, SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3 ), T99 AS ( SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,PLINE_CODE, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB),'D',NVL(T4.ZCNB,T00.ZCNB),T00.ZCNB) ZCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB),'D',NVL(T4.ZCWB,T00.ZCWB),T00.ZCWB) ZCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB),'D',NVL(T4.YCNB,T00.YCNB),T00.YCNB) YCNB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB),'D',NVL(T4.YCWB,T00.YCWB),T00.YCWB) YCWB, DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL),'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL),T00.TJTIMETOTAL) TJTIMETOTAL, DECODE(T00.PROCESS_CODE,'A',NVL(T14.TIMETOTAL,T00.TIMETOTAL),'D',NVL(T4.TIMETOTAL,T00.TIMETOTAL),T00.TIMETOTAL) TIMETOTAL, YXNB,YXZH,DAYZYL, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY),'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY),T00.ZCNBDAY) ZCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY),'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY),T00.ZCWBDAY) ZCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY),'D',NVL(T5.YCNBDAY,T00.YCNBDAY),T00.YCNBDAY) YCNBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY),'D',NVL(T5.YCWBDAY,T00.YCWBDAY),T00.YCWBDAY) YCWBDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),T00.TJTIMETOTALDAY) TJTIMETOTALDAY, DECODE(T00.PROCESS_CODE,'A',NVL(T15.TIMETOTALDAY,T00.TIMETOTALDAY),'D',NVL(T5.TIMETOTALDAY,T00.TIMETOTALDAY),T00.TIMETOTALDAY) TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T00,T14,T15,T4,T5 WHERE 1=1 AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+) AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+) AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+) AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+) ), T100 AS ( SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL, CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB, CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH, CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL, ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY, CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY FROM T99 ) SELECT PLINEORDER,PROCESS_DESC DEPT,PLINE_NAME PLINENAME,PLINE_CODE PLINECODE, TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB, TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB, TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB, TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB, TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL, TIMETOTAL, YXNB,YXZH,DAYZYL, TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY, TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY, TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY, TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY, TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY, TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY FROM T100 ORDER BY PLINEORDER ]]> = TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T11 AS (SELECT PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL, DECODE(PLINENAME, '一炼钢电炉', -5, '二炼钢电炉', -4, -1) PLINEORDER FROM T10 GROUP BY PLINENAME), T12 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T10.CONTROL_ID, T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM STL_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001', 'C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T13 AS (SELECT PLINENAME PLINENAME1, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY, DECODE(PLINENAME, '一炼钢电炉', -5, '二炼钢电炉', -4, -1) PLINEORDER1 FROM T12 GROUP BY PLINENAME), T14 AS (SELECT T13.*, CASE WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN '0.00' ELSE TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 / (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)), 2), 'fm99999999999990.00') END || '%' YXNBDAY, CASE WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN '0.00' ELSE TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 / (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0) + NVL(YCWBDAY, 0)), 2), 'fm99999999999990.00') END || '%' YXZHDAY, CASE WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN '0.00' ELSE TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 / TIMETOTALDAY, 2), 'fm99999999999990.00') END DAYZYLDAY FROM T13), T15 AS ( SELECT '炼钢' AS DEPT, PLINENAME, TO_CHAR(ZCNB) ZCNB, TO_CHAR(ZCWB) ZCWB, TO_CHAR(YCNB) YCNB, TO_CHAR(YCWB) YCWB, TJTIMETOTAL, TO_CHAR(ROUND(TJTIMETOTAL / 60, 2), 'fm99999999999990.00') TJTIMEHOURS, TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)), 2), 'fm99999999999990.00') || '%' YXNB, TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0) + NVL(YCWB, 0)), 2), 'fm99999999999990.00') || '%' YXZH, TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / TIMETOTAL, 2), 'fm99999999999990.00') DAYZYL, PLINEORDER FROM T11 UNION ALL SELECT '炼钢' AS DEPT, '合计' PLINENAME, TO_CHAR(SUM(ZCNB)) ZCNB, TO_CHAR(SUM(ZCWB)) ZCWB, TO_CHAR(SUM(YCNB)) YCNB, TO_CHAR(SUM(YCWB)) YCWB, SUM(TJTIMETOTAL), TO_CHAR(ROUND(SUM(TJTIMETOTAL) / 60, 2), 'fm99999999999990.00') TJTIMEHOURS, TO_CHAR((2*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0))*100/(2*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0)+ROUND(NVL(SUM(YCNB),0),0)), 'fm99999999999990.00') || '%' YXNB , TO_CHAR((2*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0))*100/(2*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0)+ROUND(NVL(SUM(YCNB),0),0)+ROUND(NVL(SUM(YCWB),0),0)), 'fm99999999999990.00') || '%' YXZH, NULL DAYZYL, -1 PLINEORDER FROM T11 WHERE PLINENAME IS NOT NULL ), T16 AS ( SELECT '炼钢' AS DEPT, PLINENAME1, TO_CHAR(ROUND(ZCNBDAY,0)) ZCNBDAY, TO_CHAR(ROUND(ZCWBDAY,0)) ZCWBDAY, TO_CHAR(ROUND(YCNBDAY,0)) YCNBDAY, TO_CHAR(ROUND(YCWBDAY,0)) YCWBDAY, TO_CHAR(ROUND(TJTIMETOTALDAY,0)) TJTIMETOTALDAY, TO_CHAR(ROUND(TIMETOTALDAY,0)) TIMETOTALDAY, NVL(YXNBDAY,'100.00%')YXNBDAY,NVL(YXZHDAY,'100.00%') YXZHDAY,NVL(DAYZYLDAY,'100.00%') DAYZYLDAY, 5 AS PLINEORDER FROM T14 UNION ALL SELECT '炼钢' AS DEPT, '合计' PLINENAME, TO_CHAR(ROUND(SUM(ZCNBDAY),0)) ZCNBDAY, TO_CHAR(ROUND(SUM(ZCWBDAY),0)) ZCWBDAY, TO_CHAR(ROUND(SUM(YCNBDAY),0)) YCNBDAY, TO_CHAR(ROUND(SUM(YCWBDAY),0)) YCWBDAY, TO_CHAR(ROUND(SUM(TJTIMETOTALDAY),0)) TJTIMETOTALDAY, TO_CHAR(ROUND(SUM(TIMETOTALDAY),0)) TJTIMEHOURS, TO_CHAR((24*60*2-NVL(ROUND(SUM(TJTIMETOTALDAY),0),0))*100/(24*60*2-NVL(ROUND(SUM(TJTIMETOTALDAY),0),0)+NVL(ROUND(NVL(SUM(YCNBDAY),0),0),0)), 'fm99999999999990.00') || '%' YXNBDAY, TO_CHAR((24*60*2-NVL(ROUND(SUM(TJTIMETOTALDAY),0),0))*100/(24*60*2-NVL(ROUND(SUM(TJTIMETOTALDAY),0),0)+NVL(ROUND(NVL(SUM(YCNBDAY),0),0),0)+NVL(ROUND(NVL(SUM(YCWBDAY),0),0),0)), 'fm99999999999990.00') || '%' YXZHDAY, NULL DAYZYLDAY, -1 PLINEORDER FROM T14 ), T17 AS ( SELECT '一炼钢电炉' PLINENAME,100 DAYZYLDAY FROM DUAL UNION ALL SELECT '二炼钢电炉' PLINENAME,100 DAYZYLDAY FROM DUAL UNION ALL SELECT '合计' PLINENAME,100 DAYZYLDAY FROM DUAL ), T18 AS ( SELECT '炼钢' AS DEPT, NVL(T16.PLINENAME1,T17.PLINENAME) PLINENAME1,T16.ZCNBDAY,T16.ZCWBDAY,T16.YCNBDAY,T16.YCWBDAY,T16.TJTIMETOTALDAY,T16.TIMETOTALDAY, NVL(T16.YXNBDAY,'100.00%') YXNBDAY,NVL(T16.YXZHDAY,'100.00%') YXZHDAY ,NVL(T16.DAYZYLDAY,T17.DAYZYLDAY) DAYZYLDAY,T16.PLINEORDER FROM T16,T17 WHERE T16.PLINENAME1(+) =T17.PLINENAME ), T AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T1 AS (SELECT PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * #DAYS# TIMETOTAL, DECODE(PLINENAME, '250机组', 1, '258机组', 2, '168机组', 3, '460机组', 4, 5) PLINEORDER FROM T GROUP BY PLINENAME), T2 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T3 AS (SELECT PLINENAME PLINENAME1, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY, DECODE(PLINENAME, '250机组', 1, '258机组', 2, '168机组', 3, '460机组', 4, 5) PLINEORDER1 FROM T2 GROUP BY PLINENAME), T4 AS (SELECT T3.*, CASE WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN '0.00' ELSE TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 / (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)), 2), 'fm99999999999990.00') END || '%' YXNBDAY, CASE WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN '0.00' ELSE TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 / (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0) + NVL(YCWBDAY, 0)), 2), 'fm99999999999990.00') END || '%' YXZHDAY, CASE WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN '0.00' ELSE TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 / TIMETOTALDAY, 2), 'fm99999999999990.00') END DAYZYLDAY FROM T3), T5 AS ( SELECT '轧管' AS DEPT, PLINENAME, TO_CHAR(ZCNB) ZCNB, TO_CHAR(ZCWB) ZCWB, TO_CHAR(YCNB) YCNB, TO_CHAR(YCWB) YCWB, TJTIMETOTAL, TO_CHAR(ROUND(TJTIMETOTAL / 60, 2), 'fm99999999999990.00') TJTIMEHOURS, CASE WHEN TIMETOTAL= TJTIMETOTAL THEN '0.00%' ELSE TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)), 2), 'fm99999999999990.00') || '%' END YXNB, CASE WHEN TIMETOTAL= TJTIMETOTAL THEN '0.00%' ELSE TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0) + NVL(YCWB, 0)), 2), 'fm99999999999990.00') || '%' END YXZH, CASE WHEN TIMETOTAL= TJTIMETOTAL THEN '0.00' ELSE TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / TIMETOTAL, 2), 'fm99999999999990.00') END DAYZYL, PLINEORDER FROM T1 UNION ALL SELECT '轧管' AS DEPT, '合计' PLINENAME, TO_CHAR(SUM(ZCNB)) ZCNB, TO_CHAR(SUM(ZCWB)) ZCWB, TO_CHAR(SUM(YCNB)) YCNB, TO_CHAR(SUM(YCWB)) YCWB, SUM(TJTIMETOTAL), TO_CHAR(ROUND(SUM(TJTIMETOTAL) / 60, 2), 'fm99999999999990.00') TJTIMEHOURS, TO_CHAR((4*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0))*100/(4*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0)+ROUND(NVL(SUM(YCNB),0),0)), 'fm99999999999990.00') || '%' YXNB , TO_CHAR((4*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0))*100/(4*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0)+ROUND(NVL(SUM(YCNB),0),0)+ROUND(NVL(SUM(YCWB),0),0)), 'fm99999999999990.00') || '%' YXZH, NULL DAYZYL, 5 PLINEORDER FROM T1 WHERE PLINENAME IS NOT NULL ), T6 AS ( SELECT '轧管' AS DEPT, PLINENAME1, TO_CHAR(ROUND(ZCNBDAY,0)) ZCNBDAY, TO_CHAR(ROUND(ZCWBDAY,0)) ZCWBDAY, TO_CHAR(ROUND(YCNBDAY,0)) YCNBDAY, TO_CHAR(ROUND(YCWBDAY,0)) YCWBDAY, TO_CHAR(ROUND(TJTIMETOTALDAY,0)) TJTIMETOTALDAY, TO_CHAR(ROUND(TIMETOTALDAY,0)) TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY,5 AS PLINEORDER FROM T4 UNION ALL SELECT '轧管' AS DEPT, '合计' PLINENAME, TO_CHAR(ROUND(SUM(ZCNBDAY),0)) ZCNBDAY, TO_CHAR(ROUND(SUM(ZCWBDAY),0)) ZCWBDAY, TO_CHAR(ROUND(SUM(YCNBDAY),0)) YCNBDAY, TO_CHAR(ROUND(SUM(YCWBDAY),0)) YCWBDAY, TO_CHAR(ROUND(SUM(TJTIMETOTALDAY),0)) TJTIMETOTALDAY, TO_CHAR(ROUND(SUM(TIMETOTALDAY),0)) TJTIMEHOURS, TO_CHAR((24*60*4-ROUND(SUM(TJTIMETOTALDAY),0))*100/(24*60*4-ROUND(SUM(TJTIMETOTALDAY),0)+ROUND(NVL(SUM(YCNBDAY),0),0)), 'fm99999999999990.00') || '%' YXNBDAY, TO_CHAR((24*60*4-ROUND(SUM(TJTIMETOTALDAY),0))*100/(24*60*4-ROUND(SUM(TJTIMETOTALDAY),0)+ROUND(NVL(SUM(YCNBDAY),0),0)+ROUND(NVL(SUM(YCWBDAY),0),0)), 'fm99999999999990.00') || '%' YXZHDAY, NULL DAYZYLDAY, 5 PLINEORDER FROM T4 ) SELECT * FROM ( SELECT NVL(T15.DEPT,'炼钢') DEPT,NVL(T15.PLINENAME,T18.PLINENAME1) PLINENAME, TO_CHAR(T15.ZCNB/60, 'fm99999999999990.00') ZCNB, TO_CHAR(T15.ZCWB/60, 'fm99999999999990.00') ZCWB, TO_CHAR(T15.YCNB/60, 'fm99999999999990.00') YCNB, TO_CHAR(T15.YCWB/60, 'fm99999999999990.00') YCWB, TO_CHAR(T15.TJTIMETOTAL/60, 'fm99999999999990.00') TJTIMETOTAL, T15.TJTIMEHOURS,NVL(T15.YXNB,'100.00%') YXNB,NVL(T15.YXZH,'100.00%') YXZH, TO_CHAR(DECODE(PLINENAME1,'一炼钢电炉',NVL(T15.DAYZYL,'100.00'),'二炼钢电炉',NVL(T15.DAYZYL,'100.00'), '合计',(SELECT AVG(DAYZYL) FROM T15 WHERE PLINENAME !='合计')),'fm99999999999990.00') || '%' DAYZYL, --T15.PLINEORDER, DECODE(PLINENAME1,'一炼钢电炉',-5,'二炼钢电炉',-4,'合计',-1) AS PLINEORDER, TO_CHAR(ZCNBDAY/60, 'fm99999999999990.00') ZCNBDAY, TO_CHAR(ZCWBDAY/60, 'fm99999999999990.00') ZCWBDAY, TO_CHAR(YCNBDAY/60, 'fm99999999999990.00') YCNBDAY, TO_CHAR(YCWBDAY/60, 'fm99999999999990.00') YCWBDAY, TO_CHAR(TJTIMETOTALDAY/60, 'fm99999999999990.00') TJTIMETOTALDAY, TIMETOTALDAY, DECODE(PLINENAME1,'一炼钢电炉',NVL(YXNBDAY,'100.00%'),'二炼钢电炉',NVL(YXNBDAY,'100.00%'),'合计',YXNBDAY) YXNBDAY, DECODE(PLINENAME1,'一炼钢电炉',NVL(YXZHDAY,'100.00%'),'二炼钢电炉',NVL(YXZHDAY,'100.00%'),'合计',YXZHDAY) YXZHDAY, TO_CHAR(DECODE(PLINENAME1,'一炼钢电炉',NVL(DAYZYLDAY,'100.00'),'二炼钢电炉',NVL(DAYZYLDAY,'100.00'),'合计',(SELECT AVG(DAYZYLDAY) FROM T18 WHERE PLINENAME1 !='合计')),'fm99999999999990.00') || '%' DAYZYLDAY, (SELECT PLINE_CODE FROM com_base_pline ta WHERE ta.PLINE_NAME=T15.PLINENAME) AS PLINECODE FROM T15, T18 WHERE T15.PLINENAME(+) = T18.PLINENAME1 AND T15.DEPT(+) = T18.DEPT UNION ALL SELECT T5.DEPT,T5.PLINENAME, TO_CHAR(T5.ZCNB/60, 'fm99999999999990.00') ZCNB, TO_CHAR(T5.ZCWB/60, 'fm99999999999990.00') ZCWB, TO_CHAR(T5.YCNB/60, 'fm99999999999990.00') YCNB, TO_CHAR(T5.YCWB/60, 'fm99999999999990.00') YCWB, TO_CHAR(T5.TJTIMETOTAL/60, 'fm99999999999990.00') TJTIMETOTAL, T5.TJTIMEHOURS,T5.YXNB,T5.YXZH, TO_CHAR(DECODE(PLINENAME,'250机组',T5.DAYZYL,'258机组',T5.DAYZYL, '168机组',T5.DAYZYL,'460机组',T5.DAYZYL, '合计',(SELECT AVG(DAYZYL) FROM T5 WHERE PLINENAME !='合计')),'fm99999999999990.00') || '%' DAYZYL, T5.PLINEORDER, TO_CHAR(ZCNBDAY/60, 'fm99999999999990.00') ZCNBDAY, TO_CHAR(ZCWBDAY/60, 'fm99999999999990.00') ZCWBDAY, TO_CHAR(YCNBDAY/60, 'fm99999999999990.00') YCNBDAY, TO_CHAR(YCWBDAY/60, 'fm99999999999990.00') YCWBDAY, TO_CHAR(TJTIMETOTALDAY/60, 'fm99999999999990.00') TJTIMETOTALDAY, TIMETOTALDAY,YXNBDAY,YXZHDAY, TO_CHAR(DECODE(PLINENAME,'250机组',DAYZYLDAY,'258机组',DAYZYLDAY, '168机组',DAYZYLDAY,'460机组',DAYZYLDAY, '合计',(SELECT AVG(DAYZYLDAY) FROM T6 WHERE PLINENAME1 !='合计')),'fm99999999999990.00') || '%' DAYZYLDAY, (SELECT PLINE_CODE FROM com_base_pline ta WHERE ta.PLINE_NAME=t5.PLINENAME) AS PLINECODE FROM T5, T6 WHERE T5.PLINENAME = T6.PLINENAME1(+) AND T5.DEPT = T6.DEPT(+) ) ta ORDER BY ta.PLINEORDER ]]> = TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T1 AS (SELECT PLINENAME, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB, SUM(TJTIME) TJTIMETOTAL, 24 * 60 * '#DAYS#' TIMETOTAL, DECODE(PLINENAME, '250机组', 1, '258机组', 2, '168机组', 3, '460机组', 4, 5) PLINEORDER FROM T GROUP BY PLINENAME), T2 AS (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON FROM (SELECT T.CONTROL_ID, T.STOP_REASON, T.LOGS_BEG, T.LOGS_END, (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) STOPTYPE, (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) STOPREASON, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME, CASE WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'ZCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '正常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'ZCWB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN 'YCNB' WHEN (SELECT PROPERA FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) = '异常停机' AND (SELECT BASENAME FROM COM_BASE_INFO WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN 'YCWB' END TJREASON FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND T.STOP_TYPE IN ('500601', '500602') AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON AND VALIDFLAG = '1')) TA GROUP BY TA.PLINENAME, TA.TJREASON), T3 AS (SELECT PLINENAME PLINENAME1, MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY, MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY, MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY, MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY, SUM(TJTIME) TJTIMETOTALDAY, 24 * 60 TIMETOTALDAY, DECODE(PLINENAME, '250机组', 1, '258机组', 2, '168机组', 3, '460机组', 4, 5) PLINEORDER1 FROM T2 GROUP BY PLINENAME), T4 AS (SELECT T3.*, CASE WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN '0.00' ELSE TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 / (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)), 2), 'fm99999999999990.00') END || '%' YXNBDAY, CASE WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN '0.00' ELSE TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 / (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0) + NVL(YCWBDAY, 0)), 2), 'fm99999999999990.00') END || '%' YXZHDAY, CASE WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN '0.00' ELSE TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 / TIMETOTALDAY, 2), 'fm99999999999990.00') END || '%' DAYZYLDAY FROM T3), T5 AS (SELECT '炼钢' AS DEPT, '一炼' AS PLINENAME, NULL AS ZCNB, NULL AS ZCWB, NULL AS YCNB, NULL AS YCWB, NULL AS TJTIMETOTAL, NULL AS TJTIMEHOURS, NULL AS YXNB, NULL AS YXZH, NULL AS DAYZYL, -2 AS PLINEORDER FROM DUAL UNION ALL SELECT '炼钢' AS DEPT, '二炼' AS PLINENAME, NULL AS ZCNB, NULL AS ZCWB, NULL AS YCNB, NULL AS YCWB, NULL AS TJTIMETOTAL, NULL AS TJTIMEHOURS, NULL AS YXNB, NULL AS YXZH, NULL AS DAYZYL, -1 AS PLINEORDER FROM DUAL UNION ALL SELECT '轧管' AS DEPT, PLINENAME, TO_CHAR(ZCNB) ZCNB, TO_CHAR(ZCWB) ZCWB, TO_CHAR(YCNB) YCNB, TO_CHAR(YCWB) YCWB, TJTIMETOTAL, TO_CHAR(ROUND(TJTIMETOTAL / 60, 2), 'fm99999999999990.00') TJTIMEHOURS, TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)), 2), 'fm99999999999990.00') || '%' YXNB, TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0) + NVL(YCWB, 0)), 2), 'fm99999999999990.00') || '%' YXZH, TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / TIMETOTAL, 2), 'fm99999999999990.00') || '%' DAYZYL, PLINEORDER FROM T1 UNION ALL SELECT '轧管' AS DEPT, '合计' PLINENAME, TO_CHAR(SUM(ZCNB)) ZCNB, TO_CHAR(SUM(ZCWB)) ZCWB, TO_CHAR(SUM(YCNB)) YCNB, TO_CHAR(SUM(YCWB)) YCWB, SUM(TJTIMETOTAL), TO_CHAR(ROUND(SUM(TJTIMETOTAL) / 60, 2), 'fm99999999999990.00') TJTIMEHOURS, NULL YXNB, NULL YXZH, NULL DAYZYL, 5 PLINEORDER FROM T1 WHERE PLINENAME IS NOT NULL UNION ALL SELECT '管加工(加工线)' AS DEPT, '本部' AS PLINENAME, NULL AS ZCNB, NULL AS ZCWB, NULL AS YCNB, NULL AS YCWB, NULL AS TJTIMETOTAL, NULL AS TJTIMEHOURS, NULL AS YXNB, NULL AS YXZH, NULL AS DAYZYL, 6 AS PLINEORDER FROM DUAL UNION ALL SELECT '管加工(加工线)' AS DEPT, '元通' AS PLINENAME, NULL AS ZCNB, NULL AS ZCWB, NULL AS YCNB, NULL AS YCWB, NULL AS TJTIMETOTAL, NULL AS TJTIMEHOURS, NULL AS YXNB, NULL AS YXZH, NULL AS DAYZYL, 7 AS PLINEORDER FROM DUAL UNION ALL SELECT '管加工(加工线)' AS DEPT, '深加工' AS PLINENAME, NULL AS ZCNB, NULL AS ZCWB, NULL AS YCNB, NULL AS YCWB, NULL AS TJTIMETOTAL, NULL AS TJTIMEHOURS, NULL AS YXNB, NULL AS YXZH, NULL AS DAYZYL, 8 AS PLINEORDER FROM DUAL UNION ALL SELECT '管加工(热处理)' AS DEPT, '本部' AS PLINENAME, NULL AS ZCNB, NULL AS ZCWB, NULL AS YCNB, NULL AS YCWB, NULL AS TJTIMETOTAL, NULL AS TJTIMEHOURS, NULL AS YXNB, NULL AS YXZH, NULL AS DAYZYL, 9 AS PLINEORDER FROM DUAL UNION ALL SELECT '管加工(热处理)' AS DEPT, '元通' AS PLINENAME, NULL AS ZCNB, NULL AS ZCWB, NULL AS YCNB, NULL AS YCWB, NULL AS TJTIMETOTAL, NULL AS TJTIMEHOURS, NULL AS YXNB, NULL AS YXZH, NULL AS DAYZYL, 10 AS PLINEORDER FROM DUAL UNION ALL SELECT '管加工(热处理)' AS DEPT, '深加工' AS PLINENAME, NULL AS ZCNB, NULL AS ZCWB, NULL AS YCNB, NULL AS YCWB, NULL AS TJTIMETOTAL, NULL AS TJTIMEHOURS, NULL AS YXNB, NULL AS YXZH, NULL AS DAYZYL, 11 AS PLINEORDER FROM DUAL), T6 AS ( SELECT '轧管' AS DEPT, PLINENAME1, TO_CHAR(ROUND(ZCNBDAY,0)) ZCNBDAY, TO_CHAR(ROUND(ZCWBDAY,0)) ZCWBDAY, TO_CHAR(ROUND(YCNBDAY,0)) YCNBDAY, TO_CHAR(ROUND(YCWBDAY,0)) YCWBDAY, TO_CHAR(ROUND(TJTIMETOTALDAY,0)) TJTIMETOTALDAY, TO_CHAR(ROUND(TIMETOTALDAY,0)) TIMETOTALDAY, YXNBDAY,YXZHDAY,DAYZYLDAY,5 AS PLINEORDER FROM T4 UNION ALL SELECT '轧管' AS DEPT, '合计' PLINENAME, TO_CHAR(ROUND(SUM(ZCNBDAY),0)) ZCNBDAY, TO_CHAR(ROUND(SUM(ZCWBDAY),0)) ZCWBDAY, TO_CHAR(ROUND(SUM(YCNBDAY),0)) YCNBDAY, TO_CHAR(ROUND(SUM(YCWBDAY),0)) YCWBDAY, TO_CHAR(ROUND(SUM(TJTIMETOTALDAY),0)) TJTIMETOTALDAY, TO_CHAR(ROUND(SUM(TIMETOTALDAY),0)) TJTIMEHOURS, NULL YXNBDAY, NULL YXZHDAY, NULL DAYZYLDAY, 5 PLINEORDER FROM T4 ) SELECT T5.DEPT,T5.PLINENAME, TO_CHAR(T5.ZCNB/60, 'fm99999999999990.00') ZCNB, TO_CHAR(T5.ZCWB/60, 'fm99999999999990.00') ZCWB, TO_CHAR(T5.YCNB/60, 'fm99999999999990.00') YCNB, TO_CHAR(T5.YCWB/60, 'fm99999999999990.00') YCWB, TO_CHAR(T5.TJTIMETOTAL/60, 'fm99999999999990.00') TJTIMETOTAL, T5.TJTIMEHOURS,T5.YXNB,T5.YXZH,T5.DAYZYL,T5.PLINEORDER, TO_CHAR(ZCNBDAY/60, 'fm99999999999990.00') ZCNBDAY, TO_CHAR(ZCWBDAY/60, 'fm99999999999990.00') ZCWBDAY, TO_CHAR(YCNBDAY/60, 'fm99999999999990.00') YCNBDAY, TO_CHAR(YCWBDAY/60, 'fm99999999999990.00') YCWBDAY, TO_CHAR(TJTIMETOTALDAY/60, 'fm99999999999990.00') TJTIMETOTALDAY, TIMETOTALDAY,YXNBDAY,YXZHDAY,DAYZYLDAY, (SELECT PLINE_CODE FROM com_base_pline ta WHERE ta.PLINE_NAME=t5.PLINENAME) AS PLINECODE FROM T5, T6 WHERE T5.PLINENAME = T6.PLINENAME1(+) AND T5.DEPT = T6.DEPT(+) ORDER BY T5.PLINEORDER ]]> = TO_DATE(#RPT_YM1#, 'yyyy-mm-dd hh24:mi:ss') AND T.CREATE_TIME < TO_DATE(#RPT_YM2#, 'yyyy-mm-dd hh24:mi:ss') GROUP BY T.COL_GROUP, T.COL_OPERATOR1 UNION ALL SELECT DECODE(T.COL_GROUP, '1', '甲', '2', '乙', '3', '丙', '4', '丁', '') AS 班次, '磷化' AS 机床, T.COL_OPERATOR AS 姓名, SUM(T.Col_Count) AS 产量, --T.MACHINE_NO, --T.CREATE_TIME, NULL AS 机床号, 2 AS 排序, T.COL_GROUP AS 排序1 FROM COUPLING_PHOSPHATE_RESULT T WHERE T.COL_OPERATOR IS NOT NULL AND T.CREATE_TIME >= TO_DATE(#RPT_YM1#, 'yyyy-mm-dd hh24:mi:ss') AND T.CREATE_TIME < TO_DATE(#RPT_YM2#, 'yyyy-mm-dd hh24:mi:ss') GROUP BY T.COL_GROUP, T.COL_OPERATOR UNION ALL SELECT DECODE(T.COL_GROUP, '1', '甲', '2', '乙', '3', '丙', '4', '丁', '') AS 班次, '切管' AS 机床, T.COL_OPERATOR AS 姓名, SUM(T.Qualified_Number) AS 产量, --T.MACHINE_NO, --T.CREATE_TIME, NULL AS 机床号, 3 AS 排序, T.COL_GROUP AS 排序1 FROM COUPLING_CUT_RESULT T WHERE T.COL_OPERATOR IS NOT NULL AND T.CREATE_TIME >= TO_DATE(#RPT_YM1#, 'yyyy-mm-dd hh24:mi:ss') AND T.CREATE_TIME < TO_DATE(#RPT_YM2#, 'yyyy-mm-dd hh24:mi:ss') GROUP BY T.COL_GROUP, T.COL_OPERATOR ) ta ORDER BY ta.排序1,ta.排序 ]]> = TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME, TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG, TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END, (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.PLINE_CODE) PLINE_NAME, DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC, DECODE(T.PRO_BZ, '1', '甲', '2', '乙', '3', '丙', '4', '丁', T.PRO_BZ) PRO_BZ, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON, T.MEMO, DECODE(T.CONFIRM_FLAG, '1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG, T.USER_NAME, T.CONFIRM_NAME, T.USER_DATE, T.CONFIRM_TIME, 0 AS flag, NULL AS TJHOURS FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= to_date(to_char(last_day(add_months(TO_DATE('#DATE#', 'yyyy-mm-dd hh24:mi:ss'),-1)),'yyyyMMdd')||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.Logs_End, 'yyyy-mm-dd hh24:mi:ss') <= to_date('#DATE#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE ='#PLINECODE#' ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC ), t2 AS ( SELECT * FROM t1 UNION ALL SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2) FROM t1 GROUP BY TJ_DATE,PLINE_NAME UNION ALL SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2) FROM t1 GROUP BY PLINE_NAME ) SELECT * FROM t2 ORDER BY TJ_DATE DESC,FLAG ]]> = TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME, TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG, TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END, (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.EF_PLINE_CODE) PLINE_NAME, DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC, DECODE(T.PRO_BZ, '1', '甲', '2', '乙', '3', '丙', '4', '丁', T.PRO_BZ) PRO_BZ, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON, T.MEMO, DECODE(T.CONFIRM_FLAG, '1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG, T.USER_NAME, T.CONFIRM_NAME, T.USER_DATE, T.CONFIRM_TIME, 0 AS flag, NULL AS TJHOURS FROM STL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= to_date(to_char(last_day(add_months(TO_DATE('#DATE#', 'yyyy-mm-dd hh24:mi:ss'),-1)),'yyyyMMdd')||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.Logs_End, 'yyyy-mm-dd hh24:mi:ss') <= to_date('#DATE#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss') AND T.EF_PLINE_CODE ='#PLINECODE#' ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC ), t2 AS ( SELECT * FROM t1 UNION ALL SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2) FROM t1 GROUP BY TJ_DATE,PLINE_NAME UNION ALL SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2) FROM t1 GROUP BY PLINE_NAME ) SELECT * FROM t2 ORDER BY TJ_DATE DESC,FLAG ]]> = TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME, TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG, TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END, (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.PLINE_CODE) PLINE_NAME, DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC, DECODE(T.PRO_BZ, '1', '甲', '2', '乙', '3', '丙', '4', '丁', T.PRO_BZ) PRO_BZ, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON, T.MEMO, DECODE(T.CONFIRM_FLAG, '1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG, T.USER_NAME, T.CONFIRM_NAME, T.USER_DATE, T.CONFIRM_TIME, 0 AS flag, NULL AS TJHOURS, (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) DEPT FROM MIL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= to_date('#DATE1#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.Logs_End, 'yyyy-mm-dd hh24:mi:ss') <= to_date('#DATE#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE ='#PLINECODE#' ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC ), t2 AS ( SELECT * FROM t1 UNION ALL SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1 GROUP BY TJ_DATE,PLINE_NAME UNION ALL SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1 GROUP BY PLINE_NAME ) SELECT * FROM t2 ORDER BY TJ_DATE DESC,FLAG ]]> = TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME, TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG, TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END, (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.EF_PLINE_CODE) PLINE_NAME, DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC, DECODE(T.PRO_BZ, '1', '甲', '2', '乙', '3', '丙', '4', '丁', T.PRO_BZ) PRO_BZ, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON, T.MEMO, DECODE(T.CONFIRM_FLAG, '1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG, T.USER_NAME, T.CONFIRM_NAME, T.USER_DATE, T.CONFIRM_TIME, 0 AS flag, NULL AS TJHOURS, (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) DEPT FROM STL_CONTROL_LOG T WHERE T.PRO_TYPE = '2' AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= to_date('#DATE1#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.Logs_End, 'yyyy-mm-dd hh24:mi:ss') <= to_date('#DATE#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss') AND T.EF_PLINE_CODE ='#PLINECODE#' ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC ), t2 AS ( SELECT * FROM t1 UNION ALL SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1 GROUP BY TJ_DATE,PLINE_NAME UNION ALL SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1 GROUP BY PLINE_NAME ) SELECT * FROM t2 ORDER BY TJ_DATE DESC,FLAG ]]> = TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME, TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG, TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END, (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.PLINE_CODE) PLINE_NAME, DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC, DECODE(T.PRO_BZ, '1', '甲', '2', '乙', '3', '丙', '4', '丁', T.PRO_BZ) PRO_BZ, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON, T.MEMO, DECODE(T.CONFIRM_FLAG, '2','已审核','1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG, T.USER_NAME, T.CONFIRM_NAME, T.USER_DATE, T.CONFIRM_TIME, 0 AS flag, NULL AS TJHOURS, (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) DEPT FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.CONFIRM_TIME, T.USER_DATE, T.CONFIRM_NAME, T.USER_NAME, T.CONFIRM_FLAG, T.MEMO, T.PRO_BZ, T.PRO_BC FROM HTT_CONTROL_LOG T --, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' AND T.STATION IN ('#STATION#') --AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#DATE1#'|| ' 21:00:00', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#DATE#'|| ' 21:00:00', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE = '#PLINECODE#') T ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC ), t2 AS ( SELECT * FROM t1 UNION ALL SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1 GROUP BY TJ_DATE,PLINE_NAME UNION ALL SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1 GROUP BY PLINE_NAME ) SELECT * FROM t2 ORDER BY TJ_DATE DESC,FLAG ]]> = TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME, TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG, TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END, (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.PLINE_CODE) PLINE_NAME, DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC, DECODE(T.PRO_BZ, '1', '甲', '2', '乙', '3', '丙', '4', '丁', T.PRO_BZ) PRO_BZ, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON, T.MEMO, DECODE(T.CONFIRM_FLAG, '2','已审核','1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG, T.USER_NAME, T.CONFIRM_NAME, T.USER_DATE, T.CONFIRM_TIME, 0 AS flag, NULL AS TJHOURS, (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) DEPT FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.CONFIRM_TIME, T.USER_DATE, T.CONFIRM_NAME, T.USER_NAME, T.CONFIRM_FLAG, T.MEMO, T.PRO_BZ, T.PRO_BC FROM HTT_CONTROL_LOG T --, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' --AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#DATE1#'|| ' 21:00:00', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#DATE#'|| ' 21:00:00', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE = '#PLINECODE#' )T ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC ), t2 AS ( SELECT * FROM t1 UNION ALL SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1 GROUP BY TJ_DATE UNION ALL SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1 --GROUP BY PLINE_NAME ) SELECT * FROM t2 ORDER BY TJ_DATE DESC,FLAG,PLINE_NAME ]]> = TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2000', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME, TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG, TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END, (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.PLINE_CODE) PLINE_NAME, DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC, DECODE(T.PRO_BZ, '1', '甲', '2', '乙', '3', '丙', '4', '丁', T.PRO_BZ) PRO_BZ, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL, (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON, T.MEMO, DECODE(T.CONFIRM_FLAG, '2','已审核','1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG, T.USER_NAME, T.CONFIRM_NAME, T.USER_DATE, T.CONFIRM_TIME, 0 AS flag, NULL AS TJHOURS, (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) DEPT FROM (SELECT T.CONTROL_ID, T.LOGS_BEG, T.LOGS_END, T.PLINE_CODE, T.STOP_TYPE, T.STOP_REASON, T.STOP_SMALL, T.CONFIRM_TIME, T.USER_DATE, T.CONFIRM_NAME, T.USER_NAME, T.CONFIRM_FLAG, T.MEMO, T.PRO_BZ, T.PRO_BC FROM HTT_CONTROL_LOG T --, HTT_CONTROL_LOG_DETAIL T1 WHERE T.PRO_TYPE = '2' AND T.STATION IN ('#STATION#') --AND T.CONTROL_ID = T1.CONTROL_ID AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#DATE1#'|| ' 20:00:00', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#DATE#'|| ' 20:00:00', 'yyyy-mm-dd hh24:mi:ss') AND T.PLINE_CODE = '#PLINECODE#') T ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC ), t2 AS ( SELECT * FROM t1 UNION ALL SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1 GROUP BY TJ_DATE,PLINE_NAME UNION ALL SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1 GROUP BY PLINE_NAME ) SELECT * FROM t2 ORDER BY TJ_DATE DESC,FLAG ]]> = TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('#PLINECODE#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') ) ta ,( SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS# ) tb ORDER BY dates,DEPT ), --炼钢调度汇报实际数值 t1 AS ( SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,SUM(ta.tjtime) tjtime FROM ( SELECT T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, CASE WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, CASE WHEN T10.STOP_SMALL ='30010201' THEN '工艺停机' ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME, T10.EF_PLINE_CODE PLINECODE FROM STL_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('#PLINECODE#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') ) ta GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode ORDER BY ta.tj_date,ta.plinename,ta.plinecode ), --各个部门停机元素明细 t2 AS ( SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+) ORDER BY t.dates ), t3 AS ( SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates ), t4 AS ( SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2 UNION ALL SELECT * FROM t3 ) SELECT * FROM t4 ORDER BY opdate,dept desc ]]> = TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001','C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') ) ta ,( SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS# ) tb ORDER BY dates,DEPT ), --炼钢调度汇报实际数值 t1 AS (select tb.tj_date,tb.dept,SUM(tb.tjtime)/(2670+2670) tjtime from ( SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode, DECODE(ta.plinecode,'C001',SUM(ta.tjtime)*2670,'C003',SUM(ta.tjtime)*2670) tjtime FROM ( SELECT T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, CASE WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, CASE WHEN T10.STOP_SMALL ='30010201' THEN '工艺停机' ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME, T10.EF_PLINE_CODE PLINECODE FROM STL_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('300101', '300102') AND T10.EF_PLINE_CODE IN ('C001','C003') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') ) ta GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode ORDER BY ta.tj_date,ta.plinename,ta.plinecode )tb GROUP BY tb.tj_date,tb.dept ), --各个部门停机元素明细 t2 AS ( SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+) ORDER BY t.dates ), t3 AS ( SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates ), t4 AS ( SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2 UNION ALL SELECT * FROM t3 ) SELECT * FROM t4 ORDER BY opdate,dept desc ]]> = TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('500601', '500602') AND T10.PLINE_CODE IN ('#PLINECODE#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') ) ta ,( SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS# ) tb ORDER BY dates,DEPT ), t1 AS ( SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,SUM(ta.tjtime) tjtime FROM ( SELECT T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, CASE WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, CASE WHEN T10.STOP_SMALL ='50060201' THEN '工艺停机' ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME, T10.PLINE_CODE PLINECODE FROM MIL_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('500601', '500602') AND T10.PLINE_CODE IN ('#PLINECODE#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') ) ta GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode ORDER BY ta.tj_date,ta.plinename,ta.plinecode ), t2 AS ( SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+) ORDER BY t.dates ), t3 AS ( SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates ), t4 AS ( SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2 UNION ALL SELECT * FROM t3 ) SELECT * FROM t4 ORDER BY opdate,dept desc ]]> = TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('500601', '500602') AND T10.PLINE_CODE IN ('C008','C009','C010','C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') ) ta ,( SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS# ) tb ORDER BY dates,DEPT ), t1 AS (select tb.tj_date,tb.dept,SUM(tb.tjtime)/(2100+1670+1500+2500) tjtime from ( SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode, DECODE(ta.plinecode,'C008',SUM(ta.tjtime)*2100,'C009',SUM(ta.tjtime)*1670 ,'C010',SUM(ta.tjtime)*1500,'C017',SUM(ta.tjtime)*2500 ) tjtime FROM ( SELECT T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, CASE WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, CASE WHEN T10.STOP_SMALL ='50060201' THEN '工艺停机' ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME, T10.PLINE_CODE PLINECODE FROM MIL_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('500601', '500602') AND T10.PLINE_CODE IN ('C008','C009','C010','C017') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') ) ta GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode ORDER BY ta.tj_date,ta.plinename,ta.plinecode )tb GROUP BY tb.tj_date,tb.dept ), t2 AS ( SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+) ORDER BY t.dates ), t3 AS ( SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates ), t4 AS ( SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2 UNION ALL SELECT * FROM t3 ) SELECT * FROM t4 ORDER BY opdate,dept desc ]]> = TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('600602', '600603') AND T10.PLINE_CODE IN ('#PLINECODE#') AND T10.STATION IN ('#STATION#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0 ) ta ,( SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS# ) tb ORDER BY dates,DEPT ), t1 AS ( SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,SUM(ta.tjtime) tjtime FROM ( SELECT T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, CASE WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机' ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME, T10.PLINE_CODE PLINECODE FROM HTT_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('600602', '600603') AND T10.PLINE_CODE IN ('#PLINECODE#') AND T10.STATION IN ('#STATION#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0 ) ta GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode ORDER BY ta.tj_date,ta.plinename,ta.plinecode ), t2 AS ( SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+) ORDER BY t.dates ), t3 AS ( SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates ), t4 AS ( SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2 UNION ALL SELECT * FROM t3 ) SELECT * FROM t4 ORDER BY opdate,dept desc ]]> = TO_DATE('#STARTDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('600602', '600603') AND T10.PLINE_CODE IN ('#PLINECODE#') AND T10.STATION IN ('#STATION#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0 ) ta ,( SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS# ) tb ORDER BY dates,DEPT ), t1 AS ( SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,SUM(ta.tjtime) tjtime FROM ( SELECT T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, CASE WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2000', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机' ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME, T10.PLINE_CODE PLINECODE FROM HTT_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#STARTDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('600602', '600603') AND T10.PLINE_CODE IN ('#PLINECODE#') AND T10.STATION IN ('#STATION#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0 ) ta GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode ORDER BY ta.tj_date,ta.plinename,ta.plinecode ), t2 AS ( SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+) ORDER BY t.dates ), t3 AS ( SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates ), t4 AS ( SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2 UNION ALL SELECT * FROM t3 ) SELECT * FROM t4 ORDER BY opdate,dept desc ]]> = TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('600602', '600603') AND T10.PLINE_CODE IN ('C022','C023','C024','C025','C026', 'C054','C055','C048','C049','C050') AND T10.STATION IN ('#STATION#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') ) ta ,( SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS# ) tb ORDER BY dates,DEPT ), t1 AS (SELECT tb.tj_date,tb.dept,sum(tb.tjtime)/(550+330+280+550+280+170+280+200+620+220) tjtime FROM ( SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode, DECODE(ta.plinecode,'C022',SUM(ta.tjtime)*550,'C023',SUM(ta.tjtime)*330 ,'C024',SUM(ta.tjtime)*280,'C025',SUM(ta.tjtime)*550 ,'C026',SUM(ta.tjtime)*280,'C054',SUM(ta.tjtime)*170 ,'C055',SUM(ta.tjtime)*280,'C048',SUM(ta.tjtime)*200 ,'C049',SUM(ta.tjtime)*620,'C050',SUM(ta.tjtime)*220) tjtime FROM ( SELECT T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, CASE WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机' ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME, T10.PLINE_CODE PLINECODE FROM HTT_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('600602', '600603') AND T10.PLINE_CODE IN ('C022','C023','C024','C025','C026', 'C054','C055','C048','C049','C050') AND T10.STATION IN ('#STATION#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0 ) ta GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode ORDER BY ta.tj_date,ta.plinename,ta.plinecode )tb GROUP BY tb.tj_date,tb.dept ), t2 AS ( SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+) ORDER BY t.dates ), t3 AS ( SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates ), t4 AS ( SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2 UNION ALL SELECT * FROM t3 ) SELECT * FROM t4 ORDER BY opdate,dept desc ]]> = TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('600602', '600603') AND T10.PLINE_CODE IN (#PLINECODE#) AND T10.STATION IN ('#STATION#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') ) ta ,( SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS# ) tb ORDER BY dates,DEPT ), t1 AS (SELECT tb.tj_date,tb.dept,sum(tb.tjtime)/DECODE('#REGION#','F01',(550+330+280+550+280),'F02',(170+280+200),'F03',(620+220), 'F11',(550+330+280+550+280),'F12',(170+280+200),'F13',(620+220)) tjtime FROM ( SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode, DECODE(ta.plinecode,'C022',SUM(ta.tjtime)*550,'C023',SUM(ta.tjtime)*330 ,'C024',SUM(ta.tjtime)*280,'C025',SUM(ta.tjtime)*550 ,'C026',SUM(ta.tjtime)*280,'C054',SUM(ta.tjtime)*170 ,'C055',SUM(ta.tjtime)*280,'C048',SUM(ta.tjtime)*200 ,'C049',SUM(ta.tjtime)*620,'C050',SUM(ta.tjtime)*220) tjtime FROM ( SELECT T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, CASE WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机' ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME, T10.PLINE_CODE PLINECODE FROM HTT_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('600602', '600603') AND T10.PLINE_CODE IN (#PLINECODE#) AND T10.STATION IN ('#STATION#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0 ) ta GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode ORDER BY ta.tj_date,ta.plinename,ta.plinecode )tb GROUP BY tb.tj_date,tb.dept ), t2 AS ( SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+) ORDER BY t.dates ), t3 AS ( SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates ), t4 AS ( SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2 UNION ALL SELECT * FROM t3 ) SELECT * FROM t4 ORDER BY opdate,dept desc ]]> = TO_DATE('#STARTDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('600602', '600603') AND T10.PLINE_CODE IN (#PLINECODE#) AND T10.STATION IN ('#STATION#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') ) ta ,( SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS# ) tb ORDER BY dates,DEPT ), t1 AS (SELECT tb.tj_date,tb.dept,sum(tb.tjtime)/DECODE('#REGION#','F01',(550+330+280+550+280),'F02',(170+280+200),'F03',(620+220), 'F11',(550+330+280+550+280),'F12',(170+280+200),'F13',(620+220)) tjtime FROM ( SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode, DECODE(ta.plinecode,'C022',SUM(ta.tjtime)*550,'C023',SUM(ta.tjtime)*330 ,'C024',SUM(ta.tjtime)*280,'C025',SUM(ta.tjtime)*550 ,'C026',SUM(ta.tjtime)*280,'C054',SUM(ta.tjtime)*170 ,'C055',SUM(ta.tjtime)*280,'C048',SUM(ta.tjtime)*200 ,'C049',SUM(ta.tjtime)*620,'C050',SUM(ta.tjtime)*220) tjtime FROM ( SELECT T10.STOP_REASON, T10.LOGS_BEG, T10.LOGS_END, CASE WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2000', 'yyyy-mm-dd hh24:mi:ss')) THEN TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1, 'yyyy-MM-dd') ELSE TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-MM-dd') END TJ_DATE, (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME, CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机' ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT, (SELECT PLINE_NAME FROM COM_BASE_PLINE WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME, T10.PLINE_CODE PLINECODE FROM HTT_CONTROL_LOG T10 WHERE T10.PRO_TYPE = '2' AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= TO_DATE('#STARTDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <= TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss') AND T10.STOP_TYPE IN ('600602', '600603') AND T10.PLINE_CODE IN (#PLINECODE#) AND T10.STATION IN ('#STATION#') AND EXISTS (SELECT * FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON AND VALIDFLAG = '1') AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') - TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0 ) ta GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode ORDER BY ta.tj_date,ta.plinename,ta.plinecode )tb GROUP BY tb.tj_date,tb.dept ), t2 AS ( SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+) ORDER BY t.dates ), t3 AS ( SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates ), t4 AS ( SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2 UNION ALL SELECT * FROM t3 ) SELECT * FROM t4 ORDER BY opdate,dept desc ]]>