select r.id, r.line_code, r.product_type, r.start_site_code,
s1.site_name as start_site_name, r.next_site_code, s2.site_name as next_site_name,
r.manager, r.supplier_code, r.start_date, r.end_date, r.remark,
r.del_flag, r.create_by, r.create_time, r.update_by, r.update_time, r.create_site, r.update_site,
l.line_name,
(SELECT GROUP_CONCAT(s.name)
FROM emis_supplier s
WHERE FIND_IN_SET(s.code, r.supplier_code)
AND s.del_flag = '0') as supplier_name,
(SELECT GROUP_CONCAT(p.prod_name)
FROM emis_trans_product p
WHERE FIND_IN_SET(p.prod_code, r.product_type)
AND p.del_flag = '0') as product_type_name
from emis_trans_plan_rule r
left join emis_site s1 on r.start_site_code = s1.site_code and s1.del_flag='0'
left join emis_site s2 on r.next_site_code = s2.site_code and s2.del_flag='0'
left join emis_trans_line l on r.line_code = l.line_code and l.del_flag='0'
insert into emis_trans_plan_rule
line_code,product_type,start_site_code,next_site_code,manager,supplier_code,start_date,end_date,remark,del_flag,create_by,create_time,update_by,update_time,create_site,update_site,#{lineCode},#{productType},#{startSiteCode},#{nextSiteCode},#{manager},#{supplierCode},#{startDate},#{endDate},#{remark},#{delFlag},#{createBy},#{createTime},#{updateBy},#{updateTime},#{createSite},#{updateSite},
update emis_trans_plan_rule
line_code = #{lineCode},product_type = #{productType},start_site_code = #{startSiteCode},next_site_code = #{nextSiteCode},manager = #{manager},supplier_code = #{supplierCode},start_date = #{startDate},end_date = #{endDate},remark = #{remark},del_flag = #{delFlag},create_by = #{createBy},create_time = #{createTime},update_by = #{updateBy},update_time = #{updateTime},create_site = #{createSite},update_site = #{updateSite},
where id = #{id}
update emis_trans_plan_rule set del_flag = '1' where id in
#{id}