From 499ee6d6eb0e0c38cdc23ebe3c320f46dd498d0a Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 13 一月 2025 16:07:21 +0800
Subject: [PATCH] 添加isEmpty参数优化库位查找逻辑
---
src/main/java/com/zy/common/service/AgvCommonService.java | 4 ++--
src/main/java/com/zy/asrs/utils/LocUtils.java | 14 +++++++++-----
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 2 +-
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index 8627132..4b4c04e 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -103,7 +103,7 @@
List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectList(new EntityWrapper<AgvWaitPakin>().eq("supp_code", agvBasDevp.getBarcode()));
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
- AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(), agvBasDevp.getFloor(), false, false);
+ AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(), agvBasDevp.getFloor(), false, false,null);
//鐢熸垚宸ヤ綔妗�
AgvWrkMast wrkMast = createWrkMast(1, 201L, agvBasDevp.getDevNo(), agvLocMast.getLocNo(), agvBasDevp.getBarcode(), now, userId, agvBasDevp.getLocType2(), agvLocMast.getPltType());
//鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱
diff --git a/src/main/java/com/zy/asrs/utils/LocUtils.java b/src/main/java/com/zy/asrs/utils/LocUtils.java
index 53db48a..5471092 100644
--- a/src/main/java/com/zy/asrs/utils/LocUtils.java
+++ b/src/main/java/com/zy/asrs/utils/LocUtils.java
@@ -24,20 +24,24 @@
* @param factory
* @return
*/
- public AgvLocMast getLocNoRuleByFactory(int type, String factory) {
+ public AgvLocMast getLocNoRuleByFactory(int type, boolean isEmpty, String factory) {
if (Cools.isEmpty(factory)) {
throw new CoolException("鎼滅储搴撲綅鏃讹紝璁㈠崟绫诲瀷閿欒");
}
try {
EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
wrapper.eq("loc_sts", "O").eq("loc_type1", type);
- List<AgvLocMast> agvLocMasts = new ArrayList<>();
+
if (factory.equalsIgnoreCase(AsrsConstants.ERCHANG)) {
- wrapper.orderBy("lev1", false);
+ if (isEmpty) {
+ wrapper.orderBy("lev1", true);
+ }else {
+ wrapper.orderBy("lev1", false);
+ }
} else if (factory.equalsIgnoreCase(AsrsConstants.SANCHANG)) {
wrapper.orderBy("lev1", true);
}
- agvLocMasts = agvLocMastService.selectList(wrapper);
+ List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper);
for (AgvLocMast agvLocMast : agvLocMasts) {
AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
@@ -57,7 +61,7 @@
* @param floor
* @return
*/
- public AgvLocMast getLocNoRuleByFloor(int type, Integer floor, Integer lev1) {
+ public AgvLocMast getLocNoRuleByFloor(int type, Integer floor, boolean isEmpty, Integer lev1) {
try {
EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
wrapper.eq("loc_sts", "O").eq("loc_type1", type).eq("floor", floor).eq("lev1", lev1);
diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index 76a2b87..7af4f56 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -122,10 +122,10 @@
// 绠卞3鍏ュ簱
if (type == 3) {
//浼樺厛鍏ュ簱鍚稿1妤硷紝鍦�2妤�
- locMast = locUtils.getLocNoRuleByFactory(type, factory);
+ locMast = locUtils.getLocNoRuleByFactory(type,isEmpty ,factory);
} else if (type == 6) {
//鍗婃垚鍝佺澹冲叆搴擄紝鍏ュ埌鍚稿2妤肩殑370涓簱浣嶉噷
- locMast = locUtils.getLocNoRuleByFloor(type, floor, 2);
+ locMast = locUtils.getLocNoRuleByFloor(type, floor, isEmpty,2);
} else {
//涓嶅姩杩欎釜閫昏緫
locMast = getLocNoRule(type, floor, isEmpty, isCurrLev);
--
Gitblit v1.9.1