update-repair-orders-assignee.sql 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. -- ==========================================
  2. -- 更新报修订单维修人员数据脚本
  3. -- 功能:将现有报修订单的维修人员更新为拥有"维修人员"角色的真实用户
  4. -- 时间:2025-06-30 14:15:00
  5. -- 说明:确保测试数据的真实性和一致性
  6. -- ==========================================
  7. -- 查看当前拥有"维修人员"角色的用户
  8. SELECT '=== 拥有维修人员角色的用户 ===' as info;
  9. SELECT
  10. u.user_id,
  11. u.user_name,
  12. u.nick_name,
  13. d.dept_name
  14. FROM sys_user u
  15. LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
  16. INNER JOIN sys_user_role ur ON u.user_id = ur.user_id
  17. INNER JOIN sys_role r ON ur.role_id = r.role_id
  18. WHERE r.role_name = '维修人员'
  19. AND u.status = '0'
  20. AND u.del_flag = '0'
  21. ORDER BY u.user_id;
  22. -- 查看当前需要更新的报修订单
  23. SELECT '=== 需要更新的报修订单 ===' as info;
  24. SELECT
  25. id,
  26. order_no,
  27. title,
  28. assignee_id,
  29. assignee_name,
  30. order_status
  31. FROM pm_repair_order
  32. WHERE assignee_id IS NOT NULL
  33. ORDER BY id;
  34. -- 更新报修订单的维修人员
  35. -- 将订单分配给两个维修人员:zwc005(陆雄) 和 zwc007(邹凯)
  36. -- 更新订单 1002, 1004, 1009, 1010 分配给 zwc005(陆雄)
  37. UPDATE pm_repair_order
  38. SET
  39. assignee_id = 2125,
  40. assignee_name = '总务处干事陆雄',
  41. update_time = now(),
  42. update_by = 1
  43. WHERE id IN (1002, 1004, 1009, 1010);
  44. -- 更新订单 1003, 1005, 1008 分配给 zwc007(邹凯)
  45. UPDATE pm_repair_order
  46. SET
  47. assignee_id = 2127,
  48. assignee_name = '总务处干事邹凯',
  49. update_time = now(),
  50. update_by = 1
  51. WHERE id IN (1003, 1005, 1008);
  52. -- 验证更新结果
  53. SELECT '=== 更新后的报修订单 ===' as info;
  54. SELECT
  55. ro.id,
  56. ro.order_no,
  57. ro.title,
  58. ro.assignee_id,
  59. ro.assignee_name,
  60. ro.order_status,
  61. u.user_name as assignee_username,
  62. d.dept_name as assignee_dept
  63. FROM pm_repair_order ro
  64. LEFT JOIN sys_user u ON ro.assignee_id = u.user_id
  65. LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
  66. WHERE ro.assignee_id IS NOT NULL
  67. ORDER BY ro.id;
  68. -- 统计更新结果
  69. SELECT '=== 更新统计 ===' as info;
  70. SELECT
  71. COUNT(*) as total_assigned_orders,
  72. COUNT(CASE WHEN assignee_id = 2125 THEN 1 END) as orders_assigned_to_luoxiong,
  73. COUNT(CASE WHEN assignee_id = 2127 THEN 1 END) as orders_assigned_to_zoukai
  74. FROM pm_repair_order
  75. WHERE assignee_id IS NOT NULL;