From 20a1449f65a9d577c2c9c0af62f3c4af3dd8d172 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期一, 04 十二月 2023 15:02:10 +0800 Subject: [PATCH] 库位规则、库位编码规则bug修改 --- src/main/java/com/zy/asrs/controller/LocRuleController.java | 2 src/main/java/com/zy/common/web/param/SearchLocParam.java | 2 src/main/java/com/zy/asrs/utils/Utils.java | 2 src/main/java/com/zy/common/service/CommonService.java | 86 ++++++++++++++++++++++++++++++------------ src/main/resources/application.yml | 20 +++++----- 5 files changed, 74 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/LocRuleController.java b/src/main/java/com/zy/asrs/controller/LocRuleController.java index 234fed0..4d75e61 100644 --- a/src/main/java/com/zy/asrs/controller/LocRuleController.java +++ b/src/main/java/com/zy/asrs/controller/LocRuleController.java @@ -121,7 +121,7 @@ locRule.setUpdateTime(new Date()); locRuleService.updateById(locRule); Integer locType2 = 1;//鍗曞搧鍖哄煙 - if (locRule.getMixed() == 0) { + if (Cools.isEmpty(locRule.getMixed()) || locRule.getMixed() == 0) { locRuleService.updateKeepGoByMatnr(locRule.getMatnr(), locRule.getKeepGo()); }else {//娣疯浇 locRuleService.updateKeepGoByMixed(locRule.getKeepGo()); diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 2050e35..e03dc0e 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -256,7 +256,7 @@ } public static void main(String[] args) { - System.out.println(JSON.toJSONString(getGroupDeepLoc("1505908"))); + System.out.println(JSON.toJSONString(getGroupInnerLoc("1505908"))); } /** diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index e322c8c..1388298 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -202,18 +202,8 @@ } List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1(), locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd()); - for (LocMast locMast0 : locMasts) { - List<String> locNos = locDetlService.getSameDetl(locMast0.getLocNo()); - for (String locNo : locNos) { - LocMast locMast1 = locMastService.findInnerLoc(locNo); - if (null != locMast1) { - //棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast1, 10)) { - return locMast1; - } - } - } - } + locMast = locFilter(locMasts, matNos,locTypeDto); + } if (locRules.get(0).getKeepGo() == 0) { @@ -253,20 +243,8 @@ if (locRule == null) { continue; } - List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1(), locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd()); - for (LocMast locMast0 : locMasts) { - List<String> locNos = locDetlService.getSameDetl(locMast0.getLocNo()); - for (String locNo : locNos) { - LocMast locMast1 = locMastService.findInnerLoc(locNo); - if (null != locMast1) { - //棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast1, 10)) { - return locMast1; - } - } - } - } + locMast = locFilter(locMasts, matNos,locTypeDto); } // if (locRules.get(0).getKeepGo() == 0) { @@ -427,6 +405,64 @@ return locMast; } + /* + 搴撳瓨瑙勫垯鎼滅储鍒扮殑搴撲綅纭 + */ + private LocMast locFilter(List<LocMast> locMasts,List<String> matNos,LocTypeDto locTypeDto){ + for (LocMast locMast0 : locMasts) { + if(!VersionUtils.checkLocType(locMast0,locTypeDto)){ + continue; + } + if (matNos.size() == 1) { + //鍗曞搧鐗╂枡 + if(Cools.isEmpty(Utils.getGroupDeepLoc(locMast0.getLocNo()))){ + return locMast0; + }else{ + List<String> groupInnerLoc = Utils.getGroupInnerLoc(locMast0.getLocNo()); + if (Cools.isEmpty(groupInnerLoc)) { + return locMast0; + }else { + //鑾峰彇鏈�娣辩殑搴撲綅 + String loc = groupInnerLoc.get(groupInnerLoc.size() - 1); + LocMast locMast1 = locMastService.selectByLoc(loc); + if("O".equals(locMast1.getLocSts())){ + return locMast1; + }else { + if(!"F".equals(locMast1.getLocSts())){ + continue; + } + List<LocDetl> locDetls = locDetlService.selectByLocNo(loc); + if(!Cools.eq(locDetls.get(0).getMatnr(),matNos.get(0))){ + continue; + } + for (int i=groupInnerLoc.size()-1; i>=0 ;i--){ + LocMast locMast2 = locMastService.selectByLoc(groupInnerLoc.get(i)); + if("O".equals(locMast2.getLocSts())){ + return locMast2; + }else if("F".equals(locMast2.getLocSts())){ + if(i==0){ + return locMast1; + }else { + continue; + } + }else { + break; + } + } + } + + } + } + }else { + if(Cools.isEmpty(Utils.getGroupDeepLoc(locMast0.getLocNo()))){ + return locMast0; + } + } + + } + return null; + } + //杩斿洖dto private StartupDto getLocNoStep6(Integer staDescId, Integer sourceStaNo, LocMast locMast) { StartupDto startupDto = new StartupDto(); diff --git a/src/main/java/com/zy/common/web/param/SearchLocParam.java b/src/main/java/com/zy/common/web/param/SearchLocParam.java index df746f0..c3db41c 100644 --- a/src/main/java/com/zy/common/web/param/SearchLocParam.java +++ b/src/main/java/com/zy/common/web/param/SearchLocParam.java @@ -16,7 +16,7 @@ private String barcode; - // 搴撲綅瑙勬牸锛� 0:鏈煡, 1:浣庡簱浣�, 2:楂樺簱浣嶏級 + // 搴撲綅瑙勬牸锛� 1浣庯紝2涓紝3楂橈級 private Short locType1; } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c0ffce8..74c7ea8 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -73,16 +73,16 @@ password: Wlzh44338 agv: - url: localhost:8080 - taskCreatePath: /agv/task/create - containerMoveInPath: /agv/container/moveIn - containerMoveOutPath: /agv/container/moveOut - containerArrivedPath: /agv/containerArrived -# url: 10.10.10.182:9046 -# taskCreatePath: /task/create -# containerMoveInPath: /expand/api/moveIn/container -# containerMoveOutPath: /expand/api/moveOut/container -# containerArrivedPath: /conveyor/containerArrived +# url: localhost:8080 +# taskCreatePath: /agv/task/create +# containerMoveInPath: /agv/container/moveIn +# containerMoveOutPath: /agv/container/moveOut +# containerArrivedPath: /agv/containerArrived + url: 10.10.10.182:9046 + taskCreatePath: /task/create + containerMoveInPath: /expand/api/moveIn/container + containerMoveOutPath: /expand/api/moveOut/container + containerArrivedPath: /conveyor/containerArrived u8: url: http://192.168.1.55:8010 -- Gitblit v1.9.1