# 巡检管理模块重构任务列表

## 任务概览

| 阶段 | 任务数 | 预计工作量 |
|------|--------|------------|
| M1: 数据库变更 | 4 | 0.5天 |
| M2: 后端实体和Repository | 8 | 1天 |
| M3: 后端Service层 | 8 | 2天 |
| M4: 后端Controller层 | 8 | 1天 |
| M5: 前端巡检点管理 | 5 | 1.5天 |
| M6: 前端巡检计划管理 | 6 | 2天 |
| M7: 前端任务详情 | 4 | 1天 |
| M8: 测试和验证 | 5 | 1天 |

**总计**: 48个任务

---

## M1: 数据库变更

### M1-T1: 创建巡检路径表
- **类型**: 数据库
- **优先级**: 高
- **描述**: 创建 `ops_inspection_path` 表
- **验收标准**:
  - 表结构符合规格文档
  - 索引创建正确
  - 外键约束正确

### M1-T2: 创建巡检路径点表
- **类型**: 数据库
- **优先级**: 高
- **描述**: 创建 `ops_inspection_path_point` 表
- **验收标准**:
  - 表结构符合规格文档
  - 索引创建正确
  - 外键约束正确

### M1-T3: 创建执行人排班表和打卡记录表
- **类型**: 数据库
- **优先级**: 高
- **描述**: 创建 `ops_inspection_schedule` 和 `ops_inspection_checkin` 表
- **验收标准**:
  - 表结构符合规格文档
  - 索引创建正确
  - 外键约束正确

### M1-T4: 修改现有表结构
- **类型**: 数据库
- **优先级**: 高
- **描述**: 修改 `ops_inspection_plan`, `ops_inspection_point`, `ops_inspection_task` 表
- **验收标准**:
  - 新增字段正确
  - 现有数据不受影响
  - 默认值设置正确

---

## M2: 后端实体和Repository

### M2-T1: 创建InspectionPath实体
- **类型**: 后端
- **优先级**: 高
- **描述**: 创建巡检路径实体类
- **文件**: `ether-ops/src/main/java/com/ether/ops/entity/InspectionPath.java`
- **验收标准**:
  - 实体字段完整
  - 注解正确
  - 编译通过

### M2-T2: 创建InspectionPathPoint实体
- **类型**: 后端
- **优先级**: 高
- **描述**: 创建巡检路径点实体类
- **文件**: `ether-ops/src/main/java/com/ether/ops/entity/InspectionPathPoint.java`
- **验收标准**:
  - 实体字段完整
  - 注解正确
  - 编译通过

### M2-T3: 创建InspectionSchedule实体
- **类型**: 后端
- **优先级**: 高
- **描述**: 创建执行人排班实体类
- **文件**: `ether-ops/src/main/java/com/ether/ops/entity/InspectionSchedule.java`
- **验收标准**:
  - 实体字段完整
  - 注解正确
  - 编译通过

### M2-T4: 创建InspectionCheckin实体
- **类型**: 后端
- **优先级**: 高
- **描述**: 创建打卡记录实体类
- **文件**: `ether-ops/src/main/java/com/ether/ops/entity/InspectionCheckin.java`
- **验收标准**:
  - 实体字段完整
  - 注解正确
  - 编译通过

### M2-T5: 创建Repository接口
- **类型**: 后端
- **优先级**: 高
- **描述**: 创建所有新实体的Repository接口
- **文件**: 
  - `InspectionPathRepository.java`
  - `InspectionPathPointRepository.java`
  - `InspectionScheduleRepository.java`
  - `InspectionCheckinRepository.java`
- **验收标准**:
  - 接口定义完整
  - 自定义查询方法正确
  - 编译通过

### M2-T6: 修改InspectionPlan实体
- **类型**: 后端
- **优先级**: 高
- **描述**: 添加新字段到巡检计划实体
- **文件**: `ether-ops/src/main/java/com/ether/ops/entity/InspectionPlan.java`
- **验收标准**:
  - 新增字段: minCompletionsPerCycle, executorIds, executorNames, pathId
  - 编译通过

### M2-T7: 修改InspectionPoint实体
- **类型**: 后端
- **优先级**: 高
- **描述**: 添加二维码和NFC数据字段
- **文件**: `ether-ops/src/main/java/com/ether/ops/entity/InspectionPoint.java`
- **验收标准**:
  - 新增字段: qrData, nfcData
  - 编译通过

### M2-T8: 修改InspectionTask实体
- **类型**: 后端
- **优先级**: 高
- **描述**: 添加路径相关字段
- **文件**: `ether-ops/src/main/java/com/ether/ops/entity/InspectionTask.java`
- **验收标准**:
  - 新增字段: pathId, plannedPath, actualPath, pathIssues, taskSummary
  - 编译通过

---

## M3: 后端Service层

### M3-T1: 实现批量创建巡检点服务
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现批量创建巡检点功能，支持自动编号
- **文件**: `ether-ops/src/main/java/com/ether/ops/service/InspectionPointService.java`
- **验收标准**:
  - 支持批量创建
  - 支持自动编号
  - 单元测试通过

### M3-T2: 实现二维码生成服务
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现二维码生成功能，存储完整信息
- **文件**: `ether-ops/src/main/java/com/ether/ops/service/InspectionQrCodeService.java`
- **验收标准**:
  - 生成QR Code图片
  - 存储完整JSON数据
  - 支持批量生成
  - 单元测试通过

### M3-T3: 实现NFC数据准备服务
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现NFC数据准备功能
- **文件**: `ether-ops/src/main/java/com/ether/ops/service/InspectionNfcService.java`
- **验收标准**:
  - 生成NFC数据
  - 记录NFC标签ID
  - 单元测试通过

### M3-T4: 实现路径编排服务
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现巡检路径创建、更新、查询功能
- **文件**: `ether-ops/src/main/java/com/ether/ops/service/InspectionPathService.java`
- **验收标准**:
  - 支持路径CRUD
  - 支持路径点排序
  - 支持间隔时间设置
  - 单元测试通过

### M3-T5: 实现排班管理服务
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现执行人排班管理功能
- **文件**: `ether-ops/src/main/java/com/ether/ops/service/InspectionScheduleService.java`
- **验收标准**:
  - 支持按周排班
  - 支持快速排班
  - 单元测试通过

### M3-T6: 实现打卡服务
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现扫码打卡功能
- **文件**: `ether-ops/src/main/java/com/ether/ops/service/InspectionCheckinService.java`
- **验收标准**:
  - 支持二维码打卡
  - 支持NFC打卡
  - 记录打卡时间和位置
  - 单元测试通过

### M3-T7: 实现路径比对服务
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现计划路径与实际路径比对功能
- **文件**: `ether-ops/src/main/java/com/ether/ops/service/InspectionPathComparisonService.java`
- **验收标准**:
  - 比对路径顺序
  - 检测时间间隔问题
  - 生成问题列表
  - 单元测试通过

### M3-T8: 实现计划复制服务
- **类型**: 后端
- **优先级**: 中
- **描述**: 实现巡检计划复制功能
- **文件**: `ether-ops/src/main/java/com/ether/ops/service/InspectionPlanService.java`
- **验收标准**:
  - 复制计划基本信息
  - 复制路径配置
  - 复制执行人设置
  - 复制排班配置
  - 单元测试通过

---

## M4: 后端Controller层

### M4-T1: 实现巡检点批量API
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现巡检点批量创建API
- **文件**: `ether-ops/src/main/java/com/ether/ops/controller/InspectionPointController.java`
- **验收标准**:
  - POST /api/v1/ops/inspection/points/batch
  - 请求/响应格式正确
  - 集成测试通过

### M4-T2: 实现二维码API
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现二维码生成和批量生成API
- **文件**: `ether-ops/src/main/java/com/ether/ops/controller/InspectionPointController.java`
- **验收标准**:
  - POST /api/v1/ops/inspection/points/{id}/generate-qrcode
  - POST /api/v1/ops/inspection/points/batch-qrcode
  - 集成测试通过

### M4-T3: 实现NFC API
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现NFC数据准备API
- **文件**: `ether-ops/src/main/java/com/ether/ops/controller/InspectionPointController.java`
- **验收标准**:
  - GET /api/v1/ops/inspection/points/{id}/nfc-data
  - 集成测试通过

### M4-T4: 实现路径API
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现路径CRUD API
- **文件**: `ether-ops/src/main/java/com/ether/ops/controller/InspectionPathController.java`
- **验收标准**:
  - POST /api/v1/ops/inspection/plans/{planId}/path
  - PUT /api/v1/ops/inspection/plans/{planId}/path
  - GET /api/v1/ops/inspection/plans/{planId}/path
  - 集成测试通过

### M4-T5: 实现排班API
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现排班管理API
- **文件**: `ether-ops/src/main/java/com/ether/ops/controller/InspectionScheduleController.java`
- **验收标准**:
  - POST /api/v1/ops/inspection/plans/{planId}/schedule
  - GET /api/v1/ops/inspection/plans/{planId}/schedule
  - 集成测试通过

### M4-T6: 实现打卡API
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现扫码打卡API
- **文件**: `ether-ops/src/main/java/com/ether/ops/controller/InspectionCheckinController.java`
- **验收标准**:
  - POST /api/v1/ops/inspection/checkin
  - GET /api/v1/ops/inspection/tasks/{taskId}/checkins
  - 集成测试通过

### M4-T7: 实现路径比对API
- **类型**: 后端
- **优先级**: 高
- **描述**: 实现路径比对API
- **文件**: `ether-ops/src/main/java/com/ether/ops/controller/InspectionTaskController.java`
- **验收标准**:
  - GET /api/v1/ops/inspection/tasks/{taskId}/path-comparison
  - 集成测试通过

### M4-T8: 实现计划复制API
- **类型**: 后端
- **优先级**: 中
- **描述**: 实现计划复制API
- **文件**: `ether-ops/src/main/java/com/ether/ops/controller/InspectionPlanController.java`
- **验收标准**:
  - POST /api/v1/ops/inspection/plans/{id}/copy
  - 集成测试通过

---

## M5: 前端巡检点管理

### M5-T1: 实现批量创建组件
- **类型**: 前端
- **优先级**: 高
- **描述**: 实现巡检点批量创建组件，支持表格输入和自动编号
- **文件**: `ether-ui-admin/src/views/ops/inspection/point/components/BatchCreateModal.vue`
- **验收标准**:
  - 表格形式输入
  - 支持自动编号
  - 支持混合模式
  - 组件测试通过

### M5-T2: 实现二维码生成和显示
- **类型**: 前端
- **优先级**: 高
- **描述**: 实现二维码生成、显示、下载功能
- **文件**: `ether-ui-admin/src/views/ops/inspection/point/components/QrCodeModal.vue`
- **验收标准**:
  - 显示二维码图片
  - 支持单个下载
  - 支持批量下载
  - 支持打印

### M5-T3: 实现NFC写入界面
- **类型**: 前端
- **优先级**: 高
- **描述**: 实现NFC数据展示和写入引导界面
- **文件**: `ether-ui-admin/src/views/ops/inspection/point/components/NfcWriteModal.vue`
- **验收标准**:
  - 显示NFC数据
  - 提供写入引导
  - 记录写入状态

### M5-T4: 更新巡检点管理页面
- **类型**: 前端
- **优先级**: 高
- **描述**: 更新巡检点管理页面，集成新功能
- **文件**: `ether-ui-admin/src/views/ops/inspection/point/index.vue`
- **验收标准**:
  - 集成批量创建
  - 集成二维码功能
  - 集成NFC功能
  - 页面功能正常

### M5-T5: 更新巡检点API
- **类型**: 前端
- **优先级**: 高
- **描述**: 添加新的巡检点API调用
- **文件**: `ether-ui-admin/src/api/ops/inspection.ts`
- **验收标准**:
  - 批量创建API
  - 二维码API
  - NFC API
  - 类型定义正确

---

## M6: 前端巡检计划管理

### M6-T1: 实现路径编排组件
- **类型**: 前端
- **优先级**: 高
- **描述**: 实现巡检路径编排组件，支持拖拽排序
- **文件**: `ether-ui-admin/src/views/ops/inspection/plan/components/PathEditor.vue`
- **验收标准**:
  - 拖拽排序功能
  - 间隔时间设置
  - 实时显示总时间
  - 组件测试通过

### M6-T2: 实现执行人选择器
- **类型**: 前端
- **优先级**: 高
- **描述**: 实现人员选择器，支持筛选本部门人员
- **文件**: `ether-ui-admin/src/components/PersonnelSelector.vue`
- **验收标准**:
  - 支持多选
  - 支持部门筛选
  - 支持权限筛选
  - 组件测试通过

### M6-T3: 实现排班管理组件
- **类型**: 前端
- **优先级**: 高
- **描述**: 实现按周循环排班管理组件
- **文件**: `ether-ui-admin/src/views/ops/inspection/plan/components/ScheduleEditor.vue`
- **验收标准**:
  - 周视图展示
  - 支持快速排班
  - 支持轮流排班
  - 组件测试通过

### M6-T4: 更新巡检计划表单
- **类型**: 前端
- **优先级**: 高
- **描述**: 更新巡检计划表单，添加新字段
- **文件**: `ether-ui-admin/src/views/ops/inspection/plan/index.vue`
- **验收标准**:
  - 添加最少完成次数字段
  - 集成执行人选择
  - Tab页切换正常

### M6-T5: 实现计划复制功能
- **类型**: 前端
- **优先级**: 中
- **描述**: 实现巡检计划复制功能
- **文件**: `ether-ui-admin/src/views/ops/inspection/plan/index.vue`
- **验收标准**:
  - 复制按钮
  - 复制弹窗
  - 复制成功提示

### M6-T6: 更新巡检计划API
- **类型**: 前端
- **优先级**: 高
- **描述**: 添加新的巡检计划API调用
- **文件**: `ether-ui-admin/src/api/ops/inspection.ts`
- **验收标准**:
  - 路径API
  - 排班API
  - 复制API
  - 类型定义正确

---

## M7: 前端任务详情

### M7-T1: 实现时间线对比组件
- **类型**: 前端
- **优先级**: 高
- **描述**: 实现计划路径与实际路径的时间线对比展示
- **文件**: `ether-ui-admin/src/views/ops/inspection/task/components/PathTimeline.vue`
- **验收标准**:
  - 时间线展示
  - 计划路径虚线
  - 实际路径实线
  - 问题点红色标记
  - 组件测试通过

### M7-T2: 实现问题标记展示
- **类型**: 前端
- **优先级**: 高
- **描述**: 实现问题标记和详情展示
- **文件**: `ether-ui-admin/src/views/ops/inspection/task/components/IssueDisplay.vue`
- **验收标准**:
  - 问题列表展示
  - 问题详情弹窗
  - 问题照片展示
  - 组件测试通过

### M7-T3: 实现任务简报组件
- **类型**: 前端
- **优先级**: 高
- **描述**: 实现任务简报组件，显示问题摘要
- **文件**: `ether-ui-admin/src/views/ops/inspection/task/components/TaskSummary.vue`
- **验收标准**:
  - 任务状态展示
  - 完成进度展示
  - 问题摘要展示
  - 组件测试通过

### M7-T4: 更新任务详情页面
- **类型**: 前端
- **优先级**: 高
- **描述**: 更新任务详情页面，集成新组件
- **文件**: `ether-ui-admin/src/views/ops/inspection/task/index.vue`
- **验收标准**:
  - 集成时间线组件
  - 集成问题展示
  - 集成简报组件
  - 页面功能正常

---

## M8: 测试和验证

### M8-T1: 后端单元测试
- **类型**: 测试
- **优先级**: 高
- **描述**: 编写所有新Service的单元测试
- **验收标准**:
  - 测试覆盖率 > 80%
  - 所有测试通过

### M8-T2: 后端集成测试
- **类型**: 测试
- **优先级**: 高
- **描述**: 编写所有新API的集成测试
- **验收标准**:
  - 所有API测试通过
  - 测试覆盖率 > 70%

### M8-T3: 前端组件测试
- **类型**: 测试
- **优先级**: 高
- **描述**: 编写关键组件的单元测试
- **验收标准**:
  - 关键组件测试通过
  - 测试覆盖率 > 60%

### M8-T4: E2E测试
- **类型**: 测试
- **优先级**: 高
- **描述**: 编写端到端测试场景
- **验收标准**:
  - 巡检点批量创建流程
  - 路径编排流程
  - 排班管理流程
  - 打卡流程
  - 路径比对流程
  - 所有测试通过

### M8-T5: 功能验证
- **类型**: 测试
- **优先级**: 高
- **描述**: 完整功能验证
- **验收标准**:
  - 启动所有服务
  - 验证所有功能
  - 修复发现的问题
