fix(issue-15): 修复巡检管理系统7类代码质量问题
A. 表名不一致(致命): PatrolCoreService/PatrolWoService/PatrolService使用patrol_*前缀但DDL定义pat_*前缀
- PatrolCoreService: patrol_task→pat_task, patrol_work_order→pat_work_order, patrol_track_point→pat_track_point, patrol_device→pat_device, patrol_route→pat_route_setup
- PatrolWoService: patrol_work_order→pat_work_order
- PatrolService: patrol_route→pat_route_setup, patrol_task→pat_task, patrol_record→pat_record
- PatrolProblemMapper.xml: patrol_problem→pat_problem
- WorkOrderMapper.xml: work_order→pat_wo_detail
- WorkOrderProcessMapper.xml: work_order_process→pat_wo_process
B. 缺失DDL表(致命): 新增V89__patrol_fix.sql
- pat_record(巡检记录), pat_problem(巡检问题), pat_wo_detail(工单详情), pat_wo_process(工单处理记录)
- pat_task补列: task_date, assignee_id, plan_start, plan_end, actual_start, actual_end
- pat_route_setup补列: route_points, estim_duration, area
- pat_track_point补列: recorded_at; pat_device补列: area
- 创建序列: seq_patrol_problem, seq_pat_wo_detail
C. WorkOrderServiceImpl NPE Bug(高): selectByProblemId().setWorkOrderId()不持久化且可能NPE
- 改为注入PatrolProblemMapper并调用updateStatus(id, status, workOrderId)
D. WorkOrderMapper.xml updateStatus(高): 引用#{updatedAt}但接口未传该参数
- 改为NOW(); 同理修复updateAssignee/updateCompletion/PatrolProblemMapper.xml updateStatus
E. PatrolApplication缺@MapperScan(中): 添加@MapperScan('com.water.patrol.mapper')
F. 误放测试文件(中): 删除src/main/java/patrol/下2个无效测试(引用不存在的PatrolManager类)
G. 缺测试(中): 新增PatrolProblemWorkOrderTest(20个测试) + PatrolCoreWoServiceTest(25个测试)
覆盖: ProblemService CRUD/统计/自动工单, WorkOrderService创建/分派/处理/完成/统计,
PatrolCoreService总览/轨迹/台账/设备, PatrolWoService CRUD/列表/统计,
PatrolService路线/任务/记录/问题上报/统计, PatrolOverviewService总览/月报
H. PatrolService.getRoutes: status=1(int)改为status='active'(varchar)对齐DDL