From b25fc15afed603c0c874e77d37bf93f08d5398c9 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期四, 13 二月 2025 12:18:34 +0800 Subject: [PATCH] 兼容四期 --- src/main/java/com/zy/common/service/AgvCommonService.java | 130 +++++++++++++++++++++++++++++++------------ 1 files changed, 94 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java index 76a2b87..e25c7ef 100644 --- a/src/main/java/com/zy/common/service/AgvCommonService.java +++ b/src/main/java/com/zy/common/service/AgvCommonService.java @@ -76,9 +76,10 @@ /** * 妫�绱㈠簱浣嶅彿 + * * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿 */ - public AgvLocMast getLocNo(int type, int floor, boolean isEmpty, boolean isCurrLev, String factory) { + public AgvLocMast getLocNo(int type, int floor, boolean isEmpty, boolean isCurrLev) { // 鐩爣搴撲綅 AgvLocMast locMast = null; // if(Cools.isEmpty(agvWaitPakinList)){ @@ -118,18 +119,21 @@ try { // 寮�濮嬫煡鎵惧簱浣� ==============================>> - // 鍥涙湡椤圭洰锛氶渶瑕佹敼鏌ユ壘搴撲綅閫昏緫 // 绠卞3鍏ュ簱 - if (type == 3) { - //浼樺厛鍏ュ簱鍚稿1妤硷紝鍦�2妤� - locMast = locUtils.getLocNoRuleByFactory(type, factory); - } else if (type == 6) { - //鍗婃垚鍝佺澹冲叆搴擄紝鍏ュ埌鍚稿2妤肩殑370涓簱浣嶉噷 - locMast = locUtils.getLocNoRuleByFloor(type, floor, 2); +// if (type == 3 && factory != null) { +// //浼樺厛鍏ュ簱鍚稿1妤硷紝鍦�2妤� +// locMast = locUtils.getLocNoRuleByFactory(type, isEmpty, factory); +// } else if (type == 6) { +// //鍗婃垚鍝佺澹冲叆搴擄紝鍏ュ埌鍚稿2妤肩殑370涓簱浣嶉噷 +// locMast = locUtils.getLocNoRuleByFloor(type, floor, isEmpty, 2); +// } else { +// //涓嶅姩杩欎釜閫昏緫 + if (type == 6) { + locMast = locUtils.getLocNoRuleByFloor(type, floor); } else { - //涓嶅姩杩欎釜閫昏緫 locMast = getLocNoRule(type, floor, isEmpty, isCurrLev); } +// } if (locMast != null) { return locMast; } @@ -141,38 +145,89 @@ throw new CoolException(floor + "妤硷紱璇ユゼ灞傛病鏈夌┖搴撲綅"); } - /* - 搴撲綅瑙勫垯鏌ユ壘 + /** + * 搴撲綅瑙勫垯鏌ユ壘 */ - private AgvLocMast getLocByLocRule(AgvWaitPakin agvWaitPakin, int floor) { - List<AgvLocRule> agvLocRules = null; - agvLocRules = agvLocRuleService.selectList(new EntityWrapper<AgvLocRule>() - .eq("matnr", agvWaitPakin.getMatnr()) - .eq("batch", agvWaitPakin.getModel()) - .eq("floor", floor)); - if (Cools.isEmpty(agvLocRules)) { - agvLocRules = agvLocRuleService.selectList(new EntityWrapper<AgvLocRule>() - .eq("matnr", agvWaitPakin.getMatnr()) - .eq("floor", floor)); - } - if (Cools.isEmpty(agvLocRules)) { - return null; - } + public AgvLocMast getLocByLocRule(int type, int floor, String factory) { - for (AgvLocRule agvLocRule : agvLocRules) { + try { 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; + wrapper.eq("loc_sts", "O").eq("loc_type1", type); + List<AgvLocMast> agvLocMasts = new ArrayList<>(); + //涓嶆槸绌烘澘浼樺厛鎵�2灞� + if (Cools.isEmpty(factory)) { + wrapper.eq("floor", floor).orderBy("lev1", true); + } else { + //B鏄簩鍘傦紝G鏄笁鍘� + switch (factory) { + case "B": + wrapper.eq("floor", floor).orderBy("lev1", false); + break; + case "G": + wrapper.eq("floor", floor).orderBy("lev1", true); + break; + default: + wrapper.eq("floor", floor).orderBy("lev1", true); + break; + } } - } - return null; + agvLocMasts = agvLocMastService.selectList(wrapper); + for (AgvLocMast agvLocMast : agvLocMasts) { + AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo())); + if (agvLocMast1.getLocSts().equals("O")) { + return agvLocMast1; + } + } + throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�"); + } catch (Exception e) { + throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�"); + } + } + + /** + * 搴撲綅瑙勫垯鏌ユ壘 + */ + public AgvLocMast getLocByLocRule(int type, int floor, int lev1) { + + try { + EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>(); + wrapper.eq("loc_sts", "O").eq("loc_type1", type); + wrapper.eq("floor", floor).eq("lev1", lev1); + List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper); + for (AgvLocMast agvLocMast : agvLocMasts) { + AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo())); + if (agvLocMast1.getLocSts().equals("O")) { + return agvLocMast1; + } + } + throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�"); + } catch (Exception e) { + throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�"); + } + } + + /* + 搴撲綅瑙勫垯鏌ユ壘 + */ + public AgvLocMast getLocByFloorAndLev1(int type, int floor, int lev1) { + + try { + EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>(); + wrapper.eq("loc_sts", "O").eq("loc_type1", type); + wrapper.eq("floor", floor).eq("lev1", lev1); + + List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper); + for (AgvLocMast agvLocMast : agvLocMasts) { + AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo())); + if (agvLocMast1.getLocSts().equals("O")) { + return agvLocMast1; + } + } + return null; + } catch (Exception e) { + throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�"); + } } /* @@ -306,6 +361,7 @@ /** * 妫�绱㈠簱浣嶅彿 + * * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿 */ public AgvBasDevp getDevpNo(int type, int floor) { @@ -325,6 +381,7 @@ /** * 妫�绱㈠簱浣嶅彿 + * * @return locNo 妫�绱㈣嚜鍔ㄦ帴椹充綅 */ public AgvBasDevp getDevpNo(int type, int floor, String auto) { @@ -343,6 +400,7 @@ /** * 妫�绱㈠簱浣嶅彿 + * * @return locNo 妫�绱㈠彲鍏ユ帴椹充綅 */ public AgvBasDevp getDevpNo(int type, int floor, String auto, String inEable) { -- Gitblit v1.9.1