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 |  120 +++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 94 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index af52e13..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,55 +20,121 @@
 @Component
 public class MainProcess {
 
+    @Value("${deviceExecuteConfig.liftType}")
+    private String liftType;
     @Autowired
     private MainServiceImpl mainService;
+    @Autowired
+    private ForkMainServiceImpl forkMainService;
     // 鎵�灞炵嚎绋�
     private Thread thread;
+    // 棰戠巼
+    private int i = 0;
 
     /**
      * =====>>  寮�濮嬪伐浣�
      */
     public void start(){
+        if(liftType.equals("ForkLift")){
+            initForkMain();
+        }else {
+            initMain();
+        }
+    }
+
+    private void initMain() {
         thread = new Thread(() -> {
             while (!Thread.currentThread().isInterrupted()) {
                 try {
 
                     // 闂撮殧
-                    Thread.sleep(1000);
+                    Thread.sleep(300);
 
                     // 绯荤粺杩愯鐘舵�佸垽鏂�
                     if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
                         continue;
                     }
 
-                    // 婕旂ず
-                    mainService.demo();
+                    //鍒濆鍖栧疄鏃跺湴鍥�
+                    mainService.initRealtimeBasMap();
 
-
-                    // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
-                    mainService.generateStoreWrkFile(); // 缁勬墭
-                    mainService.generateStoreWrkFile0(); // WMS鍏ュ簱
-                    // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
-                    mainService.stnToCrnStnPick();
-                    // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
-                    mainService.crnStnToOutStn();
-                    // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
-                    mainService.crnIoExecute();
-                    // 鍏ュ簱  ===>> 鎵ц鍫嗗灈鏈哄宸ヤ綔妗g殑瀹屾垚鎿嶄綔
-                    mainService.storeFinished();
-                    // 鍏ュ簱 ===>> 鎵ц绌挎杞﹀宸ヤ綔妗g殑瀹屾垚鎿嶄綔
-                    mainService.carGenerateStore();
-                    // 鍫嗗灈鏈哄紓甯镐俊鎭褰�
-                    mainService.recCrnErr();
-                    // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�
-                    mainService.storeEmptyPlt();
-                    // 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
-                    mainService.ledExecute();
-                    // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
-                    mainService.ledReset();
+                    // 鍏ュ簱  ===>>  鍥涘悜绌挎杞﹀叆搴撲綔涓氫笅鍙�
+                    mainService.shuttleInExecute();
+                    // 鍑哄簱  ===>>  鍥涘悜绌挎杞﹀嚭搴撲綔涓氫笅鍙�
+                    mainService.shuttleOutExecute();
+//                    //鍥涘悜绌挎杞︿换鍔″畬鎴�
+//                    mainService.shuttleFinished();
+                    //鎵ц绉诲簱浠诲姟
+                    mainService.shuttleLocMoveExecute();
+                    //璐у弶鎻愬崌鏈轰换鍔�
+                    mainService.forkLiftIoExecute();
+                    //璐у弶鎻愬崌鏈轰换鍔″畬鎴�
+                    mainService.forkLiftFinished();
+                    //鎵ц灏忚溅绉诲姩浠诲姟
+                    mainService.shuttleMoveExecute();
+                    // 寮傚父淇℃伅璁板綍
+                    mainService.recErr();
                     // 绌挎杞� ===>> 灏忚溅鐢甸噺妫�娴嬪厖鐢�
-                    mainService.loopSteCharge();
+                    mainService.loopShuttleCharge();
+                    mainService.executeShuttleCharge();
 
+                    //鑷姩鍒囨崲鍑哄叆搴撴ā寮�
+                    mainService.autoSwitchForkLiftIOMode();
+
+                    // 闂撮殧
+                    Thread.sleep(200);
+                } 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