| | |
| | | @Override |
| | | public R getOutStockTaskItem(String barcode) { |
| | | LambdaQueryWrapper<Task> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | lambdaQueryWrapper.eq(Task::getBarcode, barcode); |
| | | lambdaQueryWrapper.eq(Task::getBarcode, barcode) |
| | | .orderByDesc(Task::getId) |
| | | .last("limit 1"); |
| | | Task task = taskService.getOne(lambdaQueryWrapper); |
| | | if (null == task) { |
| | | return R.error("未查询到相关任务"); |
| | |
| | | @Synchronized |
| | | public R saveOutTaskSts(String barcode) { |
| | | LambdaQueryWrapper<Task> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | lambdaQueryWrapper.eq(Task::getBarcode, barcode); |
| | | lambdaQueryWrapper.eq(Task::getBarcode, barcode) |
| | | .orderByDesc(Task::getId) |
| | | .last("limit 1"); |
| | | Task task = taskService.getOne(lambdaQueryWrapper); |
| | | if (null == task) { |
| | | throw new CoolException("未找到容器号对应任务"); |
| | | throw new CoolException("未找到料箱码对应任务"); |
| | | } |
| | | if (!task.getTaskStatus().equals(TaskStsType.WAVE_SEED.id)) { |
| | | // 允许 199(WAVE_SEED 播种中/待确认)或 196(AWAIT 等待确认),与盘点 PDA 逻辑一致 |
| | | if (!task.getTaskStatus().equals(TaskStsType.WAVE_SEED.id) |
| | | && !task.getTaskStatus().equals(TaskStsType.AWAIT.id)) { |
| | | return R.error("任务状态不是等待确认"); |
| | | } |
| | | |
| | |
| | | if (Cools.isEmpty(barcode)) { |
| | | throw new CoolException("参数有误"); |
| | | } |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, barcode)); |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, barcode) |
| | | .orderByDesc(Task::getId) |
| | | .last("limit 1")); |
| | | if (null == task) { |
| | | throw new CoolException("未找到容器号对应任务"); |
| | | throw new CoolException("未找到料箱码对应任务"); |
| | | } |
| | | if (!task.getTaskStatus().equals(TaskStsType.WAVE_SEED.id)) { |
| | | return R.error("任务状态不是揀料狀態"); |
| | |
| | | // containerWaveDto.setTaskItem(taskItem); |
| | | // Wave wave = waveService.getById(taskItem.getSourceId()); |
| | | // if (null == wave) { |
| | | // throw new CoolException("未找到容器号对应波次"); |
| | | // throw new CoolException("未找到料箱码对应波次"); |
| | | // } |
| | | // List<WaveOrderRela> waveOrderRelas = waveOrderRelaService.list(new LambdaQueryWrapper<WaveOrderRela>() |
| | | // .eq(WaveOrderRela::getWaveId, wave.getId())); |
| | |
| | | return R.error("票号不能为空!!"); |
| | | } |
| | | if (Objects.isNull(param.get("barcode"))) { |
| | | return R.error("容器号不能为空!!"); |
| | | return R.error("料箱码不能为空!!"); |
| | | } |
| | | if (Objects.isNull(param.get("orderId"))) { |
| | | return R.error("订单ID不能为空!!"); |
| | | } |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, param.get("barcode").toString())); |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, param.get("barcode").toString()) |
| | | .orderByDesc(Task::getId) |
| | | .last("limit 1")); |
| | | if (Objects.isNull(task)) { |
| | | throw new CoolException("数据错误,任务档已不存在!!"); |
| | | } |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public synchronized R wavePickItems(WavePickItemsParams params) { |
| | | if (Objects.isNull(params.getBarcode())) { |
| | | return R.error("托盘码不能为空!!"); |
| | | return R.error("料箱码不能为空!!"); |
| | | } |
| | | if (Objects.isNull(params.getOrderId())) { |
| | | return R.error("订单ID不能为空!!"); |
| | |
| | | if (Objects.isNull(params.getTaskItems()) || params.getTaskItems().isEmpty()) { |
| | | return R.error("拣货明细不能为空!"); |
| | | } |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, params.getBarcode())); |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, params.getBarcode()) |
| | | .orderByDesc(Task::getId) |
| | | .last("limit 1")); |
| | | if (null == task) { |
| | | return R.error("未找到托盘对应的任务"); |
| | | return R.error("未找到料箱对应的任务"); |
| | | } |
| | | if (!task.getTaskStatus().equals(TaskStsType.WAVE_SEED.id)) { |
| | | return R.error("任务状态不是揀料狀態"); |
| | |
| | | .in(Task::getTaskType, integers) |
| | | .eq(Task::getBarcode, params.get("barcode")), false); |
| | | if (Objects.isNull(task)) { |
| | | return R.error("托盘所在任务不存在!!"); |
| | | return R.error("料箱所在任务不存在!!"); |
| | | } |
| | | List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId())); |
| | | taskItems.forEach(taskItem -> { |
| | |
| | | return R.error("数据错误!!"); |
| | | } |
| | | |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, containerWaveParam.getContainer())); |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, containerWaveParam.getContainer()) |
| | | .orderByDesc(Task::getId) |
| | | .last("limit 1")); |
| | | if (null == task) { |
| | | return R.error("未找到托盘对应的任务"); |
| | | return R.error("未找到料箱对应的任务"); |
| | | } |
| | | if (!task.getTaskStatus().equals(TaskStsType.WAVE_SEED.id)) { |
| | | return R.error("任务状态不是待揀狀態"); |