Quellcode durchsuchen

计算服务修改

xieshengjie vor 2 Jahren
Ursprung
Commit
2d860e5270

+ 2 - 1
common/src/main/java/com/gyee/common/contant/ContantXk.java

@@ -13,7 +13,7 @@ public class ContantXk {
     public static final String  GLYCJRZT= "GLYCJRZT";//场站功率预测接入状态
     public static final String  QXZJRZT= "QXZJRZT";//场站测风塔接入状态
     public static final String  SSPJFS= "SSPJFS";//场站实时平均风速
-    public static final String  SSPJGZD= "SSPJGZD";//场站实时平均光照度
+    public static final String  SSPJGZD = "SSPJGZD";
     public static final String  SSZGL= "SSZGL";//场站实时总功率
     public static final String  SSZLLGL= "SSZLLGL";//场站实时总理论功率
     public static final String  SSZBZGL= "SSZBZGL";//场站实时总保证功率
@@ -84,6 +84,7 @@ public class ContantXk {
     public static final String  NZFDL= "NZFDL";//年增发电量
     public static final String  NQFDL= "NQFDL";//年欠发电量
     public static final String  PJFS15= "PJFS15";//15分钟平均风速
+    public static final String  PJGZD15= "PJGZD15";//15分钟光照度
     public static final String  PJGL15= "PJGL15";//15分钟平均功率
     public static final String  FDL15= "FDL15";//15分钟发电量
     public static final String  KYDL15= "KYDL15";//15分钟可用电量

+ 48 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/init/CacheContext.java

@@ -34,6 +34,7 @@ public class CacheContext implements CommandLineRunner {
     private IProBasicLineService proBasicLineService;
     @Resource
     private IProBasicProjectService proBasicProjectService;
+
     @Resource
     private IProBasicPowerstationService proBasicWindpowerstationService;
     @Resource
@@ -71,6 +72,7 @@ public class CacheContext implements CommandLineRunner {
 
     public static List<ProBasicSquare> sqls = new ArrayList<>();
     public static List<ProBasicPowerstation>  wpls = new ArrayList<>();
+    public static List<ProBasicPowerstation>  zwpls = new ArrayList<>();
     public static List<ProBasicCompany>  cpls = new ArrayList<>();
     public static List<ProBasicRegion>  rgls = new ArrayList<>();
     public static Map<String,ProBasicProject> pjmap = new HashMap<>();
@@ -98,6 +100,8 @@ public class CacheContext implements CommandLineRunner {
     public static Map<String,Map<String, ProBasicPowerstationPoint>> propointmap =new HashMap<>();
     public static Map<String,Map<String, ProBasicPowerstationPoint>> wppointmap =new HashMap<>();
     public static Map<String,Map<String, ProBasicPowerstationPoint>> subwppointmap =new HashMap<>();
+    public static Map<String,Map<String, ProBasicPowerstationPoint>> companypointmap =new HashMap<>();
+    public static Map<String,Map<String, ProBasicPowerstationPoint>> regionpointmap =new HashMap<>();
 
 
     public static Map<String,Map<Double,Double>> zbzglMap = new HashMap<>();
@@ -167,7 +171,31 @@ public class CacheContext implements CommandLineRunner {
             for(ProBasicCompany sq:cpls)
             {
                 cpmap.put(sq.getId(),sq);
+
+                if (redisService.hasKey(sq.getId()+"0")){
+                    String cp0String = redisService.get(sq.getId()+"0");
+                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp0String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
+                    });
+                    companypointmap.put(sq.getId()+"0",stringWindpowerstationpointnewMap);
+                }
+                if (redisService.hasKey(sq.getId()+"-1")){
+                    String cp1String = redisService.get(sq.getId()+"-1");
+                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp1String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
+                    });
+                    companypointmap.put(sq.getId()+"-1",stringWindpowerstationpointnewMap);
+                }
+                if (redisService.hasKey(sq.getId()+"-2")){
+                    String cp2String = redisService.get(sq.getId()+"-2");
+                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp2String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
+                    });
+                    companypointmap.put(sq.getId()+"-2",stringWindpowerstationpointnewMap);
+                }
+
+
+
+
             }
+
         }
 
 
@@ -177,6 +205,25 @@ public class CacheContext implements CommandLineRunner {
             for(ProBasicRegion sq:rgls)
             {
                 rgmap.put(sq.getId(),sq);
+
+                if (redisService.hasKey(sq.getId()+"0")){
+                    String cp0String = redisService.get(sq.getId()+"0");
+                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp0String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
+                    });
+                    regionpointmap.put(sq.getId()+"0",stringWindpowerstationpointnewMap);
+                }
+                if (redisService.hasKey(sq.getId()+"-1")){
+                    String cp1String = redisService.get(sq.getId()+"-1");
+                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp1String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
+                    });
+                    regionpointmap.put(sq.getId()+"-1",stringWindpowerstationpointnewMap);
+                }
+                if (redisService.hasKey(sq.getId()+"-2")){
+                    String cp2String = redisService.get(sq.getId()+"-2");
+                    Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(cp2String, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
+                    });
+                    regionpointmap.put(sq.getId()+"-2",stringWindpowerstationpointnewMap);
+                }
             }
         }
 
@@ -346,7 +393,7 @@ public class CacheContext implements CommandLineRunner {
         });
 
 
-
+        zwpls = proBasicWindpowerstationService.list().stream().filter(i->i.getIsAble()==1).collect(Collectors.toList());;
         wpls = proBasicWindpowerstationService.list().stream().filter(i->runWpids.contains(i.getId()) && i.getIsAble()==1).collect(Collectors.toList());;
         meterpoints = proBasicMeterPointService.list().stream().filter(i->runWpids.contains(i.getWindpowerstationId()) && i.getIsAble()==1).collect(Collectors.toList());
         meterpoints.stream().forEach(meterpoint -> {

+ 123 - 123
realtime/generationXK-service/src/main/java/com/gyee/generation/service/initalcache/CacheService.java

@@ -50,116 +50,116 @@ public class CacheService {
 
 
     public void initRedisCache(){
-        log.info("--------------------------redisWT");
-        List<ProBasicEquipment> windturbineList = windturbineService.list().stream().filter(i->i.getIsable().equals(1)).collect(Collectors.toList());
-        windturbineList.stream().forEach(i->{
-            Map<String, ProBasicEquipmentPoint> codeaimap = new HashMap<>();
-            QueryWrapper<ProBasicEquipmentPoint> qw = new QueryWrapper<>();
-            qw.eq("windturbine_id",i.getId());
-            List<ProBasicEquipmentPoint> windturbinetestingpointai2List = windturbinetestingpointnewService.list(qw);
-            windturbinetestingpointai2List.stream().forEach(x->{
-                codeaimap.put(x.getUniformCode(),x);
-            });
-            String s = JSONObject.toJSONString(codeaimap);
-            redisService.set(i.getId(),s);
-        });
-
-        log.info("--------------------------redisLN");
-        List<ProBasicLine> lineList = lineService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
-        lineList.stream().forEach(i->{
-            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
-            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
-            qw.eq("windpowerstation_id",i.getId());
-            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
-            windpowerstationtestingpoint2List.stream().forEach(x->{
-                codeaimap.put(x.getUniformCode(),x);
-            });
-            String s = JSONObject.toJSONString(codeaimap);
-            redisService.set(i.getId(),s);
-        });
-
-        log.info("--------------------------redisPJ");
-        List<ProBasicProject> projectList = projectService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
-        projectList.stream().forEach(i->{
-            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
-            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
-            qw.eq("windpowerstation_id",i.getId());
-            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
-            windpowerstationtestingpoint2List.stream().forEach(x->{
-                codeaimap.put(x.getUniformCode(),x);
-            });
-            String s = JSONObject.toJSONString(codeaimap);
-            redisService.set(i.getId(),s);
-        });
-
-        log.info("--------------------------redisSubWP");
-        List<ProBasicSubStation> subStationList = subStationService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
-        subStationList.stream().forEach(i->{
-            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
-            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
-            qw.eq("windpowerstation_id",i.getId());
-            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
-            windpowerstationtestingpoint2List.stream().forEach(x->{
-                codeaimap.put(x.getUniformCode(),x);
-            });
-            String s = JSONObject.toJSONString(codeaimap);
-            redisService.set(i.getId(),s);
-        });
-
-        log.info("--------------------------redisWP");
-        List<ProBasicPowerstation> wpList = windpowerstationService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
-
-        wpList.stream().forEach(i->{
-            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
-            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
-            qw.eq("windpowerstation_id",i.getId());
-            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
-            windpowerstationtestingpoint2List.stream().forEach(x->{
-                codeaimap.put(x.getUniformCode(),x);
-            });
-            String s = JSONObject.toJSONString(codeaimap);
-            redisService.set(i.getId(),s);
-        });
-
-        log.info("--------------------------redisCOMPANY");
-        List<ProBasicCompany> coms = companyService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
-        List<String> comList = coms.stream().map(i->i.getId()).collect(Collectors.toList());
-        coms.stream().forEach(company -> {
-            comList.add(company.getId()+"0");
-            comList.add(company.getId()+"-1");
-            comList.add(company.getId()+"-2");
-        });
-        comList.stream().forEach(i->{
-            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
-            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
-            qw.eq("windpowerstation_id",i);
-            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
-            windpowerstationtestingpoint2List.stream().forEach(x->{
-                codeaimap.put(x.getUniformCode(),x);
-            });
-            String s = JSONObject.toJSONString(codeaimap);
-            redisService.set(i,s);
-        });
-
-        log.info("--------------------------redisREGION");
-        List<ProBasicRegion> regs = regionsService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
-        List<String> regList = regs.stream().map(i->i.getId()).collect(Collectors.toList());
-        regs.stream().forEach(region -> {
-            regList.add(region.getId()+"0");
-            regList.add(region.getId()+"-1");
-            regList.add(region.getId()+"-2");
-        });
-        regList.stream().forEach(i->{
-            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
-            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
-            qw.eq("windpowerstation_id",i);
-            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
-            windpowerstationtestingpoint2List.stream().forEach(x->{
-                codeaimap.put(x.getUniformCode(),x);
-            });
-            String s = JSONObject.toJSONString(codeaimap);
-            redisService.set(i,s);
-        });
+//        log.info("--------------------------redisWT");
+//        List<ProBasicEquipment> windturbineList = windturbineService.list().stream().filter(i->i.getIsable().equals(1)).collect(Collectors.toList());
+//        windturbineList.stream().forEach(i->{
+//            Map<String, ProBasicEquipmentPoint> codeaimap = new HashMap<>();
+//            QueryWrapper<ProBasicEquipmentPoint> qw = new QueryWrapper<>();
+//            qw.eq("windturbine_id",i.getId());
+//            List<ProBasicEquipmentPoint> windturbinetestingpointai2List = windturbinetestingpointnewService.list(qw);
+//            windturbinetestingpointai2List.stream().forEach(x->{
+//                codeaimap.put(x.getUniformCode(),x);
+//            });
+//            String s = JSONObject.toJSONString(codeaimap);
+//            redisService.set(i.getId(),s);
+//        });
+//
+//        log.info("--------------------------redisLN");
+//        List<ProBasicLine> lineList = lineService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
+//        lineList.stream().forEach(i->{
+//            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
+//            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
+//            qw.eq("windpowerstation_id",i.getId());
+//            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
+//            windpowerstationtestingpoint2List.stream().forEach(x->{
+//                codeaimap.put(x.getUniformCode(),x);
+//            });
+//            String s = JSONObject.toJSONString(codeaimap);
+//            redisService.set(i.getId(),s);
+//        });
+//
+//        log.info("--------------------------redisPJ");
+//        List<ProBasicProject> projectList = projectService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
+//        projectList.stream().forEach(i->{
+//            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
+//            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
+//            qw.eq("windpowerstation_id",i.getId());
+//            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
+//            windpowerstationtestingpoint2List.stream().forEach(x->{
+//                codeaimap.put(x.getUniformCode(),x);
+//            });
+//            String s = JSONObject.toJSONString(codeaimap);
+//            redisService.set(i.getId(),s);
+//        });
+//
+//        log.info("--------------------------redisSubWP");
+//        List<ProBasicSubStation> subStationList = subStationService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
+//        subStationList.stream().forEach(i->{
+//            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
+//            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
+//            qw.eq("windpowerstation_id",i.getId());
+//            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
+//            windpowerstationtestingpoint2List.stream().forEach(x->{
+//                codeaimap.put(x.getUniformCode(),x);
+//            });
+//            String s = JSONObject.toJSONString(codeaimap);
+//            redisService.set(i.getId(),s);
+//        });
+//
+//        log.info("--------------------------redisWP");
+//        List<ProBasicPowerstation> wpList = windpowerstationService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
+//
+//        wpList.stream().forEach(i->{
+//            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
+//            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
+//            qw.eq("windpowerstation_id",i.getId());
+//            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
+//            windpowerstationtestingpoint2List.stream().forEach(x->{
+//                codeaimap.put(x.getUniformCode(),x);
+//            });
+//            String s = JSONObject.toJSONString(codeaimap);
+//            redisService.set(i.getId(),s);
+//        });
+//
+//        log.info("--------------------------redisCOMPANY");
+//        List<ProBasicCompany> coms = companyService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
+//        List<String> comList = coms.stream().map(i->i.getId()).collect(Collectors.toList());
+//        coms.stream().forEach(company -> {
+//            comList.add(company.getId()+"0");
+//            comList.add(company.getId()+"-1");
+//            comList.add(company.getId()+"-2");
+//        });
+//        comList.stream().forEach(i->{
+//            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
+//            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
+//            qw.eq("windpowerstation_id",i);
+//            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
+//            windpowerstationtestingpoint2List.stream().forEach(x->{
+//                codeaimap.put(x.getUniformCode(),x);
+//            });
+//            String s = JSONObject.toJSONString(codeaimap);
+//            redisService.set(i,s);
+//        });
+//
+//        log.info("--------------------------redisREGION");
+//        List<ProBasicRegion> regs = regionsService.list().stream().filter(i->i.getIsAble().equals(1)).collect(Collectors.toList());
+//        List<String> regList = regs.stream().map(i->i.getId()).collect(Collectors.toList());
+//        regs.stream().forEach(region -> {
+//            regList.add(region.getId()+"0");
+//            regList.add(region.getId()+"-1");
+//            regList.add(region.getId()+"-2");
+//        });
+//        regList.stream().forEach(i->{
+//            Map<String, ProBasicPowerstationPoint> codeaimap = new HashMap<>();
+//            QueryWrapper<ProBasicPowerstationPoint> qw = new QueryWrapper<>();
+//            qw.eq("windpowerstation_id",i);
+//            List<ProBasicPowerstationPoint> windpowerstationtestingpoint2List = windpowerstationpointnewService.list(qw);
+//            windpowerstationtestingpoint2List.stream().forEach(x->{
+//                codeaimap.put(x.getUniformCode(),x);
+//            });
+//            String s = JSONObject.toJSONString(codeaimap);
+//            redisService.set(i,s);
+//        });
         log.info("--------------------------redis理论保证功率");
         Map<String, Map<Double,ProBasicModelPowerRd>> powerrdMap = new HashMap<>();
 
@@ -175,18 +175,18 @@ public class CacheService {
         });
         redisService.set("ZLLGL", JSONObject.toJSONString(powerrdMap));
 
-        log.info("--------------------------redis十三种状态");
-        Map<String,List<ProBasicStatusPoint>> sszztMap = new HashMap<>();
-        List<ProBasicStatusPoint> windturbinestatusdis = proBasicStatusPointService.list();
-        windturbinestatusdis.stream().forEach(w->{
-            if (sszztMap.containsKey(w.getWindturbineId())){
-                sszztMap.get(w.getWindturbineId()).add(w);
-            }else {
-                List<ProBasicStatusPoint> wdisList = new ArrayList<>();
-                wdisList.add(w);
-                sszztMap.put(w.getWindturbineId(),wdisList);
-            }
-        });
-        redisService.set("SSZZT",JSONObject.toJSONString(sszztMap));
+//        log.info("--------------------------redis十三种状态");
+//        Map<String,List<ProBasicStatusPoint>> sszztMap = new HashMap<>();
+//        List<ProBasicStatusPoint> windturbinestatusdis = proBasicStatusPointService.list();
+//        windturbinestatusdis.stream().forEach(w->{
+//            if (sszztMap.containsKey(w.getWindturbineId())){
+//                sszztMap.get(w.getWindturbineId()).add(w);
+//            }else {
+//                List<ProBasicStatusPoint> wdisList = new ArrayList<>();
+//                wdisList.add(w);
+//                sszztMap.put(w.getWindturbineId(),wdisList);
+//            }
+//        });
+//        redisService.set("SSZZT",JSONObject.toJSONString(sszztMap));
     }
 }

+ 284 - 110
realtime/generationXK-service/src/main/java/com/gyee/generation/service/realtimelibrary/CycleCalculationService.java

@@ -69,8 +69,11 @@ public class CycleCalculationService {
             ProBasicEquipmentPoint mxztPoint = equipmentPointMap.get(ContantXk.MXZT);
 
             ProBasicEquipmentPoint rpjfsPoint = equipmentPointMap.get(ContantXk.RPJFS);
+            ProBasicEquipmentPoint rpjgzdPoint = equipmentPointMap.get(ContantXk.RPJGZD);
             ProBasicEquipmentPoint ypjfsPoint = equipmentPointMap.get(ContantXk.YPJFS);
+            ProBasicEquipmentPoint ypjgzdPoint = equipmentPointMap.get(ContantXk.YPJGZD);
             ProBasicEquipmentPoint npjfsPoint = equipmentPointMap.get(ContantXk.NPJFS);
+            ProBasicEquipmentPoint npjgzdPoint = equipmentPointMap.get(ContantXk.NPJGZD);
             ProBasicEquipmentPoint rpjglPoint = equipmentPointMap.get(ContantXk.RPJGL);
             ProBasicEquipmentPoint ypjglPoint = equipmentPointMap.get(ContantXk.YPJGL);
             ProBasicEquipmentPoint npjglPoint = equipmentPointMap.get(ContantXk.NPJGL);
@@ -79,6 +82,7 @@ public class CycleCalculationService {
             ProBasicEquipmentPoint nfdlPoint = equipmentPointMap.get(ContantXk.NFDL);
             ProBasicEquipmentPoint fdl15Point = equipmentPointMap.get(ContantXk.FDL15);
             ProBasicEquipmentPoint pjfs15Point = equipmentPointMap.get(ContantXk.PJFS15);
+            ProBasicEquipmentPoint pjgzd15Point = equipmentPointMap.get(ContantXk.PJGZD15);
             ProBasicEquipmentPoint pjgl15Point = equipmentPointMap.get(ContantXk.PJGL15);
             ProBasicEquipmentPoint rkydlPoint = equipmentPointMap.get(ContantXk.RKYDL);
             ProBasicEquipmentPoint ykydlPoint = equipmentPointMap.get(ContantXk.YKYDL);
@@ -316,8 +320,13 @@ public class CycleCalculationService {
                        rzfdl = Math.abs(temp);
                     }
                 }else {
-                    double lsfs = edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble();
-                    rpjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));
+                    if (wt.getId().contains("_WT_")){
+                        double lsfs = edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble();
+                        rpjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));
+                    }else {
+                        double lsfs = edosUtil.getSectionData(rpjgzdPoint, currentDate.getTime()).getPointValueInDouble();
+                        rpjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));
+                    }
                     double lsgl = edosUtil.getSectionData(rpjglPoint, currentDate.getTime()).getPointValueInDouble();
                     rpjgl = DoubleUtils.ave(lsgl, dataMap.get("pjgl"));
                     double lskydl = edosUtil.getSectionData(rkydlPoint, currentDate.getTime()).getPointValueInDouble();
@@ -380,8 +389,14 @@ public class CycleCalculationService {
                         yzfdl = Math.abs(temp);
                     }
                 }else {
-                    double lsfs = edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble();
-                    ypjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));
+                    if (wt.getId().contains("_WT_")){
+                        double lsfs = edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble();
+                        ypjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));
+                    }else {
+                        double lsfs = edosUtil.getSectionData(ypjgzdPoint, currentDate.getTime()).getPointValueInDouble();
+                        ypjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));
+                    }
+
                     double lsgl = edosUtil.getSectionData(ypjglPoint, currentDate.getTime()).getPointValueInDouble();
                     ypjgl = DoubleUtils.ave(lsgl, dataMap.get("pjgl"));
                     double lskydl = edosUtil.getSectionData(ykydlPoint, currentDate.getTime()).getPointValueInDouble();
@@ -444,8 +459,14 @@ public class CycleCalculationService {
                         nzfdl = Math.abs(temp);
                     }
                 }else {
-                    double lsfs = edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble();
-                    npjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));
+                    if (wt.getId().contains("_WT_")){
+                        double lsfs = edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble();
+                        npjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));
+                    }else {
+                        double lsfs = edosUtil.getSectionData(npjgzdPoint, currentDate.getTime()).getPointValueInDouble();
+                        npjfs = DoubleUtils.ave(lsfs, dataMap.get("pjfs"));
+                    }
+
                     double lsgl = edosUtil.getSectionData(npjglPoint, currentDate.getTime()).getPointValueInDouble();
                     npjgl = DoubleUtils.ave(lsgl, dataMap.get("pjgl"));
                     double lskydl = edosUtil.getSectionData(nkydlPoint, currentDate.getTime()).getPointValueInDouble();
@@ -484,10 +505,23 @@ public class CycleCalculationService {
                         nzfdl = Math.abs(temp);
                     }
                 }
-                double pjfs15 = dataMap.get("pjfs");
-                double pjgl15 = dataMap.get("pjgl");
-                double kydl15 = dataMap.get("kydl");
-                double zsdl15 = dataMap.get("zsdl");
+                double pjfs15 = 0;
+                double pjgl15 = 0;
+                double kydl15 = 0;
+                double zsdl15 = 0;
+                if (dataMap.containsKey("pjfs")){
+                    pjfs15 = dataMap.get("pjfs");
+                }
+                if (dataMap.containsKey("pjgl")){
+                    pjgl15 = dataMap.get("pjgl");
+                }
+                if (dataMap.containsKey("kydl")){
+                    kydl15 = dataMap.get("kydl");
+                }
+                if (dataMap.containsKey("zsdl")){
+                    zsdl15 = dataMap.get("zsdl");
+                }
+
                 double gzss15 = gzss;
                 double gzsl15 = gzsl;
                 double jxss15 = jxss;
@@ -514,10 +548,18 @@ public class CycleCalculationService {
                 double nllfdl =  nfdl+ngzss+ngzsl+njxss+njxsl+ndjss+nsdtj+nxnss+nfdjcl+nxdjcl+nxdtj+ndwsl+nhjsl;
                 double llfdl15 = fdl15+gzss15+gzsl15+jxss15+jxsl15+djss15+sdtj15+xnss15+fdjcl15+xdjcl15+xdtj15+dwsl15+hjsl15;
 
-                wtResultList.add(PointUtil.createPointData(date,rpjfs,rpjfsPoint.getNemCode(),rpjfsPoint.getName()));
-                wtResultList.add(PointUtil.createPointData(date,ypjfs,ypjfsPoint.getNemCode(),ypjfsPoint.getName()));
-                wtResultList.add(PointUtil.createPointData(date,npjfs,npjfsPoint.getNemCode(),npjfsPoint.getName()));
-                wtResultList.add(PointUtil.createPointData(date,pjfs15,pjfs15Point.getNemCode(),pjfs15Point.getName()));
+                if (wt.getId().contains("_WT_")){
+                    wtResultList.add(PointUtil.createPointData(date,rpjfs,rpjfsPoint.getNemCode(),rpjfsPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(date,ypjfs,ypjfsPoint.getNemCode(),ypjfsPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(date,npjfs,npjfsPoint.getNemCode(),npjfsPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(date,pjfs15,pjfs15Point.getNemCode(),pjfs15Point.getName()));
+                }else {
+                    wtResultList.add(PointUtil.createPointData(date,rpjfs,rpjgzdPoint.getNemCode(),rpjgzdPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(date,ypjfs,ypjgzdPoint.getNemCode(),ypjgzdPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(date,npjfs,npjgzdPoint.getNemCode(),npjgzdPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(date,pjfs15,pjgzd15Point.getNemCode(),pjgzd15Point.getName()));
+                }
+
                 wtResultList.add(PointUtil.createPointData(date,rpjgl,rpjglPoint.getNemCode(),rpjglPoint.getName()));
                 wtResultList.add(PointUtil.createPointData(date,ypjgl,ypjglPoint.getNemCode(),ypjglPoint.getName()));
                 wtResultList.add(PointUtil.createPointData(date,npjgl,npjglPoint.getNemCode(),npjglPoint.getName()));
@@ -604,6 +646,9 @@ public class CycleCalculationService {
             ProBasicPowerstationPoint wprpjfsPoint = proBasicWppointMap.get(ContantXk.RPJFS);
             ProBasicPowerstationPoint wpypjfsPoint = proBasicWppointMap.get(ContantXk.YPJFS);
             ProBasicPowerstationPoint wpnpjfsPoint = proBasicWppointMap.get(ContantXk.NPJFS);
+            ProBasicPowerstationPoint wprpjgzdPoint = proBasicWppointMap.get(ContantXk.RPJGZD);
+            ProBasicPowerstationPoint wpypjgzdPoint = proBasicWppointMap.get(ContantXk.YPJGZD);
+            ProBasicPowerstationPoint wpnpjgzdPoint = proBasicWppointMap.get(ContantXk.NPJGZD);
             ProBasicPowerstationPoint wprpjglPoint = proBasicWppointMap.get(ContantXk.RPJGL);
             ProBasicPowerstationPoint wpypjglPoint = proBasicWppointMap.get(ContantXk.YPJGL);
             ProBasicPowerstationPoint wpnpjglPoint = proBasicWppointMap.get(ContantXk.NPJGL);
@@ -612,6 +657,7 @@ public class CycleCalculationService {
             ProBasicPowerstationPoint wpnfdlPoint = proBasicWppointMap.get(ContantXk.NFDL);
             ProBasicPowerstationPoint wpfdl15Point = proBasicWppointMap.get(ContantXk.FDL15);
             ProBasicPowerstationPoint wppjfs15Point = proBasicWppointMap.get(ContantXk.PJFS15);
+            ProBasicPowerstationPoint wppjgzd15Point = proBasicWppointMap.get(ContantXk.PJGZD15);
             ProBasicPowerstationPoint wppjgl15Point = proBasicWppointMap.get(ContantXk.PJGL15);
             ProBasicPowerstationPoint wprkydlPoint = proBasicWppointMap.get(ContantXk.RKYDL);
             ProBasicPowerstationPoint wpykydlPoint = proBasicWppointMap.get(ContantXk.YKYDL);
@@ -796,6 +842,9 @@ public class CycleCalculationService {
                 ProBasicEquipmentPoint rpjfsPoint = equipmentPointMap.get(ContantXk.RPJFS);
                 ProBasicEquipmentPoint ypjfsPoint = equipmentPointMap.get(ContantXk.YPJFS);
                 ProBasicEquipmentPoint npjfsPoint = equipmentPointMap.get(ContantXk.NPJFS);
+                ProBasicEquipmentPoint rpjgzdPoint = equipmentPointMap.get(ContantXk.RPJGZD);
+                ProBasicEquipmentPoint ypjgzdPoint = equipmentPointMap.get(ContantXk.YPJGZD);
+                ProBasicEquipmentPoint npjgzdPoint = equipmentPointMap.get(ContantXk.NPJGZD);
                 ProBasicEquipmentPoint rpjglPoint = equipmentPointMap.get(ContantXk.RPJGL);
                 ProBasicEquipmentPoint ypjglPoint = equipmentPointMap.get(ContantXk.YPJGL);
                 ProBasicEquipmentPoint npjglPoint = equipmentPointMap.get(ContantXk.NPJGL);
@@ -804,6 +853,7 @@ public class CycleCalculationService {
                 ProBasicEquipmentPoint nfdlPoint = equipmentPointMap.get(ContantXk.NFDL);
                 ProBasicEquipmentPoint fdl15Point = equipmentPointMap.get(ContantXk.FDL15);
                 ProBasicEquipmentPoint pjfs15Point = equipmentPointMap.get(ContantXk.PJFS15);
+                ProBasicEquipmentPoint pjgzd15Point = equipmentPointMap.get(ContantXk.PJGZD15);
                 ProBasicEquipmentPoint pjgl15Point = equipmentPointMap.get(ContantXk.PJGL15);
                 ProBasicEquipmentPoint rkydlPoint = equipmentPointMap.get(ContantXk.RKYDL);
                 ProBasicEquipmentPoint ykydlPoint = equipmentPointMap.get(ContantXk.YKYDL);
@@ -878,38 +928,75 @@ public class CycleCalculationService {
                 ProBasicEquipmentPoint zfdl15Point = equipmentPointMap.get(ContantXk.ZFDL15);
                 ProBasicEquipmentPoint llfdl15Point = equipmentPointMap.get(ContantXk.LLFDL15);
 
-                rpjfs.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
-                ypjfs.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
-                npjfs.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
-                pjfs15.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(pjfs15Point, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
+                if(CacheContext.pjmap.get(CacheContext.lnmap.get(line.getId()).getProjectId()).getWindpowerstationId().contains("_FDC_")){
+                    rpjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    ypjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    npjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    pjfs15.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(pjfs15Point, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                }else {
+                    rpjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(rpjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    ypjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(ypjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    npjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(npjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    pjfs15.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(pjgzd15Point, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                }
+
+
 
                 rpjgl.updateAndGet(v -> {
                     try {
@@ -1656,6 +1743,9 @@ public class CycleCalculationService {
             ProBasicPowerstationPoint wprpjfsPoint = proBasicWppointMap.get(ContantXk.RPJFS);
             ProBasicPowerstationPoint wpypjfsPoint = proBasicWppointMap.get(ContantXk.YPJFS);
             ProBasicPowerstationPoint wpnpjfsPoint = proBasicWppointMap.get(ContantXk.NPJFS);
+            ProBasicPowerstationPoint wprpjgzdPoint = proBasicWppointMap.get(ContantXk.RPJGZD);
+            ProBasicPowerstationPoint wpypjgzdPoint = proBasicWppointMap.get(ContantXk.YPJGZD);
+            ProBasicPowerstationPoint wpnpjgzdPoint = proBasicWppointMap.get(ContantXk.NPJGZD);
             ProBasicPowerstationPoint wprpjglPoint = proBasicWppointMap.get(ContantXk.RPJGL);
             ProBasicPowerstationPoint wpypjglPoint = proBasicWppointMap.get(ContantXk.YPJGL);
             ProBasicPowerstationPoint wpnpjglPoint = proBasicWppointMap.get(ContantXk.NPJGL);
@@ -1664,6 +1754,7 @@ public class CycleCalculationService {
             ProBasicPowerstationPoint wpnfdlPoint = proBasicWppointMap.get(ContantXk.NFDL);
             ProBasicPowerstationPoint wpfdl15Point = proBasicWppointMap.get(ContantXk.FDL15);
             ProBasicPowerstationPoint wppjfs15Point = proBasicWppointMap.get(ContantXk.PJFS15);
+            ProBasicPowerstationPoint wppjgzd15Point = proBasicWppointMap.get(ContantXk.PJGZD15);
             ProBasicPowerstationPoint wppjgl15Point = proBasicWppointMap.get(ContantXk.PJGL15);
             ProBasicPowerstationPoint wprkydlPoint = proBasicWppointMap.get(ContantXk.RKYDL);
             ProBasicPowerstationPoint wpykydlPoint = proBasicWppointMap.get(ContantXk.YKYDL);
@@ -1848,6 +1939,9 @@ public class CycleCalculationService {
                 ProBasicPowerstationPoint rpjfsPoint = basicWppointMap.get(ContantXk.RPJFS);
                 ProBasicPowerstationPoint ypjfsPoint = basicWppointMap.get(ContantXk.YPJFS);
                 ProBasicPowerstationPoint npjfsPoint = basicWppointMap.get(ContantXk.NPJFS);
+                ProBasicPowerstationPoint rpjgzdPoint = basicWppointMap.get(ContantXk.RPJGZD);
+                ProBasicPowerstationPoint ypjgzdPoint = basicWppointMap.get(ContantXk.YPJGZD);
+                ProBasicPowerstationPoint npjgzdPoint = basicWppointMap.get(ContantXk.NPJGZD);
                 ProBasicPowerstationPoint rpjglPoint = basicWppointMap.get(ContantXk.RPJGL);
                 ProBasicPowerstationPoint ypjglPoint = basicWppointMap.get(ContantXk.YPJGL);
                 ProBasicPowerstationPoint npjglPoint = basicWppointMap.get(ContantXk.NPJGL);
@@ -1856,6 +1950,7 @@ public class CycleCalculationService {
                 ProBasicPowerstationPoint nfdlPoint = basicWppointMap.get(ContantXk.NFDL);
                 ProBasicPowerstationPoint fdl15Point = basicWppointMap.get(ContantXk.FDL15);
                 ProBasicPowerstationPoint pjfs15Point = basicWppointMap.get(ContantXk.PJFS15);
+                ProBasicPowerstationPoint pjgzd15Point = basicWppointMap.get(ContantXk.PJGZD15);
                 ProBasicPowerstationPoint pjgl15Point = basicWppointMap.get(ContantXk.PJGL15);
                 ProBasicPowerstationPoint rkydlPoint = basicWppointMap.get(ContantXk.RKYDL);
                 ProBasicPowerstationPoint ykydlPoint = basicWppointMap.get(ContantXk.YKYDL);
@@ -1934,38 +2029,74 @@ public class CycleCalculationService {
                 ProBasicPowerstationPoint zfdl15Point = basicWppointMap.get(ContantXk.ZFDL15);
                 ProBasicPowerstationPoint llfdl15Point = basicWppointMap.get(ContantXk.LLFDL15);
 
-                rpjfs.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
-                ypjfs.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
-                npjfs.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
-                pjfs15.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(pjfs15Point, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
+                if (project.getWindpowerstationId().contains("_FDC_")){
+                    rpjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    ypjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    npjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    pjfs15.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(pjfs15Point, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                }else {
+                    rpjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(rpjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    ypjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(ypjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    npjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(npjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    pjfs15.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(pjgzd15Point, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                }
+
 
                 rpjgl.updateAndGet(v -> {
                     try {
@@ -2712,6 +2843,9 @@ public class CycleCalculationService {
             ProBasicPowerstationPoint wprpjfsPoint = proBasicWppointMap.get(ContantXk.RPJFS);
             ProBasicPowerstationPoint wpypjfsPoint = proBasicWppointMap.get(ContantXk.YPJFS);
             ProBasicPowerstationPoint wpnpjfsPoint = proBasicWppointMap.get(ContantXk.NPJFS);
+            ProBasicPowerstationPoint wprpjgzdPoint = proBasicWppointMap.get(ContantXk.RPJGZD);
+            ProBasicPowerstationPoint wpypjgzdPoint = proBasicWppointMap.get(ContantXk.YPJGZD);
+            ProBasicPowerstationPoint wpnpjgzdPoint = proBasicWppointMap.get(ContantXk.NPJGZD);
             ProBasicPowerstationPoint wprpjglPoint = proBasicWppointMap.get(ContantXk.RPJGL);
             ProBasicPowerstationPoint wpypjglPoint = proBasicWppointMap.get(ContantXk.YPJGL);
             ProBasicPowerstationPoint wpnpjglPoint = proBasicWppointMap.get(ContantXk.NPJGL);
@@ -2720,6 +2854,7 @@ public class CycleCalculationService {
             ProBasicPowerstationPoint wpnfdlPoint = proBasicWppointMap.get(ContantXk.NFDL);
             ProBasicPowerstationPoint wpfdl15Point = proBasicWppointMap.get(ContantXk.FDL15);
             ProBasicPowerstationPoint wppjfs15Point = proBasicWppointMap.get(ContantXk.PJFS15);
+            ProBasicPowerstationPoint wppjgzd15Point = proBasicWppointMap.get(ContantXk.PJGZD15);
             ProBasicPowerstationPoint wppjgl15Point = proBasicWppointMap.get(ContantXk.PJGL15);
             ProBasicPowerstationPoint wprkydlPoint = proBasicWppointMap.get(ContantXk.RKYDL);
             ProBasicPowerstationPoint wpykydlPoint = proBasicWppointMap.get(ContantXk.YKYDL);
@@ -2904,6 +3039,9 @@ public class CycleCalculationService {
                 ProBasicPowerstationPoint rpjfsPoint = basicWppointMap.get(ContantXk.RPJFS);
                 ProBasicPowerstationPoint ypjfsPoint = basicWppointMap.get(ContantXk.YPJFS);
                 ProBasicPowerstationPoint npjfsPoint = basicWppointMap.get(ContantXk.NPJFS);
+                ProBasicPowerstationPoint rpjgzdPoint = basicWppointMap.get(ContantXk.RPJGZD);
+                ProBasicPowerstationPoint ypjgzdPoint = basicWppointMap.get(ContantXk.YPJGZD);
+                ProBasicPowerstationPoint npjgzdPoint = basicWppointMap.get(ContantXk.NPJGZD);
                 ProBasicPowerstationPoint rpjglPoint = basicWppointMap.get(ContantXk.RPJGL);
                 ProBasicPowerstationPoint ypjglPoint = basicWppointMap.get(ContantXk.YPJGL);
                 ProBasicPowerstationPoint npjglPoint = basicWppointMap.get(ContantXk.NPJGL);
@@ -2912,6 +3050,7 @@ public class CycleCalculationService {
                 ProBasicPowerstationPoint nfdlPoint = basicWppointMap.get(ContantXk.NFDL);
                 ProBasicPowerstationPoint fdl15Point = basicWppointMap.get(ContantXk.FDL15);
                 ProBasicPowerstationPoint pjfs15Point = basicWppointMap.get(ContantXk.PJFS15);
+                ProBasicPowerstationPoint pjgzd15Point = basicWppointMap.get(ContantXk.PJGZD15);
                 ProBasicPowerstationPoint pjgl15Point = basicWppointMap.get(ContantXk.PJGL15);
                 ProBasicPowerstationPoint rkydlPoint = basicWppointMap.get(ContantXk.RKYDL);
                 ProBasicPowerstationPoint ykydlPoint = basicWppointMap.get(ContantXk.YKYDL);
@@ -2989,39 +3128,74 @@ public class CycleCalculationService {
                 ProBasicPowerstationPoint qfdl15Point = basicWppointMap.get(ContantXk.QFDL15);
                 ProBasicPowerstationPoint zfdl15Point = basicWppointMap.get(ContantXk.ZFDL15);
                 ProBasicPowerstationPoint llfdl15Point = basicWppointMap.get(ContantXk.LLFDL15);
+                if (wp.getId().contains("_FDC_")){
+                    rpjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    ypjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    npjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    pjfs15.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(pjfs15Point, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                }else {
+                    rpjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(rpjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    ypjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(ypjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    npjfs.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(npjgzdPoint, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                    pjfs15.updateAndGet(v -> {
+                        try {
+                            return new Double((double) (v + edosUtil.getSectionData(pjgzd15Point, currentDate.getTime()).getPointValueInDouble()));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        return v;
+                    });
+                }
 
-                rpjfs.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(rpjfsPoint, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
-                ypjfs.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(ypjfsPoint, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
-                npjfs.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(npjfsPoint, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
-                pjfs15.updateAndGet(v -> {
-                    try {
-                        return new Double((double) (v + edosUtil.getSectionData(pjfs15Point, currentDate.getTime()).getPointValueInDouble()));
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    return v;
-                });
 
                 rpjgl.updateAndGet(v -> {
                     try {

+ 80 - 33
realtime/generationXK-service/src/main/java/com/gyee/generation/service/realtimelibrary/RealtimeService.java

@@ -91,35 +91,53 @@ public class RealtimeService {
                 ssbfPointDate = PointUtil.createPointData(currentDate, ssbf, ssbfPoint.getNemCode(), ssbfPoint.getName());
             }
             wtResultList.add(ssbfPointDate);
-            ProBasicModelPowerRd basicModelPowerRd = theoreticalPowerMap.get(wt.getModelId()).get(ssbf);
-            wtResultList.add(PointUtil.createPointData(currentDate, basicModelPowerRd.getTheoryPower(), llglPoint.getNemCode(), llglPoint.getName()));
-            wtResultList.add(PointUtil.createPointData(currentDate, basicModelPowerRd.getEnsurePower(), bzglPoint.getNemCode(), bzglPoint.getName()));
-            ProEconWtPowerCurveFitting wtPowerCurveFitting = curveFittingPowerMap.get(wt.getId()).get(ssbf);
-            Double actualPower = wtPowerCurveFitting.getActualPower();
-            double[] underissuanceArray = {0, 1, 2, 3, 8, 9, 11};
-            double qfzt = 0;
-            double lsqfzt = 0;
-            double ssgl15 = 0;
-            double zsgl15 = 0;
-            if (ssglOptional.isPresent()) {
-                ssgl15 = ssglOptional.get().getPointValueInDouble();
-                zsgl15 = zsglOptional.get().getPointValueInDouble();
+            if (theoreticalPowerMap.containsKey(wt.getModelId())){
+                if (theoreticalPowerMap.get(wt.getModelId()).containsKey(ssbf)){
+                    ProBasicModelPowerRd basicModelPowerRd = theoreticalPowerMap.get(wt.getModelId()).get(ssbf);
+                    wtResultList.add(PointUtil.createPointData(currentDate, basicModelPowerRd.getTheoryPower(), llglPoint.getNemCode(), llglPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(currentDate, basicModelPowerRd.getEnsurePower(), bzglPoint.getNemCode(), bzglPoint.getName()));
+                }else {
+                    wtResultList.add(PointUtil.createPointData(currentDate,0, llglPoint.getNemCode(), llglPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(currentDate, 0, bzglPoint.getNemCode(), bzglPoint.getName()));
+                }
             }
-            if (Arrays.asList(underissuanceArray).contains(mxzt)) {
-                qfzt = Underdelivery.underdeliveryStatusReal(ssgl, actualPower);
-                lsqfzt = Underdelivery.underdeliveryStatusReal(ssgl15, zsgl15);
-            }
-            wtResultList.add(PointUtil.createPointData(currentDate, qfzt, ssqfztPoint.getNemCode(), ssqfztPoint.getName()));
-            wtResultList.add(PointUtil.createPointData(currentDate, lsqfzt, lsqfztPoint.getNemCode(), lsqfztPoint.getName()));
+            if (curveFittingPowerMap.containsKey(wt.getId())){
+                if (curveFittingPowerMap.get(wt.getId()).containsKey(ssbf)){
+                    ProEconWtPowerCurveFitting wtPowerCurveFitting = curveFittingPowerMap.get(wt.getId()).get(ssbf);
+                    Double actualPower = wtPowerCurveFitting.getActualPower();
+                    double[] underissuanceArray = {0, 1, 2, 3, 8, 9, 11};
+                    double qfzt = 0;
+                    double lsqfzt = 0;
+                    double ssgl15 = 0;
+                    double zsgl15 = 0;
+                    if (ssglOptional.isPresent()) {
+                        ssgl15 = ssglOptional.get().getPointValueInDouble();
+                        zsgl15 = zsglOptional.get().getPointValueInDouble();
+                    }
+                    if (Arrays.asList(underissuanceArray).contains(mxzt)) {
+                        qfzt = Underdelivery.underdeliveryStatusReal(ssgl, actualPower);
+                        lsqfzt = Underdelivery.underdeliveryStatusReal(ssgl15, zsgl15);
+                    }
+                    wtResultList.add(PointUtil.createPointData(currentDate, qfzt, ssqfztPoint.getNemCode(), ssqfztPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(currentDate, lsqfzt, lsqfztPoint.getNemCode(), lsqfztPoint.getName()));
 
-            wtResultList.add(PointUtil.createPointData(currentDate, wtPowerCurveFitting.getActualPower(), zsglPoint.getNemCode(), zsglPoint.getName()));
-            wtResultList.add(PointUtil.createPointData(currentDate, wtPowerCurveFitting.getOptimalPower(), zyglPoint.getNemCode(), zyglPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(currentDate, wtPowerCurveFitting.getActualPower(), zsglPoint.getNemCode(), zsglPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(currentDate, wtPowerCurveFitting.getOptimalPower(), zyglPoint.getNemCode(), zyglPoint.getName()));
+                    if (mxzt == 4 || mxzt == 5 || mxzt == 6 || mxzt == 7) {
+                        wtResultList.add(PointUtil.createPointData(currentDate, 0, kyglPoint.getNemCode(), kyglPoint.getName()));
+                    } else {
+                        wtResultList.add(PointUtil.createPointData(currentDate, wtPowerCurveFitting.getActualPower(), kyglPoint.getNemCode(), kyglPoint.getName()));
+                    }
+                }else {
+                    wtResultList.add(PointUtil.createPointData(currentDate, 0, ssqfztPoint.getNemCode(), ssqfztPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(currentDate, 0, lsqfztPoint.getNemCode(), lsqfztPoint.getName()));
 
-            if (mxzt == 4 || mxzt == 5 || mxzt == 6 || mxzt == 7) {
-                wtResultList.add(PointUtil.createPointData(currentDate, 0, kyglPoint.getNemCode(), kyglPoint.getName()));
-            } else {
-                wtResultList.add(PointUtil.createPointData(currentDate, wtPowerCurveFitting.getActualPower(), kyglPoint.getNemCode(), kyglPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(currentDate, 0, zsglPoint.getNemCode(), zsglPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(currentDate, 0, zyglPoint.getNemCode(), zyglPoint.getName()));
+                    wtResultList.add(PointUtil.createPointData(currentDate, 0, kyglPoint.getNemCode(), kyglPoint.getName()));
+                }
             }
+
         });
         edosUtil.sendMultiPoint(wtResultList);
         //保存线路点
@@ -134,8 +152,12 @@ public class RealtimeService {
             AtomicReference<Double> zzsgl = new AtomicReference<>((double) 0);
             AtomicReference<Double> zzygl = new AtomicReference<>((double) 0);
             AtomicReference<Double> zkygl = new AtomicReference<>((double) 0);
-
-            ProBasicPowerstationPoint ssfsWpPoint = proBasicWppointMap.get(ContantXk.SSPJFS);
+            ProBasicPowerstationPoint ssfsWpPoint = null;
+            if (line.getSpare4().equals("1")){
+                ssfsWpPoint = proBasicWppointMap.get(ContantXk.SSPJFS);
+            }else if (line.getSpare4().equals("2")){
+                ssfsWpPoint = proBasicWppointMap.get(ContantXk.SSPJGZD);
+            }
             ProBasicPowerstationPoint ssglWpPoint = proBasicWppointMap.get(ContantXk.SSZGL);
             ProBasicPowerstationPoint llglWpPoint = proBasicWppointMap.get(ContantXk.SSZLLGL);
             ProBasicPowerstationPoint bzglWpPoint = proBasicWppointMap.get(ContantXk.SSZBZGL);
@@ -237,7 +259,12 @@ public class RealtimeService {
             AtomicReference<Double> zzygl = new AtomicReference<>((double) 0);
             AtomicReference<Double> zkygl = new AtomicReference<>((double) 0);
 
-            ProBasicPowerstationPoint ssfsWpPoint = proBasicWppointMap.get(ContantXk.SSPJFS);
+            ProBasicPowerstationPoint ssfsWpPoint = null;
+            if (project.getSpare4().equals("1")){
+                ssfsWpPoint = proBasicWppointMap.get(ContantXk.SSPJFS);
+            }else if (project.getSpare4().equals("2")){
+                ssfsWpPoint = proBasicWppointMap.get(ContantXk.SSPJGZD);
+            }
             ProBasicPowerstationPoint ssglWpPoint = proBasicWppointMap.get(ContantXk.SSZGL);
             ProBasicPowerstationPoint llglWpPoint = proBasicWppointMap.get(ContantXk.SSZLLGL);
             ProBasicPowerstationPoint bzglWpPoint = proBasicWppointMap.get(ContantXk.SSZBZGL);
@@ -247,7 +274,13 @@ public class RealtimeService {
 
             proBasicLines.stream().forEach(wp -> {
                 Map<String, ProBasicPowerstationPoint> basicWppointMap = linepointmap.get(wp.getId());
-                ProBasicPowerstationPoint ssbfPoint = basicWppointMap.get(ContantXk.SSPJFS);
+                ProBasicPowerstationPoint ssbfPoint = null;
+                if (wp.getSpare4().equals("1")){
+                    ssbfPoint = proBasicWppointMap.get(ContantXk.SSPJFS);
+                }else if (wp.getSpare4().equals("2")){
+                    ssbfPoint = proBasicWppointMap.get(ContantXk.SSPJGZD);
+                }
+
                 ProBasicPowerstationPoint ssglPoint = basicWppointMap.get(ContantXk.SSZGL);
                 //理论功率测点
                 ProBasicPowerstationPoint llglPoint = basicWppointMap.get(ContantXk.SSZLLGL);
@@ -260,9 +293,10 @@ public class RealtimeService {
                 //可用功率测点
                 ProBasicPowerstationPoint kyglPoint = basicWppointMap.get(ContantXk.SSZKYGL);
 
+                ProBasicPowerstationPoint finalSsbfPoint = ssbfPoint;
                 zssbf.updateAndGet(v -> {
                     try {
-                        return new Double((double) (v + edosUtil.getSectionData(ssbfPoint, currentDate.getTime()).getPointValueInDouble()));
+                        return new Double((double) (v + edosUtil.getSectionData(finalSsbfPoint, currentDate.getTime()).getPointValueInDouble()));
                     } catch (Exception e) {
                         e.printStackTrace();
                     }
@@ -339,7 +373,13 @@ public class RealtimeService {
             AtomicReference<Double> zzygl = new AtomicReference<>((double) 0);
             AtomicReference<Double> zkygl = new AtomicReference<>((double) 0);
 
-            ProBasicPowerstationPoint ssfsWpPoint = proBasicWppointMap.get(ContantXk.SSPJFS);
+            ProBasicPowerstationPoint ssfsWpPoint = null;
+            if (wps.getSpare4().equals("1")){
+                ssfsWpPoint = proBasicWppointMap.get(ContantXk.SSPJFS);
+            }else if (wps.getSpare4().equals("2")){
+                ssfsWpPoint = proBasicWppointMap.get(ContantXk.SSPJGZD);
+            }
+
             ProBasicPowerstationPoint ssglWpPoint = proBasicWppointMap.get(ContantXk.SSZGL);
             ProBasicPowerstationPoint llglWpPoint = proBasicWppointMap.get(ContantXk.SSZLLGL);
             ProBasicPowerstationPoint bzglWpPoint = proBasicWppointMap.get(ContantXk.SSZBZGL);
@@ -349,7 +389,13 @@ public class RealtimeService {
 
             proBasicProjects.stream().forEach(wp -> {
                 Map<String, ProBasicPowerstationPoint> basicWppointMap = propointmap.get(wp.getId());
-                ProBasicPowerstationPoint ssbfPoint = basicWppointMap.get(ContantXk.SSPJFS);
+
+                ProBasicPowerstationPoint ssbfPoint = null;
+                if (wp.getSpare4().equals("1")){
+                    ssbfPoint = proBasicWppointMap.get(ContantXk.SSPJFS);
+                }else if (wp.getSpare4().equals("2")){
+                    ssbfPoint = proBasicWppointMap.get(ContantXk.SSPJGZD);
+                }
                 ProBasicPowerstationPoint ssglPoint = basicWppointMap.get(ContantXk.SSZGL);
                 //理论功率测点
                 ProBasicPowerstationPoint llglPoint = basicWppointMap.get(ContantXk.SSZLLGL);
@@ -362,9 +408,10 @@ public class RealtimeService {
                 //可用功率测点
                 ProBasicPowerstationPoint kyglPoint = basicWppointMap.get(ContantXk.SSZKYGL);
 
+                ProBasicPowerstationPoint finalSsbfPoint = ssbfPoint;
                 zssbf.updateAndGet(v -> {
                     try {
-                        return new Double((double) (v + edosUtil.getSectionData(ssbfPoint, currentDate.getTime()).getPointValueInDouble()));
+                        return new Double((double) (v + edosUtil.getSectionData(finalSsbfPoint, currentDate.getTime()).getPointValueInDouble()));
                     } catch (Exception e) {
                         e.printStackTrace();
                     }

Datei-Diff unterdrückt, da er zu groß ist
+ 2932 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/realtimelibrary/RegionCalService.java


+ 923 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/realtimelibrary/RegionCalreService.java

@@ -0,0 +1,923 @@
+package com.gyee.generation.service.realtimelibrary;
+
+import com.gyee.common.contant.ContantXk;
+import com.gyee.common.model.PointData;
+import com.gyee.common.util.DateUtils;
+import com.gyee.generation.init.CacheContext;
+import com.gyee.generation.model.auto.ProBasicCompany;
+import com.gyee.generation.model.auto.ProBasicPowerstation;
+import com.gyee.generation.model.auto.ProBasicPowerstationPoint;
+import com.gyee.generation.model.auto.ProBasicRegion;
+import com.gyee.generation.util.PointUtil;
+import com.gyee.generation.util.realtimesource.IEdosUtil;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
+
+/*
+@author   谢生杰
+@date   2022/11/22-9:29
+
+实时值
+*/
+
+@Service
+public class RegionCalreService  {
+
+    @Resource
+    private IEdosUtil edosUtil;
+    /**
+     *
+     */
+    public void companyCal() throws Exception {
+
+
+        Date currentDate = DateUtils.getCurrentDate();
+        List<ProBasicCompany> cpls = CacheContext.cpls;
+        List<ProBasicPowerstation> zwpls = CacheContext.zwpls;
+        Map<String, Map<String, ProBasicPowerstationPoint>> companypointmap = CacheContext.companypointmap;
+        Map<String, Map<String, ProBasicPowerstationPoint>> wppointmap = CacheContext.wppointmap;
+        List<PointData> resultList = new ArrayList<>();
+        cpls.stream().forEach(company->{
+            List<ProBasicPowerstation> wps0 = zwpls.stream().filter(wp -> wp.getCompanyId().equals(company.getId())).collect(Collectors.toList());
+            List<ProBasicPowerstation> wps1 = wps0.stream().filter(wp -> wp.getId().contains("_FDC_")).collect(Collectors.toList());
+            List<ProBasicPowerstation> wps2 = wps0.stream().filter(wp -> wp.getId().contains("_GDC_")).collect(Collectors.toList());
+            if (wps1.size()>0)
+                weightingCompany(currentDate, companypointmap, wppointmap, resultList, company, wps1, "-1");
+            if (wps2.size()>0)
+                weightingCompany(currentDate, companypointmap, wppointmap, resultList, company, wps2, "-2");
+            weightingCompany(currentDate, companypointmap, wppointmap, resultList, company, wps0, "0");
+
+        });
+        edosUtil.sendMultiPoint(resultList);
+    }
+
+    public void RegionCal() throws Exception {
+        Date currentDate = DateUtils.getCurrentDate();
+        List<ProBasicRegion> rgls = CacheContext.rgls;
+        List<ProBasicCompany> cpls = CacheContext.cpls;
+        Map<String, Map<String, ProBasicPowerstationPoint>> companypointmap = CacheContext.companypointmap;
+        Map<String, Map<String, ProBasicPowerstationPoint>> regionpointmap = CacheContext.regionpointmap;
+        List<PointData> resultList = new ArrayList<>();
+        rgls.stream().forEach(region->{
+            List<ProBasicCompany> companys = cpls.stream().filter(company -> company.getRegionId().equals(region.getId())).collect(Collectors.toList());
+            weightingRegion(currentDate, companypointmap, regionpointmap, resultList,region, companys, "-1");
+            weightingRegion(currentDate, companypointmap, regionpointmap, resultList,region,companys, "-2");
+            weightingRegion(currentDate, companypointmap, regionpointmap, resultList,region, companys, "0");
+        });
+        edosUtil.sendMultiPoint(resultList);
+    }
+    private void weightingRegion(Date currentDate, Map<String, Map<String, ProBasicPowerstationPoint>> companypointmap, Map<String, Map<String, ProBasicPowerstationPoint>> regionpointmap, List<PointData> resultList,ProBasicRegion region, List<ProBasicCompany> companys,String type) {
+        Map<String, ProBasicPowerstationPoint> powerstationPointMap = regionpointmap.get(region.getId()+type);
+        ProBasicPowerstationPoint zsspjfsPoint = null;
+        ProBasicPowerstationPoint zsspjgzdPoint = null;
+
+        if (type.equals("-1")){
+            zsspjfsPoint = powerstationPointMap.get(ContantXk.SSPJFS);
+
+        }else if(type.equals("-2")){
+            zsspjgzdPoint = powerstationPointMap.get(ContantXk.SSPJGZD);
+
+        }else {
+            zsspjfsPoint = powerstationPointMap.get(ContantXk.SSPJFS);
+            zsspjgzdPoint = powerstationPointMap.get(ContantXk.SSPJGZD);
+        }
+
+        ProBasicPowerstationPoint zsszglPoint = powerstationPointMap.get(ContantXk.SSZGL);
+        ProBasicPowerstationPoint zsszllglPoint = powerstationPointMap.get(ContantXk.SSZLLGL);
+        ProBasicPowerstationPoint zsszbzglPoint = powerstationPointMap.get(ContantXk.SSZBZGL);
+        ProBasicPowerstationPoint zssznhglzsPoint = powerstationPointMap.get(ContantXk.SSZNHGLZS);
+        ProBasicPowerstationPoint zsszzyglPoint = powerstationPointMap.get(ContantXk.SSZZYGL);
+        ProBasicPowerstationPoint zsszkyglPoint = powerstationPointMap.get(ContantXk.SSZKYGL);
+
+        ProBasicPowerstationPoint zgztsmxPoint = powerstationPointMap.get(ContantXk.GZTSMX);
+        ProBasicPowerstationPoint zcnslmxPoint = powerstationPointMap.get(ContantXk.CNSLGZTSMX);
+        ProBasicPowerstationPoint zjxtsmxPoint = powerstationPointMap.get(ContantXk.JXTSMX);
+        ProBasicPowerstationPoint zcnjxmxPoint = powerstationPointMap.get(ContantXk.CNSLJXTSMX);
+        ProBasicPowerstationPoint zdjtsmxPoint = powerstationPointMap.get(ContantXk.DJTSMX);
+        ProBasicPowerstationPoint zqxjclmxPoint = powerstationPointMap.get(ContantXk.QXJCLTSMX);
+        ProBasicPowerstationPoint zsdtjmxPoint = powerstationPointMap.get(ContantXk.SDTJTSMX);
+        ProBasicPowerstationPoint zxntsmxPoint = powerstationPointMap.get(ContantXk.XNTSMX);
+        ProBasicPowerstationPoint zxdtjmxPoint = powerstationPointMap.get(ContantXk.XDTJTSMX);
+        ProBasicPowerstationPoint zxdjclmxPoint = powerstationPointMap.get(ContantXk.XDJCLTSMX);
+        ProBasicPowerstationPoint zcwsldwmxPoint = powerstationPointMap.get(ContantXk.CWSLDWTSMX);
+        ProBasicPowerstationPoint zcwsltqmxPoint = powerstationPointMap.get(ContantXk.CWSLTQTSMX);
+        ProBasicPowerstationPoint zlxtsmxPoint = powerstationPointMap.get(ContantXk.LXTSMX);
+        ProBasicPowerstationPoint ztxzdmxPoint = powerstationPointMap.get(ContantXk.TXZDTSMX);
+        ProBasicPowerstationPoint zdjtsPoint = powerstationPointMap.get(ContantXk.DJTS);
+        ProBasicPowerstationPoint zyxtsPoint = powerstationPointMap.get(ContantXk.YXTS);
+        ProBasicPowerstationPoint zgztsPoint = powerstationPointMap.get(ContantXk.GZTJTS);
+        ProBasicPowerstationPoint zwhtsPoint = powerstationPointMap.get(ContantXk.JXTJTS);
+        ProBasicPowerstationPoint zxdtsPoint = powerstationPointMap.get(ContantXk.XDTS);
+        ProBasicPowerstationPoint zsltsPoint = powerstationPointMap.get(ContantXk.SLTS);
+        ProBasicPowerstationPoint zlxtsPoint = powerstationPointMap.get(ContantXk.TXZDTS);
+
+        AtomicReference<Double> sspjfs = new AtomicReference<>((double) 0);
+        AtomicReference<Double> sspjgzd = new AtomicReference<>((double) 0);
+        AtomicReference<Double> sszgl = new AtomicReference<>((double) 0);
+        AtomicReference<Double> zllgl = new AtomicReference<>((double) 0);
+        AtomicReference<Double> zbzgl = new AtomicReference<>((double) 0);
+        AtomicReference<Double> znhglzs = new AtomicReference<>((double) 0);
+        AtomicReference<Double> zzygl = new AtomicReference<>((double) 0);
+        AtomicReference<Double> zkygl = new AtomicReference<>((double) 0);
+
+        AtomicReference<Double> gztsmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> cngzmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> jxtsmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> cnjxmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> djtsmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> qxjclmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> sdtjmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> xntsmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> xdtjmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> xdjclmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> cwsldwmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> cwsltqmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> lxtsmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> txzdmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> yxts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> gzts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> lxts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> whts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> xdts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> slts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> djts = new AtomicReference<>((double) 0);
+        AtomicInteger fcComCount = new AtomicInteger();
+        AtomicInteger gcComCount = new AtomicInteger();
+        AtomicInteger finalGcComCount = gcComCount;
+        AtomicInteger finalFcComCount = fcComCount;
+        companys.stream().forEach(company->{
+            if (company.getJrCapacity()>0){
+                finalGcComCount.getAndIncrement();
+            }
+            if (company.getJrwindCapacity()>0){
+                finalFcComCount.getAndIncrement();
+            }
+            Map<String, ProBasicPowerstationPoint> powerstationPointMap1 = companypointmap.get(company.getId()+type);
+            ProBasicPowerstationPoint sspjfsPoint = null;
+            ProBasicPowerstationPoint sspjgzdPoint = null;
+
+
+            if (type.equals("-1")){
+                sspjfsPoint = powerstationPointMap1.get(ContantXk.SSPJFS);
+
+            }else if(type.equals("-2")){
+                sspjgzdPoint = powerstationPointMap1.get(ContantXk.SSPJGZD);
+
+            }else {
+                sspjfsPoint = powerstationPointMap1.get(ContantXk.SSPJFS);
+                sspjgzdPoint = powerstationPointMap1.get(ContantXk.SSPJGZD);
+
+            }
+            ProBasicPowerstationPoint sszglPoint = powerstationPointMap1.get(ContantXk.SSZGL);
+            ProBasicPowerstationPoint sszllglPoint = powerstationPointMap1.get(ContantXk.SSZLLGL);
+            ProBasicPowerstationPoint sszbzglPoint = powerstationPointMap1.get(ContantXk.SSZBZGL);
+            ProBasicPowerstationPoint ssznhglzsPoint = powerstationPointMap1.get(ContantXk.SSZNHGLZS);
+            ProBasicPowerstationPoint sszzyglPoint = powerstationPointMap1.get(ContantXk.SSZZYGL);
+            ProBasicPowerstationPoint sszkyglPoint = powerstationPointMap1.get(ContantXk.SSZKYGL);
+
+            ProBasicPowerstationPoint gztsmxPoint = powerstationPointMap1.get(ContantXk.GZTSMX);
+            ProBasicPowerstationPoint cnslmxPoint = powerstationPointMap1.get(ContantXk.CNSLGZTSMX);
+            ProBasicPowerstationPoint jxtsmxPoint = powerstationPointMap1.get(ContantXk.JXTSMX);
+            ProBasicPowerstationPoint cnjxmxPoint = powerstationPointMap1.get(ContantXk.CNSLJXTSMX);
+            ProBasicPowerstationPoint djtsmxPoint = powerstationPointMap1.get(ContantXk.DJTSMX);
+            ProBasicPowerstationPoint qxjclmxPoint = powerstationPointMap1.get(ContantXk.QXJCLTSMX);
+            ProBasicPowerstationPoint sdtjmxPoint = powerstationPointMap1.get(ContantXk.SDTJTSMX);
+            ProBasicPowerstationPoint xntsmxPoint = powerstationPointMap1.get(ContantXk.XNTSMX);
+            ProBasicPowerstationPoint xdtjmxPoint = powerstationPointMap1.get(ContantXk.XDTJTSMX);
+            ProBasicPowerstationPoint xdjclmxPoint = powerstationPointMap1.get(ContantXk.XDJCLTSMX);
+            ProBasicPowerstationPoint cwsldwmxPoint = powerstationPointMap1.get(ContantXk.CWSLDWTSMX);
+            ProBasicPowerstationPoint cwsltqmxPoint = powerstationPointMap1.get(ContantXk.CWSLTQTSMX);
+            ProBasicPowerstationPoint lxtsmxPoint = powerstationPointMap1.get(ContantXk.LXTSMX);
+            ProBasicPowerstationPoint txzdmxPoint = powerstationPointMap1.get(ContantXk.TXZDTSMX);
+            ProBasicPowerstationPoint djtsPoint = powerstationPointMap1.get(ContantXk.DJTS);
+            ProBasicPowerstationPoint yxtsPoint = powerstationPointMap1.get(ContantXk.YXTS);
+            ProBasicPowerstationPoint gztsPoint = powerstationPointMap1.get(ContantXk.GZTJTS);
+            ProBasicPowerstationPoint whtsPoint = powerstationPointMap1.get(ContantXk.JXTJTS);
+            ProBasicPowerstationPoint xdtsPoint = powerstationPointMap1.get(ContantXk.XDTS);
+            ProBasicPowerstationPoint sltsPoint = powerstationPointMap1.get(ContantXk.SLTS);
+            ProBasicPowerstationPoint lxtsPoint = powerstationPointMap1.get(ContantXk.TXZDTS);
+
+            if (type.equals("-1")){
+                ProBasicPowerstationPoint finalSspjfsfsPoint = sspjfsPoint;
+                sspjfs.updateAndGet(v -> {
+                    try {
+                        return new Double((double) (v + edosUtil.getSectionData(finalSspjfsfsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                    return v;
+                });
+
+
+            }else if (type.equals("-2")){
+                ProBasicPowerstationPoint finalSspjgzdPoint = sspjgzdPoint;
+                sspjgzd.updateAndGet(v -> {
+                    try {
+                        return new Double((double) (v + edosUtil.getSectionData(finalSspjgzdPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                    return v;
+                });
+
+            }else {
+                ProBasicPowerstationPoint finalSspjfsfsPoint = sspjfsPoint;
+                sspjfs.updateAndGet(v -> {
+                    try {
+                        return new Double((double) (v + edosUtil.getSectionData(finalSspjfsfsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                    return v;
+                });
+                ProBasicPowerstationPoint finalSspjgzdPoint = sspjgzdPoint;
+                sspjgzd.updateAndGet(v -> {
+                    try {
+                        return new Double((double) (v + edosUtil.getSectionData(finalSspjgzdPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                    return v;
+                });
+            }
+            sszgl.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sszglPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            zllgl.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sszllglPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            zbzgl.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sszbzglPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            znhglzs.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(ssznhglzsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            zzygl.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sszzyglPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            zkygl.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sszkyglPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+
+
+
+            gztsmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(gztsmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            cngzmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(cnslmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            jxtsmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(jxtsmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            cnjxmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(cnjxmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            djtsmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(djtsmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            qxjclmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(qxjclmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            sdtjmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sdtjmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            xntsmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(xntsmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            xdtjmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(xdtjmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            xdjclmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(xdjclmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            cwsldwmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(cwsldwmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            cwsltqmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(cwsltqmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            lxtsmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(lxtsmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            txzdmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(txzdmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            djts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(djtsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            yxts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(yxtsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            gzts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(gztsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            whts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(whtsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            xdts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(xdtsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            slts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sltsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            lxts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(lxtsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+        });
+        if (fcComCount.get()==0){
+            fcComCount.getAndIncrement();
+        }
+        if (gcComCount.get()==0){
+            gcComCount.getAndIncrement();
+        }
+        if (type.equals("-1")){
+            resultList.add(PointUtil.createPointData(currentDate,sspjfs.get()/fcComCount.doubleValue(),zsspjfsPoint.getNemCode(),zsspjfsPoint.getName()));
+
+        }else if(type.equals("-2")){
+            resultList.add(PointUtil.createPointData(currentDate,sspjgzd.get()/gcComCount.doubleValue(),zsspjgzdPoint.getNemCode(),zsspjgzdPoint.getName()));
+
+        }else {
+            resultList.add(PointUtil.createPointData(currentDate,sspjfs.get()/fcComCount.doubleValue(),zsspjfsPoint.getNemCode(),zsspjfsPoint.getName()));
+            resultList.add(PointUtil.createPointData(currentDate,sspjgzd.get()/gcComCount.doubleValue(),zsspjgzdPoint.getNemCode(),zsspjgzdPoint.getName()));
+        }
+        resultList.add(PointUtil.createPointData(currentDate,sszgl.get(),zsszglPoint.getNemCode(),zsszglPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,zllgl.get(),zsszllglPoint.getNemCode(),zsszllglPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,zbzgl.get(),zsszbzglPoint.getNemCode(),zsszbzglPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,znhglzs.get(),zssznhglzsPoint.getNemCode(),zssznhglzsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,zzygl.get(),zsszzyglPoint.getNemCode(),zsszzyglPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,zkygl.get(),zsszkyglPoint.getNemCode(),zsszkyglPoint.getName()));
+
+        resultList.add(PointUtil.createPointData(currentDate,gztsmx.get(),zgztsmxPoint.getNemCode(),zgztsmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,cngzmx.get(),zcnslmxPoint.getNemCode(),zcnslmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,jxtsmx.get(),zjxtsmxPoint.getNemCode(),zjxtsmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,cnjxmx.get(),zcnjxmxPoint.getNemCode(),zcnjxmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,djtsmx.get(),zdjtsmxPoint.getNemCode(),zdjtsmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,qxjclmx.get(),zqxjclmxPoint.getNemCode(),zqxjclmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,sdtjmx.get(),zsdtjmxPoint.getNemCode(),zsdtjmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,xntsmx.get(),zxntsmxPoint.getNemCode(),zxntsmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,xdtjmx.get(),zxdtjmxPoint.getNemCode(),zxdtjmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,xdjclmx.get(),zxdjclmxPoint.getNemCode(),zxdjclmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,cwsldwmx.get(),zcwsldwmxPoint.getNemCode(),zcwsldwmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,cwsltqmx.get(),zcwsltqmxPoint.getNemCode(),zcwsltqmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,lxtsmx.get(),zlxtsmxPoint.getNemCode(),zlxtsmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,txzdmx.get(),ztxzdmxPoint.getNemCode(),ztxzdmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,djts.get(),zdjtsPoint.getNemCode(),zdjtsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,yxts.get(),zyxtsPoint.getNemCode(),zyxtsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,gzts.get(),zgztsPoint.getNemCode(),zgztsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,whts.get(),zwhtsPoint.getNemCode(),zwhtsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,xdts.get(),zxdtsPoint.getNemCode(),zxdtsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,slts.get(),zsltsPoint.getNemCode(),zsltsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,lxts.get(),zlxtsPoint.getNemCode(),zlxtsPoint.getName()));
+    }
+    private void weightingCompany(Date currentDate, Map<String, Map<String, ProBasicPowerstationPoint>> companypointmap, Map<String, Map<String, ProBasicPowerstationPoint>> wppointmap, List<PointData> resultList, ProBasicCompany company, List<ProBasicPowerstation> wps,String type) {
+        Map<String, ProBasicPowerstationPoint> powerstationPointMap = companypointmap.get(company.getId()+type);
+        int fdcsize = wps.stream().filter(wp -> wp.getId().contains("_FDC_")).collect(Collectors.toList()).size();
+        int gdcsize = wps.stream().filter(wp -> wp.getId().contains("_GDC_")).collect(Collectors.toList()).size();
+        if (fdcsize==0)
+            fdcsize = 1;
+        if (gdcsize==0)
+            gdcsize=1;
+        ProBasicPowerstationPoint zsspjfsPoint = null;
+        ProBasicPowerstationPoint zsspjgzdPoint = null;
+        if (type.equals("-1")){
+            zsspjfsPoint = powerstationPointMap.get(ContantXk.SSPJFS);
+
+        }else if(type.equals("-2")){
+            zsspjgzdPoint = powerstationPointMap.get(ContantXk.SSPJGZD);
+
+        }else {
+            zsspjfsPoint = powerstationPointMap.get(ContantXk.SSPJFS);
+            zsspjgzdPoint = powerstationPointMap.get(ContantXk.SSPJGZD);
+        }
+
+        ProBasicPowerstationPoint zsszglPoint = powerstationPointMap.get(ContantXk.SSZGL);
+        ProBasicPowerstationPoint zsszllglPoint = powerstationPointMap.get(ContantXk.SSZLLGL);
+        ProBasicPowerstationPoint zsszbzglPoint = powerstationPointMap.get(ContantXk.SSZBZGL);
+        ProBasicPowerstationPoint zssznhglzsPoint = powerstationPointMap.get(ContantXk.SSZNHGLZS);
+        ProBasicPowerstationPoint zsszzyglPoint = powerstationPointMap.get(ContantXk.SSZZYGL);
+        ProBasicPowerstationPoint zsszkyglPoint = powerstationPointMap.get(ContantXk.SSZKYGL);
+
+        ProBasicPowerstationPoint zgztsmxPoint = powerstationPointMap.get(ContantXk.GZTSMX);
+        ProBasicPowerstationPoint zcnslmxPoint = powerstationPointMap.get(ContantXk.CNSLGZTSMX);
+        ProBasicPowerstationPoint zjxtsmxPoint = powerstationPointMap.get(ContantXk.JXTSMX);
+        ProBasicPowerstationPoint zcnjxmxPoint = powerstationPointMap.get(ContantXk.CNSLJXTSMX);
+        ProBasicPowerstationPoint zdjtsmxPoint = powerstationPointMap.get(ContantXk.DJTSMX);
+        ProBasicPowerstationPoint zqxjclmxPoint = powerstationPointMap.get(ContantXk.QXJCLTSMX);
+        ProBasicPowerstationPoint zsdtjmxPoint = powerstationPointMap.get(ContantXk.SDTJTSMX);
+        ProBasicPowerstationPoint zxntsmxPoint = powerstationPointMap.get(ContantXk.XNTSMX);
+        ProBasicPowerstationPoint zxdtjmxPoint = powerstationPointMap.get(ContantXk.XDTJTSMX);
+        ProBasicPowerstationPoint zxdjclmxPoint = powerstationPointMap.get(ContantXk.XDJCLTSMX);
+        ProBasicPowerstationPoint zcwsldwmxPoint = powerstationPointMap.get(ContantXk.CWSLDWTSMX);
+        ProBasicPowerstationPoint zcwsltqmxPoint = powerstationPointMap.get(ContantXk.CWSLTQTSMX);
+        ProBasicPowerstationPoint zlxtsmxPoint = powerstationPointMap.get(ContantXk.LXTSMX);
+        ProBasicPowerstationPoint ztxzdmxPoint = powerstationPointMap.get(ContantXk.TXZDTSMX);
+        ProBasicPowerstationPoint zdjtsPoint = powerstationPointMap.get(ContantXk.DJTS);
+        ProBasicPowerstationPoint zyxtsPoint = powerstationPointMap.get(ContantXk.YXTS);
+        ProBasicPowerstationPoint zgztsPoint = powerstationPointMap.get(ContantXk.GZTJTS);
+        ProBasicPowerstationPoint zwhtsPoint = powerstationPointMap.get(ContantXk.JXTJTS);
+        ProBasicPowerstationPoint zxdtsPoint = powerstationPointMap.get(ContantXk.XDTS);
+        ProBasicPowerstationPoint zsltsPoint = powerstationPointMap.get(ContantXk.SLTS);
+        ProBasicPowerstationPoint zlxtsPoint = powerstationPointMap.get(ContantXk.TXZDTS);
+        AtomicReference<Double> sspjfs = new AtomicReference<>((double) 0);
+        AtomicReference<Double> sspjgzd = new AtomicReference<>((double) 0);
+        AtomicReference<Double> sszgl = new AtomicReference<>((double) 0);
+        AtomicReference<Double> zllgl = new AtomicReference<>((double) 0);
+        AtomicReference<Double> zbzgl = new AtomicReference<>((double) 0);
+        AtomicReference<Double> znhglzs = new AtomicReference<>((double) 0);
+        AtomicReference<Double> zzygl = new AtomicReference<>((double) 0);
+        AtomicReference<Double> zkygl = new AtomicReference<>((double) 0);
+
+        AtomicReference<Double> gztsmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> cngzmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> jxtsmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> cnjxmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> djtsmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> qxjclmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> sdtjmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> xntsmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> xdtjmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> xdjclmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> cwsldwmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> cwsltqmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> lxtsmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> txzdmx = new AtomicReference<>((double) 0);
+        AtomicReference<Double> yxts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> gzts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> lxts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> whts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> xdts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> slts = new AtomicReference<>((double) 0);
+        AtomicReference<Double> djts = new AtomicReference<>((double) 0);
+
+
+        wps.stream().forEach(wp->{
+            Map<String, ProBasicPowerstationPoint> powerstationPointMap1 = wppointmap.get(wp.getId());
+
+            ProBasicPowerstationPoint sspjfsPoint = null;
+            ProBasicPowerstationPoint sspjgzdPoint = null;
+
+            if (wp.getId().contains("_FDC_")){
+                sspjfsPoint = powerstationPointMap1.get(ContantXk.SSPJFS);
+
+            }else if(wp.getId().contains("_GDC_")){
+                sspjgzdPoint = powerstationPointMap1.get(ContantXk.SSPJGZD);
+
+            }
+
+            ProBasicPowerstationPoint sszglPoint = powerstationPointMap1.get(ContantXk.SSZGL);
+            ProBasicPowerstationPoint sszllglPoint = powerstationPointMap1.get(ContantXk.SSZLLGL);
+            ProBasicPowerstationPoint sszbzglPoint = powerstationPointMap1.get(ContantXk.SSZBZGL);
+            ProBasicPowerstationPoint ssznhglzsPoint = powerstationPointMap1.get(ContantXk.SSZNHGLZS);
+            ProBasicPowerstationPoint sszzyglPoint = powerstationPointMap1.get(ContantXk.SSZZYGL);
+            ProBasicPowerstationPoint sszkyglPoint = powerstationPointMap1.get(ContantXk.SSZKYGL);
+
+            ProBasicPowerstationPoint gztsmxPoint = powerstationPointMap1.get(ContantXk.GZTSMX);
+            ProBasicPowerstationPoint cnslmxPoint = powerstationPointMap1.get(ContantXk.CNSLGZTSMX);
+            ProBasicPowerstationPoint jxtsmxPoint = powerstationPointMap1.get(ContantXk.JXTSMX);
+            ProBasicPowerstationPoint cnjxmxPoint = powerstationPointMap1.get(ContantXk.CNSLJXTSMX);
+            ProBasicPowerstationPoint djtsmxPoint = powerstationPointMap1.get(ContantXk.DJTSMX);
+            ProBasicPowerstationPoint qxjclmxPoint = powerstationPointMap1.get(ContantXk.QXJCLTSMX);
+            ProBasicPowerstationPoint sdtjmxPoint = powerstationPointMap1.get(ContantXk.SDTJTSMX);
+            ProBasicPowerstationPoint xntsmxPoint = powerstationPointMap1.get(ContantXk.XNTSMX);
+            ProBasicPowerstationPoint xdtjmxPoint = powerstationPointMap1.get(ContantXk.XDTJTSMX);
+            ProBasicPowerstationPoint xdjclmxPoint = powerstationPointMap1.get(ContantXk.XDJCLTSMX);
+            ProBasicPowerstationPoint cwsldwmxPoint = powerstationPointMap1.get(ContantXk.CWSLDWTSMX);
+            ProBasicPowerstationPoint cwsltqmxPoint = powerstationPointMap1.get(ContantXk.CWSLTQTSMX);
+            ProBasicPowerstationPoint lxtsmxPoint = powerstationPointMap1.get(ContantXk.LXTSMX);
+            ProBasicPowerstationPoint txzdmxPoint = powerstationPointMap1.get(ContantXk.TXZDTSMX);
+            ProBasicPowerstationPoint djtsPoint = powerstationPointMap1.get(ContantXk.DJTS);
+            ProBasicPowerstationPoint yxtsPoint = powerstationPointMap1.get(ContantXk.YXTS);
+            ProBasicPowerstationPoint gztsPoint = powerstationPointMap1.get(ContantXk.GZTJTS);
+            ProBasicPowerstationPoint whtsPoint = powerstationPointMap1.get(ContantXk.JXTJTS);
+            ProBasicPowerstationPoint xdtsPoint = powerstationPointMap1.get(ContantXk.XDTS);
+            ProBasicPowerstationPoint sltsPoint = powerstationPointMap1.get(ContantXk.SLTS);
+            ProBasicPowerstationPoint lxtsPoint = powerstationPointMap1.get(ContantXk.TXZDTS);
+
+            if (wp.getId().contains("_FDC_")){
+                ProBasicPowerstationPoint finalSspjfsPoint = sspjfsPoint;
+                sspjfs.updateAndGet(v -> {
+                    try {
+                        return new Double((double) (v + edosUtil.getSectionData(finalSspjfsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                    return v;
+                });
+
+            }else if (wp.getId().contains("_GDC_")){
+                ProBasicPowerstationPoint finalSspjgzdPoint = sspjgzdPoint;
+                sspjgzd.updateAndGet(v -> {
+                    try {
+                        return new Double((double) (v + edosUtil.getSectionData(finalSspjgzdPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                    return v;
+                });
+            }
+            sszgl.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sszglPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            zllgl.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sszllglPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            zbzgl.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sszbzglPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            znhglzs.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(ssznhglzsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            zzygl.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sszzyglPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            zkygl.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sszkyglPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+
+
+
+
+            gztsmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(gztsmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            cngzmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(cnslmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            jxtsmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(jxtsmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            cnjxmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(cnjxmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            djtsmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(djtsmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            qxjclmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(qxjclmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            sdtjmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sdtjmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            xntsmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(xntsmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            xdtjmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(xdtjmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            xdjclmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(xdjclmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            cwsldwmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(cwsldwmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            cwsltqmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(cwsltqmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            lxtsmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(lxtsmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            txzdmx.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(txzdmxPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            djts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(djtsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            yxts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(yxtsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            gzts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(gztsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            whts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(whtsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            xdts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(xdtsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            slts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(sltsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+            lxts.updateAndGet(v -> {
+                try {
+                    return new Double((double) (v + edosUtil.getSectionData(lxtsPoint, currentDate.getTime() / 1000).getPointValueInDouble()));
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return v;
+            });
+        });
+        if (type.equals("-1")){
+            resultList.add(PointUtil.createPointData(currentDate,sspjfs.get()/fdcsize,zsspjfsPoint.getNemCode(),zsspjfsPoint.getName()));
+
+        }else if(type.equals("-2")){
+            resultList.add(PointUtil.createPointData(currentDate,sspjgzd.get()/gdcsize,zsspjgzdPoint.getNemCode(),zsspjgzdPoint.getName()));
+
+        }else {
+            resultList.add(PointUtil.createPointData(currentDate,sspjfs.get()/fdcsize,zsspjfsPoint.getNemCode(),zsspjfsPoint.getName()));
+            resultList.add(PointUtil.createPointData(currentDate,sspjgzd.get()/gdcsize,zsspjgzdPoint.getNemCode(),zsspjgzdPoint.getName()));
+        }
+        resultList.add(PointUtil.createPointData(currentDate,sszgl.get(),zsszglPoint.getNemCode(),zsszglPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,zllgl.get(),zsszllglPoint.getNemCode(),zsszllglPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,zbzgl.get(),zsszbzglPoint.getNemCode(),zsszbzglPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,znhglzs.get(),zssznhglzsPoint.getNemCode(),zssznhglzsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,zzygl.get(),zsszzyglPoint.getNemCode(),zsszzyglPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,zkygl.get(),zsszkyglPoint.getNemCode(),zsszkyglPoint.getName()));
+
+        resultList.add(PointUtil.createPointData(currentDate,gztsmx.get(),zgztsmxPoint.getNemCode(),zgztsmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,cngzmx.get(),zcnslmxPoint.getNemCode(),zcnslmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,jxtsmx.get(),zjxtsmxPoint.getNemCode(),zjxtsmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,cnjxmx.get(),zcnjxmxPoint.getNemCode(),zcnjxmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,djtsmx.get(),zdjtsmxPoint.getNemCode(),zdjtsmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,qxjclmx.get(),zqxjclmxPoint.getNemCode(),zqxjclmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,sdtjmx.get(),zsdtjmxPoint.getNemCode(),zsdtjmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,xntsmx.get(),zxntsmxPoint.getNemCode(),zxntsmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,xdtjmx.get(),zxdtjmxPoint.getNemCode(),zxdtjmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,xdjclmx.get(),zxdjclmxPoint.getNemCode(),zxdjclmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,cwsldwmx.get(),zcwsldwmxPoint.getNemCode(),zcwsldwmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,cwsltqmx.get(),zcwsltqmxPoint.getNemCode(),zcwsltqmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,lxtsmx.get(),zlxtsmxPoint.getNemCode(),zlxtsmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,txzdmx.get(),ztxzdmxPoint.getNemCode(),ztxzdmxPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,djts.get(),zdjtsPoint.getNemCode(),zdjtsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,yxts.get(),zyxtsPoint.getNemCode(),zyxtsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,gzts.get(),zgztsPoint.getNemCode(),zgztsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,whts.get(),zwhtsPoint.getNemCode(),zwhtsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,xdts.get(),zxdtsPoint.getNemCode(),zxdtsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,slts.get(),zsltsPoint.getNemCode(),zsltsPoint.getName()));
+        resultList.add(PointUtil.createPointData(currentDate,lxts.get(),zlxtsPoint.getNemCode(),zlxtsPoint.getName()));
+    }
+
+}

+ 1 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/service/realtimelibrary/StatusService.java

@@ -449,7 +449,7 @@ public class StatusService {
                     AtomicInteger yxts = new AtomicInteger();
                     AtomicInteger slts = new AtomicInteger();
                     windturbines.stream().forEach(wt->{
-                        ProBasicEquipmentPoint windturbinetestingpointnew = wtpAimap.get(wt.getId()).get(Contant.ZTMX);
+                        ProBasicEquipmentPoint windturbinetestingpointnew = wtpAimap.get(wt.getId()).get(ContantXk.MXZT);
                         try {
                             double valueInDouble = edosUtil.getSectionData(windturbinetestingpointnew,currentDate.getTime()).getPointValueInDouble();
                             switch ((int) valueInDouble){

+ 1 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/util/realtimesource/EdosUtil.java

@@ -845,7 +845,7 @@ public class EdosUtil implements IEdosUtil {
                         pointData.setPointValueInDouble(Double.parseDouble(pointValue));
                     }
                     pointData.setPointValue(pointValue);
-
+                    pointData.setPointTime(ts);
                     //  //System.out.println("key= " + key + ", ts = " + ts + ", value = " + pointValue);
                 }
                 return result;

+ 1 - 0
realtime/generationXK-service/src/main/resources/application-dev.yml

@@ -88,6 +88,7 @@ logging:
 db:
   url: http://192.168.11.250:8011/ts
 #参与计算的场站
+#runWindpowerstation: SD_GDDL_RZLX_FDC_STA
 runWindpowerstation: SD_GDDL_RZLX_FDC_STA,SD_GDDL_QDJN_FDC_STA,SD_GDDL_WHWD_FDC_STA,SD_GDDL_WHXQ_FDC_STA,SD_GDDL_RZWL_FDC_STA,SD_GDDL_WFZC_FDC_STA,SD_GDDL_DZXJ_FDC_STA,SD_GDDL_XTTA_FDC_STA,SD_GDDL_BH1_FDC_STA,SD_GDDL_BH2_FDC_STA,SD_GDDL_CG_FDC_STA,SD_GDDL_FJ_FDC_STA,SD_GDDL_YS_FDC_STA,SD_GDDL_FXFC_FDC_STA,SD_GDDL_JNSS_FDC_STA,SD_GDDL_WFBH_FDC_STA,SD_GDDL_PLHS_FDC_STA,SD_GDDL_JNCQ_FDC_STA,SD_GDDL_LXLN_FDC_STA,SD_GDDL_LQJS_FDC_STA,SD_GDDL_ZYXD_FDC_STA,SD_GDDL_ZYFS_FDC_STA
 #计算状态用ai或者di
 clauStatus:

+ 22 - 1
realtime/generationXK-service/src/test/java/com/gyee/generation/GenerationTest.java

@@ -7,7 +7,7 @@ import com.gyee.generation.init.CacheContext;
 import com.gyee.generation.model.auto.ProBasicEquipmentPoint;
 import com.gyee.generation.service.*;
 import com.gyee.generation.service.initalcache.CacheService;
-import com.gyee.generation.service.realtimelibrary.ElectricityMeteringService;
+import com.gyee.generation.service.realtimelibrary.*;
 import com.gyee.generation.util.realtimesource.EdosUtil;
 import com.gyee.generation.util.redis.RedisService;
 import org.junit.Test;
@@ -34,6 +34,16 @@ public class GenerationTest {
     private CacheService cacheService;
     @Resource
     private ElectricityMeteringService electricityMeteringService;
+    @Resource
+    private RealtimeService realtimeService;   //实时补风,实时功率
+    @Resource
+    private CycleCalculationService cycleCalculationService;   //日月年
+    @Resource
+    private StatusService statusService;
+    @Resource
+    private RegionCalreService regionCalreService;
+    @Resource
+    private RegionCalService regionCalService;
 
     @Test
     public void test1() throws Exception {
@@ -44,6 +54,17 @@ public class GenerationTest {
 
     @Test
     public void test2() throws Exception {
+//        realtimeService.savaRealtimeTarget();
+//        cycleCalculationService.saveCyle();
+//        statusService.powerRationing();
+//        statusService.statusReal();
+//        statusService.calculateStatusNumber();
+        regionCalService.companyCal();
+        regionCalService.RegionCal();
+
+        regionCalreService.companyCal();
+        regionCalreService.RegionCal();
+
 
     }