This commit is contained in:
zlwu committed 2026-09-01 14:22:46 +08:00
1 parent 2cd1194d17
commit 03226cac2a
4 files changed
+70 -38413

No files matched your search

@@ -8,6 +8,53 @@
-- 干细胞培养 / MSC培养 → 干细胞培养(内置模版) / MSC培养-BUILTIN
-- UBMC冻存 / UBMC冻存 → UBMC冻存(内置模版) / UBMC冻存-BUILTIN
-- PBMC冻存 / PBMC冻存 → PBMC冻存(内置模版) / PBMC冻存-BUILTIN
--
-- ID 生成说明:
-- MySQL UUID() 在同一微秒批量 INSERT…SELECT 时可能撞主键。
-- 新 id = UPPER(MD5(CONCAT(UUID(), 源行主键, RAND(), CONNECTION_ID()))),保证逐行唯一。
--
-- ---------------------------------------------------------------------------
-- 若上次执行报 Duplicate entry … PRIMARY,先做半截数据清理再重跑本脚本:
--
-- -- 1) 查看已写入的 BUILTIN
-- SELECT id, route_code, route_name, is_builtin, tenant_no, create_time
-- FROM biz_process_route
-- WHERE route_code LIKE '%-BUILTIN' AND del_flag = 0;
--
-- -- 2) 软删半截内置路线及其步骤/子表(仅清理本次模版种子,不动源路线)
-- UPDATE biz_process_route_step_data_collection d
-- INNER JOIN biz_process_route_step s ON s.id = d.step_id
-- INNER JOIN biz_process_route r ON r.id = s.route_id
-- SET d.del_flag = 1, d.update_time = NOW()
-- WHERE r.route_code LIKE '%-BUILTIN' AND r.del_flag = 0 AND d.del_flag = 0;
--
-- UPDATE biz_process_route_step_output o
-- INNER JOIN biz_process_route_step s ON s.id = o.step_id
-- INNER JOIN biz_process_route r ON r.id = s.route_id
-- SET o.del_flag = 1, o.update_time = NOW()
-- WHERE r.route_code LIKE '%-BUILTIN' AND r.del_flag = 0 AND o.del_flag = 0;
--
-- UPDATE biz_process_route_step_consumable c
-- INNER JOIN biz_process_route_step s ON s.id = c.step_id
-- INNER JOIN biz_process_route r ON r.id = s.route_id
-- SET c.del_flag = 1, c.update_time = NOW()
-- WHERE r.route_code LIKE '%-BUILTIN' AND r.del_flag = 0 AND c.del_flag = 0;
--
-- UPDATE biz_process_route_step_reagent g
-- INNER JOIN biz_process_route_step s ON s.id = g.step_id
-- INNER JOIN biz_process_route r ON r.id = s.route_id
-- SET g.del_flag = 1, g.update_time = NOW()
-- WHERE r.route_code LIKE '%-BUILTIN' AND r.del_flag = 0 AND g.del_flag = 0;
--
-- UPDATE biz_process_route_step s
-- INNER JOIN biz_process_route r ON r.id = s.route_id
-- SET s.del_flag = 1, s.update_time = NOW()
-- WHERE r.route_code LIKE '%-BUILTIN' AND r.del_flag = 0 AND s.del_flag = 0;
--
-- UPDATE biz_process_route
-- SET del_flag = 1, update_time = NOW()
-- WHERE route_code LIKE '%-BUILTIN' AND del_flag = 0;
-- ---------------------------------------------------------------------------
DELIMITER $$
@@ -49,6 +96,11 @@ BEGIN
);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = 1;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
RESIGNAL;
END;
OPEN cur;
read_loop: LOOP
@@ -57,7 +109,9 @@ BEGIN
LEAVE read_loop;
END IF;
SET v_new_route_id = UPPER(REPLACE(UUID(), '-', ''));
START TRANSACTION;
SET v_new_route_id = UPPER(MD5(CONCAT(UUID(), v_src_id, RAND(), CONNECTION_ID())));
INSERT INTO biz_process_route (
id, route_code, route_name, product_type_id, version, is_current,
@@ -93,7 +147,9 @@ BEGIN
);
INSERT INTO tmp_step_id_map (old_id, new_id)
SELECT id, UPPER(REPLACE(UUID(), '-', ''))
SELECT
id,
UPPER(MD5(CONCAT(UUID(), id, RAND(), CONNECTION_ID())))
FROM biz_process_route_step
WHERE route_id = v_src_id
AND del_flag = 0;
@@ -134,7 +190,7 @@ BEGIN
tenant_no, order_num, remark, create_by, create_dept_id, create_time, update_by, update_time, del_flag
)
SELECT
UPPER(REPLACE(UUID(), '-', '')),
UPPER(MD5(CONCAT(UUID(), r.id, RAND(), CONNECTION_ID()))),
m.new_id,
r.reagent_code,
r.reagent_name,
@@ -160,7 +216,7 @@ BEGIN
remark, tenant_no, order_num, create_by, create_dept_id, create_time, update_by, update_time, del_flag
)
SELECT
UPPER(REPLACE(UUID(), '-', '')),
UPPER(MD5(CONCAT(UUID(), c.id, RAND(), CONNECTION_ID()))),
m.new_id,
c.consumable_code,
c.consumable_name,
@@ -186,7 +242,7 @@ BEGIN
tenant_no, order_num, remark, create_by, create_dept_id, create_time, update_by, update_time, del_flag
)
SELECT
UPPER(REPLACE(UUID(), '-', '')),
UPPER(MD5(CONCAT(UUID(), o.id, RAND(), CONNECTION_ID()))),
m.new_id,
o.output_type_id,
o.output_name,
@@ -209,7 +265,7 @@ BEGIN
tenant_no, order_num, remark, create_by, create_dept_id, create_time, update_by, update_time, del_flag
)
SELECT
UPPER(REPLACE(UUID(), '-', '')),
UPPER(MD5(CONCAT(UUID(), d.id, RAND(), CONNECTION_ID()))),
m.new_id,
d.collection_name,
d.unit,
@@ -227,6 +283,8 @@ BEGIN
WHERE d.del_flag = 0;
DROP TEMPORARY TABLE IF EXISTS tmp_step_id_map;
COMMIT;
END LOOP;
CLOSE cur;
END$$
@@ -62,7 +62,8 @@ BEGIN
LEAVE read_loop;
END IF;
SET v_set_id = UPPER(REPLACE(UUID(), '-', ''));
-- MD5+源键,避免 UUID() 同微秒撞主键
SET v_set_id = UPPER(MD5(CONCAT(UUID(), v_route_id, RAND(), CONNECTION_ID())));
INSERT INTO biz_production_task_set (
id, set_name, status, tenant_no, order_num, remark, is_builtin,
@@ -87,7 +88,7 @@ BEGIN
id, set_id, task_name, route_id, route_name, description, remark,
tenant_no, order_num, create_by, create_dept_id, create_time, update_by, update_time, del_flag
) VALUES (
UPPER(REPLACE(UUID(), '-', '')),
UPPER(MD5(CONCAT(UUID(), v_set_id, RAND(), CONNECTION_ID()))),
v_set_id,
'{lab_storage_code}样本处理',
v_route_id,
+1 -38403
View File
File diff suppressed because it is too large. Load diff