From 160e150009b51a39fa95d9462c3798ba28d51a09 Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期二, 15 八月 2023 08:49:47 +0800
Subject: [PATCH] 审批页面修改

---
 src/main/java/com/whyc/webSocket/HomeAdminSocket.java |  233 +++++++++++++++++++++++++---------------------------------
 1 files changed, 101 insertions(+), 132 deletions(-)

diff --git a/src/main/java/com/whyc/webSocket/HomeAdminSocket.java b/src/main/java/com/whyc/webSocket/HomeAdminSocket.java
index 7679a79..b2ca6af 100644
--- a/src/main/java/com/whyc/webSocket/HomeAdminSocket.java
+++ b/src/main/java/com/whyc/webSocket/HomeAdminSocket.java
@@ -23,7 +23,7 @@
 import java.util.stream.Collectors;
 
 /**
- * 鎬婚椤�
+ * 鎬婚椤碉紙棰嗗灞傦級
  */
 @Component
 @ServerEndpoint(value = "/homeAdmin", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class)
@@ -50,6 +50,8 @@
     private static PowerInfService powerInfService;
 
     private static BatttestdataInfService batttestdataInfService;
+
+    private HttpSession httpSession;
 
     @Autowired
     public void setBattInfService(BattInfService battInfService) {
@@ -79,8 +81,103 @@
     @OnOpen
     public void onOpen(Session session, EndpointConfig config) {
         this.session = session;
-        HttpSession httpSession = (HttpSession) config.getUserProperties().get("httpSession");
-        UserInf user = (UserInf) httpSession.getAttribute("user");
+        this.httpSession = (HttpSession) config.getUserProperties().get("httpSession");
+    }
+
+    //瀹炴椂椤甸潰鎺ㄩ��
+    public Response getAnalysis(int userId) {
+        Map<String, Object> res = new HashMap<>();
+        /*//钃勭數姹犱紭鍔e垎鏋�
+        Response resQualityAnalysis = badBattMonService.getQualityAnalysis(userId);
+        res.put("resQualityAnalysis", resQualityAnalysis);*/
+
+        //钃勭數姹犵粍浼樺姡鍒嗘瀽
+       /* Response resGroupAnalysis = badBattMonService.getGroupAnalysis(userId);
+        res.put("resGroupAnalysis", resGroupAnalysis);*/
+        Response resGroupAnalysis = batttestdataInfService.getGroupAnalysis(userId);
+        res.put("resGroupAnalysis", resGroupAnalysis);
+
+
+        //鍩虹璧勬簮淇℃伅
+        Response resBattInfoAnalysis = battInfService.getBattInfoAnalysis(userId);
+        res.put("resBattInfoAnalysis", resBattInfoAnalysis);
+
+        //绔欑偣淇℃伅
+        Response resStationAnalysis = new Response();
+        try {
+            //List<Battinf> battinfList = battInfService.getSateAnalysis(userId);
+            List<StationInf> sinfList = stationInfService.getSateAnalysis(userId);
+            Map<Integer, List<StationInf>> nodeStationMap = sinfList.stream().collect(Collectors.groupingBy(StationInf::getNodeStation));
+            Map<String, List<StationInf>> stationTypeMap = sinfList.stream().collect(Collectors.groupingBy(StationInf::getStationType));
+            Map<Integer, Object> nodeMap = new HashMap<>();
+            Map<String, Object> stationMap = new HashMap<>();
+            Map<String, Object> battGroupInfoMap = new HashMap<>();
+            int battSize = sinfList.size();
+            for (Integer node : nodeStationMap.keySet()) {
+                nodeMap.put(node, nodeStationMap.get(node).size());
+            }
+            for (String station : stationTypeMap.keySet()) {
+                stationMap.put(station, stationTypeMap.get(station).size());
+            }
+            battGroupInfoMap.put("node", nodeMap);
+            battGroupInfoMap.put("stationType", stationMap);
+            battGroupInfoMap.put("totalNum", battSize);
+            resStationAnalysis.setII(1, true, battGroupInfoMap, null);
+        } catch (Exception e) {
+            resStationAnalysis.set(1, false, "鍙戠敓寮傚父:" + e.getCause());
+        }
+        res.put("resStationAnalysis", resStationAnalysis);
+        //涓嶅悓鍝佺墝鍚屼竴鏃堕棿鍝佽川鍜屽悓鍝佺墝鍚屾椂闂村搧璐�
+        Response resProductQuaAnalysis = badBattMonService.getProductQuaAnalysis(userId);
+        res.put("resProductQuaAnalysis", resProductQuaAnalysis);
+
+        //鐢垫睜淇℃伅
+        Response res_battGroupInfo = new Response();
+        try {
+            List<Battinf> battinfList = battInfService.getBattGroupList(userId);
+            Map<String, List<Battinf>> battProducerMap = battinfList.stream().collect(Collectors.groupingBy(Battinf::getBattProducer));
+            Map<Float, List<Battinf>> battMonVolStdMap = battinfList.stream().collect(Collectors.groupingBy(Battinf::getMonVolStd));
+            Map<String, Object> battGroupProducerMap = new HashMap<>();
+            Map<String, Object> battGroupMonVolMap = new HashMap<>();
+            Map<String, Object> battGroupInfoMap = new HashMap<>();
+            int battSize = battinfList.size();
+            for (String producer : battProducerMap.keySet()) {
+                battGroupProducerMap.put(producer, battProducerMap.get(producer).size());
+            }
+            for (Float monVolStd : battMonVolStdMap.keySet()) {
+                battGroupMonVolMap.put(Float.toString(monVolStd), battMonVolStdMap.get(monVolStd).size());
+            }
+            battGroupInfoMap.put("producer", battGroupProducerMap);
+            battGroupInfoMap.put("monVol", battGroupMonVolMap);
+            battGroupInfoMap.put("totalNum", battSize);
+            res_battGroupInfo.setII(1, true, battGroupInfoMap, null);
+        } catch (Exception e) {
+            res_battGroupInfo.set(1, false, "鍙戠敓寮傚父:" + e.getCause());
+        }
+        res.put("battGroupInfo", res_battGroupInfo);
+        //鐢垫簮淇℃伅
+        Response resPwrdevInfAnalysis = new Response();
+        try {
+            List<PowerInf> powerInfList = powerInfService.getPwrdevInfAnalysis(userId);
+            Map<String, List<PowerInf>> powerProducerMap = powerInfList.stream().collect(Collectors.groupingBy(PowerInf::getPowerProducer));
+            Map<String, Object> AnalysisMap = new HashMap<>();
+            for (String producer : powerProducerMap.keySet()) {
+                AnalysisMap.put(producer, powerProducerMap.get(producer).size());
+            }
+            resPwrdevInfAnalysis.setII(1, true, AnalysisMap, "鐢垫簮淇℃伅");
+        } catch (Exception e) {
+            resPwrdevInfAnalysis.set(1, false, "鍙戠敓寮傚父:" + e.getCause());
+        }
+        res.put("resPwrdevInfAnalysis", resPwrdevInfAnalysis);
+        //娴嬭瘯淇℃伅
+        Response resTestdataInfAnalysis = batttestdataInfService.getTestdataInfAnalysis(userId);
+        res.put("resTestdataInfAnalysis", resTestdataInfAnalysis);
+        return new Response().set(1, res);
+    }
+
+    @OnMessage
+    public void onMessage(Session session, String message) {
+        UserInf user = (UserInf) this.httpSession.getAttribute("user");
         final int userId = user.getUId().intValue();
         //final int userId = 1087;
         Thread thread = new Thread() {
@@ -191,7 +288,7 @@
                         });
                         latch.await(10, TimeUnit.MINUTES);
                         session.getBasicRemote().sendObject(new Response().set(1, res));
-                        sleep(4000);
+                        sleep(5000);
                     }
                 } catch (Exception e) {
                     this.interrupt();
@@ -200,134 +297,6 @@
         };
         thread.start();
         this.thread = thread;
-        /*thread = new Thread("Thread_homeAdmin") {
-            @Override
-            public void run() {
-                while (runFlag && !isInterrupted()) {
-                    Thread thread = currentThread();
-                    threadFlagMap.put(thread.getId(), true);
-                    try {
-                        if (session.isOpen()) {
-                            //鎺ㄩ�佷俊鎭�
-                            synchronized (session) {
-                                session.getBasicRemote().sendObject(getAnalysis(userId));
-                            }
-                            threadFlagMap.put(thread.getId(), false);
-                        }
-                        sleep(executeTime);
-                        //} catch (IOException | InterruptedException | EncodeException e) {
-                    } catch (Exception e) {
-                        interrupt();
-                    }
-                }
-            }
-        };
-        thread.start();
-        threadFlagMap.put(thread.getId(), true);
-        //鍋滄鑰佺殑socket绾跨▼
-        Thread threadBefore = threadMap.get(session.getId());
-        if (threadBefore != null && threadBefore.isAlive()) {
-            while (threadFlagMap.get(threadBefore.getId())) {
-            }
-            threadBefore.interrupt();
-        }
-        //灏嗙嚎绋嬪瓨鍌�,渚夸簬璋冪敤瀹氫綅
-        threadMap.put(session.getId(), this.thread);*/
-    }
-
-    //瀹炴椂椤甸潰鎺ㄩ��
-    public Response getAnalysis(int userId) {
-        Map<String, Object> res = new HashMap<>();
-        /*//钃勭數姹犱紭鍔e垎鏋�
-        Response resQualityAnalysis = badBattMonService.getQualityAnalysis(userId);
-        res.put("resQualityAnalysis", resQualityAnalysis);*/
-
-        //钃勭數姹犵粍浼樺姡鍒嗘瀽
-       /* Response resGroupAnalysis = badBattMonService.getGroupAnalysis(userId);
-        res.put("resGroupAnalysis", resGroupAnalysis);*/
-        Response resGroupAnalysis = batttestdataInfService.getGroupAnalysis(userId);
-        res.put("resGroupAnalysis", resGroupAnalysis);
-
-
-        //鍩虹璧勬簮淇℃伅
-        Response resBattInfoAnalysis = battInfService.getBattInfoAnalysis(userId);
-        res.put("resBattInfoAnalysis", resBattInfoAnalysis);
-
-        //绔欑偣淇℃伅
-        Response resStationAnalysis = new Response();
-        try {
-            //List<Battinf> battinfList = battInfService.getSateAnalysis(userId);
-            List<StationInf> sinfList = stationInfService.getSateAnalysis(userId);
-            Map<Integer, List<StationInf>> nodeStationMap = sinfList.stream().collect(Collectors.groupingBy(StationInf::getNodeStation));
-            Map<String, List<StationInf>> stationTypeMap = sinfList.stream().collect(Collectors.groupingBy(StationInf::getStationType));
-            Map<Integer, Object> nodeMap = new HashMap<>();
-            Map<String, Object> stationMap = new HashMap<>();
-            Map<String, Object> battGroupInfoMap = new HashMap<>();
-            int battSize = sinfList.size();
-            for (Integer node : nodeStationMap.keySet()) {
-                nodeMap.put(node, nodeStationMap.get(node).size());
-            }
-            for (String station : stationTypeMap.keySet()) {
-                stationMap.put(station, stationTypeMap.get(station).size());
-            }
-            battGroupInfoMap.put("node", nodeMap);
-            battGroupInfoMap.put("stationType", stationMap);
-            battGroupInfoMap.put("totalNum", battSize);
-            resStationAnalysis.setII(1, true, battGroupInfoMap, null);
-        } catch (Exception e) {
-            resStationAnalysis.set(1, false, "鍙戠敓寮傚父:" + e.getCause());
-        }
-        res.put("resStationAnalysis", resStationAnalysis);
-        //涓嶅悓鍝佺墝鍚屼竴鏃堕棿鍝佽川鍜屽悓鍝佺墝鍚屾椂闂村搧璐�
-        Response resProductQuaAnalysis = badBattMonService.getProductQuaAnalysis(userId);
-        res.put("resProductQuaAnalysis", resProductQuaAnalysis);
-
-        //鐢垫睜淇℃伅
-        Response res_battGroupInfo = new Response();
-        try {
-            List<Battinf> battinfList = battInfService.getBattGroupList(userId);
-            Map<String, List<Battinf>> battProducerMap = battinfList.stream().collect(Collectors.groupingBy(Battinf::getBattProducer));
-            Map<Float, List<Battinf>> battMonVolStdMap = battinfList.stream().collect(Collectors.groupingBy(Battinf::getMonVolStd));
-            Map<String, Object> battGroupProducerMap = new HashMap<>();
-            Map<String, Object> battGroupMonVolMap = new HashMap<>();
-            Map<String, Object> battGroupInfoMap = new HashMap<>();
-            int battSize = battinfList.size();
-            for (String producer : battProducerMap.keySet()) {
-                battGroupProducerMap.put(producer, battProducerMap.get(producer).size());
-            }
-            for (Float monVolStd : battMonVolStdMap.keySet()) {
-                battGroupMonVolMap.put(Float.toString(monVolStd), battMonVolStdMap.get(monVolStd).size());
-            }
-            battGroupInfoMap.put("producer", battGroupProducerMap);
-            battGroupInfoMap.put("monVol", battGroupMonVolMap);
-            battGroupInfoMap.put("totalNum", battSize);
-            res_battGroupInfo.setII(1, true, battGroupInfoMap, null);
-        } catch (Exception e) {
-            res_battGroupInfo.set(1, false, "鍙戠敓寮傚父:" + e.getCause());
-        }
-        res.put("battGroupInfo", res_battGroupInfo);
-        //鐢垫簮淇℃伅
-        Response resPwrdevInfAnalysis = new Response();
-        try {
-            List<PowerInf> powerInfList = powerInfService.getPwrdevInfAnalysis(userId);
-            Map<String, List<PowerInf>> powerProducerMap = powerInfList.stream().collect(Collectors.groupingBy(PowerInf::getPowerProducer));
-            Map<String, Object> AnalysisMap = new HashMap<>();
-            for (String producer : powerProducerMap.keySet()) {
-                AnalysisMap.put(producer, powerProducerMap.get(producer).size());
-            }
-            resPwrdevInfAnalysis.setII(1, true, AnalysisMap, "鐢垫簮淇℃伅");
-        } catch (Exception e) {
-            resPwrdevInfAnalysis.set(1, false, "鍙戠敓寮傚父:" + e.getCause());
-        }
-        res.put("resPwrdevInfAnalysis", resPwrdevInfAnalysis);
-        //娴嬭瘯淇℃伅
-        Response resTestdataInfAnalysis = batttestdataInfService.getTestdataInfAnalysis(userId);
-        res.put("resTestdataInfAnalysis", resTestdataInfAnalysis);
-        return new Response().set(1, res);
-    }
-
-    @OnMessage
-    public void onMessage(Session session, String message) {
     }
 
     @OnClose

--
Gitblit v1.9.1