Skip to content

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_handelexceptionItemHandelService.changeStatusToFinishexceptionItemHandelService
maintenance_tasksmaintenanceTasksService.saveMaintenanceTasksmaintenanceTasksService
device_maindeviceMainService.updateByIddeviceMainService