From 411c7bcfb64581060c459d6a124b58cafadd983a Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 11 四月 2024 20:35:37 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java | 21 +++++++++++++++------
1 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
index 515b53e..f3e2a32 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.wcs.common.ExecuteSupport;
import com.zy.asrs.wcs.core.entity.BasShuttle;
import com.zy.asrs.wcs.core.entity.Loc;
import com.zy.asrs.wcs.core.entity.Task;
@@ -11,6 +12,7 @@
import com.zy.asrs.wcs.core.model.command.ShuttleCommand;
import com.zy.asrs.wcs.core.model.command.ShuttleRedisCommand;
import com.zy.asrs.wcs.core.model.enums.ShuttleCommandModeType;
+import com.zy.asrs.wcs.core.model.enums.ShuttleTaskModeType;
import com.zy.asrs.wcs.core.service.BasShuttleService;
import com.zy.asrs.wcs.core.service.LocService;
import com.zy.asrs.wcs.core.utils.NavigateMapUtils;
@@ -64,12 +66,17 @@
redisCommand.setAssignCommand(assignCommand);//鍛戒护
//浠诲姟鏁版嵁淇濆瓨鍒皉edis
if (redisUtil.set(DeviceRedisConstant.SHUTTLE_WORK_FLAG + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand))) {
- //涓嬪彂琛岄┒璺緞
- boolean result = shuttleThread.movePath(assignCommand.getNodes(), assignCommand.getTaskNo().intValue());
- if (!result) {
- return false;
+ if (assignCommand.getTaskMode() == ShuttleTaskModeType.PAK_IN.id
+ || assignCommand.getTaskMode() == ShuttleTaskModeType.PAK_OUT.id
+ || assignCommand.getTaskMode() == ShuttleTaskModeType.MOVE_LOC_NO.id
+ || assignCommand.getTaskMode() == ShuttleTaskModeType.SHUTTLE_MOVE_LOC_NO.id) {
+ //涓嬪彂琛岄┒璺緞
+ boolean result = shuttleThread.movePath(assignCommand.getNodes(), assignCommand.getTaskNo());
+ if (!result) {
+ return false;
+ }
}
- shuttleProtocol.setTaskNo(assignCommand.getTaskNo().intValue());
+ shuttleProtocol.setTaskNo(assignCommand.getTaskNo());
return true;
}
return false;
@@ -96,7 +103,9 @@
}
//鍒ゆ柇璁惧鏄惁绌洪棽
- if (!shuttleThread.isIdle()) {
+ if (!shuttleThread.isIdle(() -> {
+ return shuttleProtocol.getTaskNo().equals(taskNo);
+ })) {
return false;
}
--
Gitblit v1.9.1