Appearance
POST /dm-device/patrolTasks/add
Content-Type: application/json
触发按钮:addAjax
入参
无
出参
传递对象:ResultData
无
前端校验规则
权限校验
├── 新增按钮权限
│ └── v-auth: 'routingInspection:task:add:popup'
├── 表单校验
│ ├── deviceCode(设备识别码)
│ │ └── required: true, trigger: blur
│ └── standardCode(巡检标准)
│ ├── required: true, trigger: blur
│ └── 仅在 addForm.deviceCode 有值时可选(表达式:!addForm.deviceCode 时禁用)
└── 提交拦截校验
└── dialogConfirm
└── this.$refs.addForm.validate 未通过时直接拦截提交后端逻辑
业务流程:匹配设备与巡检标准 -> 生成巡检任务 -> 生成巡检工单并确定执行状态 -> 同步标准附件 -> 生成工单检查表
├── 匹配设备与巡检标准
│ ├── 查询设备:DeviceMainService.queryDeviceByNo :115
│ │ └── DeviceMainMapper.queryList :429
│ └── 查询启用的巡检标准:MaintenanceStandardsService.getOne :195-199
├── 生成巡检任务
│ ├── 生成巡检任务编号:RedisService.getResetOrderSeqNo :221
│ │ └── 编号前缀
│ │ └── XJC
│ └── 保存任务:save :239
├── 生成巡检工单并确定执行状态
│ ├── 生成巡检工单编号:RedisService.getResetOrderSeqNo :246
│ │ └── 编号前缀
│ │ └── XJC
│ ├── 工单状态分支 :257-265
│ │ ├── 未指定执行人
│ │ │ └── 初始化工单状态为待下发 :259
│ │ └── 已指定执行人
│ │ └── 初始化工单状态为待执行 :262
│ └── 保存工单:MaintenanceWorkOrdersService.save :271
├── 同步标准附件
│ ├── 查询标准附件:FileClient.listFileWithTarget :273
│ │ └── 查询目标附件:FileService.selectFilesWithTargetId :117-122
│ └── 保存工单附件:FileClient.saveJustFileList :283
│ └── 批量保存附件:FileServiceImpl.saveJustFileList :266-272
└── 生成工单检查表
├── 查询标准检查项:MsCheckListService.list :285-287
├── 合并父级标准检查项
│ └── 查询父级标准检查项:MsCheckListService.list :289-291
├── 保存工单检查项:MwCheckListService.save :310
├── 查询检查项附件:FileClient.listFileWithTarget :311
│ └── 查询目标附件:FileService.selectFilesWithTargetId :117-122
└── 保存检查项附件:FileClient.saveJustFileList :322
└── 批量保存附件:FileServiceImpl.saveJustFileList :266-272后端校验规则
数据存在性校验
└── 校验设备编号对应设备是否存在(条件:接口新增巡检任务;条件表达式:deviceMainService.queryDeviceByNo(deviceNo) 结果为空):115-123
└── ExceptionCode.EX1000006
条件业务约束
└── 校验巡检标准是否存在且为启用未删除状态(条件:接口新增巡检任务;条件表达式:按 standardCode + standardType=2 + standardStatus=1 + isDelete=0 查询结果为空):195-207
└── ExceptionCode.EX1000060涉及数据库表
| 库名.表名 | mapper.statement | 描述 |
|---|---|---|
| task | TaskMapper.insert | 新增task数据 |