mc.coil_id, mc.parent_coil_id, mc.export_time, mc.export_by, mc.enter_coil_no, mc.current_coil_no, mc.supplier_coil_no, mc.data_type, mc.material_type, mc.next_warehouse_id, mc.qrcode_record_id, mc.team, mc.has_merge_split, mc.parent_coil_nos, mc.item_type, mc.item_id, mc.gross_weight, mc.net_weight, mc.status, mc.remark, mc.warehouse_id, mc.actual_warehouse_id, mc.del_flag, mc.create_time, mc.update_time, mc.create_by, mc.update_by, mc.quality_status, mc.trimming_requirement, mc.packaging_requirement, mc.packing_status, mc.length, mc.actual_length, mc.actual_width, mc.actual_thickness, mc.production_start_time, mc.production_end_time, mc.production_duration, mc.coil_surface_treatment, mc.reserved_width, mc.coating_type, mc.temper_grade, mc.business_purpose, mc.is_related_to_order, mc.exclusive_status, mc.transfer_type, mc.theoretical_thickness, mc.schedule_thickness, mc.theoretical_length, mc.chrome_plate_coil_no, mc.sale_name AS saleName, mc.contract_no AS contractNo, w.warehouse_name AS warehouseName, nw.warehouse_name AS nextWarehouseName, aw.actual_warehouse_name AS actualWarehouseName, CASE WHEN mc.item_type = 'raw_material' THEN rm.specification WHEN mc.item_type = 'product' THEN p.specification ELSE NULL END AS specification, CASE WHEN mc.item_type = 'raw_material' THEN rm.material WHEN mc.item_type = 'product' THEN p.material ELSE NULL END AS material, CASE WHEN mc.item_type = 'raw_material' THEN rm.manufacturer WHEN mc.item_type = 'product' THEN p.manufacturer ELSE NULL END AS manufacturer, CASE WHEN mc.item_type = 'raw_material' THEN rm.surface_treatment_desc WHEN mc.item_type = 'product' THEN p.surface_treatment_desc ELSE NULL END AS surfaceTreatmentDesc, CASE WHEN mc.item_type = 'raw_material' THEN rm.zinc_layer WHEN mc.item_type = 'product' THEN p.zinc_layer ELSE NULL END AS zincLayer, CASE WHEN mc.item_type = 'raw_material' THEN rm.raw_material_name WHEN mc.item_type = 'product' THEN p.product_name ELSE NULL END as itemName, CASE WHEN mc.item_type = 'raw_material' THEN rm.raw_material_code WHEN mc.item_type = 'product' THEN p.product_code ELSE NULL END as itemCode, COALESCE(ca.abnormal_count, 0) AS abnormalCount FROM wms_material_coil mc LEFT JOIN wms_warehouse w ON mc.warehouse_id = w.warehouse_id LEFT JOIN wms_warehouse nw ON mc.next_warehouse_id = nw.warehouse_id LEFT JOIN wms_actual_warehouse aw ON mc.actual_warehouse_id = aw.actual_warehouse_id LEFT JOIN wms_raw_material rm ON mc.item_type = 'raw_material' AND mc.item_id = rm.raw_material_id LEFT JOIN wms_product p ON mc.item_type = 'product' AND mc.item_id = p.product_id LEFT JOIN ( SELECT coil_id, COUNT(*) AS abnormal_count FROM wms_coil_abnormal WHERE del_flag = 0 GROUP BY coil_id ) ca ON mc.coil_id = ca.coil_id UPDATE wms_material_coil SET export_time = NULL, status = #{status} WHERE coil_id = #{coilId}