From 82135a39198718fce5821b770dffdea1d2372c2c Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期五, 27 六月 2025 08:48:53 +0800
Subject: [PATCH] 123

---
 src/main/java/com/zy/core/action/ForkLiftAction.java |  187 ++++++++++++++++++++++------------------------
 1 files changed, 89 insertions(+), 98 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..b643dc0 100644
--- a/src/main/java/com/zy/core/action/ForkLiftAction.java
+++ b/src/main/java/com/zy/core/action/ForkLiftAction.java
@@ -1,27 +1,18 @@
 package com.zy.core.action;
 
-import com.alibaba.fastjson.JSON;
-import com.zy.asrs.entity.BasLiftOpt;
-import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.service.BasLiftOptService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.common.utils.RedisUtil;
 import com.zy.core.News;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.ForkLiftTaskModeType;
-import com.zy.core.enums.RedisKeyType;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.CommandResponse;
 import com.zy.core.model.command.ForkLiftCommand;
 import com.zy.core.model.command.LiftAssignCommand;
-import com.zy.core.model.command.LiftRedisCommand;
-import com.zy.core.model.protocol.ForkLiftProtocol;
 import com.zy.core.thread.ForkLiftThread;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-
-import java.util.Date;
-import java.util.List;
 
 @Component
 public class ForkLiftAction {
@@ -34,99 +25,99 @@
     private BasLiftOptService basLiftOptService;
 
     public synchronized boolean assignWork(Integer liftNo, LiftAssignCommand assignCommand) {
-        ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo);
-        if (forkLiftThread == null) {
-            return false;
-        }
-
-        ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
-        if (forkLiftProtocol == null) {
-            return false;
-        }
-
-        LiftRedisCommand redisCommand = new LiftRedisCommand();
-        redisCommand.setLiftNo(assignCommand.getLiftNo());//鎻愬崌鏈哄彿
-        redisCommand.setWrkNo(assignCommand.getTaskNo());//宸ヤ綔鍙�
-        redisCommand.setCommandStep(0);//鍛戒护鎵ц姝ュ簭
-        redisCommand.setAssignCommand(assignCommand);//鍛戒护
-        //浠诲姟鏁版嵁淇濆瓨鍒皉edis
-        if (redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand))) {
-            forkLiftThread.setSyncTaskNo(assignCommand.getTaskNo().intValue());
-            return true;
-        }
+//        ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo);
+//        if (forkLiftThread == null) {
+//            return false;
+//        }
+//
+//        ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
+//        if (forkLiftProtocol == null) {
+//            return false;
+//        }
+//
+//        LiftRedisCommand redisCommand = new LiftRedisCommand();
+//        redisCommand.setLiftNo(assignCommand.getLiftNo());//鎻愬崌鏈哄彿
+//        redisCommand.setWrkNo(assignCommand.getTaskNo());//宸ヤ綔鍙�
+//        redisCommand.setCommandStep(0);//鍛戒护鎵ц姝ュ簭
+//        redisCommand.setAssignCommand(assignCommand);//鍛戒护
+//        //浠诲姟鏁版嵁淇濆瓨鍒皉edis
+//        if (redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand))) {
+//            forkLiftThread.setSyncTaskNo(assignCommand.getTaskNo().intValue());
+//            return true;
+//        }
         return false;
     }
 
     public synchronized boolean executeWork(Integer liftNo, Integer 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;
-        }
-
-        LiftRedisCommand redisCommand = JSON.parseObject(obj.toString(), LiftRedisCommand.class);
-        if (redisCommand == null) {
-            return false;
-        }
-
-        ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo);
-        if (forkLiftThread == null) {
-            return false;
-        }
-
-        ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
-        if (forkLiftProtocol == null) {
-            return false;
-        }
-
-        List<ForkLiftCommand> commands = redisCommand.getAssignCommand().getCommands();
-        if (commands.isEmpty()) {
-            return false;
-        }
-
-        LiftAssignCommand assignCommand = redisCommand.getAssignCommand();
-        int commandStep = redisCommand.getCommandStep();
-
-        if (commandStep == 0) {
-            //鍙栧嚭鍛戒护
-            ForkLiftCommand command = commands.get(commandStep);
-
-            //鍒ゆ柇鎻愬崌鏈烘槸鍚︾┖闂�
-            if (!forkLiftThread.isIdle()) {
-                return false;
-            }
-
-            // 涓嬪彂鍛戒护
-            CommandResponse response = write(command, liftNo);
-
-            //淇濆瓨鍛戒护鏃ュ織
-            BasLiftOpt basLiftOpt = new BasLiftOpt();
-            basLiftOpt.setWrkNo(taskNo);
-            basLiftOpt.setLiftNo(liftNo);
-            basLiftOpt.setCommand(JSON.toJSONString(command));
-            basLiftOpt.setSystemStatus(JSON.toJSONString(forkLiftProtocol));
-            basLiftOpt.setDeviceWrk(String.valueOf(command.getTaskNo()));
-            basLiftOpt.setSendTime(new Date());//鎸囦护涓嬪彂鏃堕棿
-            //淇濆瓨鍛戒护娴佹按
-            basLiftOptService.insert(basLiftOpt);
-
-            if (!response.getResult()) {
-                News.error("璐у弶鎻愬崌鏈哄懡浠や笅鍙戝け璐ワ紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command));
-                return false;
-            } else {
-                News.info("璐у弶鎻愬崌鏈哄懡浠や笅鍙戞垚鍔燂紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command));
-            }
-
-            commandStep++;
-            //鏇存柊redis鏁版嵁
-            redisCommand.setCommandStep(commandStep);
-            // 鏇存柊redis鏁版嵁
-            redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + taskNo, JSON.toJSONString(redisCommand));
-        }
+//        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;
+////        }
+//
+//        LiftRedisCommand redisCommand = JSON.parseObject(obj.toString(), LiftRedisCommand.class);
+//        if (redisCommand == null) {
+//            return false;
+//        }
+//
+//        ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo);
+//        if (forkLiftThread == null) {
+//            return false;
+//        }
+//
+//        ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
+//        if (forkLiftProtocol == null) {
+//            return false;
+//        }
+//
+//        List<ForkLiftCommand> commands = redisCommand.getAssignCommand().getCommands();
+//        if (commands.isEmpty()) {
+//            return false;
+//        }
+//
+//        LiftAssignCommand assignCommand = redisCommand.getAssignCommand();
+//        int commandStep = redisCommand.getCommandStep();
+//
+//        if (commandStep == 0) {
+//            //鍙栧嚭鍛戒护
+//            ForkLiftCommand command = commands.get(commandStep);
+//
+//            //鍒ゆ柇鎻愬崌鏈烘槸鍚︾┖闂�
+//            if (!forkLiftThread.isDeviceIdle()) {
+//                return false;
+//            }
+//
+//            // 涓嬪彂鍛戒护
+//            CommandResponse response = write(command, liftNo);
+//
+//            //淇濆瓨鍛戒护鏃ュ織
+//            BasLiftOpt basLiftOpt = new BasLiftOpt();
+//            basLiftOpt.setWrkNo(taskNo);
+//            basLiftOpt.setLiftNo(liftNo);
+//            basLiftOpt.setCommand(JSON.toJSONString(command));
+//            basLiftOpt.setSystemStatus(JSON.toJSONString(forkLiftProtocol));
+//            basLiftOpt.setDeviceWrk(String.valueOf(command.getTaskNo()));
+//            basLiftOpt.setSendTime(new Date());//鎸囦护涓嬪彂鏃堕棿
+//            //淇濆瓨鍛戒护娴佹按
+//            basLiftOptService.insert(basLiftOpt);
+//
+//            if (!response.getResult()) {
+//                News.error("璐у弶鎻愬崌鏈哄懡浠や笅鍙戝け璐ワ紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command));
+//                return false;
+//            } else {
+//                 News.taskInfo(wrkMast.getWrkNo(),"璐у弶鎻愬崌鏈哄懡浠や笅鍙戞垚鍔燂紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command));
+//            }
+//
+//            commandStep++;
+//            //鏇存柊redis鏁版嵁
+//            redisCommand.setCommandStep(commandStep);
+//            // 鏇存柊redis鏁版嵁
+//            redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + taskNo, JSON.toJSONString(redisCommand));
+//        }
 
         return true;
     }

--
Gitblit v1.9.1