Files
xj-platform/db/done/修复应急单参与人员子表数据.sql
lianlonggang f74a2322e4 chore(db): 将已执行完成的 SQL 脚本从 updatesql 迁移至 done 目录
将历史已执行完毕的 SQL 更新脚本统一归档至 db/done/ 目录,
便于区分待执行脚本与已完成脚本。
2026-09-03 10:43:23 +08:00

42 lines
1.1 KiB
Java

-- 修复应急单参与人员子表数据
INSERT INTO emergency_order_operator (id, order_id, operator_type, user_id, join_type, join_date) SELECT
CONCAT(2,LPAD(FLOOR(RAND() * POWER(10, 10)), 10, '0'), LPAD(FLOOR(RAND() * POWER(10, 7)), 7, '0')) AS id,
t.*
FROM
(
SELECT
id AS order_id,
0 AS operator_type,
operation_user_id AS user_id,
0 AS join_type,
operation_response_time AS join_date
FROM
emergency_order
WHERE
operation_user_id IS NOT NULL UNION ALL
SELECT
id AS order_id,
1 AS operator_type,
major_user_id AS user_id,
0 AS join_type,
major_response_time AS join_date
FROM
emergency_order
WHERE
major_user_id IS NOT NULL UNION ALL
SELECT
id AS order_id,
1 AS operator_type,
major_user_two_id AS user_id,
0 AS join_type,
major_response_time AS join_date
FROM
emergency_order
WHERE
major_user_two_id IS NOT NULL
) t
LEFT JOIN emergency_order_operator t1 ON t1.order_id = t.order_id
AND t1.user_id = t.user_id
AND t1.operator_type = t.operator_type
WHERE
t1.id IS NULL;