add_mes_device_prevent_task_batch.sql 923 B

12345678910111213141516171819202122
  1. -- 维护计划按批次归组:同一份周期计划共用 batch_id,列表按批次展示一级,展开看各期任务
  2. ALTER TABLE `mes_device_prevent_task`
  3. ADD COLUMN `batch_id` varchar(64) DEFAULT NULL COMMENT '计划批次' AFTER `prevent_id`;
  4. UPDATE `mes_device_prevent_task` t
  5. JOIN (
  6. SELECT MIN(id) AS batch_id, prevent_id, device_id, IFNULL(user_code, '') AS user_code, create_date
  7. FROM `mes_device_prevent_task`
  8. GROUP BY prevent_id, device_id, IFNULL(user_code, ''), create_date
  9. ) g ON t.prevent_id <=> g.prevent_id
  10. AND t.device_id <=> g.device_id
  11. AND IFNULL(t.user_code, '') = g.user_code
  12. AND t.create_date <=> g.create_date
  13. SET t.batch_id = g.batch_id
  14. WHERE t.batch_id IS NULL OR t.batch_id = '';
  15. UPDATE `mes_device_prevent_task`
  16. SET `batch_id` = `id`
  17. WHERE `batch_id` IS NULL OR `batch_id` = '';
  18. ALTER TABLE `mes_device_prevent_task`
  19. ADD INDEX `idx_prevent_task_batch_id` (`batch_id`);