From 84cffa40e13a64d8b91e393fd44e09c973d7ee99 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 14 八月 2020 15:53:03 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/ConsoleController.java |   33 ++++++++++++----
 src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java  |   28 +++++++++++++-
 src/main/webapp/views/console.html                          |   10 ++++
 src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java   |    6 +-
 src/main/java/com/zy/core/thread/DevpThread.java            |    4 +-
 5 files changed, 64 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index 1607c01..114310d 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -3,19 +3,24 @@
 import com.core.annotations.ManagerAuth;
 import com.core.common.Cools;
 import com.core.common.R;
-import com.zy.core.properties.SystemProperties;
 import com.zy.asrs.domain.enums.SiteStatusType;
 import com.zy.asrs.domain.param.SystemSwitchParam;
 import com.zy.asrs.domain.vo.*;
 import com.zy.common.CodeRes;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.properties.SystemProperties;
+import com.zy.core.thread.DevpThread;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**
@@ -25,6 +30,9 @@
 @RestController
 @RequestMapping("/console")
 public class ConsoleController {
+
+    @Autowired
+    private SlaveProperties slaveProperties;
 
     public static AtomicInteger integer = new AtomicInteger();
 
@@ -117,12 +125,19 @@
     @ManagerAuth(memo = "绔欑偣瀹炴椂鏁版嵁")
     public R siteLatestData(){
         List<SiteLatestDataVo> vos = new ArrayList<>();
-        for (int i = 1; i<=32; i++){
+        Map<Integer, StaProtocol> stations = new HashMap<>();
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+            if (null != devpThread) {
+                stations.putAll(devpThread.getStation());
+            }
+        }
+        for (Map.Entry<Integer, StaProtocol> entry : stations.entrySet()) {
             SiteLatestDataVo vo = new SiteLatestDataVo();
-            vo.setSiteId(String.valueOf(i));
-            vo.setWorkNo("9998");
-            SiteStatusType type = SiteStatusType.values()[new Random().nextInt(SiteStatusType.values().length)];
-            vo.setSiteStatus(type);
+            StaProtocol staProtocol = entry.getValue();
+            vo.setSiteId(String.valueOf(entry.getKey())); // 绔欑偣缂栧彿
+            vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+            vo.setSiteStatus(SiteStatusType.process(staProtocol));  // 鐘舵��
             vos.add(vo);
         }
         return R.ok().add(vos);
diff --git a/src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java b/src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java
index bc00e16..b3adb37 100644
--- a/src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java
+++ b/src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java
@@ -1,6 +1,8 @@
 package com.zy.asrs.domain.enums;
 
 
+import com.zy.core.model.protocol.StaProtocol;
+
 /**
  * 绔欑偣鐘舵�佹灇涓�
  */
@@ -8,15 +10,37 @@
 
     // 鑷姩
     SITE_AUTO,
-    // 闈炶嚜鍔�/鏀跺埌
+    // 闈炶嚜鍔�
     SITE_UNAUTO,
     // 鑷姩+鏈夌墿+ID
     SITE_AUTO_RUN_ID,
     // 鑷姩+鏈夌墿
     SITE_AUTO_RUN,
-    // 鑷姩+鏈夌墿+ID
+    // 鑷姩+ID
     SITE_AUTO_ID,
 
     ;
 
+    public static SiteStatusType process(StaProtocol staProtocol){
+        if (staProtocol == null) {
+            return null;
+        }
+        if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0) {
+            return SITE_AUTO_RUN_ID;
+        }
+        if (staProtocol.isAutoing() && staProtocol.isLoading()) {
+            return SITE_AUTO_RUN;
+        }
+        if (staProtocol.isAutoing() && staProtocol.getWorkNo() > 0) {
+            return SITE_AUTO_ID;
+        }
+        if (staProtocol.isAutoing()) {
+            return SITE_AUTO;
+        }
+        if (!staProtocol.isAutoing()) {
+            return SITE_UNAUTO;
+        }
+        return null;
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java
index f599804..9d98a7c 100644
--- a/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java
@@ -12,7 +12,7 @@
     private String siteId;
 
     // 宸ヤ綔鍙�
-    private String workNo;
+    private Short workNo;
 
     // 绔欑偣鐘舵��
     private SiteStatusType siteStatus;
@@ -25,11 +25,11 @@
         this.siteId = siteId;
     }
 
-    public String getWorkNo() {
+    public Short getWorkNo() {
         return workNo;
     }
 
-    public void setWorkNo(String workNo) {
+    public void setWorkNo(Short workNo) {
         this.workNo = workNo;
     }
 
diff --git a/src/main/java/com/zy/core/thread/DevpThread.java b/src/main/java/com/zy/core/thread/DevpThread.java
index fd11333..b339974 100644
--- a/src/main/java/com/zy/core/thread/DevpThread.java
+++ b/src/main/java/com/zy/core/thread/DevpThread.java
@@ -142,8 +142,8 @@
         DevpThread devpThread = new DevpThread(slave);
         devpThread.read();
         // 鍐�
-        StaProtocol staProtocol = devpThread.getStation().get(1);
-        staProtocol.setWorkNo((short) 888);
+        StaProtocol staProtocol = devpThread.getStation().get(2);
+        staProtocol.setWorkNo((short) 0);
         staProtocol.setStaNo((short) 1001);
         staProtocol.setAutoing(true);
         staProtocol.setEmptyMk(true);
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 2124b17..5563261 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -183,6 +183,7 @@
                 <button class="item">34</button>
                 <div class="site site-none">&nbsp;&nbsp;&nbsp;&nbsp;</div>
             </div>
+            <span class="row-no">2#</span>
         </div>
     </div>
 </main>
@@ -494,7 +495,14 @@
                 if (res.code === 200){
                     var sites = res.data;
                     for (var i = 0; i < sites.length; i++){
-                        $("#site-"+sites[i].siteId).attr("class", "site " + sites[i].siteStatus);
+                        var siteEl = $("#site-"+sites[i].siteId);
+                        siteEl.attr("class", "site " + sites[i].siteStatus);
+                        if (sites[i].workNo != null && sites[i].workNo>0) {
+                            siteEl.html(sites[i].siteId + "[" + sites[i].workNo + "]");
+                        } else {
+                            siteEl.html(sites[i].siteId);
+                        }
+
                     }
                 } else if (res.code === 403){
                     window.location.href = baseUrl+"/login";

--
Gitblit v1.9.1