| | |
| | | } |
| | | |
| | | @Override |
| | | public MesProTaskDO getTaskByCode(String code) { |
| | | return taskMapper.selectByCode(code); |
| | | } |
| | | |
| | | @Override |
| | | public PageResult<MesProTaskDO> getTaskPage(MesProTaskPageReqVO pageReqVO) { |
| | | return taskMapper.selectPage(pageReqVO); |
| | | } |
| | |
| | | // 1. 校验任务存在 |
| | | MesProTaskDO task = validateTaskExists(pauseReqVO.getId()); |
| | | // 2. 校验状态是否允许停工(如必须是 生产中 或 部分完成) |
| | | if (!ObjectUtils.equalsAny(task.getStatus(), MesProTaskStatusEnum.PREPARE.getStatus())) { |
| | | if (!ObjectUtils.equalsAny(task.getStatus(), MesProTaskStatusEnum.PRODUCING.getStatus(), |
| | | MesProTaskStatusEnum.PARTIAL_FINISHED.getStatus())) { |
| | | throw exception(PRO_TASK_CANNOT_PAUSE); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | // 3. 恢复任务状态 |
| | | Integer resumeStatus = MesProTaskStatusEnum.PREPARE.getStatus(); |
| | | Integer resumeStatus = task.getProducedQuantity() != null |
| | | && task.getProducedQuantity().signum() > 0 |
| | | ? MesProTaskStatusEnum.PARTIAL_FINISHED.getStatus() |
| | | : MesProTaskStatusEnum.PRODUCING.getStatus(); |
| | | taskMapper.updateById(new MesProTaskDO().setId(task.getId()).setStatus(resumeStatus)); |
| | | |
| | | // 4. 更新最新的一条停工记录 |