Skip to content

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

涉及数据库表