| | |
| | | // 1. 校验关联数据 |
| | | validateProductIssueSaveData(createReqVO); |
| | | |
| | | // 2. 从 task 自动带入 workOrderId 和 workstationId |
| | | // 2. 从 task 自动带入 workOrderId 和 workstationId; |
| | | // 生产任务改为可选:手填单据不传 taskId,工单与工作站由人工填写,不自动带入 |
| | | if (createReqVO.getTaskId() != null) { |
| | | MesProTaskDO task = taskService.validateTaskExists(createReqVO.getTaskId()); |
| | | if (createReqVO.getWorkOrderId() == null) { |
| | | createReqVO.setWorkOrderId(task.getWorkOrderId()); |
| | | } |
| | | if (createReqVO.getWorkstationId() == null) { |
| | | createReqVO.setWorkstationId(task.getWorkstationId()); |
| | | } |
| | | } |
| | | |
| | | // 3. 插入主表 |
| | |
| | | // 1.2 校验关联数据 |
| | | validateProductIssueSaveData(updateReqVO); |
| | | |
| | | // 2. 从 task 自动带入 workOrderId 和 workstationId |
| | | // 2. 从 task 自动带入 workOrderId 和 workstationId; |
| | | // 生产任务改为可选:手填单据不传 taskId,工单与工作站由人工填写,不自动带入 |
| | | if (updateReqVO.getTaskId() != null) { |
| | | MesProTaskDO task = taskService.validateTaskExists(updateReqVO.getTaskId()); |
| | | if (updateReqVO.getWorkOrderId() == null) { |
| | | updateReqVO.setWorkOrderId(task.getWorkOrderId()); |
| | | } |
| | | if (updateReqVO.getWorkstationId() == null) { |
| | | updateReqVO.setWorkstationId(task.getWorkstationId()); |
| | | } |
| | | } |
| | | |
| | | // 3. 更新主表 |
| | |
| | | */ |
| | | private void validateProductIssueSaveData(MesWmProductIssueSaveReqVO reqVO) { |
| | | validateCodeUnique(reqVO.getId(), reqVO.getCode()); |
| | | // 校验 task 存在 |
| | | // 生产任务改为可选:传了才校验任务存在,并按任务带出的工单校验已确认 |
| | | if (reqVO.getTaskId() != null) { |
| | | MesProTaskDO task = taskService.validateTaskExists(reqVO.getTaskId()); |
| | | // 校验 task 关联的工单已确认 |
| | | Long workOrderId = reqVO.getWorkOrderId() != null ? reqVO.getWorkOrderId() : task.getWorkOrderId(); |
| | | if (workOrderId != null) { |
| | | workOrderService.validateWorkOrderConfirmed(workOrderId); |
| | | } |
| | | } else if (reqVO.getWorkOrderId() != null) { |
| | | // 没传 taskId 但传了 workOrderId,仍校验工单已确认 |
| | | workOrderService.validateWorkOrderConfirmed(reqVO.getWorkOrderId()); |
| | | } |
| | | if (reqVO.getWorkstationId() != null) { |
| | | workstationService.validateWorkstationExistsAndEnable(reqVO.getWorkstationId()); |
| | | } |