| | |
| | | rcsApi != null ? rcsApi.getPort() : "null"); |
| | | return; |
| | | } |
| | | |
| | | // 同料箱号规则:101 任务所在料箱号下若已存在 196/198/199/200 任务,则不向 RCS 发送该 101 任务(/api/open/bus/submit) |
| | | List<Integer> higherStatuses = Arrays.asList(TaskStsType.AWAIT.id, TaskStsType.COMPLETE_OUT.id, TaskStsType.WAVE_SEED.id, TaskStsType.UPDATED_OUT.id); |
| | | List<Task> higherTasks = this.list(new LambdaQueryWrapper<Task>() |
| | | .in(Task::getTaskStatus, higherStatuses) |
| | | .isNotNull(Task::getBarcode) |
| | | .ne(Task::getBarcode, "")); |
| | | Set<String> barcodesWithHigher = higherTasks.stream().map(Task::getBarcode).filter(StringUtils::isNotBlank).collect(Collectors.toSet()); |
| | | List<Task> toSend = tasks.stream() |
| | | .filter(t -> { |
| | | if (TaskStsType.GENERATE_OUT.id.equals(t.getTaskStatus()) && StringUtils.isNotBlank(t.getBarcode()) && barcodesWithHigher.contains(t.getBarcode())) { |
| | | log.debug("同料箱号{}下已存在196/198/199/200任务,跳过101任务下发:taskId={}", t.getBarcode(), t.getId()); |
| | | return false; |
| | | } |
| | | return true; |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | if (toSend.isEmpty()) { |
| | | log.debug("过滤后无待下发任务"); |
| | | return; |
| | | } |
| | | tasks = toSend; |
| | | |
| | | String pubTakUrl = rcsApi.getHost() + ":" + rcsApi.getPort() + RcsConstant.pubTask; |
| | | |
| | | |
| | | for (Task task : tasks) { |
| | | WcsTaskParams taskParams = new WcsTaskParams(); |
| | | List<TaskItemParam> items = new ArrayList<>(); |