Explorar o código

矩阵功能优化

shilin %!s(int64=4) %!d(string=hai) anos
pai
achega
8ee555fdbd
Modificáronse 1 ficheiros con 13 adicións e 23 borrados
  1. 13 23
      src/main/java/com/gyee/frame/service/monitor/MonitorService.java

+ 13 - 23
src/main/java/com/gyee/frame/service/monitor/MonitorService.java

@@ -19,9 +19,8 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArraySet;
 
 @Service
@@ -34,7 +33,7 @@ public class MonitorService extends SocketToolService {
 
     private int decimal_digit = 2;
     private IRealTimeDataBaseUtil mongodb = RealTimeDataBaseFactory.createRealTimeDataBase();
-
+    public static int initialstate=0;
 
 
     public void monitor_target_matrixMonitor() throws Exception {
@@ -49,18 +48,13 @@ public class MonitorService extends SocketToolService {
         String jobkey = String.valueOf(sb);
         Map<String, CopyOnWriteArraySet<String>> keyidMap = WebSocketServer.keyidMap;
 
+        Map<String, CopyOnWriteArraySet<String>> tempmap=new HashMap<>();
 
-        if(WebSocketServer.keyidMap.isEmpty())
+        if(initialstate==0)
         {
-            WindpowerstationExample windpowerstationExample=new WindpowerstationExample();
-            windpowerstationExample.setOrderByClause("ordernum ASC");
-            windpowerstationExample.createCriteria().getAllCriteria();
-            List<Windpowerstation> wpls= windpowerstationService.selectByExample(windpowerstationExample);
 
-            ProjectExample projectExample=new ProjectExample();
-            projectExample.setOrderByClause("ordernum ASC");
-            projectExample.createCriteria().getAllCriteria();
-            List<Project> pjls= projectService.selectByExample(projectExample);
+            List<Windpowerstation> wpls= InitialRunner.wpls;
+            List<Project> pjls=InitialRunner.pjls;
 
             CopyOnWriteArraySet<String> set=new CopyOnWriteArraySet<String>();
             for(Windpowerstation wp: wpls)
@@ -76,7 +70,10 @@ public class MonitorService extends SocketToolService {
                 sb2.append("pj_").append(pj.getId());
                 set.add(String.valueOf(sb2));
             }
-            keyidMap.put(jobkey,set);
+            tempmap.put(jobkey,set);
+            keyidMap =tempmap;
+        }else {
+            keyidMap = WebSocketServer.keyidMap;
         }
 
 //        CopyOnWriteArraySet<String> set=new CopyOnWriteArraySet<String>();
@@ -129,19 +126,12 @@ public class MonitorService extends SocketToolService {
                     }
 
                 }
- //               else if (keyid_title.equals("ln_")) {
-//                    if (InitialRunner.ln_wtmap.containsKey(keyid)) {
-//                        List<Windturbine> ls = InitialRunner.ln_wtmap.get(keyid);
-//                        if (null != ls && !ls.isEmpty()) {
-//                            setMatrixValue(wtpAimap, vos, ls);
-//                        }
-//                    }
-//                }
+
 
                 this.pushToWeb("pageNumber_4", "functionNumber_2", str, vos, Messagetype.MESSAGE);
 
             }
-
+            initialstate=1;
         }