提交
This commit is contained in:
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
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user