提交
This commit is contained in:
1 parent
0b50eff3d8
commit
ee364e24aa
323 files changed
+57731
-35766
No files matched your search
@@ -0,0 +1,83 @@
|
||||
-- 历史质检工单:为每工单创建默认检测批次 B01,并回填 batch_id
|
||||
|
||||
-- 注意:按租户/环境执行前请备份;若已存在批次可跳过对应工单
|
||||
|
||||
INSERT INTO `biz_qc_work_order_inspection_batch` (
|
||||
`id`, `work_order_id`, `order_source`, `batch_no`, `batch_name`,
|
||||
`tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`,
|
||||
`create_time`, `update_by`, `update_time`, `del_flag`
|
||||
)
|
||||
SELECT
|
||||
UUID() AS id,
|
||||
wo.id AS work_order_id,
|
||||
CASE wo.work_order_type
|
||||
WHEN 'temporary' THEN 'temporary'
|
||||
WHEN 'outbound' THEN 'outbound'
|
||||
ELSE 'inbound'
|
||||
END AS order_source,
|
||||
CONCAT(wo.work_order_no, '-B01') AS batch_no,
|
||||
CONCAT(DATE_FORMAT(COALESCE(wo.create_time, NOW()), '%Y%m%d'), '检测') AS batch_name,
|
||||
wo.tenant_no,
|
||||
1 AS order_num,
|
||||
'历史数据迁移默认批次' AS remark,
|
||||
wo.create_by,
|
||||
COALESCE(wo.create_dept_id, '') AS create_dept_id,
|
||||
NOW() AS create_time,
|
||||
wo.update_by,
|
||||
NOW() AS update_time,
|
||||
0 AS del_flag
|
||||
FROM `biz_qc_work_order` wo
|
||||
WHERE wo.del_flag = 0
|
||||
AND wo.work_order_status IN ('ypz', 'ywc')
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `biz_qc_work_order_inspection_batch` b
|
||||
WHERE b.work_order_id = wo.id AND b.del_flag = 0
|
||||
);
|
||||
|
||||
-- 回填实验室明细 batch_id
|
||||
UPDATE `biz_qc_work_order_lab_item` li
|
||||
INNER JOIN `biz_qc_work_order_inspection_batch` b
|
||||
ON b.work_order_id = li.work_order_id AND b.del_flag = 0 AND b.batch_no LIKE '%-B01'
|
||||
SET li.batch_id = b.id
|
||||
WHERE li.del_flag = 0 AND (li.batch_id IS NULL OR li.batch_id = '');
|
||||
|
||||
-- 回填第三方明细 batch_id
|
||||
UPDATE `biz_qc_work_order_third_item` ti
|
||||
INNER JOIN `biz_qc_work_order_inspection_batch` b
|
||||
ON b.work_order_id = ti.work_order_id AND b.del_flag = 0 AND b.batch_no LIKE '%-B01'
|
||||
SET ti.batch_id = b.id
|
||||
WHERE ti.del_flag = 0 AND (ti.batch_id IS NULL OR ti.batch_id = '');
|
||||
|
||||
-- 回填任务 batch_id
|
||||
UPDATE `biz_qc_task` t
|
||||
INNER JOIN `biz_qc_work_order_inspection_batch` b
|
||||
ON b.work_order_id = t.work_order_id AND b.del_flag = 0 AND b.batch_no LIKE '%-B01'
|
||||
SET t.batch_id = b.id
|
||||
WHERE t.del_flag = 0 AND (t.batch_id IS NULL OR t.batch_id = '');
|
||||
|
||||
-- 从任务负责人迁移批次负责人(去重)
|
||||
INSERT INTO `biz_qc_batch_assignee` (
|
||||
`id`, `batch_id`, `user_id`, `tenant_no`, `order_num`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
)
|
||||
SELECT
|
||||
UUID(),
|
||||
b.id,
|
||||
ta.user_id,
|
||||
b.tenant_no,
|
||||
0,
|
||||
b.create_by,
|
||||
b.create_dept_id,
|
||||
NOW(),
|
||||
b.update_by,
|
||||
NOW(),
|
||||
0
|
||||
FROM `biz_qc_work_order_inspection_batch` b
|
||||
INNER JOIN `biz_qc_task` t ON t.batch_id = b.id AND t.del_flag = 0
|
||||
INNER JOIN `biz_qc_task_assignee` ta ON ta.task_id = t.id AND ta.del_flag = 0
|
||||
WHERE b.del_flag = 0
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `biz_qc_batch_assignee` ba
|
||||
WHERE ba.batch_id = b.id AND ba.user_id = ta.user_id AND ba.del_flag = 0
|
||||
)
|
||||
GROUP BY b.id, ta.user_id, b.tenant_no, b.create_by, b.create_dept_id, b.update_by;
|
||||
Reference in new issue
Block a user