YZ_MES/报表sql/Excel/WorkOrderOnline_[excel].sql

34 lines
2.0 KiB
SQL

SELECT DISTINCT
eq.area ,
eq.area1 ,
eq.eqpid ,
case when mo.mesmoname is null then m.mesmoname else mo.mesmoname end MES炉次号 ,
case when mo.mesmoname is null then '' else mo.erpmoname end ERP工单号 ,
case when mo.mesmoname is null then m.prodname else mo.prodname end ,
case when mo.mesmoname is null then m.proddesc else mo.proddesc end ,
case when mo.mesmoname is null then m.crusize else mo.crusize end ,
case when mo.mesmoname is null then m.plantime else mo.stovetime end ,
case when mo.mesmoname is null then '' else mo.crucible end ,
case when mo.mesmoname is null then m.subprod else mo.subprod end ,
case when mo.mesmoname is null then '未投炉' else mo.mostatusdesc end ,
case when mo.mesmoname is null then '' else mo.rx end ,
case when mo.mesmoname is null then
(case when LOCATE('自产',m.proddesc) >0 then mid(m.proddesc,LOCATE('自产',m.proddesc)+10,15)
when LOCATE('代工',m.proddesc) >0 then mid(m.proddesc,LOCATE('代工',m.proddesc)+10,15) end)
else
(case when LOCATE('自产',mo.proddesc) >0 then mid(mo.proddesc,LOCATE('自产',mo.proddesc)+10,15)
when LOCATE('代工',mo.proddesc) >0 then mid(mo.proddesc,LOCATE('代工',mo.proddesc)+10,15) end)
end remark
from reportdata.equipment eq
##
LEFT JOIN (SELECT * from reportdata.mostatus where mostatus = 0) mo on (eq.eqpid = mo.eqpid)
LEFT JOIN (
SELECT order_no mesmoname,stove_no eqpid,thermal_field crusize,material_code prodname,material_name proddesc,schedule_time plantime,
case when LOCATE('自产',material_name) >0 then mid(material_name,LOCATE('自产',material_name)+3,6)
when LOCATE('代工',material_name) >0 then mid(material_name,LOCATE('代工',material_name)+3,6) end subprod
from mes_sync.mes_crystal_order
where 1=1
and `status` = '1'
and finish_flag = '0'
) m on (eq.eqpid = m.eqpid)
order by eq.eqpid;