Skip to content

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描述
taskTaskMapper.insert新增task数据