From d0d64cf47ce37027307ceb64dc72e3ae36796a92 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期四, 27 二月 2025 18:28:00 +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