From 00740040ee7185d0a84a408b289400fab1c13428 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 16 十月 2024 17:08:17 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/core/enums/RgvStatusType.java          |   22 ++++++-----
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   73 ++++++++++++++++++++++++++++++++++++
 src/main/java/com/zy/core/MainProcess.java                  |    3 +
 3 files changed, 87 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index c05f38f..a03ebb5 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,9 +1,36 @@
 package com.zy.asrs.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.core.common.Cools;
+import com.zy.asrs.entity.BasRgv;
+import com.zy.asrs.entity.BasSte;
+import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.utils.Utils;
+import com.zy.core.DevpThread;
+import com.zy.core.News;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.*;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.RgvSlave;
+import com.zy.core.model.SteSlave;
+import com.zy.core.model.Task;
+import com.zy.core.model.command.SteCommand;
+import com.zy.core.model.protocol.RgvProtocol;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.model.protocol.SteProtocol;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.RgvThread;
+import com.zy.core.thread.SiemensDevpThread;
+import com.zy.core.thread.SteThread;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.Map;
 
 /**
  * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -14,4 +41,50 @@
 @Transactional
 public class MainServiceImpl {
 
+    @Autowired
+    private SlaveProperties slaveProperties;
+    @Autowired
+    private BasDevpService basDevpService;
+    @Autowired
+    private BasRgvServiceImpl basRgvService;
+
+    /**
+     * 绔欑偣浠诲姟妫�娴�  涓嬪彂灏忚溅鍙栨斁浠诲姟
+     */
+    public synchronized void DevpTaskNoRun() {
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            // 閬嶅巻绌烘澘鍏ュ簱鍙�
+            for (DevpSlave.Sta sta : devp.getInSta()) {
+                // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭�
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                StaProtocol staProtocol = devpThread.getStation().get(sta.getStaNo());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+            }
+        }
+    }
+
+    public synchronized void loopSteCharge() {
+        for (RgvSlave rgv : slaveProperties.getRgv()) {
+            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+            BasRgv basRgv = basRgvService.selectById(rgv.getId());
+            if (Cools.isEmpty(rgvProtocol, basRgv)) { continue; }
+            try {
+                // 鍦ㄧ嚎 绌洪棽   鏃犱綔涓氭爣璁�   涓嶅湪鍏呯數
+                if (rgvProtocol.getMode() == 0
+                        || !rgvProtocol.statusType.equals(RgvStatusType.IDLE)
+                        || basRgv.getPakMk().equals("Y")
+//                        || steProtocol.getChargeStatus() == 1
+                ) {
+                    continue;
+                }
+            } catch (Exception e) {
+                News.error("fail", e);
+            }
+        }
+    }
 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 2703d47..8e9246c 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -55,7 +55,8 @@
                         continue;
                     }
 
-
+                    // 绌挎杞� ===>> 灏忚溅鐢甸噺妫�娴嬪厖鐢�
+                    mainService.loopSteCharge();
 
 
                 } catch (Exception e) {
diff --git a/src/main/java/com/zy/core/enums/RgvStatusType.java b/src/main/java/com/zy/core/enums/RgvStatusType.java
index 583ee82..b5d86cb 100644
--- a/src/main/java/com/zy/core/enums/RgvStatusType.java
+++ b/src/main/java/com/zy/core/enums/RgvStatusType.java
@@ -3,16 +3,18 @@
 public enum RgvStatusType {
 
     NONE(-1, "绂荤嚎","#4A4035"),
-    IDLE(0, "绌洪棽","#1F3696"),
-    WORKING(1, "浣滀笟涓�","#2196F3"),
-    SOS(2, "鎶ヨ","#2196F3"),
-    FETCHING(11, "鍙栬揣涓�","#2196F3"),
-    PUTTING(12, "鏀捐揣涓�","#2196F3"),
-    WAITING(90, "浠诲姟瀹屾垚绛夊緟WCS纭","#E2C027"),
-    FETCHWAITING(91, "鍙栬揣浠诲姟瀹屾垚绛夊緟WCS纭","#2196F3"),
-    SOS99(99, "鎶ヨ99","#2196F3"),
-    SOS100(100, "鍏跺畠100","#2196F3"),
-    SOSSUPER(999, "鍏跺畠","#2196F3")
+    IDLE(0, "鏃犱换鍔�","#1F3696"),
+    WORKING(1, "鍙栬揣琛岃蛋","#2196F3"),
+    SOS(2, "杩涚珯杩愯涓�","#2196F3"),
+    FETCHING(3, "杩涚珯瀹屾垚","#2196F3"),
+    PUTTING(4, "鏈夌墿寰呭嚭绔�","#2196F3"),
+    WAITING(5, "鍑虹珯琛岃蛋","#E2C027"),
+    FETCHWAITING(6, "鍑虹珯璇锋眰","#2196F3"),
+    SOS99(7, "鍑虹珯杩愯涓�","#2196F3"),
+    SOS100(8, "鍑虹珯瀹屾垚","#2196F3"),
+    SOS1001(11, "婕父","#2196F3"),
+    SOS1002(100, "浠诲姟鎵ц瀹屾垚","#2196F3"),
+    SOSSUPER(999, "鏈煡","#2196F3")
     ;
 
     public Integer id;

--
Gitblit v1.9.1