From 5e4d17f6a07256743a7708d8a3f5ee63fddbb040 Mon Sep 17 00:00:00 2001 From: tqs <56479841@qq.com> Date: 星期五, 31 五月 2024 09:16:49 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/AgvCommonService.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 110 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java index 8c7f9f1..f756a9a 100644 --- a/src/main/java/com/zy/common/service/AgvCommonService.java +++ b/src/main/java/com/zy/common/service/AgvCommonService.java @@ -31,6 +31,8 @@ private MatService matService; @Autowired private LocRuleService locRuleService; + @Autowired + AgvBasDevpService agvBasDevpService; public int getWorkNo(Integer wrkMk) { AgvWrkLastno wrkLastno = agvWrkLastnoService.selectById(wrkMk); @@ -71,7 +73,7 @@ * 妫�绱㈠簱浣嶅彿 * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿 */ - public AgvLocMast getLocNo(int type) { + public AgvLocMast getLocNo(int type, int floor) { // 鐩爣搴撲綅 AgvLocMast locMast = null; // if(Cools.isEmpty(agvWaitPakinList)){ @@ -109,14 +111,18 @@ // } - // 寮�濮嬫煡鎵惧簱浣� ==============================>> - locMast = getLocNoRule(type); - if (locMast != null) { - return locMast; + try{ + // 寮�濮嬫煡鎵惧簱浣� ==============================>> + locMast = getLocNoRule(type,floor); + if (locMast != null) { + return locMast; + } + }catch (Exception e){ + throw new CoolException("妤煎眰鍙凤細"+floor+"锛涜妤煎眰娌℃湁绌哄簱浣�===>"+e.getMessage()); } //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父 - throw new CoolException("璇ユゼ灞傛病鏈夌┖搴撲綅"); + throw new CoolException("妤煎眰鍙凤細"+floor+"锛涜妤煎眰娌℃湁绌哄簱浣�"); } /* @@ -227,11 +233,105 @@ } //闅忔満鍙栦竴涓揣浣� - private AgvLocMast getLocNoRule(int type){ - return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>() - .eq("loc_sts","O") - .eq(false,"loc_type1",type)); + private AgvLocMast getLocNoRule(int type,int floor){ + try{ + List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>() + .eq("loc_sts", "O") + .eq("floor", floor) + .eq("loc_type1", type)); + 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("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�"); + } + } + /** + * 妫�绱㈠簱浣嶅彿 + * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿 + */ + public AgvBasDevp getDevpNo(int type, int floor) { + // 鐩爣搴撲綅 + AgvBasDevp basDevp = null; + + // 寮�濮嬫煡鎵惧簱浣� ==============================>> + basDevp = getDevpNoRule(type,floor); + if (basDevp != null) { + return basDevp; + } + + //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父 + throw new CoolException("妤煎眰鍙凤細"+floor+"锛涜妤煎眰娌℃湁绌烘帴椹充綅"); } + /** + * 妫�绱㈠簱浣嶅彿 + * @return locNo 妫�绱㈣嚜鍔ㄦ帴椹充綅 + */ + public AgvBasDevp getDevpNo(int type, int floor, String auto) { + // 鐩爣搴撲綅 + AgvBasDevp basDevp = null; + + // 寮�濮嬫煡鎵惧簱浣� ==============================>> + basDevp = getDevpNoAuto(type,floor,auto); + if (basDevp != null) { + return basDevp; + } + + //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父 + throw new CoolException("妤煎眰鍙凤細"+floor+"锛涜妤煎眰娌℃湁绌烘帴椹充綅"); + } + + /** + * 妫�绱㈠簱浣嶅彿 + * @return locNo 妫�绱㈠彲鍏ユ帴椹充綅 + */ + public AgvBasDevp getDevpNo(int type, int floor, String auto ,String inEable) { + // 鐩爣搴撲綅 + AgvBasDevp basDevp = null; + + // 寮�濮嬫煡鎵惧簱浣� ==============================>> + basDevp = getDevpNoInEable(type,floor,inEable); + if (basDevp != null) { + return basDevp; + } + + //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父 + return basDevp; + } + + //闅忔満鍙栦竴涓揣浣� + private AgvBasDevp getDevpNoRule(int type,int floor){ + return agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>() + .eq("loc_sts","O") + .eq("floor",floor) + .eq("loc_type1",type) + .like("dev_no","DB")); + } + + //闅忔満鍙栦竴涓揣浣� + private AgvBasDevp getDevpNoAuto(int type,int floor,String auto){ + return agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>() + .eq("loc_sts","O") + .eq("floor",floor) + .eq("loc_type1",type) + .eq("autoing",auto) + .like("dev_no","DB")); + } + + //闅忔満鍙栦竴涓揣浣� + private AgvBasDevp getDevpNoInEable(int type,int floor,String inEable){ + return agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>() + .eq("loc_sts","O") + .eq("floor",floor) + .eq("loc_type1",type) + .eq("in_enable",inEable) + .like("dev_no","DB")); + } + } -- Gitblit v1.9.1