From 08b4403ec8d6b69528d161cfcad80b5d64dea76c Mon Sep 17 00:00:00 2001 From: Administrator <876263681@qq.com> Date: 星期三, 02 七月 2025 15:12:43 +0800 Subject: [PATCH] #优化库位检索 --- src/main/java/com/zy/common/service/CommonService.java | 87 ++++++++++++++++++++++++++----------------- 1 files changed, 53 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index d63a9fc..19af71d 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -239,51 +239,70 @@ //} if (Cools.isEmpty(locMast)) { locMast = locMastService.queryFreeLocMast(curRow, locTypeDto.getLocType1()); + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .eq("row1", curRow) + .eq("loc_sts", "O") + .orderBy("lev1", true).orderBy("bay1", true)); + for(LocMast locMast1 :locMasts){ + // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X + if (null != locMast1 && Integer.parseInt(locMast1.getLocNo().substring(0, 2)) == 2) { + LocMast deepLoc = locMastService.selectById(zerofill(String.valueOf(3), 2) + locMast1.getLocNo().substring(2)); + if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X") && !deepLoc.getLocSts().equals("P")) { + locMast = null; + }else { + if (!Cools.isEmpty(locMast1)) { + locMast = locMast1; + break; + } + } + } + + // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O + if (null != locMast1 && Integer.parseInt(locMast1.getLocNo().substring(0, 2)) == 3) { + LocMast shallowLoc = locMastService.selectById(zerofill(String.valueOf(2), 2) + locMast1.getLocNo().substring(2)); + if (!Cools.isEmpty(shallowLoc)) { + if (!shallowLoc.getLocSts().equals("O")) { + locMast = null; + }else { + if (!Cools.isEmpty(locMast1)) { + locMast = locMast1; + break; + } + } + } + } + } // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� if (!locMastService.checkEmptyCount(locMast)) { locMast = null; } - // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X - if (null != locMast && Integer.parseInt(locMast.getLocNo().substring(0, 2)) == 2) { - LocMast deepLoc = locMastService.selectById(zerofill(String.valueOf(3), 2) + locMast.getLocNo().substring(2)); - if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) { - locMast = null; - } - } - //if (null != locMast && Utils.isShallowLoc(slaveProperties, locMast.getLocNo())) { - // LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, locMast.getLocNo())); - // if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) { - // locMast = null; - // } - //} - // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O - if (null != locMast && Integer.parseInt(locMast.getLocNo().substring(0, 2)) == 3) { - LocMast shallowLoc = locMastService.selectById(zerofill(String.valueOf(2), 2) + locMast.getLocNo().substring(2)); - if (!Cools.isEmpty(shallowLoc)) { - if (!shallowLoc.getLocSts().equals("O")) { - locMast = null; - } - } - } - //if (null != locMast && Utils.isDeepLoc(slaveProperties, locMast.getLocNo())) { - // LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, locMast.getLocNo())); - // if (!Cools.isEmpty(shallowLoc)) { - // if (!shallowLoc.getLocSts().equals("O")) { - // locMast = null; - // } - // } - // - // - //} +// // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X +// if (null != locMast && Integer.parseInt(locMast.getLocNo().substring(0, 2)) == 2) { +// LocMast deepLoc = locMastService.selectById(zerofill(String.valueOf(3), 2) + locMast.getLocNo().substring(2)); +// if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X") && !deepLoc.getLocSts().equals("P")) { +// locMast = null; +// } +// } +// +// // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O +// if (null != locMast && Integer.parseInt(locMast.getLocNo().substring(0, 2)) == 3) { +// LocMast shallowLoc = locMastService.selectById(zerofill(String.valueOf(2), 2) + locMast.getLocNo().substring(2)); +// if (!Cools.isEmpty(shallowLoc)) { +// if (!shallowLoc.getLocSts().equals("O")) { +// locMast = null; +// } +// } +// } + } } // 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣� if (Cools.isEmpty(locMast)) { // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊 - if (times < rowCount) { + if (times < 4) { times = times + 1; - if(locTypeDto.getLocType1() == 1 && times == 3){ + if(locTypeDto.getLocType1() == 1 && times == 2){ locTypeDto.setLocType1((short) 2); } return getLocNo(1, staDescId, sourceStaNo, matNos, locTypeDto, times); -- Gitblit v1.9.1