From 6daf900a09adcca981f620744bf89851654d88e0 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 05 八月 2025 09:58:08 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/MainProcess.java |   69 +++++++++++++++++++++++++++++++++-
 1 files changed, 66 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 164f944..e748408 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -1,10 +1,12 @@
 package com.zy.core;
 
+import com.zy.asrs.service.impl.ForkMainServiceImpl;
 import com.zy.asrs.service.impl.MainServiceImpl;
 import com.zy.core.properties.SystemProperties;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.PreDestroy;
@@ -18,8 +20,12 @@
 @Component
 public class MainProcess {
 
+    @Value("${deviceExecuteConfig.liftType}")
+    private String liftType;
     @Autowired
     private MainServiceImpl mainService;
+    @Autowired
+    private ForkMainServiceImpl forkMainService;
     // 鎵�灞炵嚎绋�
     private Thread thread;
     // 棰戠巼
@@ -29,6 +35,14 @@
      * =====>>  寮�濮嬪伐浣�
      */
     public void start(){
+        if(liftType.equals("ForkLift")){
+            initForkMain();
+        }else {
+            initMain();
+        }
+    }
+
+    private void initMain() {
         thread = new Thread(() -> {
             while (!Thread.currentThread().isInterrupted()) {
                 try {
@@ -43,9 +57,6 @@
 
                     //鍒濆鍖栧疄鏃跺湴鍥�
                     mainService.initRealtimeBasMap();
-
-                    //鍑哄簱浠诲姟棰勮皟搴︽彁鍗囨満
-                    mainService.outTaskPreviewDispatchForkLift();
 
                     // 鍏ュ簱  ===>>  鍥涘悜绌挎杞﹀叆搴撲綔涓氫笅鍙�
                     mainService.shuttleInExecute();
@@ -80,6 +91,58 @@
         thread.start();
     }
 
+    private void initForkMain() {
+        thread = new Thread(() -> {
+            while (!Thread.currentThread().isInterrupted()) {
+                try {
+
+                    // 闂撮殧
+                    Thread.sleep(300);
+
+                    // 绯荤粺杩愯鐘舵�佸垽鏂�
+                    if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
+                        continue;
+                    }
+
+                    //鍒濆鍖栧疄鏃跺湴鍥�
+                    forkMainService.initRealtimeBasMap();
+
+                    //鍑哄簱浠诲姟棰勮皟搴︽彁鍗囨満
+                    forkMainService.outTaskPreviewDispatchForkLift();
+
+                    // 鍏ュ簱  ===>>  鍥涘悜绌挎杞﹀叆搴撲綔涓氫笅鍙�
+                    forkMainService.shuttleInExecute();
+                    // 鍑哄簱  ===>>  鍥涘悜绌挎杞﹀嚭搴撲綔涓氫笅鍙�
+                    forkMainService.shuttleOutExecute();
+//                    //鍥涘悜绌挎杞︿换鍔″畬鎴�
+//                    mainService.shuttleFinished();
+                    //鎵ц绉诲簱浠诲姟
+                    forkMainService.shuttleLocMoveExecute();
+                    //璐у弶鎻愬崌鏈轰换鍔�
+                    forkMainService.forkLiftIoExecute();
+                    //璐у弶鎻愬崌鏈轰换鍔″畬鎴�
+                    forkMainService.forkLiftFinished();
+                    //鎵ц灏忚溅绉诲姩浠诲姟
+                    forkMainService.shuttleMoveExecute();
+                    // 寮傚父淇℃伅璁板綍
+                    forkMainService.recErr();
+                    // 绌挎杞� ===>> 灏忚溅鐢甸噺妫�娴嬪厖鐢�
+                    forkMainService.loopShuttleCharge();
+                    forkMainService.executeShuttleCharge();
+
+                    //鑷姩鍒囨崲鍑哄叆搴撴ā寮�
+                    forkMainService.autoSwitchForkLiftIOMode();
+
+                    // 闂撮殧
+                    Thread.sleep(200);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+        thread.start();
+    }
+
     @PreDestroy
     public void shutDown(){
         if (thread != null) thread.interrupt();

--
Gitblit v1.9.1