Преглед на файлове

修正健康管理状态数量统计

shilin преди 2 години
родител
ревизия
fcaa803a45

+ 36 - 1
realtime/datatraining-server/src/main/java/com/gyee/datatraining/init/CacheContext.java

@@ -29,6 +29,11 @@ public class CacheContext implements CommandLineRunner {
 
     @Autowired
     private IProBasicEquipmentService  proBasicEquipmentService;
+
+    @Autowired
+    private IProBasicRegionService  proBasicRegionService;
+    @Autowired
+    private IProBasicCompanyService  proBasicCompanyService;
     @Autowired
     private IProBasicPowerstationService  proBasicPowerstationService;
     @Autowired
@@ -43,7 +48,15 @@ public class CacheContext implements CommandLineRunner {
     private IProBasicPowerstationPointService  proBasicPowerstationPointService;
 
     public static Map<String, ProBasicEquipment> wtmap = new HashMap< >(); // 风电机MAP
-    
+
+    public static Map<String, ProBasicRegion> rgmap = new HashMap<>();
+
+    public static  List<ProBasicRegion> rgls =  new ArrayList<>(); // 区域LIST集合
+
+
+    public static Map<String, ProBasicCompany> cpmap = new HashMap<>();
+
+    public static  List<ProBasicCompany> cpls =  new ArrayList<>(); // 公司LIST集合
     public static Map<String, ProBasicPowerstation> wpmap = new HashMap<>();
 
     public static  List<ProBasicPowerstation> wpls =  new ArrayList<>(); // 风电场LIST集合
@@ -74,6 +87,26 @@ public class CacheContext implements CommandLineRunner {
 
         log.info("-------------------------------缓存开始--------------------------------------");
         //hpmap=healthpointsService.findAllMap();
+
+
+
+
+
+        List<ProBasicRegion> rgtempls = proBasicRegionService.list();
+//        wptempls.stream().filter(i->i.getCompanyid().equals("1")).forEach(i->{
+        rgtempls.stream().forEach(i->{
+            rgls.add(i);
+            rgmap.put(i.getId(),i);
+        });
+
+
+        List<ProBasicCompany> cptempls = proBasicCompanyService.list();
+//        wptempls.stream().filter(i->i.getCompanyid().equals("1")).forEach(i->{
+        cptempls.stream().forEach(i->{
+            cpls.add(i);
+            cpmap.put(i.getId(),i);
+        });
+
         List<ProBasicPowerstation> wptempls = proBasicPowerstationService.list();
 //        wptempls.stream().filter(i->i.getCompanyid().equals("1")).forEach(i->{
         wptempls.stream().forEach(i->{
@@ -81,6 +114,8 @@ public class CacheContext implements CommandLineRunner {
             wpmap.put(i.getId(),i);
         });
 
+
+
          List<ProBasicProject> pjtempls  = proBasicProjectService.list();
 
         if (!pjtempls.isEmpty()) {

+ 117 - 6
realtime/datatraining-server/src/main/java/com/gyee/datatraining/service/DatatrainingService.java

@@ -65,25 +65,40 @@ public class DatatrainingService {
         /******************************************************************************************************************************************************/
         List<ProBasicEquipment> wtls = CacheContext.wtls;
         Map<String, Map<String, ProBasicPowerstationPoint>> stationPointmap = CacheContext.wppointmap;
+
         Map<String, Map<String, Integer>> wpmap = new HashMap<String, Map<String, Integer>>();
         Map<String, Map<String, Integer>> pjmap = new HashMap<String, Map<String, Integer>>();
         Map<String, Map<String, Integer>> lnmap = new HashMap<String, Map<String, Integer>>();
+        Map<String, Map<String, Integer>> cpmap = new HashMap<String, Map<String, Integer>>();
+        Map<String, Map<String, Integer>> rgmap = new HashMap<String, Map<String, Integer>>();
 
         Map<String, Map<String, Integer>> wpclxmap = new HashMap<String, Map<String, Integer>>();
         Map<String, Map<String, Integer>> pjclxmap = new HashMap<String, Map<String, Integer>>();
         Map<String, Map<String, Integer>> lnclxmap = new HashMap<String, Map<String, Integer>>();
+        Map<String, Map<String, Integer>> cpclxmap = new HashMap<String, Map<String, Integer>>();
+        Map<String, Map<String, Integer>> rgclxmap = new HashMap<String, Map<String, Integer>>();
 
         Map<String, Map<String, Integer>> wpfdjmap = new HashMap<String, Map<String, Integer>>();
         Map<String, Map<String, Integer>> pjfdjmap = new HashMap<String, Map<String, Integer>>();
         Map<String, Map<String, Integer>> lnfdjmap = new HashMap<String, Map<String, Integer>>();
+        Map<String, Map<String, Integer>> cpfdjmap = new HashMap<String, Map<String, Integer>>();
+        Map<String, Map<String, Integer>> rgfdjmap = new HashMap<String, Map<String, Integer>>();
 
         Map<String, Map<String, Integer>> wpkzysmap = new HashMap<String, Map<String, Integer>>();
         Map<String, Map<String, Integer>> pjkzysmap = new HashMap<String, Map<String, Integer>>();
         Map<String, Map<String, Integer>> lnkzysmap = new HashMap<String, Map<String, Integer>>();
+        Map<String, Map<String, Integer>> cpkzysmap = new HashMap<String, Map<String, Integer>>();
+        Map<String, Map<String, Integer>> rgkzysmap = new HashMap<String, Map<String, Integer>>();
 
         Map<String, Map<String, Integer>> wpjcxtmap = new HashMap<String, Map<String, Integer>>();
         Map<String, Map<String, Integer>> pjjcxtmap = new HashMap<String, Map<String, Integer>>();
         Map<String, Map<String, Integer>> lnjcxtmap = new HashMap<String, Map<String, Integer>>();
+        Map<String, Map<String, Integer>> cpjcxtmap = new HashMap<String, Map<String, Integer>>();
+        Map<String, Map<String, Integer>> rgjcxtmap = new HashMap<String, Map<String, Integer>>();
+
+
+
+
         Date now = new Date();
         for (ProBasicEquipment wt : wtls) {
 
@@ -101,11 +116,11 @@ public class DatatrainingService {
 //				{
 //					System.out.println("开始测试!");
 //				}
-                setWtTotalNum(state[0], wpclxmap, pjclxmap, lnclxmap, wt);
-                setWtTotalNum(state[1], wpfdjmap, pjfdjmap, lnfdjmap, wt);
-                setWtTotalNum(state[2], wpkzysmap, pjkzysmap, lnkzysmap, wt);
-                setWtTotalNum(state[3], wpjcxtmap, pjjcxtmap, lnjcxtmap, wt);
-                setWtTotalNum(state[4], wpmap, pjmap, lnmap, wt);
+                setWtTotalNum(state[0], rgclxmap,cpclxmap,wpclxmap, pjclxmap, lnclxmap, wt);
+                setWtTotalNum(state[1], rgfdjmap,cpfdjmap,wpfdjmap, pjfdjmap, lnfdjmap, wt);
+                setWtTotalNum(state[2], rgkzysmap,cpkzysmap,wpkzysmap, pjkzysmap, lnkzysmap, wt);
+                setWtTotalNum(state[3], rgjcxtmap,cpjcxtmap,wpjcxtmap, pjjcxtmap, lnjcxtmap, wt);
+                setWtTotalNum(state[4], rgmap,cpmap,wpmap, pjmap, lnmap, wt);
             }
 
         }
@@ -124,22 +139,32 @@ public class DatatrainingService {
         traverseALlStateNumMap(stationPointmap, wpkzysmap, now, up82_wp_kzys_statenum);
         traverseALlStateNumMap(stationPointmap, wpjcxtmap, now, up82_wp_jcxt_statenum);
 
+        traverseRgStateNumMap(stationPointmap, rgmap, now, up82_wp_wt_statenum);
+        traverseCpStateNumMap(stationPointmap, cpmap, now, up82_wp_wt_statenum);
         traverseWpStateNumMap(stationPointmap, wpmap, now, up82_wp_wt_statenum);
         traversePjStateNumMap(stationPointmap, pjmap, now, up82_wp_wt_statenum);
         traverseLnStateNumMap(stationPointmap, lnmap, now, up82_wp_wt_statenum);
 
+        traverseRgStateNumMap(stationPointmap, rgclxmap, now, up82_wp_wt_statenum);
+        traverseCpStateNumMap(stationPointmap, cpclxmap, now, up82_wp_wt_statenum);
         traverseWpStateNumMap(stationPointmap, wpclxmap, now, up82_wp_clx_statenum);
         traversePjStateNumMap(stationPointmap, pjclxmap, now, up82_wp_clx_statenum);
         traverseLnStateNumMap(stationPointmap, lnclxmap, now, up82_wp_clx_statenum);
 
+        traverseRgStateNumMap(stationPointmap, rgfdjmap, now, up82_wp_wt_statenum);
+        traverseCpStateNumMap(stationPointmap, cpfdjmap, now, up82_wp_wt_statenum);
         traverseWpStateNumMap(stationPointmap, wpfdjmap, now, up82_wp_fdj_statenum);
         traversePjStateNumMap(stationPointmap, pjfdjmap, now, up82_wp_fdj_statenum);
         traverseLnStateNumMap(stationPointmap, lnfdjmap, now, up82_wp_fdj_statenum);
 
+        traverseRgStateNumMap(stationPointmap, rgkzysmap, now, up82_wp_wt_statenum);
+        traverseCpStateNumMap(stationPointmap, cpkzysmap, now, up82_wp_wt_statenum);
         traverseWpStateNumMap(stationPointmap, wpkzysmap, now, up82_wp_kzys_statenum);
         traversePjStateNumMap(stationPointmap, pjkzysmap, now, up82_wp_kzys_statenum);
         traverseLnStateNumMap(stationPointmap, lnkzysmap, now, up82_wp_kzys_statenum);
 
+        traverseRgStateNumMap(stationPointmap, rgjcxtmap, now, up82_wp_wt_statenum);
+        traverseCpStateNumMap(stationPointmap, cpjcxtmap, now, up82_wp_wt_statenum);
         traverseWpStateNumMap(stationPointmap, wpjcxtmap, now, up82_wp_jcxt_statenum);
         traversePjStateNumMap(stationPointmap, pjjcxtmap, now, up82_wp_jcxt_statenum);
         traverseLnStateNumMap(stationPointmap, lnjcxtmap, now, up82_wp_jcxt_statenum);
@@ -192,6 +217,48 @@ public class DatatrainingService {
 
     }
 
+    private void traverseRgStateNumMap(Map<String, Map<String, ProBasicPowerstationPoint>> stationPointmap, Map<String, Map<String, Integer>> rgmap, Date now, String[] up82_wp_statenum) {
+
+        List<ProBasicRegion> rgls = CacheContext.rgls;
+
+        for (ProBasicRegion rg : rgls) {
+            Map<String, ProBasicPowerstationPoint> pointwmap = stationPointmap.get(rg.getId());
+            Map<String, Integer> map = rgmap.get(rg.getId());
+            for (int i = 0; i < up82_wp_statenum.length; i++) {
+                double value = 0.0;
+                if (map.containsKey(String.valueOf(i + 1))) {
+                    value = map.get(String.valueOf(i + 1));
+                }
+                try {
+                    insertWpPoint(now, value, pointwmap, up82_wp_statenum[i]);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
+
+    private void traverseCpStateNumMap(Map<String, Map<String, ProBasicPowerstationPoint>> stationPointmap, Map<String, Map<String, Integer>> cpmap, Date now, String[] up82_wp_statenum) {
+
+        List<ProBasicCompany> cpls = CacheContext.cpls;
+
+        for (ProBasicCompany cp : cpls) {
+            Map<String, ProBasicPowerstationPoint> pointwmap = stationPointmap.get(cp.getId());
+            Map<String, Integer> map = cpmap.get(cp.getId());
+            for (int i = 0; i < up82_wp_statenum.length; i++) {
+                double value = 0.0;
+                if (map.containsKey(String.valueOf(i + 1))) {
+                    value = map.get(String.valueOf(i + 1));
+                }
+                try {
+                    insertWpPoint(now, value, pointwmap, up82_wp_statenum[i]);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
     private void traverseWpStateNumMap(Map<String, Map<String, ProBasicPowerstationPoint>> stationPointmap, Map<String, Map<String, Integer>> wpmap, Date now, String[] up82_wp_statenum) {
 
         List<ProBasicPowerstation> wpls = CacheContext.wpls;
@@ -266,24 +333,32 @@ public class DatatrainingService {
         }
     }
 
-    private void setWtTotalNum(int type, Map<String, Map<String, Integer>> wpmap, Map<String, Map<String, Integer>> pjmap, Map<String, Map<String, Integer>> lnmap, ProBasicEquipment wt) {
+    private void setWtTotalNum(int type, Map<String, Map<String, Integer>> rgmap,Map<String, Map<String, Integer>> cpmap,Map<String, Map<String, Integer>> wpmap, Map<String, Map<String, Integer>> pjmap, Map<String, Map<String, Integer>> lnmap, ProBasicEquipment wt) {
         switch (type) {
             case 1:
+                totalRgStateNum(rgmap, wt, "1");
+                totalCpStateNum(cpmap, wt, "1");
                 totalWpStateNum(wpmap, wt, "1");
                 totalPjStateNum(pjmap, wt, "1");
                 totalLnStateNum(lnmap, wt, "1");
                 break;
             case 2:
+                totalRgStateNum(rgmap, wt, "2");
+                totalCpStateNum(cpmap, wt, "2");
                 totalWpStateNum(wpmap, wt, "2");
                 totalPjStateNum(pjmap, wt, "2");
                 totalLnStateNum(lnmap, wt, "2");
                 break;
             case 3:
+                totalRgStateNum(rgmap, wt, "3");
+                totalCpStateNum(cpmap, wt, "3");
                 totalWpStateNum(wpmap, wt, "3");
                 totalPjStateNum(pjmap, wt, "3");
                 totalLnStateNum(lnmap, wt, "3");
                 break;
             case 4:
+                totalRgStateNum(rgmap, wt, "4");
+                totalCpStateNum(cpmap, wt, "4");
                 totalWpStateNum(wpmap, wt, "4");
                 totalPjStateNum(pjmap, wt, "4");
                 totalLnStateNum(lnmap, wt, "4");
@@ -293,6 +368,42 @@ public class DatatrainingService {
         }
     }
 
+    private void totalRgStateNum(Map<String, Map<String, Integer>> rgmap, ProBasicEquipment wt, String type) {
+        if (rgmap.containsKey(wt.getRegionId())) {
+            Map<String, Integer> map = rgmap.get(wt.getRegionId());
+            if (map.containsKey(type)) {
+                int temp = map.get(type);
+                temp++;
+                map.put(type, temp);
+            } else {
+                map.put(type, 1);
+            }
+
+            rgmap.put(wt.getRegionId(), map);
+        } else {
+            Map<String, Integer> map = new HashMap<String, Integer>();
+            map.put(type, 1);
+            rgmap.put(wt.getRegionId(), map);
+        }
+    }
+    private void totalCpStateNum(Map<String, Map<String, Integer>> cpmap, ProBasicEquipment wt, String type) {
+        if (cpmap.containsKey(wt.getCompanyId())) {
+            Map<String, Integer> map = cpmap.get(wt.getCompanyId());
+            if (map.containsKey(type)) {
+                int temp = map.get(type);
+                temp++;
+                map.put(type, temp);
+            } else {
+                map.put(type, 1);
+            }
+
+            cpmap.put(wt.getCompanyId(), map);
+        } else {
+            Map<String, Integer> map = new HashMap<String, Integer>();
+            map.put(type, 1);
+            cpmap.put(wt.getCompanyId(), map);
+        }
+    }
     private void totalWpStateNum(Map<String, Map<String, Integer>> wpmap, ProBasicEquipment wt, String type) {
         if (wpmap.containsKey(wt.getWindpowerstationId())) {
             Map<String, Integer> map = wpmap.get(wt.getWindpowerstationId());