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 |  130 ++++++++++++++++++++++++++++--------------
 1 files changed, 86 insertions(+), 44 deletions(-)

diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index b032df4..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 {
@@ -41,58 +55,86 @@
                         continue;
                     }
 
-                    // 婕旂ず
-                    mainService.demo();
+                    //鍒濆鍖栧疄鏃跺湴鍥�
+                    mainService.initRealtimeBasMap();
 
-                    // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
-                    mainService.generateStoreWrkFile(); // 缁勬墭
-//                    mainService.generateStoreWrkFile0(); // WMS鍏ュ簱
-
-                    // 闂撮殧
-                    Thread.sleep(500);
-
-                    // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
-                    mainService.stnToCrnStnPick();
-                    // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
-                    mainService.crnStnToOutStn();
-                    // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
-                    mainService.crnIoExecute();
-                    // 鍏ュ嚭搴�  ===>>  鍥涘悜绌挎杞﹀叆鍑哄簱浣滀笟涓嬪彂
-                    mainService.shuttleIoExecute();
-                    //鍥涘悜绌挎杞︿换鍔″畬鎴�
-                    mainService.shuttleFinished();
-                    //鎻愬崌鏈轰换鍔�
-                    mainService.liftIoExecute();
-                    //鎻愬崌鏈轰换鍔″畬鎴�
-                    mainService.liftFinished();
-                    // 鍏ュ簱  ===>> 鎵ц鍫嗗灈鏈哄宸ヤ綔妗g殑瀹屾垚鎿嶄綔
-                    mainService.storeFinished();
-                    // 鍏ュ簱 ===>> 鎵ц绌挎杞﹀宸ヤ綔妗g殑瀹屾垚鎿嶄綔
-                    mainService.carGenerateStore();
+                    // 鍏ュ簱  ===>>  鍥涘悜绌挎杞﹀叆搴撲綔涓氫笅鍙�
+                    mainService.shuttleInExecute();
+                    // 鍑哄簱  ===>>  鍥涘悜绌挎杞﹀嚭搴撲綔涓氫笅鍙�
+                    mainService.shuttleOutExecute();
+//                    //鍥涘悜绌挎杞︿换鍔″畬鎴�
+//                    mainService.shuttleFinished();
+                    //鎵ц绉诲簱浠诲姟
+                    mainService.shuttleLocMoveExecute();
+                    //璐у弶鎻愬崌鏈轰换鍔�
+                    mainService.forkLiftIoExecute();
+                    //璐у弶鎻愬崌鏈轰换鍔″畬鎴�
+                    mainService.forkLiftFinished();
+                    //鎵ц灏忚溅绉诲姩浠诲姟
+                    mainService.shuttleMoveExecute();
                     // 寮傚父淇℃伅璁板綍
                     mainService.recErr();
-                    // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�
-                    mainService.storeEmptyPlt();
-                    // 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
-                    mainService.ledExecute();
-                    // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
-                    mainService.ledReset();
                     // 绌挎杞� ===>> 灏忚溅鐢甸噺妫�娴嬪厖鐢�
-                    mainService.loopSteCharge();
-                    mainService.executeSteCharge();
-                    //鍑哄叆搴撴ā寮�
-                    i++;
-                    if (i > 1) {
-                        mainService.outAndIn();
-                        i = 0;
-                    }
+                    mainService.loopShuttleCharge();
+                    mainService.executeShuttleCharge();
+
+                    //鑷姩鍒囨崲鍑哄叆搴撴ā寮�
+                    mainService.autoSwitchForkLiftIOMode();
 
                     // 闂撮殧
                     Thread.sleep(200);
-                    // 绌挎杞� ===>> 灏忚溅澶嶄綅鑷冲緟鏈哄簱浣�
-//                    mainService.queryChargeLocOfComplete();
-//                    mainService.steFromChargeToIdleLoc();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+        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();
                 }

--
Gitblit v1.9.1