From 9d2d63ee09e8bcf494fc3fd14a48d82731fac9ef Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期三, 24 四月 2024 09:14:38 +0800 Subject: [PATCH] 根据楼层入库出库 --- src/main/java/com/zy/common/service/AgvCommonService.java | 105 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 70 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java index 1f21122..ccf1f43 100644 --- a/src/main/java/com/zy/common/service/AgvCommonService.java +++ b/src/main/java/com/zy/common/service/AgvCommonService.java @@ -29,6 +29,8 @@ private AgvLocMastService agvLocMastService; @Autowired private MatService matService; + @Autowired + private LocRuleService locRuleService; public int getWorkNo(Integer wrkMk) { AgvWrkLastno wrkLastno = agvWrkLastnoService.selectById(wrkMk); @@ -69,44 +71,46 @@ * 妫�绱㈠簱浣嶅彿 * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿 */ - public AgvLocMast getLocNo(List<AgvWaitPakin> agvWaitPakinList, int floor) { + public AgvLocMast getLocNo(int type, int floor) { // 鐩爣搴撲綅 AgvLocMast locMast = null; +// if(Cools.isEmpty(agvWaitPakinList)){ +// return getLocNoRule(type); // 1. 闅忔満搴撲綅 +// } - //搴撲綅瑙勫垯 - if(!Cools.isEmpty(agvWaitPakinList)){ - locMast = getLocByLocRule(agvWaitPakinList.get(0),floor); - if(!Cools.isEmpty(locMast)){ - return locMast; - } - } - - // 闈犺繎鎽嗘斁瑙勫垯 --- 鐩稿悓璁㈠崟鍙�, 鍚屽ぉ鍚岃鏍肩墿鏂� - locMast = getLocByProximityRule(); - if (locMast != null) { - //鎵惧埌搴撲綅锛岃繑鍥瀌to - //return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto - } - - //鏍规嵁鐗╂枡棰戠巼鎼滅储搴撲綅锛岄鐜囬珮鍒欐悳绱㈢缂撳瓨璐ф灦鏈�杩戝簱浣嶏紝棰戠巼浣庡垯鎼滅储鏈�杩滃簱浣� - Mat mat = matService.selectByMatnr(agvWaitPakinList.get(0).getMatnr()); - if(true){ - - }else { - - } - -// -// // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 -// locMast = getLocNoStep4(staDescId, locTypeDto); -// if (locMast != null) { -// //鎵惧埌搴撲綅锛岃繑鍥瀌to -// return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto +// //搴撲綅瑙勫垯 +// locMast = getLocByLocRule(agvWaitPakinList.get(0),floor); // 2. 鎸夊簱浣嶈鍒欐悳绱� +// if(!Cools.isEmpty(locMast)){ +// return locMast; // } // -// // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋� +// +// //搴撲綅缂栫爜瑙勫垯 +// locMast = getLocByLocCodeRule(agvWaitPakinList.get(0),floor); +// if(!Cools.isEmpty(locMast)){ +// return locMast; +// } +// +// // 闈犺繎鎽嗘斁瑙勫垯 --- 鐩稿悓璁㈠崟鍙�, 鍚屽ぉ鍚岃鏍肩墿鏂� +// locMast = getLocByProximityRule(); +// if (locMast != null) { +// //鎵惧埌搴撲綅锛岃繑鍥瀌to +// //return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto +// } +// +// //鏍规嵁鐗╂枡棰戠巼鎼滅储搴撲綅锛岄鐜囬珮鍒欐悳绱㈢缂撳瓨璐ф灦鏈�杩戝簱浣嶏紝棰戠巼浣庡垯鎼滅储鏈�杩滃簱浣� +// Mat mat = matService.selectByMatnr(agvWaitPakinList.get(0).getMatnr()); +// if(Cools.isEmpty(mat.getBeBatch())){ +// mat.setBeBatch(0); +// } +// locMast = getLocByFre(mat.getBeBatch(), floor); +// if (locMast != null) { +// return locMast; +// } + + // 寮�濮嬫煡鎵惧簱浣� ==============================>> - locMast = getLocNoRule(floor); + locMast = getLocNoRule(type,floor); if (locMast != null) { return locMast; } @@ -145,6 +149,37 @@ return agvLocMast; } } + + return null; + } + + /* + 搴撲綅瑙勫垯鏌ユ壘 + */ + private AgvLocMast getLocByLocCodeRule(AgvWaitPakin agvWaitPakin, int floor) { + /*if(Cools.isEmpty(agvWaitPakin.getBrand())){ + return null; + } + + //搴撳尯 + String other = "agv-" + floor; + List<LocRule> locRules = locRuleService.findCode(agvWaitPakin.getMatnr(), other); + if(Cools.isEmpty(locRules)){ + return null; + } + + for (LocRule agvLocRule : locRules) { + EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>(); + wrapper.between("row1",agvLocRule.getRowBeg(),agvLocRule.getRowEnd()) + .between("bay1",agvLocRule.getBayBeg(),agvLocRule.getBayEnd()) + .between("lev1",agvLocRule.getLevBeg(),agvLocRule.getLevEnd()) + .eq("floor",floor) + .eq("loc_sts","O"); + AgvLocMast agvLocMast = agvLocMastService.selectOne(wrapper); + if(!Cools.isEmpty(agvLocMast)){ + return agvLocMast; + } + }*/ return null; } @@ -192,11 +227,11 @@ } //闅忔満鍙栦竴涓揣浣� - private AgvLocMast getLocNoRule(int floor){ + private AgvLocMast getLocNoRule(int type,int floor){ return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>() - .eq("floor",floor) .eq("loc_sts","O") - .eq(false,"loc_type2",1)); + .eq("floor",floor) + .eq("loc_type1",type)); } -- Gitblit v1.9.1