From c0d2dc7614b173e0ea4c78c6f899ab732542127a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 13 七月 2025 19:54:28 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/action/ForkLiftAction.java | 44 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/core/action/ForkLiftAction.java b/src/main/java/com/zy/core/action/ForkLiftAction.java
index 3c412e4..9d7a7b3 100644
--- a/src/main/java/com/zy/core/action/ForkLiftAction.java
+++ b/src/main/java/com/zy/core/action/ForkLiftAction.java
@@ -63,10 +63,10 @@
return false;
}
- WrkMast wrkMast = wrkMastService.selectByWorkNo(taskNo);
- if (wrkMast == null) {
- return false;
- }
+// WrkMast wrkMast = wrkMastService.selectByWorkNo(taskNo);
+// if (wrkMast == null) {
+// return false;
+// }
LiftRedisCommand redisCommand = JSON.parseObject(obj.toString(), LiftRedisCommand.class);
if (redisCommand == null) {
@@ -96,7 +96,7 @@
ForkLiftCommand command = commands.get(commandStep);
//鍒ゆ柇鎻愬崌鏈烘槸鍚︾┖闂�
- if (!forkLiftThread.isIdle()) {
+ if (!forkLiftThread.isDeviceIdle()) {
return false;
}
@@ -148,8 +148,42 @@
response = forkLiftThread.pickAndPut(command);
} else if (command.getMode().intValue() == ForkLiftTaskModeType.SHUTTLE_SWITCH.id) {
response = forkLiftThread.shuttleSwitch(command);
+ } else if (command.getMode().intValue() == ForkLiftTaskModeType.MOVE.id) {
+ response = forkLiftThread.move(command);
}
return response;
}
+ //鐢宠鎻愬崌鏈鸿祫婧�
+ public synchronized boolean applyForkLift(Integer liftNo, Integer waitBindTaskNo) {
+ ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo);
+ if (forkLiftThread == null) {
+ return false;
+ }
+ ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
+ if (forkLiftProtocol == null) {
+ return false;
+ }
+ if (!forkLiftThread.isIdle()) {
+ return false;
+ }
+
+ List<WrkMast> wrkMasts = wrkMastService.selectLiftWrkMast(liftNo);
+ if (!wrkMasts.isEmpty()) {
+ return false;
+ }
+
+ if (waitBindTaskNo != null) {
+ WrkMast wrkMast = wrkMastService.selectByWorkNo(waitBindTaskNo);
+ if (wrkMast == null) {
+ return false;
+ }
+
+ wrkMast.setLiftNo(liftNo);
+ wrkMast.setModiTime(new Date());
+ wrkMastService.updateById(wrkMast);
+ }
+ return true;
+ }
+
}
--
Gitblit v1.9.1