Appearance
POST /dm-device/repairWorkOrders/orderStatusUpdate
Content-Type: application/json
触发按钮:orderStatusUpdateAjax
入参
无
出参
传递对象:ResultData
无
前端校验规则
权限校验
├── 指派按钮
│ └── v-auth: 'repair:order:assign:popup'
├── 关单按钮
│ └── v-auth: 'repair:order:closeOrder:popup'
├── 签到按钮
│ ├── v-auth: 'repair:order:signIn:popup'
│ └── 按钮禁用条件:row.orderStatus !== 1
├── 确认按钮
│ ├── v-auth: 'repair:order:confirm:popup'
│ └── 按钮禁用条件:!row.isNeedConfirm
└── 驳回按钮
├── v-auth: 'repair:order:reject:popup'
└── 按钮禁用条件:!row.isNeedConfirm
提交拦截校验
├── 指派(action=1)
│ ├── 未选择工单时拦截提交
│ ├── 所选工单必须全部满足:item.orderStatus === 1 || item.orderStatus === 2
│ └── userNo 为空时拦截提交
└── 关单(action=4)
├── 未选择工单时拦截提交
└── 所选工单必须全部满足:item.orderStatus !== 3 && item.orderStatus !== 4 && item.orderStatus !== 5后端逻辑
业务流程:查询目标工单 -> 按操作类型推进工单状态 -> 批量更新工单 -> 回写异常项 -> 已确认工单累计维修次数并按阈值触发保养任务
├── 查询工单详情:RepairWorkOrdersServiceImpl.getRepairWorkOrdersById :757
│ └── repairWorkOrdersMapper.selectRepairWorkOrdersById :231
├── 按操作类型推进工单状态
│ ├── 指派
│ ├── 确认
│ ├── 驳回
│ ├── 关闭
│ └── 签到
├── 批量更新工单:updateBatchById :816
├── 回写异常项状态:ExceptionItemHandelService.changeStatusToFinish :820
│ └── ExceptionItemHandelServiceImpl.changeStatusToFinish :58-65
└── 按阈值触发保养任务
├── 查询设备台账:DeviceMainService.getOne :824-826
├── 新增保养任务:MaintenanceTasksService.saveMaintenanceTasks :833
└── 回写设备台账:DeviceMainService.updateById :838后端校验规则
前置条件校验
├── 校验更新对象不能为空:orderStatusUpdate :745-747
│ └── ExceptionCode.EX100002
├── 校验工单ID集合不能为空:orderStatusUpdate :748-750
│ └── ExceptionCode.EX100013
├── 校验工单ID集合去空后仍需存在有效ID:orderStatusUpdate :751-753
│ └── ExceptionCode.EX100013
└── 校验工单是否存在:getRepairWorkOrdersById :230-234
└── ExceptionCode.EX1000037
条件业务约束
└── 校验操作类型必须有效:orderStatusUpdate :808-810
└── ExceptionCode.EX90187
状态类校验
├── 已完成或已关闭工单不可指派:orderStatusUpdate :758-763
│ └── ExceptionCode.EX1000038
├── 已维修工单不可指派:orderStatusUpdate :764-767
│ └── ExceptionCode.EX1000046
├── 仅已维修工单可确认:orderStatusUpdate :770-775
│ └── ExceptionCode.EX1000047
├── 仅已维修工单可驳回:orderStatusUpdate :780-785
│ └── ExceptionCode.EX1000048
├── 已完成或已关闭工单不可关闭:orderStatusUpdate :787-792
│ └── ExceptionCode.EX1000038
├── 已维修工单不可关闭:orderStatusUpdate :793-796
│ └── ExceptionCode.EX1000049
└── 仅未受理工单可签到:orderStatusUpdate :798-803
└── ExceptionCode.EX1000050涉及数据库表
| 库名.表名 | mapper.statement | 描述 |
|---|---|---|
| exception_item_handel | exceptionItemHandelService.changeStatusToFinish | exceptionItemHandelService |
| maintenance_tasks | maintenanceTasksService.saveMaintenanceTasks | maintenanceTasksService |
| device_main | deviceMainService.updateById | deviceMainService |