修正逻辑
This commit is contained in:
parent
8d7603b580
commit
09b3ecdff0
|
@ -1,6 +1,6 @@
|
|||
drop procedure if exists UpdateEqpOnStoveStatusLog;
|
||||
create
|
||||
definer = admin@`%` procedure UpdateEqpOnStoveStatusLog()
|
||||
definer = admin@`%` procedure UpdateEqpOnStoveStatusLog() comment '更新开炉记录日志表'
|
||||
BEGIN
|
||||
DROP TABLE IF EXISTS `eqponstovestatustmp`;
|
||||
create table eqponstovestatustmp
|
||||
|
@ -13,40 +13,13 @@ create table eqponstovestatustmp
|
|||
eqpstatus varchar(50),
|
||||
crusize varchar(50),
|
||||
subprod varchar(50),
|
||||
Areport datetime,
|
||||
Astove datetime,
|
||||
Aout datetime,
|
||||
Breport datetime,
|
||||
Bstove datetime,
|
||||
Bout datetime,
|
||||
Creport datetime,
|
||||
Cstove datetime,
|
||||
Cout datetime,
|
||||
Dreport datetime,
|
||||
Dstove datetime,
|
||||
Dout datetime,
|
||||
Ereport datetime,
|
||||
Estove datetime,
|
||||
Eout datetime,
|
||||
Freport datetime,
|
||||
Fstove datetime,
|
||||
Fout datetime,
|
||||
Greport datetime,
|
||||
Gstove datetime,
|
||||
Gout datetime,
|
||||
Hreport datetime,
|
||||
Hstove datetime,
|
||||
Hout datetime,
|
||||
Ireport datetime,
|
||||
Istove datetime,
|
||||
Iout datetime,
|
||||
Jreport datetime,
|
||||
Jstove datetime,
|
||||
Jout datetime,
|
||||
Kreport datetime,
|
||||
Kstove datetime,
|
||||
Kout datetime,
|
||||
chaiqingtime datetime
|
||||
firststovetime datetime,
|
||||
lastreporttime datetime,
|
||||
laststovetime datetime,
|
||||
lastopentime datetime,
|
||||
lastouttime datetime,
|
||||
finishtime datetime,
|
||||
lastchaiqingtime datetime
|
||||
);
|
||||
replace into eqponstovestatustmp(area, area1, eqpid, eqpmodel)
|
||||
select area, area1, eqpid, eqpmodel
|
||||
|
@ -55,22 +28,31 @@ from reportdata.equipment;
|
|||
###更新最新有执行记录的工单
|
||||
update eqponstovestatustmp es
|
||||
left join
|
||||
(select eqpid, substring(eventid, 1, 10) mesmoname, max(eventtime)
|
||||
from eqponstatuslogs
|
||||
group by eqpid) b on (es.eqpid = b.eqpid)
|
||||
(select eql.eqpid, substring(eql.eventid, 1, 10) mesmoname, max(eql.eventtime)
|
||||
from eqponstatuslogs eql
|
||||
left join reportdata.mostatus mo on (eql.mesmoname = mo.MESmoname)
|
||||
where mo.mostatus = '0'
|
||||
group by eql.eqpid) b on (es.eqpid = b.eqpid)
|
||||
set es.mesmoname = b.mesmoname;
|
||||
|
||||
##1 报料,2 加料,3 开副室,4 晶棒产出,5 拆清
|
||||
update eqponstovestatustmp eqs
|
||||
left join
|
||||
(select mesmoname, min(eventtime) stovetime
|
||||
from eqponstatuslogs
|
||||
where eventtype = '加料'
|
||||
group by mesmoname) eql on eqs.mesmoname = eql.mesmoname
|
||||
set eqs.firststovetime = eql.stovetime;
|
||||
|
||||
update eqponstovestatustmp eqs
|
||||
left join
|
||||
(select es.eqpid,
|
||||
epl.mesmoname,
|
||||
max(case when eventtype = '1' then eventtime end) lastreporttime,
|
||||
max(case when eventtype = '2' then eventtime end) laststovetime,
|
||||
max(case when eventtype = '3' then eventtime end) lastopentime,
|
||||
max(case when eventtype = '3' then eventtime end) lastouttime,
|
||||
max(case when eventtype = '3' then eventtime end) lastchaiqingtime,
|
||||
max(case when eventtype = '报料' then eventtime end) lastreporttime,
|
||||
max(case when eventtype = '加料' then eventtime end) laststovetime,
|
||||
max(case when eventtype = '开副室' then eventtime end) lastopentime,
|
||||
max(case when eventtype = '晶棒产出' then eventtime end) lastouttime,
|
||||
max(case when eventtype = '拆清' then eventtime end) lastchaiqingtime,
|
||||
case when substring(eventid,13,1) = 'W' then eventtime end finishtime
|
||||
from eqponstatuslogs es
|
||||
inner join eqponstovestatustmp epl on (substring(es.eventid, 1, 10) = epl.mesmoname)
|
||||
|
@ -81,6 +63,7 @@ set eqs.lastreporttime = b.lastreporttime,
|
|||
eqs.lastouttime = b.lastouttime,
|
||||
eqs.lastchaiqingtime = b.lastchaiqingtime,
|
||||
eqs.finishtime = b.finishtime;
|
||||
|
||||
###有工单、有投入、未产出
|
||||
update eqponstovestatustmp
|
||||
set eqpstatus = '投料后未产出'
|
||||
|
@ -160,6 +143,7 @@ insert into eqponstovestatus(
|
|||
eqpstatus,
|
||||
crusize,
|
||||
subprod,
|
||||
firststovetime,
|
||||
lastreporttime,
|
||||
laststovetime,
|
||||
lastopentime,
|
||||
|
@ -176,3 +160,4 @@ update eqponstovestatus set mfgdate = date_format(now()-8.5/24,'%Y-%m-%d') where
|
|||
drop table eqponstovestatustmp;
|
||||
END;
|
||||
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
drop procedure if exists UpdateMostatus;
|
||||
create
|
||||
definer = admin@`%` procedure UpdateMostatus()
|
||||
BEGIN
|
||||
|
@ -38,12 +39,31 @@ and mo.stovetime < st.newtime;
|
|||
|
||||
|
||||
##异常完结的更新完结时间及运行时间
|
||||
update reportdata.mostatus mo,(SELECT DISTINCT order_no,max(create_time) max_time,max(substring(code,11,1)) rx from mes_sync.mes_production GROUP BY order_no) f
|
||||
set mo.finish_time = f.max_time,mo.runtime = datediff(f.max_time,mo.stovetime)
|
||||
where 1=1
|
||||
and mo.MESmoname = f.order_no
|
||||
and mo.finish_time is null
|
||||
and mo.mostatus = '1' ;
|
||||
update reportdata.mostatus mo
|
||||
inner join (SELECT DISTINCT order_no, max(create_time) max_time, max(substring(code, 11, 1)) rx
|
||||
from mes_sync.mes_production
|
||||
GROUP BY order_no) f on (mo.MESmoname = f.order_no
|
||||
and mo.finish_time is null
|
||||
and mo.mostatus = '1')
|
||||
set mo.finish_time = f.max_time,
|
||||
mo.mostatus = '1',
|
||||
mo.mostatusdesc = '完结',
|
||||
mo.runtime = datediff(f.max_time, mo.stovetime);
|
||||
|
||||
|
||||
|
||||
##更新20天前未完结的
|
||||
update reportdata.mostatus mo
|
||||
inner join (SELECT DISTINCT order_no, max(create_time) max_time, max(substring(code, 11, 1)) rx
|
||||
from mes_sync.mes_production
|
||||
GROUP BY order_no) f on (mo.MESmoname = f.order_no
|
||||
and mo.finish_time is null
|
||||
and mo.mostatus = '0'
|
||||
and mo.stovetime <date_format(date_sub(now(), interval 20 day), '%Y-%m-%d'))
|
||||
set mo.finish_time = f.max_time,
|
||||
mo.mostatus = '1',
|
||||
mo.mostatusdesc = '完结',
|
||||
mo.runtime = datediff(f.max_time, mo.stovetime);
|
||||
|
||||
update reportdata.mostatus mo
|
||||
inner join
|
||||
|
@ -52,5 +72,6 @@ select DISTINCT mesmoname,rx from reportdata.allfeedingdetail
|
|||
)af on(mo.mesmoname = af.mesmoname)
|
||||
set mo.rx=af.rx ;
|
||||
|
||||
|
||||
END;
|
||||
|
||||
|
|
Loading…
Reference in New Issue