From 0f5a5a759221bde50ace126eae797326837f5f72 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 16 十月 2024 16:15:12 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java
index 5390f51..f0b0556 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java
@@ -15,6 +15,7 @@
import com.zy.asrs.wcs.core.utils.*;
import com.zy.asrs.wcs.rcs.News;
import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
+import com.zy.asrs.wcs.rcs.entity.Device;
import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType;
import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
import com.zy.asrs.wcs.rcs.model.protocol.LiftProtocol;
@@ -60,6 +61,8 @@
private BasConveyorService basConveyorService;
@Autowired
private BasConveyorStaService basConveyorStaService;
+ @Autowired
+ private ShuttleDispatcher shuttleDispatcher;
// 璁$畻
public Boolean accept(Motion motion) {
@@ -68,6 +71,8 @@
if (shuttleThread == null) {
return false;
}
+ Device shuttleDevice = shuttleThread.getDevice();
+
ShuttleProtocol shuttleProtocol = shuttleThread.getStatus();
if (null == shuttleProtocol) {
return false;
@@ -272,6 +277,21 @@
shuttleTaskModeType = ShuttleTaskModeType.SHUTTLE_UPDATE_LOCATION;
shuttleCommands.add(shuttleThread.getUpdateLocationCommand(motion.getTaskNo(), motion.getTarget()));
break;
+ case SHUTTLE_MOVE_STANDBY://绌挎杞︾Щ鍔ㄥ埌寰呮満浣�
+ shuttleTaskModeType = ShuttleTaskModeType.SHUTTLE_MOVE_LOC_NO;
+
+ //鑾峰彇鍏ㄩ儴寰呮満浣�
+ List<String> standbyLocs = JSON.parseArray(motion.getTemp(), String.class);
+ //鑾峰彇鍙敤寰呮満浣�
+ String shuttleFromLiftStandbyLoc = shuttleDispatcher.searchAvailableLocNo(Integer.valueOf(shuttleDevice.getDeviceNo()), shuttleDevice.getHostId(), shuttleThread.getStatus().getCurrentLocNo(), standbyLocs);
+ shuttleCommands = this.shuttleAssignCommand(motion.getOrigin(), shuttleFromLiftStandbyLoc, NavigationMapType.NORMAL.id, assignCommand, shuttleThread);
+
+ //鏇存柊鍔ㄤ綔鍙敤寰呮満浣�
+ motion.setTarget(shuttleFromLiftStandbyLoc);
+ motion.setUpdateTime(new Date());
+ motionService.updateById(motion);
+
+ break;
default:
throw new CoolException(motion.getMotionCtgEl() + "娌℃湁鎸囧畾浠诲姟浣滀笟娴佺▼锛侊紒锛�");
}
@@ -461,6 +481,19 @@
return false;
}
break;
+ case SHUTTLE_MOVE_STANDBY://绌挎杞︾Щ鍔ㄥ埌寰呮満浣�
+ if (!shuttleProtocol.getCurrentLocNo().equals(motion.getTarget())) {
+ return false;
+ }
+
+ if (Optional.ofNullable(motion.getReleaseShuttle()).orElse(0) == 1) {//閲婃斁绌挎杞�
+ task.setShuttleNo(0);
+ task.setUpdateTime(new Date());
+ if (!taskService.updateById(task)) {
+ return false;
+ }
+ }
+ break;
default:
break;
}
--
Gitblit v1.9.1