From 6d67e37ab96516f127e1635e92518109fd1c926c Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期二, 21 四月 2026 14:06:11 +0800
Subject: [PATCH] 料箱码查询优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 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 1c5e211..2090724 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
@@ -1169,6 +1169,14 @@
.set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type))) {
throw new CoolException("婧愬簱浣嶇姸鎬佷慨鏀瑰け璐ワ紒锛�");
}
+ } else if (task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_OUT.type)) {
+ // 绌烘澘鍑哄簱锛氬缓鍗曟椂 D鈫扲锛屽彇娑堟仮澶嶄负绌烘澘 D
+ if (!locService.update(new LambdaUpdateWrapper<Loc>()
+ .eq(Loc::getCode, task.getOrgLoc())
+ .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_R.type)
+ .set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_D.type))) {
+ throw new CoolException("绌烘澘鍑哄簱婧愬簱浣嶆仮澶嶇┖鏉垮け璐ワ紒锛�");
+ }
}
if (!Objects.isNull(task.getWarehType()) && task.getWarehType().equals(WarehType.WAREHOUSE_TYPE_AGV.val)) {
@@ -2800,9 +2808,21 @@
}
}
}
+ // 鍑哄簱浠呬簯浠撴潵婧愬崟鎹弬涓庝笂鎶�
+ if (!isInbound) {
+ boolean hasCloudSource = taskItems.stream().anyMatch(this::hasCloudOrderRef);
+ if (!hasCloudSource) {
+// log.info("鍏�/鍑哄簱缁撴灉涓婃姤寰呭姙璺宠繃锛氭棤浜戜粨鏉ユ簮鍗曟嵁锛宼askId={}", task.getId());
+ log.info("鍏�/鍑哄簱缁撴灉涓婃姤寰呭姙璺宠繃锛氭墜鍔ㄥ垱寤哄嚭搴撳崟鎹笉閫氱煡浜戜粨锛宼askId={}", task.getId());
+ return;
+ }
+ }
ObjectMapper om = new ObjectMapper();
Date now = new Date();
for (TaskItem item : taskItems) {
+ if (!isInbound && !hasCloudOrderRef(item)) {
+ continue;
+ }
String orderNo = isInbound ? sourceToOrderNo.get(item.getSource()) : (item.getPlatOrderCode() != null ? item.getPlatOrderCode() : item.getPlatWorkCode());
if (orderNo == null && isInbound) {
orderNo = item.getPlatOrderCode() != null ? item.getPlatOrderCode() : item.getPlatWorkCode();
@@ -2841,4 +2861,12 @@
log.warn("鍏�/鍑哄簱缁撴灉涓婃姤寰呭姙澶辫触锛宼askId={}锛宨sInbound={}锛歿}", task.getId(), isInbound, e.getMessage());
}
}
+
+ private boolean hasCloudOrderRef(TaskItem item) {
+ if (item == null) {
+ return false;
+ }
+ return StringUtils.isNotBlank(item.getPlatOrderCode())
+ || StringUtils.isNotBlank(item.getPlatWorkCode());
+ }
}
--
Gitblit v1.9.1