maintenance_work_order.sql 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. -- ----------------------------
  2. -- 维保工单表
  3. -- ----------------------------
  4. DROP TABLE IF EXISTS `wl_maintenance_work_order`;
  5. CREATE TABLE `wl_maintenance_work_order`
  6. (
  7. `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '工单ID',
  8. `order_code` VARCHAR(50) NOT NULL COMMENT '工单编码',
  9. `order_status` VARCHAR(20) NOT NULL DEFAULT 'draft' COMMENT '工单状态:draft-草稿,to_assign-待派单,assigned-已派单,accepted-已接单,processing-处理中,paused-暂停中,to_approve-待审批,suspended-已挂起,completed-已完成',
  10. `maintenance_center` VARCHAR(100) NULL DEFAULT NULL COMMENT '维保中心',
  11. `wind_farm` VARCHAR(100) NULL DEFAULT NULL COMMENT '风电场',
  12. `turbine_brand_model` VARCHAR(100) NULL DEFAULT NULL COMMENT '风机品牌/型号',
  13. `maintenance_plan_code` VARCHAR(50) NULL DEFAULT NULL COMMENT '维保计划编号',
  14. `planned_repair_date` DATETIME NULL DEFAULT NULL COMMENT '计划检修日期',
  15. `order_source` VARCHAR(50) NULL DEFAULT NULL COMMENT '工单来源',
  16. `assign_time` DATETIME NULL DEFAULT NULL COMMENT '派单时间',
  17. `assign_user_id` BIGINT(20) NULL DEFAULT NULL COMMENT '派单人ID',
  18. `assign_user_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '派单人姓名',
  19. `accept_time` DATETIME NULL DEFAULT NULL COMMENT '接单时间',
  20. `accept_user_id` BIGINT(20) NULL DEFAULT NULL COMMENT '接单人ID',
  21. `accept_user_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '接单人姓名',
  22. `team_leader_id` BIGINT(20) NULL DEFAULT NULL COMMENT '班组组长ID',
  23. `team_leader_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '班组组长姓名',
  24. `work_group_member_id` BIGINT(20) NULL DEFAULT NULL COMMENT '工作组成员ID',
  25. `work_group_member_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '工作组成员姓名',
  26. `suspend_reason` VARCHAR(500) NULL DEFAULT NULL COMMENT '挂起原因',
  27. `suspend_time` DATETIME NULL DEFAULT NULL COMMENT '挂起时间',
  28. `restart_time` DATETIME NULL DEFAULT NULL COMMENT '重启时间',
  29. `complete_time` DATETIME NULL DEFAULT NULL COMMENT '完成时间',
  30. `create_by` VARCHAR(64) NULL DEFAULT NULL COMMENT '创建者',
  31. `create_time` DATETIME NULL DEFAULT NULL COMMENT '创建时间',
  32. `update_by` VARCHAR(64) NULL DEFAULT NULL COMMENT '更新者',
  33. `update_time` DATETIME NULL DEFAULT NULL COMMENT '更新时间',
  34. `remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '备注',
  35. PRIMARY KEY (`id`) USING BTREE,
  36. UNIQUE INDEX `idx_order_code` (`order_code`) USING BTREE COMMENT '工单编码唯一索引',
  37. INDEX `idx_order_status` (`order_status`) USING BTREE COMMENT '工单状态索引',
  38. INDEX `idx_maintenance_center` (`maintenance_center`) USING BTREE COMMENT '维保中心索引',
  39. INDEX `idx_wind_farm` (`wind_farm`) USING BTREE COMMENT '风电场索引',
  40. INDEX `idx_order_source` (`order_source`) USING BTREE COMMENT '工单来源索引',
  41. INDEX `idx_create_time` (`create_time`) USING BTREE COMMENT '创建时间索引'
  42. ) ENGINE = InnoDB
  43. AUTO_INCREMENT = 1
  44. CHARACTER SET = utf8mb4
  45. COLLATE = utf8mb4_general_ci COMMENT = '维保工单表'
  46. ROW_FORMAT = Dynamic;
  47. -- ----------------------------
  48. -- 工单流转记录表
  49. -- ----------------------------
  50. DROP TABLE IF EXISTS `wl_work_order_flow`;
  51. CREATE TABLE `wl_work_order_flow`
  52. (
  53. `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '流转记录ID',
  54. `order_id` BIGINT(20) NOT NULL COMMENT '工单ID',
  55. `order_code` VARCHAR(50) NOT NULL COMMENT '工单编码',
  56. `action_type` VARCHAR(50) NOT NULL COMMENT '操作类型:create-创建,assign-派单,accept-接单,process-处理,pause-暂停,suspend-挂起,restart-重启,approve-审批,complete-完成',
  57. `from_status` VARCHAR(20) NULL DEFAULT NULL COMMENT '原状态',
  58. `to_status` VARCHAR(20) NOT NULL COMMENT '目标状态',
  59. `operator_id` BIGINT(20) NULL DEFAULT NULL COMMENT '操作人ID',
  60. `operator_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '操作人姓名',
  61. `action_time` DATETIME NOT NULL COMMENT '操作时间',
  62. `action_remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '操作备注',
  63. `create_by` VARCHAR(64) NULL DEFAULT NULL COMMENT '创建者',
  64. `create_time` DATETIME NULL DEFAULT NULL COMMENT '创建时间',
  65. PRIMARY KEY (`id`) USING BTREE,
  66. INDEX `idx_order_id` (`order_id`) USING BTREE COMMENT '工单ID索引',
  67. INDEX `idx_order_code` (`order_code`) USING BTREE COMMENT '工单编码索引',
  68. INDEX `idx_action_time` (`action_time`) USING BTREE COMMENT '操作时间索引'
  69. ) ENGINE = InnoDB
  70. AUTO_INCREMENT = 1
  71. CHARACTER SET = utf8mb4
  72. COLLATE = utf8mb4_general_ci COMMENT = '工单流转记录表'
  73. ROW_FORMAT = Dynamic;
  74. -- ----------------------------
  75. -- 插入测试数据
  76. -- ----------------------------
  77. INSERT INTO `wl_maintenance_work_order` VALUES (1, 'WO2025100001', 'draft', '华北维保中心', '张北风电场', '金风GW121/2500', 'MP2025100001', '2025-10-30 08:00:00', '计划维护', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'admin', '2025-10-25 10:00:00', NULL, NULL, '定期维保工单');
  78. INSERT INTO `wl_maintenance_work_order` VALUES (2, 'WO2025100002', 'to_assign', '华东维保中心', '如东风电场', '远景EN-156/4.5', 'MP2025100002', '2025-10-28 09:00:00', '故障维修', NULL, NULL, NULL, NULL, NULL, NULL, 1, '张三', NULL, NULL, NULL, NULL, NULL, NULL, 'admin', '2025-10-25 11:00:00', NULL, NULL, '紧急故障处理');
  79. INSERT INTO `wl_maintenance_work_order` VALUES (3, 'WO2025100003', 'assigned', '西北维保中心', '酒泉风电场', 'Vestas V150/4.2', 'MP2025100003', '2025-11-01 10:00:00', '计划维护', '2025-10-25 14:00:00', 1, '管理员', NULL, NULL, NULL, 2, '李四', NULL, NULL, NULL, NULL, NULL, NULL, 'admin', '2025-10-25 09:00:00', 'admin', '2025-10-25 14:00:00', '年度大修');