From 24bc9aa5888c7b98cf0a7d1bf05ec6c5624d3719 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 03 三月 2025 16:02:29 +0800
Subject: [PATCH] 四期
---
src/main/java/com/zy/common/service/AgvCommonService.java | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 102 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index d917ed1..04720a4 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -76,6 +76,7 @@
/**
* 妫�绱㈠簱浣嶅彿
+ *
* @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
*/
public AgvLocMast getLocNo(int type, int floor, boolean isEmpty, boolean isCurrLev) {
@@ -118,7 +119,6 @@
try {
// 寮�濮嬫煡鎵惧簱浣� ==============================>>
- // 鍥涙湡椤圭洰锛氶渶瑕佹敼鏌ユ壘搴撲綅閫昏緫
// 绠卞3鍏ュ簱
// if (type == 3 && factory != null) {
// //浼樺厛鍏ュ簱鍚稿1妤硷紝鍦�2妤�
@@ -128,7 +128,11 @@
// locMast = locUtils.getLocNoRuleByFloor(type, floor, isEmpty, 2);
// } else {
// //涓嶅姩杩欎釜閫昏緫
- locMast = getLocNoRule(type, floor, isEmpty, isCurrLev);
+ if (type == 6) {
+ locMast = locUtils.getLocNoRuleByFloor(type, floor);
+ } else {
+ locMast = getLocNoRule(type, floor, isEmpty, isCurrLev);
+ }
// }
if (locMast != null) {
return locMast;
@@ -141,10 +145,10 @@
throw new CoolException(floor + "妤硷紱璇ユゼ灞傛病鏈夌┖搴撲綅");
}
- /*
- 搴撲綅瑙勫垯鏌ユ壘
+ /**
+ * 搴撲綅瑙勫垯鏌ユ壘
*/
- public AgvLocMast getLocByLocRule(int type, int floor, String factory) {
+ public synchronized AgvLocMast getLocByLocRule(int type, int floor, String factory, boolean flag) {
try {
EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
@@ -152,15 +156,15 @@
List<AgvLocMast> agvLocMasts = new ArrayList<>();
//涓嶆槸绌烘澘浼樺厛鎵�2灞�
if (Cools.isEmpty(factory)) {
- wrapper.eq("floor", floor).orderBy("lev1", false);
+ wrapper.eq("floor", floor).orderBy("lev1", true);
} else {
//B鏄簩鍘傦紝G鏄笁鍘�
switch (factory) {
case "B":
- wrapper.eq("floor", floor).orderBy("lev1", true);
+ wrapper.eq("floor", floor).orderBy("lev1", false).orderBy("row1", flag);
break;
case "G":
- wrapper.eq("floor", floor).orderBy("lev1", false);
+ wrapper.eq("floor", floor).orderBy("lev1", true);
break;
default:
wrapper.eq("floor", floor).orderBy("lev1", true);
@@ -178,6 +182,75 @@
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("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�");
+ }
+ }
+
+ /*
+搴撲綅瑙勫垯鏌ユ壘
+ */
+ public AgvLocMast getLocByFloor(int type, int floor) {
+ try {
+ EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
+ wrapper.eq("loc_sts", "O").eq("loc_type1", type);
+ wrapper.eq("floor", floor).orderBy("lev1", false);
+
+ 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) {
+ return null;
}
}
@@ -254,6 +327,24 @@
throw new CoolException("鎼滅储搴撲綅鏃讹紝妤煎眰鍑洪敊銆�");
}
+ public AgvLocMast getLocNoOnXiSuer(int type, int floor) {
+ EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
+ wrapper.eq("loc_sts", "O").eq("loc_type1", type);
+ wrapper.eq("floor", floor).orderBy("lev1", false);
+ List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper);
+ if (Cools.isEmpty(agvLocMasts)) {
+ return null;
+ } else {
+ 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;
+ }
+
//闅忔満鍙栦竴涓揣浣�
private AgvLocMast getLocNoRule(int type, int floor, boolean isEmpty, boolean isCurrLev) {
@@ -312,6 +403,7 @@
/**
* 妫�绱㈠簱浣嶅彿
+ *
* @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
*/
public AgvBasDevp getDevpNo(int type, int floor) {
@@ -331,6 +423,7 @@
/**
* 妫�绱㈠簱浣嶅彿
+ *
* @return locNo 妫�绱㈣嚜鍔ㄦ帴椹充綅
*/
public AgvBasDevp getDevpNo(int type, int floor, String auto) {
@@ -349,6 +442,7 @@
/**
* 妫�绱㈠簱浣嶅彿
+ *
* @return locNo 妫�绱㈠彲鍏ユ帴椹充綅
*/
public AgvBasDevp getDevpNo(int type, int floor, String auto, String inEable) {
--
Gitblit v1.9.1