Appearance
GET /dm-device/except/repair
触发按钮:无
入参
无
出参
传递对象:ResultData
无
前端校验规则
权限校验
└── repairService(操作按钮)
├── 按钮权限:v-auth: 'repair:exception:add:popup'
└── 条件显示:itemStatus === 0 时才显示
提交拦截校验
└── exceptRepair
└── 命中 this.$confirm 确认后才允许调用;取消确认不调用接口后端逻辑
业务流程:校验异常项可报修 -> 补全设备信息 -> 生成维修工单 -> 回写异常项报修状态
├── 校验异常项可报修
│ ├── 查询异常项:getById :125
│ └── 条件: 仅未处理异常项允许报修 :129-131
├── 补全设备信息
│ └── 查询设备台账:DeviceMainService.getOne :140-142
├── 生成维修工单
│ └── 保存维修工单:RepairWorkOrdersService.saveRepairWorkOrders :146
│ ├── 按设备编号查询设备台账:DeviceMainService.getOne :378-380
│ ├── 生成维修工单号:RedisService.getResetOrderSeqNo :385
│ ├── 初始化工单状态 :387
│ └── 保存维修工单:save :402
└── 回写异常项报修状态
├── 异常项状态改为已报修 :148
├── 绑定维修工单号 :149
├── 记录报修人与时间 :150-151
└── 更新异常项:updateById :153后端校验规则
数据存在性校验
├── 校验异常项是否存在:repair :125-128
│ └── ExceptionCode.EX100010
└── 校验报修目标设备是否存在:saveRepairWorkOrders :378-384
└── ExceptionCode.EX1000006
状态类校验
└── 生效条件: 执行一键报修;条件表达式: itemStatus != EXCEPTION_STATUS_NOT 时禁止报修:repair :129-131
└── ExceptionCode.EX100005涉及数据库表
无