DELETE FROM quality_inspect WHERE product_main_id IN #{id} FROM quality_inspect qi INNER JOIN production_product_main ppm ON qi.product_main_id = ppm.id LEFT JOIN ( SELECT production_product_main_id, CAST(SUM(IFNULL(scrap_qty, 0)) AS DECIMAL(18,4)) AS scrapCount FROM production_product_output GROUP BY production_product_main_id ) ppo ON ppo.production_product_main_id = ppm.id LEFT JOIN ( SELECT inspect_id, CAST(SUM(CASE WHEN deal_type IN (0, 1) THEN IFNULL(quantity, 0) ELSE 0 END) AS DECIMAL(18,4)) AS reworkCount FROM quality_unqualified WHERE inspect_state = 1 GROUP BY inspect_id ) qu ON qu.inspect_id = qi.id WHERE qi.inspect_type IN (1, 2) AND qi.inspect_state = 1 AND qi.product_main_id IS NOT NULL