From b69671d75ba283f8d47c31ae989b5dd346b62967 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 24 四月 2025 15:17:54 +0800
Subject: [PATCH] #出库任务预调度提升机

---
 src/main/java/com/zy/asrs/controller/ForkLiftController.java |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ForkLiftController.java b/src/main/java/com/zy/asrs/controller/ForkLiftController.java
index 844e50a..747abf8 100644
--- a/src/main/java/com/zy/asrs/controller/ForkLiftController.java
+++ b/src/main/java/com/zy/asrs/controller/ForkLiftController.java
@@ -16,10 +16,7 @@
 import com.zy.core.action.ForkLiftAction;
 import com.zy.core.cache.OutputQueue;
 import com.zy.core.cache.SlaveConnection;
-import com.zy.core.enums.ForkLiftProtocolStatusType;
-import com.zy.core.enums.ForkLiftTaskModeType;
-import com.zy.core.enums.RedisKeyType;
-import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.*;
 import com.zy.core.model.ForkLiftSlave;
 import com.zy.core.model.command.*;
 import com.zy.core.model.protocol.ForkLiftProtocol;
@@ -274,7 +271,7 @@
 
         if (param.getLiftTaskMode() == 1) {
             //灏忚溅鎹㈠眰
-            int workNo = commonService.getWorkNo(99);//鑾峰彇浠诲姟鍙�
+            int workNo = commonService.getWorkNo(WrkIoType.MANUAL.id);//鑾峰彇浠诲姟鍙�
 
             Integer startSta = param.getSourceStaNo();
             Integer targetSta = param.getStaNo();
@@ -296,7 +293,7 @@
             return R.ok();
         } else if (param.getLiftTaskMode() == 2) {
             //绉诲姩鎵樼洏
-            int workNo = commonService.getWorkNo(99);//鑾峰彇浠诲姟鍙�
+            int workNo = commonService.getWorkNo(WrkIoType.MANUAL.id);//鑾峰彇浠诲姟鍙�
 
             Integer startSta = param.getSourceStaNo();
             Integer targetSta = param.getStaNo();
@@ -317,6 +314,28 @@
             forkLiftAction.assignWork(forkLiftProtocol.getLiftNo(), assignCommand);
             return R.ok();
         } else if (param.getLiftTaskMode() == 3) {
+            //绉诲姩
+            int workNo = commonService.getWorkNo(WrkIoType.MANUAL.id);//鑾峰彇浠诲姟鍙�
+
+            Integer startSta = param.getSourceStaNo();
+            Integer targetSta = param.getStaNo();
+
+            //鑾峰彇鎻愬崌鏈哄懡浠�
+            List<ForkLiftCommand> liftCommand = forkLiftThread.getMoveCommand(workNo, startSta, targetSta);
+            ArrayList<ForkLiftCommand> commands = new ArrayList<>();
+            commands.addAll(liftCommand);
+
+            //鎻愪氦鍒扮嚎绋嬪幓宸ヤ綔
+            LiftAssignCommand assignCommand = new LiftAssignCommand();
+            assignCommand.setCommands(commands);
+            assignCommand.setLiftNo(forkLiftProtocol.getLiftNo().shortValue());
+            assignCommand.setTaskNo((short) workNo);
+            assignCommand.setAuto(false);//鎵嬪姩妯″紡
+            assignCommand.setTaskMode(ForkLiftTaskModeType.MOVE.id.shortValue());
+
+            forkLiftAction.assignWork(forkLiftProtocol.getLiftNo(), assignCommand);
+            return R.ok();
+        } else if (param.getLiftTaskMode() == 4) {
             //浠诲姟纭
             forkLiftThread.reset();
             return R.ok();

--
Gitblit v1.9.1