insert into order_glass_detail ( order_id, order_number, technology_number, glass_address, glass_child, child_width, child_height, area, total_area, process, `group` ,arc) select od.order_id, od.order_number, pd.glass_sort, if(pd.glass_sort=1,'(外)',if(pd2.glass_sort=pd.glass_sort,'(内)','')), pd.detail, if( od.bend_radius!='', round(od.width* (od.bend_radius-round( sum(t.thicknessCount)-t1.thicknessCount/2 ,2)) /od.bend_radius ,1), od.width ) , od.height, od.area, od.gross_area, pd.process, pd.glass_group, if( od.bend_radius!='', round((od.width*(od.bend_radius-(sum(t.thicknessCount)-t1.thicknessCount)))/od.bend_radius,1) ,null) as 'arc' from sd.product_detail as pd left join order_detail as od on od.product_id = pd.prod_id and pd.detail_type='glass' LEFT JOIN (SELECT max(id) as id ,max(glass_sort) as glass_sort from product_detail GROUP BY prod_id)as pd2 on pd2.id=pd.id left join ( select a.prod_id, a.sort_num, a.glass_sort, left(detail,LOCATE('mm',detail)-1) as 'thicknessCount' from product_detail as a group by prod_id,a.sort_num ) as t ON t.prod_id = od.product_id and t.sort_num <=pd.sort_num left join ( select a.prod_id, a.sort_num, a.glass_sort, left(detail,LOCATE('mm',detail)-1) as 'thicknessCount' from product_detail as a group by prod_id,a.sort_num ) as t1 ON t1.prod_id = od.product_id and t1.sort_num =pd.sort_num where od.order_id = #{orderId} group by od.order_number,pd.glass_sort ORDER BY od.order_number update order_glass_detail as a, order_detail as b set a.child_width = #{item.childWidth}, a.child_height = #{item.childHeight}, a.area = #{item.area}, a.total_area = #{item.area}*b.quantity, a.icon = #{item.icon}, a.process = #{item.process}, a.arc = #{item.arc} where a.order_id = b.order_id and a.order_id = #{item.orderId} and a.order_number = #{item.orderNumber} and a.technology_number = #{item.technologyNumber}