Files
xj-platform/db/updatesql/修复应急单参与人员子表数据.sql
T
2025-12-13 16:10:40 +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;