-- ---------------------------- -- 维保工单表 -- ---------------------------- DROP TABLE IF EXISTS `wl_maintenance_work_order`; CREATE TABLE `wl_maintenance_work_order` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '工单ID', `order_code` VARCHAR(50) NOT NULL COMMENT '工单编码', `order_status` VARCHAR(20) NOT NULL DEFAULT 'draft' COMMENT '工单状态:draft-草稿,to_assign-待派单,assigned-已派单,accepted-已接单,processing-处理中,paused-暂停中,to_approve-待审批,suspended-已挂起,completed-已完成', `maintenance_center` VARCHAR(100) NULL DEFAULT NULL COMMENT '维保中心', `wind_farm` VARCHAR(100) NULL DEFAULT NULL COMMENT '风电场', `turbine_brand_model` VARCHAR(100) NULL DEFAULT NULL COMMENT '风机品牌/型号', `maintenance_plan_code` VARCHAR(50) NULL DEFAULT NULL COMMENT '维保计划编号', `planned_repair_date` DATETIME NULL DEFAULT NULL COMMENT '计划检修日期', `order_source` VARCHAR(50) NULL DEFAULT NULL COMMENT '工单来源', `assign_time` DATETIME NULL DEFAULT NULL COMMENT '派单时间', `assign_user_id` BIGINT(20) NULL DEFAULT NULL COMMENT '派单人ID', `assign_user_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '派单人姓名', `accept_time` DATETIME NULL DEFAULT NULL COMMENT '接单时间', `accept_user_id` BIGINT(20) NULL DEFAULT NULL COMMENT '接单人ID', `accept_user_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '接单人姓名', `team_leader_id` BIGINT(20) NULL DEFAULT NULL COMMENT '班组组长ID', `team_leader_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '班组组长姓名', `work_group_member_id` BIGINT(20) NULL DEFAULT NULL COMMENT '工作组成员ID', `work_group_member_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '工作组成员姓名', `suspend_reason` VARCHAR(500) NULL DEFAULT NULL COMMENT '挂起原因', `suspend_time` DATETIME NULL DEFAULT NULL COMMENT '挂起时间', `restart_time` DATETIME NULL DEFAULT NULL COMMENT '重启时间', `complete_time` DATETIME NULL DEFAULT NULL COMMENT '完成时间', `create_by` VARCHAR(64) NULL DEFAULT NULL COMMENT '创建者', `create_time` DATETIME NULL DEFAULT NULL COMMENT '创建时间', `update_by` VARCHAR(64) NULL DEFAULT NULL COMMENT '更新者', `update_time` DATETIME NULL DEFAULT NULL COMMENT '更新时间', `remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `idx_order_code` (`order_code`) USING BTREE COMMENT '工单编码唯一索引', INDEX `idx_order_status` (`order_status`) USING BTREE COMMENT '工单状态索引', INDEX `idx_maintenance_center` (`maintenance_center`) USING BTREE COMMENT '维保中心索引', INDEX `idx_wind_farm` (`wind_farm`) USING BTREE COMMENT '风电场索引', INDEX `idx_order_source` (`order_source`) USING BTREE COMMENT '工单来源索引', INDEX `idx_create_time` (`create_time`) USING BTREE COMMENT '创建时间索引' ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '维保工单表' ROW_FORMAT = Dynamic; -- ---------------------------- -- 工单流转记录表 -- ---------------------------- DROP TABLE IF EXISTS `wl_work_order_flow`; CREATE TABLE `wl_work_order_flow` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '流转记录ID', `order_id` BIGINT(20) NOT NULL COMMENT '工单ID', `order_code` VARCHAR(50) NOT NULL COMMENT '工单编码', `action_type` VARCHAR(50) NOT NULL COMMENT '操作类型:create-创建,assign-派单,accept-接单,process-处理,pause-暂停,suspend-挂起,restart-重启,approve-审批,complete-完成', `from_status` VARCHAR(20) NULL DEFAULT NULL COMMENT '原状态', `to_status` VARCHAR(20) NOT NULL COMMENT '目标状态', `operator_id` BIGINT(20) NULL DEFAULT NULL COMMENT '操作人ID', `operator_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '操作人姓名', `action_time` DATETIME NOT NULL COMMENT '操作时间', `action_remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '操作备注', `create_by` VARCHAR(64) NULL DEFAULT NULL COMMENT '创建者', `create_time` DATETIME NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_order_id` (`order_id`) USING BTREE COMMENT '工单ID索引', INDEX `idx_order_code` (`order_code`) USING BTREE COMMENT '工单编码索引', INDEX `idx_action_time` (`action_time`) USING BTREE COMMENT '操作时间索引' ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '工单流转记录表' ROW_FORMAT = Dynamic; -- ---------------------------- -- 插入测试数据 -- ---------------------------- 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, '定期维保工单'); 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, '紧急故障处理'); 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', '年度大修');