YZ_MES/数据库迁移sql/存储过程/UpdateAllfeedingdetail.sql

51 lines
1.8 KiB
SQL

##############################
##@author:gong.chengbo ##
##@createdate:2023-08-10 ##
##@for: ##
##############################
drop procedure if exists UpdateAllfeedingdetail;
create
definer = admin@`%` procedure UpdateAllfeedingdetail()
BEGIN
#,
DELETE from reportdata.allfeedingdetail;
replace into reportdata.allfeedingdetail(`month`,mfgdate,mesmoname,eqpid,moprodname,moproddesc,
subprod,rx,stovetype,stovetypedesc,stovetime,prodname,proddesc,material_type,factory,serial_no,weight,
cate1,cate2,cate3,material_level,type,area,area1,eqpmodel,feeding_task_code)
SELECT
CONCAT('M',DATE_FORMAT(DATE_add(ft.update_time,interval -510 MINUTE),'%m')) `month`,
DATE_FORMAT(DATE_add(ft.update_time,interval -510 MINUTE),'%Y-%m-%d') mfgdate,
ft.order_no mesmoname,
ft.stove_no eqpid,
ft.product_no moprodname,
ft.product_name moproddesc,
case when LOCATE('自产',ft.product_name) >0 then mid(ft.product_name,LOCATE('自产',ft.product_name)+3,6)
when LOCATE('代工',ft.product_name) >0 then mid(ft.product_name,LOCATE('代工',ft.product_name)+3,6) end subprod,
ft.feeding_times rx,
ft.type stovetype,
case when ft.type = '1' then '初装'
when ft.type = '2' then '二加' end stovetypedesc,
ft.update_time stovetime,
fd.material_no prodname,
fd.material_name proddesc,
fd.material_type,
fd.factory,
fd.batch_no serial_no,
fd.weight,
p.cate1,
p.cate2,
p.cate3,
p.`level`,
p.type,
eq.area,
eq.area1,
eq.eqpmodel,
ft.feeding_task_code
from mes_sync.mes_furnace_task ft
right join mes_sync.mes_feeding_detail fd on(ft.feeding_task_id = fd.feeding_task_id and fd.material_type = '2')
left join reportdata.product p on (fd.material_no = p.prodname)
left join reportdata.Equipment eq on (ft.stove_no = eq.eqpid)
where ft.`status` = '3';
END;