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
]]>