work_order_unification_phase1.sql 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. -- ============================================================
  2. -- 工单融合 Phase 1:菜单收口 + 数据修正 + 删除废弃临时表
  3. -- Date: 2026-05-24
  4. --
  5. -- 执行顺序:
  6. -- 1) 若库中仍有 biz_temp_* 表 → 先执行 merge_work_order_tables.sql
  7. -- 2) 再执行本脚本
  8. --
  9. -- 说明:zkxw.sql 全量基线已无 biz_temp_* 表;本脚本 DROP 用于清理历史库残留。
  10. -- ============================================================
  11. -- 1. 菜单重命名与软删临时工单菜单
  12. UPDATE sys_menu SET menu_name = '质检工单', update_time = NOW()
  13. WHERE id = '70000000000000000000000000000007' AND del_flag = 0;
  14. UPDATE sys_menu SET menu_name = '生产工单', update_time = NOW()
  15. WHERE id = '90000000000000000000000000000011' AND del_flag = 0;
  16. UPDATE sys_menu SET del_flag = 1, update_time = NOW()
  17. WHERE id IN (
  18. '70000000000000000000000000000012',
  19. '90000000000000000000000000000110'
  20. ) AND del_flag = 0;
  21. -- 2. 临时工单 reception_id 空串修正为 NULL(避免 uk_qc_wo_reception 冲突)
  22. UPDATE biz_qc_work_order
  23. SET reception_id = NULL,
  24. protocol_sample_id = NULL,
  25. collection_protocol_id = NULL,
  26. update_time = NOW()
  27. WHERE work_order_type = 'temporary'
  28. AND del_flag = 0
  29. AND (reception_id = '' OR reception_id IS NULL);
  30. UPDATE biz_production_work_order
  31. SET reception_id = NULL,
  32. protocol_sample_id = NULL,
  33. collection_protocol_id = NULL,
  34. update_time = NOW()
  35. WHERE work_order_type = 'temporary'
  36. AND del_flag = 0
  37. AND (reception_id = '' OR reception_id IS NULL);
  38. -- 3. 删除已废弃的临时工单表(ORM/代码已不再使用)
  39. -- 若表内仍有未迁移数据,请先执行 merge_work_order_tables.sql 再 DROP
  40. DROP TABLE IF EXISTS biz_temp_qc_work_order;
  41. DROP TABLE IF EXISTS biz_temp_production_work_order;