Browse Source

Merge remote-tracking branch 'origin/master'

wangchangsheng 2 years ago
parent
commit
b630cdc026
33 changed files with 1118 additions and 15 deletions
  1. 2 1
      common/src/main/java/com/gyee/common/contant/ContantXk.java
  2. 23 1
      realtime/generationXK-service/src/main/java/com/gyee/generation/init/CacheContext.java
  3. 69 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/realtimelibrary/StatusService.java
  4. 19 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/controller/EquipmentmodelController.java
  5. 19 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/controller/LineController.java
  6. 19 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/controller/ProjectController.java
  7. 19 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/controller/WindturbineController.java
  8. 99 13
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/init/CacheContext.java
  9. 17 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/mapper/auto/EquipmentmodelMapper.java
  10. 17 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/mapper/auto/LineMapper.java
  11. 17 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/mapper/auto/ProjectMapper.java
  12. 17 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/mapper/auto/WindturbineMapper.java
  13. 17 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/mapper/auto/WindturbinepowerMapper.java
  14. 65 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/model/auto/Equipmentmodel.java
  15. 53 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/model/auto/Line.java
  16. 70 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/model/auto/Project.java
  17. 67 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/model/auto/Windturbine.java
  18. 34 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/model/auto/Windturbinepower.java
  19. 255 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/TheorypowerService.java
  20. 17 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/IEquipmentmodelService.java
  21. 17 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/ILineService.java
  22. 16 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/IProjectService.java
  23. 17 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/IWindturbineService.java
  24. 17 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/IWindturbinepowerService.java
  25. 20 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/impl/EquipmentmodelServiceImpl.java
  26. 21 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/impl/LineServiceImpl.java
  27. 21 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/impl/ProjectServiceImpl.java
  28. 21 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/impl/WindturbineServiceImpl.java
  29. 21 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/impl/WindturbinepowerServiceImpl.java
  30. 14 0
      realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/task/SaticScheduleTask.java
  31. 10 0
      web/consumer-hb/src/main/java/com/gyee/consumer/controller/monitor/GenreSetPushController.java
  32. 5 0
      web/consumer-hb/src/main/java/com/gyee/consumer/fallback/monitor/GenreSetPushServiceFallbackFactory.java
  33. 3 0
      web/consumer-hb/src/main/java/com/gyee/consumer/service/monitor/GenreSetPushService.java

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

@@ -164,7 +164,8 @@ public class ContantXk {
     public static final String  CJ_DWGL = "AI056";  //电网功率
 
     public static final String TPOINT_WP_AGC = "AGC002";// agc
-    public static final String TPOINT_WP_CXGL = "AGC001";// 出线功率SSFS
+    public static final String TPOINT_WP_CXGL = "AGC001";// 出线
+    public static final String TPOINT_WP_XDZT = "AGC009";// // 功率SSFS
 
     public static final String FCCFTFS70 = "FCCFTFS70";//测风塔70米风速
 

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

@@ -47,7 +47,8 @@ public class CacheContext implements CommandLineRunner {
     private RedisService redisService;
     @Resource
     private IProBasicModelPowerService proBasicModelPowerService;
-
+    @Resource
+    private IProBasicSubStationService proBasicSubStationService;
     @Resource
     private IProBasicSquareService proBasicSquareService;
     @Resource
@@ -63,6 +64,7 @@ public class CacheContext implements CommandLineRunner {
     public static List<ProBasicEquipment> wtls = new ArrayList<>();
     public static List<ProBasicProject> pjls = new ArrayList<>();
     public static List<ProBasicLine>  lnls = new ArrayList<>();
+    public static List<ProBasicSubStation>  subwpls = new ArrayList<>();
 
     public static List<ProBasicSquare> sqls = new ArrayList<>();
     public static List<ProBasicPowerstation>  wpls = new ArrayList<>();
@@ -92,6 +94,7 @@ public class CacheContext implements CommandLineRunner {
     public static Map<String,Map<String, ProBasicPowerstationPoint>> linepointmap =new HashMap<>();
     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<Double,Double>> zbzglMap = new HashMap<>();
@@ -108,6 +111,8 @@ public class CacheContext implements CommandLineRunner {
 
     public static List<ProEconEquipmentmodel> equipmentmodels=new ArrayList<>();
 
+    public static Map<String,List<ProBasicEquipment>> subWtsMap = new HashMap<>();
+
     public static Map<String, Map<Double,ProBasicModelPowerRd>> theoreticalPowerMap = new HashMap<>(); //理论,保证功率
     public static Map<String, Map<Double,ProEconWtPowerCurveFitting>> curveFittingPowerMap = new HashMap<>(); //自算,最优功率
     @Override
@@ -193,6 +198,7 @@ public class CacheContext implements CommandLineRunner {
             }
         }
 
+
         wtls = proBasicWindturbineService.list().stream().filter(i->runWpids.contains(i.getWindpowerstationId()) && i.getIsable()==1).collect(Collectors.toList());
         logger.info(wtls.size()+"");
         wtls.forEach(wt->{
@@ -304,6 +310,20 @@ public class CacheContext implements CommandLineRunner {
 
         });
 
+        subwpls = proBasicSubStationService.list().stream().filter(i->runWpids.contains(i.getWindpowerstationId()) && i.getIsAble()==1).collect(Collectors.toList());
+        subwpls.stream().forEach(sub->{
+
+            String subString = redisService.get(sub.getId());
+            Map<String, ProBasicPowerstationPoint> stringWindpowerstationpointnewMap = JSONObject.parseObject(subString, new TypeReference<Map<String, ProBasicPowerstationPoint>>() {
+            });
+            subwppointmap.put(sub.getId(),stringWindpowerstationpointnewMap);
+
+            List<ProBasicEquipment> collect = wtls.stream().filter(wt -> wt.getSubstationId().equals(sub.getId())).collect(Collectors.toList());
+            subWtsMap.put(sub.getId(),collect);
+
+        });
+
+
         lnls = proBasicLineService.list().stream().filter(i-> StringUtils.isNotNull(pjmap.get(i.getProjectId())) && runWpids.contains(pjmap.get(i.getProjectId()).getWindpowerstationId()) && i.getIsAble()==1).collect(Collectors.toList());
         lnls.stream().forEach(l->{
             lnmap.put(l.getId(),l);
@@ -320,6 +340,8 @@ public class CacheContext implements CommandLineRunner {
             linepointmap.put(l.getId(),stringWindpowerstationpointnewMap);
         });
 
+
+
         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 -> {

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

@@ -0,0 +1,69 @@
+package com.gyee.generation.service.realtimelibrary;
+
+import com.gyee.common.contant.ContantXk;
+import com.gyee.common.util.DateUtils;
+import com.gyee.generation.init.CacheContext;
+import com.gyee.generation.model.auto.ProBasicEquipment;
+import com.gyee.generation.model.auto.ProBasicPowerstationPoint;
+import com.gyee.generation.model.auto.ProBasicSubStation;
+import com.gyee.generation.util.realtimesource.IEdosUtil;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/*
+@author   谢生杰
+@date   2022/11/14-14:00
+*/
+@Service
+public class StatusService {
+
+    @Resource
+    private IEdosUtil edosUtil;
+    /**
+     * 限电
+     */
+    public void powerRationing(){
+
+//        public static Map<String,Double> wpMap
+
+        List<ProBasicSubStation> subwpls = CacheContext.subwpls;
+        Map<String, Map<String, ProBasicPowerstationPoint>> subwppointmap = CacheContext.subwppointmap;
+
+        Map<String, List<ProBasicEquipment>> subWtsMap = CacheContext.subWtsMap;
+
+
+
+
+        Date currentDate = DateUtils.getCurrentDate();
+
+        subwpls.stream().forEach(sub->{
+            Map<String, ProBasicPowerstationPoint> stringProBasicPowerstationPointMap = subwppointmap.get(sub.getId());
+
+            ProBasicPowerstationPoint agcPoint = stringProBasicPowerstationPointMap.get(ContantXk.TPOINT_WP_AGC);
+            ProBasicPowerstationPoint cxglPoint = stringProBasicPowerstationPointMap.get(ContantXk.TPOINT_WP_CXGL);
+            ProBasicPowerstationPoint xdztPoint = stringProBasicPowerstationPointMap.get(ContantXk.TPOINT_WP_XDZT);
+
+            double agc = 0;
+            try {
+                agc = edosUtil.getSectionData(agcPoint,currentDate.getTime()).getPointValueInDouble();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            boolean b = false;
+            if (agc<sub.getCapacity()){
+
+            }
+
+
+
+
+        });
+
+
+    }
+}

+ 19 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/controller/EquipmentmodelController.java

@@ -0,0 +1,19 @@
+package com.gyee.regionrealtime.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-03-28
+ */
+@RestController
+@RequestMapping("//equipmentmodel")
+public class EquipmentmodelController {
+
+}

+ 19 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/controller/LineController.java

@@ -0,0 +1,19 @@
+package com.gyee.regionrealtime.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+@RestController
+@RequestMapping("//line")
+public class LineController {
+
+}

+ 19 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/controller/ProjectController.java

@@ -0,0 +1,19 @@
+package com.gyee.regionrealtime.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+@RestController
+@RequestMapping("//project")
+public class ProjectController {
+
+}

+ 19 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/controller/WindturbineController.java

@@ -0,0 +1,19 @@
+package com.gyee.regionrealtime.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+@RestController
+@RequestMapping("//windturbine")
+public class WindturbineController {
+
+}

+ 99 - 13
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/init/CacheContext.java

@@ -3,13 +3,9 @@ package com.gyee.regionrealtime.init;
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
-import com.gyee.regionrealtime.model.auto.Companys;
-import com.gyee.regionrealtime.model.auto.Regions;
-import com.gyee.regionrealtime.model.auto.Windpowerstation;
-import com.gyee.regionrealtime.model.auto.Windpowerstationpointnew;
-import com.gyee.regionrealtime.service.auto.ICompanysService;
-import com.gyee.regionrealtime.service.auto.IRegionsService;
-import com.gyee.regionrealtime.service.auto.IWindpowerstationService;
+import com.gyee.common.model.StringUtils;
+import com.gyee.regionrealtime.model.auto.*;
+import com.gyee.regionrealtime.service.auto.*;
 import com.gyee.regionrealtime.util.redis.RedisService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -17,10 +13,8 @@ import org.springframework.boot.CommandLineRunner;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName : CacheContext
@@ -42,14 +36,44 @@ public class CacheContext implements CommandLineRunner {
     @Resource
     private RedisService redisService;
 
-
-
     public static Map<String,Map<String, Windpowerstationpointnew>> wppointmap =new HashMap<>();
 
     public static List<Windpowerstation> wpls = new ArrayList<>();
     public static List<Regions> regions = new ArrayList<>();
     public static List<Companys> companys = new ArrayList<>();
 
+
+
+    @Resource
+    private IWindturbineService windturbineService;
+    @Resource
+    private ILineService lineService;
+    @Resource
+    private IProjectService projectService;
+
+
+    @Resource
+    private IEquipmentmodelService equipmentmodelService;
+
+
+
+
+
+    public static List<Windturbine> wtls = new ArrayList<>();
+    public static List<Project> projects = new ArrayList<>();
+    public static List<Line>  lines = new ArrayList<>();
+
+    public static Map<String,List<Project>> wppromap = new HashMap<>();
+    public static Map<String,List<Line>> prolinemap = new HashMap<>();
+    public static Map<String,List<Windturbine>> linewtmap = new HashMap<>();
+    public static Map<String, Map<String, Windturbinetestingpointnew>> wtpAimap = new HashMap<>();// 风电机测点AI表
+    public static Map<String,Map<String, Windpowerstationpointnew>> linepointmap =new HashMap<>();
+    public static Map<String,Map<String, Windpowerstationpointnew>> propointmap =new HashMap<>();
+    public static Map<String,Map<Double,Double>> zbzglMap = new HashMap<>();
+    public static Map<String,Equipmentmodel> modelMap = new HashMap<>();
+    public static Map<String,Map<Double,Double>> zzsglMap = new HashMap<>();
+    public static Map<String,Double> modelpower = new HashMap<>();
+    public static Map<String,Project> proMap = new HashMap<>();
     @Override
     public void run(String... args) throws Exception {
         logger.info("缓存开始------------------------------------------------------------");
@@ -103,6 +127,68 @@ public class CacheContext implements CommandLineRunner {
         });
 
 
+
+        List<Equipmentmodel> equipmentmodels = equipmentmodelService.list();
+        equipmentmodels.stream().forEach(e->{
+            modelMap.put(e.getId(),e);
+        });
+
+        wtls = windturbineService.list();
+        logger.info(wtls.size()+"");
+        wtls.forEach(wt->{
+            Equipmentmodel equipmentmodel = modelMap.get(wt.getModelid());
+            modelpower.put(wt.getId(),equipmentmodel.getPowerproduction());
+
+            String wtString = redisService.get(wt.getId());
+            Map<String, Windturbinetestingpointnew> stringWindturbinetestingpointnewMap = JSONObject.parseObject(wtString, new TypeReference<Map<String, Windturbinetestingpointnew>>() {
+            });
+            wtpAimap.put(wt.getId(),stringWindturbinetestingpointnewMap);
+
+            if (linewtmap.containsKey(wt.getLineid())){
+                linewtmap.get(wt.getLineid()).add(wt);
+            }else {
+                List<Windturbine> lines = new ArrayList<>();
+                lines.add(wt);
+                linewtmap.put(wt.getLineid(),lines);
+            }
+        });
+
+        projects = projectService.list();
+        projects.stream().forEach(p->{
+            proMap.put(p.getId(),p);
+            if (wppromap.containsKey(p.getWindpowerstationid())){
+                wppromap.get(p.getWindpowerstationid()).add(p);
+            }else {
+                List<Project> prolist = new ArrayList<>();
+                prolist.add(p);
+                wppromap.put(p.getWindpowerstationid(),prolist);
+            }
+            String pjString = redisService.get(p.getId());
+            Map<String, Windpowerstationpointnew> stringWindpowerstationpointnewMap = JSONObject.parseObject(pjString, new TypeReference<Map<String, Windpowerstationpointnew>>() {
+            });
+            propointmap.put(p.getId(),stringWindpowerstationpointnewMap);
+
+        });
+
+        lines = lineService.list();
+        lines.stream().forEach(l->{
+            if (prolinemap.containsKey(l.getProjectid())){
+                prolinemap.get(l.getProjectid()).add(l);
+            }else {
+                List<Line> lineList = new ArrayList<>();
+                lineList.add(l);
+                prolinemap.put(l.getProjectid(),lineList);
+            }
+            String lnString = redisService.get(l.getId());
+            Map<String, Windpowerstationpointnew> stringWindpowerstationpointnewMap = JSONObject.parseObject(lnString, new TypeReference<Map<String, Windpowerstationpointnew>>() {
+            });
+            linepointmap.put(l.getId(),stringWindpowerstationpointnewMap);
+        });
+
+
+
+
+
         logger.info("缓存结束------------------------------------------------------------");
     }
 }

+ 17 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/mapper/auto/EquipmentmodelMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.regionrealtime.mapper.auto;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.regionrealtime.model.auto.Equipmentmodel;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-03-28
+ */
+public interface EquipmentmodelMapper extends BaseMapper<Equipmentmodel> {
+
+}

+ 17 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/mapper/auto/LineMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.regionrealtime.mapper.auto;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.regionrealtime.model.auto.Line;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+public interface LineMapper extends BaseMapper<Line> {
+
+}

+ 17 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/mapper/auto/ProjectMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.regionrealtime.mapper.auto;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.regionrealtime.model.auto.Project;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+public interface ProjectMapper extends BaseMapper<Project> {
+
+}

+ 17 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/mapper/auto/WindturbineMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.regionrealtime.mapper.auto;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.regionrealtime.model.auto.Windturbine;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+public interface WindturbineMapper extends BaseMapper<Windturbine> {
+
+}

+ 17 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/mapper/auto/WindturbinepowerMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.regionrealtime.mapper.auto;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.regionrealtime.model.auto.Windturbinepower;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-04-26
+ */
+public interface WindturbinepowerMapper extends BaseMapper<Windturbinepower> {
+
+}

+ 65 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/model/auto/Equipmentmodel.java

@@ -0,0 +1,65 @@
+package com.gyee.regionrealtime.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-03-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("EQUIPMENTMODEL")
+public class Equipmentmodel extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("CODE")
+    private String code;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("DESCRIPTION")
+    private String description;
+
+    @TableField("POWERPRODUCTION")
+    private Double powerproduction;
+
+    @TableField("CUTINWINDSPEED")
+    private Double cutinwindspeed;
+
+    @TableField("RATEDWINDSPEED")
+    private Double ratedwindspeed;
+
+    @TableField("CUTOUTWINDSPEED")
+    private String cutoutwindspeed;
+
+    @TableField("WINDTURBINEMANUFACTURERID")
+    private String windturbinemanufacturerid;
+
+    @TableField("PHOTO")
+    private String photo;
+
+    @TableField("UNIT")
+    private String unit;
+
+    @TableField("SWEPTAREA")
+    private Double sweptarea;
+
+    @TableField("EQUIPMENTCATEGORY")
+    private Double equipmentcategory;
+
+
+}

+ 53 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/model/auto/Line.java

@@ -0,0 +1,53 @@
+package com.gyee.regionrealtime.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("LINE")
+public class Line extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("CODE")
+    private String code;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("ANAME")
+    private String aname;
+
+    @TableField("PROJECTID")
+    private String projectid;
+
+    @TableField("ORDERNUM")
+    private Integer ordernum;
+
+    @TableField("CAPACITY")
+    private Integer capacity;
+
+    @TableField("CAPACITYUNIT")
+    private String capacityunit;
+
+    @TableField("QUANTITY")
+    private Integer quantity;
+
+
+}

+ 70 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/model/auto/Project.java

@@ -0,0 +1,70 @@
+package com.gyee.regionrealtime.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("PROJECT")
+public class Project extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("CODE")
+    private String code;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("ANAME")
+    private String aname;
+
+    @TableField("WINDPOWERSTATIONID")
+    private String windpowerstationid;
+
+    @TableField("CAPACITY")
+    private Integer capacity;
+
+    @TableField("CAPACITYUNIT")
+    private String capacityunit;
+
+    @TableField("QUANTITY")
+    private Integer quantity;
+
+    @TableField("MODEL")
+    private String model;
+
+    @TableField("COMMISSIONDATE")
+    private Date commissiondate;
+
+    @TableField("MASTERPHONE")
+    private String masterphone;
+
+    @TableField("SHIFTFOREMAN")
+    private String shiftforeman;
+
+    @TableField("SHIFTFOREMANPHONE")
+    private String shiftforemanphone;
+
+    @TableField("ORDERNUM")
+    private Integer ordernum;
+
+
+}

+ 67 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/model/auto/Windturbine.java

@@ -0,0 +1,67 @@
+package com.gyee.regionrealtime.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WINDTURBINE")
+public class Windturbine extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("CODE")
+    private String code;
+
+    @TableField("WINDPOWERSTATIONID")
+    private String windpowerstationid;
+
+    @TableField("LONGITUDE")
+    private Double longitude;
+
+    @TableField("LATITUDE")
+    private Double latitude;
+
+    @TableField("MODELID")
+    private String modelid;
+
+    @TableField("STATUS")
+    private String status;
+
+    @TableField("PROJECTID")
+    private String projectid;
+
+    @TableField("LINEID")
+    private String lineid;
+
+    @TableField("FIRSTINTEGRATEDTIME")
+    private Date firstintegratedtime;
+
+    @TableField("PHOTO")
+    private String photo;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("STANDARDID")
+    private String standardid;
+
+
+}

+ 34 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/model/auto/Windturbinepower.java

@@ -0,0 +1,34 @@
+package com.gyee.regionrealtime.model.auto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-04-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Windturbinepower extends Model {
+
+    private static final long serialVersionUID = 1L;
+    @TableId(value = "ID",type = IdType.INPUT)
+    private String id;
+
+    private String windturbineid;
+
+    private String windpowerstationid;
+
+    private Double speed;
+
+    private Double theorypower;
+
+
+}

+ 255 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/TheorypowerService.java

@@ -0,0 +1,255 @@
+package com.gyee.regionrealtime.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.common.contant.Contant;
+import com.gyee.common.model.PointData;
+import com.gyee.common.model.algorithm.PointVo;
+
+import com.gyee.common.util.CommonUtils;
+import com.gyee.common.util.DateUtils;
+import com.gyee.common.util.DoubleUtils;
+import com.gyee.common.util.algorithm.LineBuild;
+
+import com.gyee.regionrealtime.init.CacheContext;
+import com.gyee.regionrealtime.model.auto.*;
+import com.gyee.regionrealtime.service.auto.IWindturbinepowerService;
+import com.gyee.regionrealtime.util.realtimesource.IEdosUtil;
+import com.gyee.regionrealtime.util.redis.RedisService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
+
+/**
+ * @ClassName : TheorypowerService
+ * @Author : xieshengjie
+ * @Date: 2022/4/26 10:37
+ * @Description : 理论功率,保证功率
+ */
+@Service
+@Slf4j
+public class TheorypowerService {
+    @Resource
+    private IEdosUtil edosUtil;
+    @Resource
+    private RedisService redisService;
+    @Resource
+    private IWindturbinepowerService windturbinepowerService;
+    private List<Windpowerstation> wpls;
+    private Map<String, List<Project>> wppromap;
+    private Map<String, List<Line>> prolinemap;
+    private Map<String, List<Windturbine>> linewtmap;
+    private Date currentDate;
+    private Map<String, Map<String, Windpowerstationpointnew>> wppointmap;
+    private Map<String, Map<String, Windpowerstationpointnew>> linepointmap;
+    private Map<String, Map<String, Windpowerstationpointnew>> propointmap;
+    private Map<String, Map<String, Windturbinetestingpointnew>> wtpAimap;
+
+    private void init(){
+        wpls = CacheContext.wpls;
+        wppromap = CacheContext.wppromap;
+        prolinemap = CacheContext.prolinemap;
+        linewtmap = CacheContext.linewtmap;
+        wppointmap = CacheContext.wppointmap;
+        linepointmap = CacheContext.linepointmap;
+        propointmap = CacheContext.propointmap;
+        wtpAimap = CacheContext.wtpAimap;
+        currentDate = DateUtils.getCurrentDate();
+    }
+
+    /**
+     * 理论功率,保证功率
+     */
+    public void theropower() throws Exception {
+        long begin = System.currentTimeMillis();
+        init();
+        Map<String, Map<Double, Double>> zbzglMap = CacheContext.zbzglMap;
+        Map<String, Map<Double, Double>> zzsglMap = CacheContext.zzsglMap;
+        List<PointData> resultList = new ArrayList<>();
+        wpls.stream().forEach(wp->{
+            Map<String, Windpowerstationpointnew> wppointnewMap = wppointmap.get(wp.getId());
+            Windpowerstationpointnew wpbzglpoint = wppointnewMap.get(Contant.ZBZGL);
+            Windpowerstationpointnew wpzsglpoint = wppointnewMap.get(Contant.ZZSGL);
+            AtomicReference<Double> wpbzgl = new AtomicReference<>(0.0);
+            AtomicReference<Double> wpzsgl = new AtomicReference<>(0.0);
+            wppromap.get(wp.getId()).stream().forEach(project -> {
+                Map<String, Windpowerstationpointnew> projectpointnewMap = propointmap.get(project.getId());
+                Windpowerstationpointnew projectbzglpoint = projectpointnewMap.get(Contant.ZBZGL);
+                Windpowerstationpointnew projectzsglpoint = projectpointnewMap.get(Contant.ZZSGL);
+                AtomicReference<Double> projectbzgl = new AtomicReference<>(0.0);
+                AtomicReference<Double> projectzsgl = new AtomicReference<>(0.0);
+                prolinemap.get(project.getId()).stream().forEach(line -> {
+                    AtomicReference<Double> linebzgl = new AtomicReference<>(0.0);
+                    AtomicReference<Double> linezsgl = new AtomicReference<>(0.0);
+                    Map<String, Windpowerstationpointnew> linepointnewMap = linepointmap.get(line.getId());
+                    Windpowerstationpointnew linebzglpoint = linepointnewMap.get(Contant.ZBZGL);
+                    Windpowerstationpointnew linezsglpoint = linepointnewMap.get(Contant.ZZSGL);
+                    linewtmap.get(line.getId()).stream().forEach(wt->{
+//                        String zzsglString = redisService.get("ZZSGL");
+//                        Map<String,Map<Double, Double>> zszglMap = JSONObject.parseObject(zzsglString, new TypeReference<Map<String,Map<Double,Double>>>() {
+//                        });
+                        Map<Double, Double> zsglMap = zzsglMap.get(wt.getId());
+                        Map<String, Windturbinetestingpointnew> windturbinetestingpointnewMap = wtpAimap.get(wt.getId());
+                        Windturbinetestingpointnew speedPointnew = windturbinetestingpointnewMap.get(Contant.AI022);
+                        Windturbinetestingpointnew ztmxPointnew = windturbinetestingpointnewMap.get(Contant.FJ5T);
+                        Windturbinetestingpointnew wtzsgl = windturbinetestingpointnewMap.get(Contant.ZSGL);
+                        Windturbinetestingpointnew wtbzgl = windturbinetestingpointnewMap.get(Contant.BZGL);
+                        Double zzsgl = 0.0;
+                        Double zbzgl = 0.0;
+                        try {
+                            Double wtztmx = DoubleUtils.keepPrecision(edosUtil.getRealData(ztmxPointnew).getPointValueInDouble(),2);
+                            Double wtspeed = DoubleUtils.keepPrecision(edosUtil.getRealData(speedPointnew).getPointValueInDouble(),2);
+                            if (wtztmx==2 || wtztmx==4 || wtztmx==0 || wtztmx==3){
+                                zbzgl = 0.0;
+                                zzsgl = 0.0;
+                            }else {
+                                if (zbzglMap.containsKey(wt.getModelid())){
+                                    Map<Double, Double> doubleDoubleMap = zbzglMap.get(wt.getModelid());
+                                    if(doubleDoubleMap.containsKey(wtspeed)){
+                                        zbzgl = doubleDoubleMap.get(wtspeed);
+                                    }
+                                }
+                                if (zsglMap!=null){
+                                    if (zsglMap.containsKey(wtspeed)){
+                                        zzsgl = zsglMap.get(wtspeed);
+                                    }
+                                }
+
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        Double finalZbzgl = zbzgl;
+                        linebzgl.updateAndGet(v -> v + finalZbzgl);
+                        Double finalZzsgl = zzsgl;
+                        linezsgl.updateAndGet(v -> v + finalZzsgl);
+                        PointData wtbzglpoint = createPointData(wtbzgl, zbzgl);
+                        resultList.add(wtbzglpoint);
+                        PointData wtzsglpoint = createPointData(wtzsgl, zzsgl);
+                        resultList.add(wtzsglpoint);
+                    });
+                    PointData linebzglpointdata = createWpPointData(linebzglpoint, linebzgl.get());
+                    resultList.add(linebzglpointdata);
+                    PointData linezsglpointdata = createWpPointData(linezsglpoint, linezsgl.get());
+                    resultList.add(linezsglpointdata);
+                    Double finallineZbzgl = linebzgl.get();
+                    projectbzgl.updateAndGet(v -> v + finallineZbzgl);
+                    Double finallineZzsgl = linezsgl.get();
+                    projectzsgl.updateAndGet(v -> v + finallineZzsgl);
+                });
+                PointData projectbzglpointdata = createWpPointData(projectbzglpoint, projectbzgl.get());
+                resultList.add(projectbzglpointdata);
+                PointData projectzsglpointdata = createWpPointData(projectzsglpoint, projectzsgl.get());
+                resultList.add(projectzsglpointdata);
+                Double finalprojectZbzgl = projectbzgl.get();
+                wpbzgl.updateAndGet(v -> v + finalprojectZbzgl);
+                Double finalprojectZzsgl = projectzsgl.get();
+                wpzsgl.updateAndGet(v -> v + finalprojectZzsgl);
+            });
+            PointData wpbzglpointdata = createWpPointData(wpbzglpoint, wpbzgl.get());
+            resultList.add(wpbzglpointdata);
+            PointData wpzsglpointdata = createWpPointData(wpzsglpoint, wpzsgl.get());
+            resultList.add(wpzsglpointdata);
+        });
+        edosUtil.sendMultiPoint(resultList);
+        long end = System.currentTimeMillis();
+        log.info("用时:"+(end-begin));
+    }
+
+
+    /**
+     * 拟合功率曲线,存储到redis
+     */
+    public void fittingPower(){
+        init();
+        List<Windturbinepower> resultList = new ArrayList<>();
+        List<Windturbine> wtls = CacheContext.wtls;
+        Date date = new Date();
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(date);
+        cal.add(Calendar.MONTH, -1);
+        Date begin = cal.getTime();
+
+        wtls.stream().forEach(wt->{
+            QueryWrapper<Windturbinepower> deleteqw = new QueryWrapper<>();
+            deleteqw.eq("windturbineid",wt.getId());
+            windturbinepowerService.remove(deleteqw);
+
+            Map<String, Windturbinetestingpointnew> windturbinetestingpointnewMap = wtpAimap.get(wt.getId());
+            Windturbinetestingpointnew speedPoint = windturbinetestingpointnewMap.get(Contant.AI022);
+            Windturbinetestingpointnew powerPoint = windturbinetestingpointnewMap.get(Contant.AI130);
+            Windturbinetestingpointnew fjztPoint = windturbinetestingpointnewMap.get(Contant.FJ5T);
+            List<PointVo> pointVoList = new ArrayList<>();
+            List<PointVo> tempList = new ArrayList<>();
+            try {
+                List<PointData> speedpoints =  edosUtil.getHistoryDatasSnap(speedPoint, begin.getTime()/1000 , date.getTime()/1000 , null, 3600l);
+                List<PointData> powerpoints = edosUtil.getHistoryDatasSnap(powerPoint, begin.getTime()/1000 , date.getTime()/1000 , null, 3600l);
+                List<PointData> fjztpoints = edosUtil.getHistoryDatasSnap(fjztPoint, begin.getTime()/1000 , date.getTime()/1000 , null, 3600l);
+                for (int x = 0;x<speedpoints.size();x++){
+                    if (fjztpoints.get(x).getPointValueInDouble()==1){
+                        PointVo vo = new PointVo();
+                        vo.setX(speedpoints.get(x).getPointValueInDouble());
+                        vo.setY(powerpoints.get(x).getPointValueInDouble());
+                        tempList.add(vo);
+                    }
+                }
+                List<PointVo> collect = tempList.stream().filter(i -> i.getY() >= 0 && i.getY() <= (CacheContext.modelpower.get(wt.getId())*1.5) && i.getX()>=0 && i.getX()<=25).collect(Collectors.toList());
+                Collections.sort(collect, Comparator.comparing(PointVo::getY));
+                double[] speeds = collect.stream().map(i -> i.getX()).mapToDouble(Double::doubleValue).toArray();
+                double[] powers = collect.stream().map(i -> i.getY()).mapToDouble(Double::doubleValue).toArray();
+                pointVoList = LineBuild.buildLine(speeds, powers, speeds.length, 20, 0.01);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            pointVoList.stream().forEach(pointVo -> {
+                Windturbinepower windturbinepower = new Windturbinepower();
+                windturbinepower.setId(CommonUtils.getUUID());
+                windturbinepower.setWindturbineid(wt.getId());
+                windturbinepower.setWindpowerstationid(wt.getWindpowerstationid());
+                windturbinepower.setSpeed(pointVo.getX());
+                windturbinepower.setTheorypower(pointVo.getY());
+                resultList.add(windturbinepower);
+            });
+        });
+        windturbinepowerService.saveBatch(resultList);
+        Map<String,Map<Double,Double>> zzsglMap = new HashMap<>();
+        wtls.stream().forEach(wt->{
+            List<Windturbinepower> windturbinepowers = resultList.stream().filter(p -> p.getWindturbineid().equals(wt.getId())).collect(Collectors.toList());
+            Map<Double,Double> doubleMap = new HashMap<>();
+            windturbinepowers.stream().forEach(w->{
+                doubleMap.put(w.getSpeed(),w.getTheorypower());
+            });
+            zzsglMap.put(wt.getId(),doubleMap);
+        });
+        CacheContext.zzsglMap = zzsglMap;
+        redisService.set("ZZSGL", JSONObject.toJSONString(zzsglMap));
+
+    }
+
+
+
+
+    private PointData createPointData(Windturbinetestingpointnew fjfdl, Double rfdl) {
+        PointData pointData = new PointData();
+        pointData.setEdnaId(fjfdl.getCode());
+        pointData.setPointName(fjfdl.getName());
+        pointData.setPointTime(currentDate.getTime());
+        pointData.setPointValueInDouble(rfdl);
+        pointData.setPointValue(String.valueOf(rfdl));
+        return pointData;
+    }
+
+    private PointData createWpPointData(Windpowerstationpointnew linepointnew, double linespeed) {
+        PointData pointData = new PointData();
+        pointData.setEdnaId(linepointnew.getCode());
+        pointData.setPointTime(currentDate.getTime());
+        pointData.setPointName(linepointnew.getName());
+        pointData.setPointValue(String.valueOf(linespeed));
+        pointData.setPointValueInDouble(linespeed);
+        return pointData;
+    }
+}

+ 17 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/IEquipmentmodelService.java

@@ -0,0 +1,17 @@
+package com.gyee.regionrealtime.service.auto;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.regionrealtime.model.auto.Equipmentmodel;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-03-28
+ */
+public interface IEquipmentmodelService extends IService<Equipmentmodel> {
+
+}

+ 17 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/ILineService.java

@@ -0,0 +1,17 @@
+package com.gyee.regionrealtime.service.auto;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.regionrealtime.model.auto.Line;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+public interface ILineService extends IService<Line> {
+
+}

+ 16 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/IProjectService.java

@@ -0,0 +1,16 @@
+package com.gyee.regionrealtime.service.auto;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.regionrealtime.model.auto.Project;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+public interface IProjectService extends IService<Project> {
+
+}

+ 17 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/IWindturbineService.java

@@ -0,0 +1,17 @@
+package com.gyee.regionrealtime.service.auto;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.regionrealtime.model.auto.Windturbine;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+public interface IWindturbineService extends IService<Windturbine> {
+
+}

+ 17 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/IWindturbinepowerService.java

@@ -0,0 +1,17 @@
+package com.gyee.regionrealtime.service.auto;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.regionrealtime.model.auto.Windturbinepower;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-04-26
+ */
+public interface IWindturbinepowerService extends IService<Windturbinepower> {
+
+}

+ 20 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/impl/EquipmentmodelServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.regionrealtime.service.auto.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.regionrealtime.mapper.auto.EquipmentmodelMapper;
+import com.gyee.regionrealtime.model.auto.Equipmentmodel;
+import com.gyee.regionrealtime.service.auto.IEquipmentmodelService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-03-28
+ */
+@Service
+public class EquipmentmodelServiceImpl extends ServiceImpl<EquipmentmodelMapper, Equipmentmodel> implements IEquipmentmodelService {
+
+}

+ 21 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/impl/LineServiceImpl.java

@@ -0,0 +1,21 @@
+package com.gyee.regionrealtime.service.auto.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.regionrealtime.mapper.auto.LineMapper;
+import com.gyee.regionrealtime.model.auto.Line;
+import com.gyee.regionrealtime.service.auto.ILineService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+@Service
+public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements ILineService {
+
+}

+ 21 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/impl/ProjectServiceImpl.java

@@ -0,0 +1,21 @@
+package com.gyee.regionrealtime.service.auto.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.regionrealtime.mapper.auto.ProjectMapper;
+import com.gyee.regionrealtime.model.auto.Project;
+import com.gyee.regionrealtime.service.auto.IProjectService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+@Service
+public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements IProjectService {
+
+}

+ 21 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/impl/WindturbineServiceImpl.java

@@ -0,0 +1,21 @@
+package com.gyee.regionrealtime.service.auto.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.regionrealtime.mapper.auto.WindturbineMapper;
+import com.gyee.regionrealtime.model.auto.Windturbine;
+import com.gyee.regionrealtime.service.auto.IWindturbineService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-02-28
+ */
+@Service
+public class WindturbineServiceImpl extends ServiceImpl<WindturbineMapper, Windturbine> implements IWindturbineService {
+
+}

+ 21 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/service/auto/impl/WindturbinepowerServiceImpl.java

@@ -0,0 +1,21 @@
+package com.gyee.regionrealtime.service.auto.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.regionrealtime.mapper.auto.WindturbinepowerMapper;
+import com.gyee.regionrealtime.model.auto.Windturbinepower;
+import com.gyee.regionrealtime.service.auto.IWindturbinepowerService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-04-26
+ */
+@Service
+public class WindturbinepowerServiceImpl extends ServiceImpl<WindturbinepowerMapper, Windturbinepower> implements IWindturbinepowerService {
+
+}

+ 14 - 0
realtime/generationregion-service/src/main/java/com/gyee/regionrealtime/task/SaticScheduleTask.java

@@ -2,6 +2,7 @@ package com.gyee.regionrealtime.task;
 
 
 import com.gyee.regionrealtime.service.RegionRealtimeService;
+import com.gyee.regionrealtime.service.TheorypowerService;
 import com.xxl.job.core.context.XxlJobHelper;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import org.slf4j.Logger;
@@ -22,6 +23,8 @@ public class SaticScheduleTask {
     private static Logger logger = LoggerFactory.getLogger(SaticScheduleTask.class);
     @Resource
     private RegionRealtimeService regionRealtimeService;
+    @Resource
+    private TheorypowerService theorypowerService;
     //3.添加定时任务
 
 
@@ -42,6 +45,17 @@ public class SaticScheduleTask {
         XxlJobHelper.log("区域公司实时调度任务处理完成!........");
     }
 
+    @XxlJob("fittingPower")
+    public void fittingPower()  {
+        XxlJobHelper.log("拟合功率曲线开始!........");
+        try {
+           theorypowerService.fittingPower();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        XxlJobHelper.log("拟合功率曲线结束!........");
+    }
+
 
 
 

+ 10 - 0
web/consumer-hb/src/main/java/com/gyee/consumer/controller/monitor/GenreSetPushController.java

@@ -235,4 +235,14 @@ public class GenreSetPushController {
         return ajax;
     }
 
+    @GetMapping(value = "/Stationinformation")
+    @ApiOperation(value = "首页各场站信息", notes = "首页各场站信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wpId", value = "场站编号", required = true, dataType = "string", paramType = "query")})
+    @ResponseBody
+    public AjaxResult getinformation(@RequestParam("wpId") String wpId) {
+        AjaxResult ajax= genreSetPushService.Stationinformation(wpId);
+        return ajax;
+    }
+
 }

+ 5 - 0
web/consumer-hb/src/main/java/com/gyee/consumer/fallback/monitor/GenreSetPushServiceFallbackFactory.java

@@ -69,6 +69,11 @@ public class GenreSetPushServiceFallbackFactory implements FallbackFactory<Genre
             }
 
             @Override
+            public AjaxResult Stationinformation(@RequestParam("wpId")String wpId) {
+                return AjaxResult.error(throwable.getMessage());
+            }
+
+            @Override
             public AjaxResult findBasicDataInfo_fcmap(@RequestParam("id") String id) throws Exception{
                 return  AjaxResult.error(throwable.getMessage());
             }

+ 3 - 0
web/consumer-hb/src/main/java/com/gyee/consumer/service/monitor/GenreSetPushService.java

@@ -66,4 +66,7 @@ public interface GenreSetPushService {
 
     @GetMapping("/genreset/homeSuspensionWindows")
     public AjaxResult hso();
+
+    @GetMapping("/genreset/Stationinformation")
+    public AjaxResult  Stationinformation(@RequestParam("wpId")String wpId);
 }