From c9e446957405d666a3fb45d8cbfa434625fa960d Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 26 五月 2023 10:47:13 +0800 Subject: [PATCH] 检测当前库位外侧库位是否为O --- src/main/java/com/zy/common/service/CommonService.java | 63 ++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 37b6c9c..a080000 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -118,27 +118,29 @@ case 103://103鍏ュ簱绔� whsType = 1; start = 1; - end = 11; + end = 14; //103绔欏垎閰�1锛�2鍫嗗灈鏈� crnNos.add(1); crnNos.add(2); - //鍒嗛厤1锛�7锛�8鎺� + //鍒嗛厤1锛�7锛�8锛�14鎺� rows.add(1); rows.add(7); rows.add(8); + rows.add(14); break; case 203://203鍏ュ簱绔� whsType = 2; - start = 12; + start = 8; end = 21; - //203绔欏垎閰�3锛�4鍫嗗灈鏈� + //203绔欏垎閰�2锛�3鍫嗗灈鏈� + crnNos.add(2); crnNos.add(3); - crnNos.add(4); - //鍒嗛厤14锛�15锛�21鎺� + //鍒嗛厤8锛�14锛�15锛�21鎺� + rows.add(8); rows.add(14); rows.add(15); rows.add(21); @@ -267,8 +269,23 @@ private LocMast getLocNoStep3(LocTypeDto locTypeDto, List<Integer> crnNos) { LocMast locMast = null; //鎵炬渶澶栦晶绌哄簱浣� - LocMast locMast0 = locMastService.findOutMast(locTypeDto.getLocType1(), crnNos); - if (locMast0 != null) { + List<LocMast> locMasts = locMastService.findOutMast(locTypeDto.getLocType1(), crnNos); + for (LocMast locMast0 : locMasts) { + //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负R鎴朣(鍑哄叆搴撻绾︾姸鎬�) + boolean flag = false; + List<String> insideLoc = Utils.getGroupInsideLoc(locMast0.getLocNo()); + List<LocMast> insideLocMast = locMastService.selectByLocNos(insideLoc); + for (LocMast mast : insideLocMast) { + if (mast.getLocSts().equals("R") || mast.getLocSts().equals("S")) { + //R鎴朣(鍑哄叆搴撻绾︾姸鎬侊紝涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅) + flag = true; + break; + } + } + if (flag) { + continue; + } + // 娴呭簱浣嶇鍚堝昂瀵告娴� if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) { // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 @@ -287,8 +304,34 @@ //浣庨绫诲瀷锛岀洿鎺ユ壘娣锋斁鍖哄煙 private LocMast getLocNoStep4(LocTypeDto locTypeDto) { LocMast locMast = null; - LocMast locMast0 = locMastService.findEmptyLowFrequencyLocMast(locTypeDto.getLocType1()); - if (locMast0 != null) { + List<LocMast> locMasts = locMastService.findEmptyLowFrequencyLocMast(locTypeDto.getLocType1()); + for (LocMast locMast0 : locMasts) { + //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负R鎴朣(鍑哄叆搴撻绾︾姸鎬�) + boolean flag = false; + List<String> insideLoc = Utils.getGroupInsideLoc(locMast0.getLocNo()); + List<LocMast> insideLocMast = locMastService.selectByLocNos(insideLoc); + for (LocMast mast : insideLocMast) { + if (mast.getLocSts().equals("R") || mast.getLocSts().equals("S")) { + //R鎴朣(鍑哄叆搴撻绾︾姸鎬侊紝涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅) + flag = true; + break; + } + } + //妫�娴嬪綋鍓嶅簱浣嶅渚у簱浣嶆槸鍚︿负O(绌哄簱浣�) + List<String> outerLoc = Utils.getGroupOuterLoc(locMast0.getLocNo()); + List<LocMast> outerLocMast = locMastService.selectByLocNos(outerLoc); + for (LocMast mast : outerLocMast) { + if (!mast.getLocSts().equals("O")) { + //涓嶆槸绌哄簱浣嶏紝鎵句笅涓�涓� + flag = true; + break; + } + } + if (flag) { + continue; + } + + // 娴呭簱浣嶇鍚堝昂瀵告娴� if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) { // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 -- Gitblit v1.9.1