Files
zkxw/docs/sql/2026-08-25-sync-sop-cc-002-content-to-routes-tasks.sql
T
2026-08-25 16:47:43 +08:00

62 lines
2.1 KiB
SQL

-- 将工艺库 SOP-CC-002-E01-01 的 sop_content 同步到关联的工艺路线步骤、生产任务步骤
--
-- 前置条件(按顺序执行):
-- 1. docs/sql/2026-08-25-biz-process-sop-content.sql
-- 2. docs/sql/2026-08-25-seed-sop-cc-002-content.sql
--
-- 匹配规则同 CC-001 同步脚本;任务步骤 JOIN 需 COLLATE 兼容。
UPDATE `biz_process_route_step` AS `rs`
INNER JOIN `biz_process` AS `p`
ON `p`.`process_code` = 'SOP-CC-002-E01-01'
AND `p`.`del_flag` = 0
AND `rs`.`tenant_no` = `p`.`tenant_no`
SET `rs`.`sop_content` = `p`.`sop_content`,
`rs`.`update_time` = NOW()
WHERE `rs`.`del_flag` = 0
AND (
`rs`.`process_code` = 'SOP-CC-002-E01-01'
OR `rs`.`process_id` = `p`.`id`
)
AND `p`.`sop_content` IS NOT NULL
AND CHAR_LENGTH(TRIM(`p`.`sop_content`)) > 0;
UPDATE `biz_production_task_step` AS `ts`
INNER JOIN `biz_process` AS `p`
ON `p`.`process_code` COLLATE utf8mb4_general_ci = 'SOP-CC-002-E01-01'
AND `p`.`del_flag` = 0
AND `ts`.`tenant_no` = `p`.`tenant_no` COLLATE utf8mb4_general_ci
SET `ts`.`sop_content` = `p`.`sop_content`,
`ts`.`update_time` = NOW()
WHERE `ts`.`del_flag` = 0
AND `ts`.`process_code` = 'SOP-CC-002-E01-01'
AND `p`.`sop_content` IS NOT NULL
AND CHAR_LENGTH(TRIM(`p`.`sop_content`)) > 0;
SELECT 'biz_process' AS `table_name`,
COUNT(*) AS `row_count`,
MAX(CHAR_LENGTH(`sop_content`)) AS `max_sop_content_len`
FROM `biz_process`
WHERE `process_code` = 'SOP-CC-002-E01-01'
AND `del_flag` = 0;
SELECT 'biz_process_route_step' AS `table_name`,
COUNT(*) AS `row_count`,
MAX(CHAR_LENGTH(`sop_content`)) AS `max_sop_content_len`
FROM `biz_process_route_step`
WHERE `del_flag` = 0
AND (
`process_code` = 'SOP-CC-002-E01-01'
OR `process_id` IN (
SELECT `id` FROM `biz_process`
WHERE `process_code` = 'SOP-CC-002-E01-01' AND `del_flag` = 0
)
);
SELECT 'biz_production_task_step' AS `table_name`,
COUNT(*) AS `row_count`,
MAX(CHAR_LENGTH(`sop_content`)) AS `max_sop_content_len`
FROM `biz_production_task_step`
WHERE `del_flag` = 0
AND `process_code` = 'SOP-CC-002-E01-01';