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 | 50 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 42 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/core/action/ForkLiftAction.java b/src/main/java/com/zy/core/action/ForkLiftAction.java
index c72deec..9d7a7b3 100644
--- a/src/main/java/com/zy/core/action/ForkLiftAction.java
+++ b/src/main/java/com/zy/core/action/ForkLiftAction.java
@@ -50,7 +50,7 @@
redisCommand.setCommandStep(0);//鍛戒护鎵ц姝ュ簭
redisCommand.setAssignCommand(assignCommand);//鍛戒护
//浠诲姟鏁版嵁淇濆瓨鍒皉edis
- if (redisUtil.set(RedisKeyType.FORK_LIFT.key + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand))) {
+ if (redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand))) {
forkLiftThread.setSyncTaskNo(assignCommand.getTaskNo().intValue());
return true;
}
@@ -58,15 +58,15 @@
}
public synchronized boolean executeWork(Integer liftNo, Integer taskNo) {
- Object obj = redisUtil.get(RedisKeyType.FORK_LIFT.key + taskNo);
+ Object obj = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + taskNo);
if (obj == null) {
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;
}
@@ -125,7 +125,7 @@
//鏇存柊redis鏁版嵁
redisCommand.setCommandStep(commandStep);
// 鏇存柊redis鏁版嵁
- redisUtil.set(RedisKeyType.FORK_LIFT.key + taskNo, JSON.toJSONString(redisCommand));
+ redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + taskNo, JSON.toJSONString(redisCommand));
}
return true;
@@ -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