From 5d1aa071ca6f385a8ec9bb2b5135d259f0f225eb Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期四, 04 十二月 2025 10:59:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/MainProcess.java |  115 +++++----------------------------------------------------
 1 files changed, 11 insertions(+), 104 deletions(-)

diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index e748408..cd49feb 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -1,138 +1,45 @@
 package com.zy.core;
 
-import com.zy.asrs.service.impl.ForkMainServiceImpl;
-import com.zy.asrs.service.impl.MainServiceImpl;
+import com.core.common.SpringUtils;
+import com.zy.core.plugin.MainProcessPluginApi;
 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;
 
 /**
  * WCS涓绘祦绋�
- * Created by vincent on 2020/8/6
  */
-@Data
 @Slf4j
 @Component
 public class MainProcess {
 
-    @Value("${deviceExecuteConfig.liftType}")
-    private String liftType;
-    @Autowired
-    private MainServiceImpl mainService;
-    @Autowired
-    private ForkMainServiceImpl forkMainService;
+    @Value("${mainProcessPlugin}")
+    private String mainProcessPlugin;
+    private MainProcessPluginApi mainProcessPluginApi;
     // 鎵�灞炵嚎绋�
     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(300);
+                    if (mainProcessPluginApi == null) {
+                        String className = mainProcessPlugin.contains(".") ? mainProcessPlugin : "com.zy.core.plugin." + mainProcessPlugin;
+                        Class<? extends MainProcessPluginApi> clazz = Class.forName(className).asSubclass(MainProcessPluginApi.class);
+                        mainProcessPluginApi = SpringUtils.getBean(clazz);
+                    }
 
                     // 绯荤粺杩愯鐘舵�佸垽鏂�
                     if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
                         continue;
                     }
 
-                    //鍒濆鍖栧疄鏃跺湴鍥�
-                    mainService.initRealtimeBasMap();
-
-                    // 鍏ュ簱  ===>>  鍥涘悜绌挎杞﹀叆搴撲綔涓氫笅鍙�
-                    mainService.shuttleInExecute();
-                    // 鍑哄簱  ===>>  鍥涘悜绌挎杞﹀嚭搴撲綔涓氫笅鍙�
-                    mainService.shuttleOutExecute();
-//                    //鍥涘悜绌挎杞︿换鍔″畬鎴�
-//                    mainService.shuttleFinished();
-                    //鎵ц绉诲簱浠诲姟
-                    mainService.shuttleLocMoveExecute();
-                    //璐у弶鎻愬崌鏈轰换鍔�
-                    mainService.forkLiftIoExecute();
-                    //璐у弶鎻愬崌鏈轰换鍔″畬鎴�
-                    mainService.forkLiftFinished();
-                    //鎵ц灏忚溅绉诲姩浠诲姟
-                    mainService.shuttleMoveExecute();
-                    // 寮傚父淇℃伅璁板綍
-                    mainService.recErr();
-                    // 绌挎杞� ===>> 灏忚溅鐢甸噺妫�娴嬪厖鐢�
-                    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();
-
+                    mainProcessPluginApi.run();
                     // 闂撮殧
                     Thread.sleep(200);
                 } catch (Exception e) {

--
Gitblit v1.9.1