From c5736834f88a5fd43abadaec50dd2b1e6dceb4ba Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 15 九月 2022 10:36:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/Utils.java | 13 ++----
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 26 +++++--------
src/main/java/com/zy/core/enums/SteTaskModeType.java | 68 +++++++++++++++++++++++++++++-----
3 files changed, 73 insertions(+), 34 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 5af651e..9cb939d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -483,7 +483,7 @@
if (steNo != null) {
// 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣
if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) {
- this.letCarBeReady(wrkMast, steNo);
+ this.letCarBeReady(wrkMast, steNo, wrkMast.getLocNo());
}
// 灏忚溅鎼蛋
if (wrkMast.getWrkSts() == 3L) {
@@ -539,7 +539,7 @@
if (steNo != null) {
// 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣
if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) {
- this.letCarBeReady(wrkMast, steNo);
+ this.letCarBeReady(wrkMast, steNo, wrkMast.getLocNo());
}
// 鍫嗗灈鏈哄皢璐ф斁鑷冲皬杞︿笂 3.灏忚溅寰呮惉锛堝皬杞︿笉鐢ㄦ惉杩愶紝宸茬粡鍦ㄥ綋鍓嶇粍搴撲綅锛� / 6.灏忚溅寰呭叆 ===>> 7.鍚婅溅鍏ュ簱涓�
if (wrkMast.getWrkSts() == 3L || wrkMast.getWrkSts() == 6L) {
@@ -587,7 +587,7 @@
SteThread steThread = queryIdleCar(wrkMast);
if (steThread != null) {
// 璁╁皬杞︾瓑寰呮惉杩愬緟缁�
- this.letCarBeReady(wrkMast, steThread.getSlave().getId());
+ this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getLocNo());
}
}
// 鍫嗗灈鏈烘惉杩愬皬杞�
@@ -681,7 +681,7 @@
// 涓嶆槸鏈�澶栧眰搴撲綅锛岄渶瑕佷娇鐢ㄧ┛姊溅鎼繍鍚庯紝鍐嶅爢鍨涙満鍑哄簱
} else {
// 褰撳墠缁勫簱浣嶆槸鍚︽湁绌挎杞�
- Integer steNo = this.hasCarOfIdle(wrkMast.getLocNo());
+ Integer steNo = this.hasCarOfIdle(wrkMast.getSourceLocNo());
// 鏈夊皬杞�
if (steNo != null) {
if (wrkMast.getWrkSts() == 11L && wrkMast.getSteNo() == null) {
@@ -696,12 +696,8 @@
SteCommand steCommand = new SteCommand();
steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
- steCommand.setTaskMode(SteTaskModeType.TO_B); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+ steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
- SteABType ab = Utils.selectAB(steProtocol.getRow().intValue());
-
-
- // todo:luxiaotao
if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
} else {
@@ -757,7 +753,7 @@
SteThread steThread = queryIdleCar(wrkMast);
if (steThread != null) {
// 璁╁皬杞︾瓑寰呮惉杩愬緟缁�
- this.letCarBeReady(wrkMast, steThread.getSlave().getId());
+ this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo());
}
}
// 鍫嗗灈鏈烘惉杩愬皬杞�
@@ -811,7 +807,7 @@
* 璁╁皬杞︿粠 杩滅偣 ====>> 绉诲姩鍒拌繎鐐�
* 绛夊緟鍫嗗灈鏈烘惉杩�
*/
- public void letCarBeReady(WrkMast wrkMast, Integer steNo) {
+ public void letCarBeReady(WrkMast wrkMast, Integer steNo, String locNo) {
// 鑾峰彇绌挎杞︿俊鎭�
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
SteProtocol steProtocol = steThread.getSteProtocol();
@@ -822,7 +818,7 @@
SteCommand steCommand = new SteCommand();
steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
- steCommand.setTaskMode(SteTaskModeType.TO_B); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+ steCommand.setTaskMode(SteTaskModeType.findOriginByLoc(locNo)); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
steCommand.setBay(steProtocol.getBay());
@@ -1014,8 +1010,7 @@
SteCommand steCommand = new SteCommand();
steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
- steCommand.setTaskMode(SteTaskModeType.TO_B); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
- // todo:luxiaotao
+ steCommand.setTaskMode(SteTaskModeType.findInByLoc(wrkMast.getLocNo())); // 浠诲姟妯″紡: 鎼叆搴�
if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
} else {
@@ -1087,8 +1082,7 @@
SteCommand steCommand = new SteCommand();
steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
- steCommand.setTaskMode(SteTaskModeType.TO_B); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
- // todo:luxiaotao
+ steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鎼嚭搴�
if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
} else {
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index f67c4fc..2fd4f42 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -37,6 +37,11 @@
}
}
+ public static Integer getGroupRow(String locNo){
+ int row = getRow(locNo);
+ return getGroupRow(row);
+ }
+
public static Integer getGroupRow(Integer row) {
switch (row) {
case 1:
@@ -70,14 +75,6 @@
throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
}
}
-
-
- public static Integer getGroupRow(String locNo){
- int row = getRow(locNo);
- return getGroupRow(row);
- }
-
-
public static SteABType selectAB(Integer row) {
switch (row) {
diff --git a/src/main/java/com/zy/core/enums/SteTaskModeType.java b/src/main/java/com/zy/core/enums/SteTaskModeType.java
index 01e51b4..5e1af9e 100644
--- a/src/main/java/com/zy/core/enums/SteTaskModeType.java
+++ b/src/main/java/com/zy/core/enums/SteTaskModeType.java
@@ -1,5 +1,8 @@
package com.zy.core.enums;
+import com.core.exception.CoolException;
+import com.zy.asrs.utils.Utils;
+
public enum SteTaskModeType {
INIT(0, "鍒濆"), // 鍒濆
@@ -7,17 +10,17 @@
OUT_RIGHT(2, "鍙冲嚭搴�"), // 鍙冲嚭搴�
IN_LEFT(3, "宸﹀叆搴�"), // 宸﹀叆搴�
IN_RIGHT(4, "鍙冲叆搴�"), // 鍙冲叆搴�
- MOVE_LEFT(5, "宸︾Щ搴�"), // 宸︾Щ搴�
- MOVE_RIGHT(6, "鍙崇Щ搴�"), // 鍙崇Щ搴�
- GO_ORIGIN(7, "鍥炲師鐐�"), // 鍥炲師鐐�
- BACK_ORIGIN(8, "鍥炲弽鍘熺偣"), // 鍥炲弽鍘熺偣
- TO_A(9, "A鐐�"), // A鐐�
- TO_B(10, "B鐐�"), // B鐐�
- FIT_LEFT(11, "宸︽惉绉�"), // 宸︽惉绉�
- FIT_RIGHT(12, "鍙虫惉绉�"), // 鍙虫惉绉�
+// MOVE_LEFT(5, "宸︾Щ搴�"), // 宸︾Щ搴�
+// MOVE_RIGHT(6, "鍙崇Щ搴�"), // 鍙崇Щ搴�
+ GO_ORIGIN(7, "鍘诲彸绔�"), // 鍥炲師鐐�
+ BACK_ORIGIN(8, "鍘诲乏绔�"), // 鍥炲弽鍘熺偣
+// TO_A(9, "A鐐�"), // A鐐�
+// TO_B(10, "B鐐�"), // B鐐�
+// FIT_LEFT(11, "宸︽惉绉�"), // 宸︽惉绉�
+// FIT_RIGHT(12, "鍙虫惉绉�"), // 鍙虫惉绉�
CHARGE(13, "鍏呯數"), // 鍏呯數
- CHECK_LEFT(14, "宸︾洏鐐�"), // 宸︾洏鐐�
- CHECK_RIGHT(15, "鍙崇洏鐐�"), // 鍙崇洏鐐�
+// CHECK_LEFT(14, "宸︾洏鐐�"), // 宸︾洏鐐�
+// CHECK_RIGHT(15, "鍙崇洏鐐�"), // 鍙崇洏鐐�
;
public Integer id;
@@ -51,4 +54,49 @@
return null;
}
+ public static SteTaskModeType findOriginByLoc(String locNo) {
+ switch (Utils.getGroupRow(locNo)) {
+ case 3:
+ case 11:
+ case 18:
+ return SteTaskModeType.GO_ORIGIN; // 鍙�
+ case 4:
+ case 12:
+ case 19:
+ return SteTaskModeType.BACK_ORIGIN; // 宸�
+ default:
+ throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�");
+ }
+ }
+
+ public static SteTaskModeType findInByLoc(String locNo) {
+ switch (Utils.getGroupRow(locNo)) {
+ case 3:
+ case 11:
+ case 18:
+ return SteTaskModeType.IN_RIGHT; // 鍙�
+ case 4:
+ case 12:
+ case 19:
+ return SteTaskModeType.IN_LEFT; // 宸�
+ default:
+ throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�");
+ }
+ }
+
+ public static SteTaskModeType findOutByLoc(String locNo) {
+ switch (Utils.getGroupRow(locNo)) {
+ case 3:
+ case 11:
+ case 18:
+ return SteTaskModeType.OUT_RIGHT; // 鍙�
+ case 4:
+ case 12:
+ case 19:
+ return SteTaskModeType.OUT_LEFT; // 宸�
+ default:
+ throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�");
+ }
+ }
+
}
--
Gitblit v1.9.1