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