From ad5fef776eb9d66a0fcfc2ddf89698c5642e0eec Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期五, 06 三月 2026 08:36:24 +0800
Subject: [PATCH] 增加一个定时任务。如果拣货出库过程中,相同料箱号,存在(199 ,200)的任务 并且同时存在 101,196的任务 则101和196的任务会 自动变成199
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index 7ebc3ce..27c07f7 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -1984,9 +1984,30 @@
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浠诲姟涓嬪彂锛歵askId={}", 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<>();
--
Gitblit v1.9.1