From 7635dc25bd2a4d565df496b2d96354639966768d Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 25 九月 2025 11:09:44 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/ShuttleTaskUtils.java | 35 +++++++++++++++++++++++------------
1 files changed, 23 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/ShuttleTaskUtils.java b/src/main/java/com/zy/asrs/utils/ShuttleTaskUtils.java
index 82b497c..2bd93fd 100644
--- a/src/main/java/com/zy/asrs/utils/ShuttleTaskUtils.java
+++ b/src/main/java/com/zy/asrs/utils/ShuttleTaskUtils.java
@@ -9,6 +9,7 @@
import com.zy.asrs.service.WrkMastService;
import com.zy.common.utils.RedisUtil;
import com.zy.core.News;
+import com.zy.core.action.ShuttleAction;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.RedisKeyType;
import com.zy.core.enums.ShuttleProtocolStatusType;
@@ -33,11 +34,13 @@
private NotifyUtils notifyUtils;
@Autowired
private RedisUtil redisUtil;
+ @Autowired
+ private ShuttleAction shuttleAction;
/**
* 鍥涘悜绌挎杞︿换鍔″畬鎴�
*/
- public void shuttleFinished() {
+ public synchronized void shuttleFinished() {
try {
List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
.eq("device_type", String.valueOf(SlaveType.Shuttle)));
@@ -53,46 +56,54 @@
if (shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.WAITING.id //浠诲姟瀹屾垚绛夊緟纭
&& shuttleProtocol.getTaskNo() != 0
) {
+ //鐢宠鍙栨秷绠″埗
+ shuttleAction.cancelTrafficControl(shuttleProtocol.getShuttleNo(), shuttleProtocol.getTaskNo());
+
//灏嗕换鍔℃。鏍囪涓哄畬鎴�
WrkMast wrkMast = wrkMastService.selectByWorkNo(shuttleProtocol.getTaskNo());
if (wrkMast != null) {
if (wrkMast.getWrkSts() == WrkStsType.INBOUND_SHUTTLE_RUN.sts) {
//5.灏忚溅鎼繍涓� ==> 9.鍏ュ簱瀹屾垚
wrkMast.setWrkSts(WrkStsType.COMPLETE_INBOUND.sts);
- shuttleThread.setSyncTaskNo(0);
+ shuttleThread.setTaskNo(0);
} else if (wrkMast.getWrkSts() == WrkStsType.OUTBOUND_SHUTTLE_RUN.sts) {
//102.灏忚溅鎼繍涓� ==> 103.灏忚溅鎼繍瀹屾垚
wrkMast.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts);
- shuttleThread.setSyncTaskNo(0);
+ shuttleThread.setTaskNo(0);
} else if (wrkMast.getWrkSts() == WrkStsType.MOVE_NEARBY.sts) {
//302.灏忚溅绉诲姩鑷宠繎鐐逛腑 ==> 303.灏忚溅绉诲姩鑷宠繎鐐瑰畬鎴�
wrkMast.setWrkSts(WrkStsType.MOVE_NEARBY_COMPLETE.sts);
- shuttleThread.setSyncTaskNo(0);
+ shuttleThread.setTaskNo(0);
} else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_LIFT.sts) {
//304.灏忚溅杩佸叆鎻愬崌鏈轰腑 ==> 305.灏忚溅杩佸叆鎻愬崌鏈哄畬鎴�
wrkMast.setWrkSts(WrkStsType.MOVE_IN_LIFT_COMPLETE.sts);
- shuttleThread.setSyncTaskNo(0);
+ shuttleThread.setTaskNo(0);
} else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_LIFT.sts) {
//308.灏忚溅杩佸嚭鎻愬崌鏈轰腑 ==> 309.灏忚溅杩佸嚭鎻愬崌鏈哄畬鎴�
if (Utils.getLev(shuttleProtocol.getCurrentLocNo()) != Utils.getLev(wrkMast.getLocNo())) {
continue;//灏忚溅鏈埌杈剧洰鏍囧眰
}
wrkMast.setWrkSts(WrkStsType.MOVE_OUT_LIFT_COMPLETE.sts);
- shuttleThread.setSyncTaskNo(0);
+ shuttleThread.setTaskNo(0);
} else if (wrkMast.getWrkSts() == WrkStsType.MOVE_SHUTTLE.sts) {
//310.灏忚溅绉诲姩涓� ==> 311.灏忚溅绉诲姩瀹屾垚
wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts);
- shuttleThread.setSyncTaskNo(0);
+ shuttleThread.setTaskNo(0);
notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_MOVE_COMPLETE);//瑙﹀彂閫氱煡
- } else if (wrkMast.getWrkSts() == WrkStsType.CHARGE_SHUTTLE_WORKING.sts) {
- //204.灏忚溅鍏呯數涓� ==> 205.灏忚溅鍏呯數瀹屾垚
- wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts);
- shuttleThread.setSyncTaskNo(0);
+ } else if (wrkMast.getWrkSts() == WrkStsType.CHARGE_SHUTTLE_START_CHARGING.sts) {
+ //204.灏忚溅寮�鍚厖鐢典腑 ==> 205.灏忚溅鍏呯數涓�
+ wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_CHARGING.sts);
+ shuttleThread.setTaskNo(0);
+ notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+ } else if (wrkMast.getWrkSts() == WrkStsType.CHARGE_SHUTTLE_CHARGING.sts) {
+ //205.灏忚溅鍏呯數涓� ==> 206.灏忚溅鍏呯數瀹屾垚
+ wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_CHARGING_COMPLETE.sts);
+ shuttleThread.setTaskNo(0);
notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
} else if (wrkMast.getWrkSts() == WrkStsType.LOC_MOVE_SHUTTLE_RUN.sts) {
//502.灏忚溅鎼繍涓� ==> 509.绉诲簱瀹屾垚
wrkMast.setWrkSts(WrkStsType.COMPLETE_LOC_MOVE.sts);
- shuttleThread.setSyncTaskNo(0);
+ shuttleThread.setTaskNo(0);
notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_DELIVERY);//瑙﹀彂閫氱煡
} else {
continue;
--
Gitblit v1.9.1