37 lines
1.3 KiB
Java
37 lines
1.3 KiB
Java
-- 原材料送检记录测试数据重置脚本(稳妥版)
|
||
-- 作用:
|
||
-- 1) 将存在送检记录关联的原材料卡片检测结果重置为「未检(0)」
|
||
-- 2) 清空原材料送检记录主表/子表数据
|
||
SET NAMES utf8mb4;
|
||
|
||
START TRANSACTION;
|
||
|
||
-- 执行前计数(便于确认是否命中数据)
|
||
SELECT COUNT(1) AS before_record_count FROM mes_xsl_raw_material_inspect_record;
|
||
SELECT COUNT(1) AS before_record_line_count FROM mes_xsl_raw_material_inspect_record_line;
|
||
|
||
-- 回写原材料卡片检测结果为未检(0):只重置存在送检记录关联的卡片
|
||
UPDATE mes_xsl_raw_material_card c
|
||
JOIN (
|
||
SELECT DISTINCT r.raw_material_card_id AS card_id
|
||
FROM mes_xsl_raw_material_inspect_record r
|
||
WHERE r.raw_material_card_id IS NOT NULL
|
||
AND r.raw_material_card_id <> ''
|
||
) t ON t.card_id = c.id
|
||
SET c.test_result = '0',
|
||
c.update_time = NOW();
|
||
|
||
-- 先删子表,再删主表
|
||
DELETE FROM mes_xsl_raw_material_inspect_record_line
|
||
WHERE record_id IN (
|
||
SELECT id FROM mes_xsl_raw_material_inspect_record
|
||
);
|
||
|
||
DELETE FROM mes_xsl_raw_material_inspect_record;
|
||
|
||
COMMIT;
|
||
|
||
-- 执行后计数
|
||
SELECT COUNT(1) AS remaining_record_count FROM mes_xsl_raw_material_inspect_record;
|
||
SELECT COUNT(1) AS remaining_record_line_count FROM mes_xsl_raw_material_inspect_record_line;
|