Browse Source

代码改造

全业务考评 1 năm trước cách đây
mục cha
commit
8848459851
17 tập tin đã thay đổi với 213 bổ sung131 xóa
  1. 28 7
      power-fitting-JN/src/main/java/com.gyee.power.fitting/common/spring/InitialRunner.java
  2. 3 0
      power-fitting-JN/src/main/java/com.gyee.power.fitting/common/util/NumberUtil.java
  3. 7 6
      power-fitting-JN/src/main/java/com.gyee.power.fitting/common/util/PowerFittingUtil.java
  4. 6 9
      power-fitting-JN/src/main/java/com.gyee.power.fitting/controller/base/WindInfoController.java
  5. 2 3
      power-fitting-JN/src/main/java/com.gyee.power.fitting/controller/fj/DataFittingController.java
  6. 4 4
      power-fitting-JN/src/main/java/com.gyee.power.fitting/controller/fj/DataPrepareController.java
  7. 4 4
      power-fitting-JN/src/main/java/com.gyee.power.fitting/controller/fj/DataProcessController.java
  8. 2 2
      power-fitting-JN/src/main/java/com.gyee.power.fitting/model/ProEconPowerModel.java
  9. 9 0
      power-fitting-JN/src/main/java/com.gyee.power.fitting/service/ProEconPowerModelService.java
  10. 55 56
      power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/curve/DataFittingService.java
  11. 12 12
      power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/curve/DataPrepareService.java
  12. 10 11
      power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/curve/DataProcessService.java
  13. 1 1
      power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/fiveloss/FiveLossService.java
  14. 6 6
      power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/temperature/PowerTemperatureService.java
  15. 4 7
      power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/windresource/AvgSpeedInfoService.java
  16. 3 3
      power-fitting-JN/src/main/java/com.gyee.power.fitting/service/impl/NewIvPvCurveFittingService.java
  17. 57 0
      power-fitting-JN/src/main/java/com.gyee.power.fitting/service/impl/ProEconPowerModelServiceImpl.java

+ 28 - 7
power-fitting-JN/src/main/java/com.gyee.power.fitting/common/spring/InitialRunner.java

@@ -47,6 +47,9 @@ public class InitialRunner implements CommandLineRunner {
     private PowermodelService powermodelService;
 
     @Resource
+    private ProEconPowerModelService proEconPowerModelService;
+
+    @Resource
     private NewIvPvCurveFittingService ipcfService;
 
 
@@ -229,6 +232,7 @@ public class InitialRunner implements CommandLineRunner {
     public static List<ProBasicEquipment> newgfwtList = new ArrayList<>();
 
     public static Map<String, ProBasicEquipment> newgfwtMap = new HashMap<>();
+
     //---------------------------------------------------------------------------------
 
 
@@ -258,7 +262,14 @@ public class InitialRunner implements CommandLineRunner {
         cacheNewStation();
         cacheNewPoints();
         cacheNewEquipment();
-        cacheNewModelPower();
+        new Thread(){
+            @Override
+            public void run() {
+                super.run();
+                cacheNewModelPower();
+                cacheZSLLGL(null);
+            }
+        }.start();
 
         System.out.println(">>>>>>>>>>>>>>>数据缓存完成<<<<<<<<<<<<<<");
     }
@@ -329,6 +340,16 @@ public class InitialRunner implements CommandLineRunner {
 
             wts.forEach(u -> wtNewMap.put(u.getId(), u));
         });
+
+        gfwpNewList.stream().forEach(obj -> {
+            List<ProBasicEquipment> wts = proBasicEquipmentService.selectList(obj.getId());
+            gfstationNewMap.put(obj.getId(), obj.getName());
+            gfwpNewMap.put(obj.getId(), wts);
+            gfwtNewList.addAll(wts);
+
+            wts.stream().forEach(u -> gfwtNewMap.put(u.getId(), u));
+        });
+
         log.info("场站数据缓存完成");
     }
 
@@ -410,13 +431,13 @@ public class InitialRunner implements CommandLineRunner {
      */
     public void cacheZSLLGL(String wtId){
         if (StringUtils.isEmpty(wtId)){
-            zsllglMap = powermodelService.selectList().stream()
-                    .collect(Collectors.groupingBy(Powermodel::getWindturbineid,
-                            Collectors.toMap(Powermodel::getSpeed, Powermodel::getPower)));
+            zsllglNewMap = proEconPowerModelService.selectList().stream()
+                    .collect(Collectors.groupingBy(ProEconPowerModel::getWindturbineId,
+                            Collectors.toMap(ProEconPowerModel::getSpeed, ProEconPowerModel::getPower)));
         }else{
-            List<Powermodel> list = powermodelService.selectByWtId(wtId);
-            Map<Double, Double> collect = list.stream().collect(Collectors.toMap(Powermodel::getSpeed, Powermodel::getPower));
-            zsllglMap.replace(wtId, collect);
+            List<ProEconPowerModel> list = proEconPowerModelService.selectByWtId(wtId);
+            Map<Double, Double> collect = list.stream().collect(Collectors.toMap(ProEconPowerModel::getSpeed, ProEconPowerModel::getPower));
+            zsllglNewMap.replace(wtId, collect);
         }
         log.info("自算功率数据缓存完成");
     }

+ 3 - 0
power-fitting-JN/src/main/java/com.gyee.power.fitting/common/util/NumberUtil.java

@@ -99,6 +99,9 @@ public class NumberUtil {
             case 600:
                 interval = "十分钟";
                 break;
+            case 900:
+                interval = "十五分钟";
+                break;
             default:
                 interval = "一分钟";
         }

+ 7 - 6
power-fitting-JN/src/main/java/com.gyee.power.fitting/common/util/PowerFittingUtil.java

@@ -2,6 +2,7 @@ package com.gyee.power.fitting.common.util;
 
 import com.gyee.power.fitting.common.constants.Constants;
 import com.gyee.power.fitting.model.Powerfittinganalysis;
+import com.gyee.power.fitting.model.ProEconPowerFittingAnalySis;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -12,12 +13,12 @@ public class PowerFittingUtil {
      * 功率曲线拟合数据  tree
      * @return
      */
-    public static List<Object> powerDataTree(List<Powerfittinganalysis> list, String type){
+    public static List<Object> powerDataTree(List<ProEconPowerFittingAnalySis> list, String type){
         /**多层分组**/
-        Map<String, Map<String, Map<String, List<Powerfittinganalysis>>>> map = list.stream().
-                collect(Collectors.groupingBy(Powerfittinganalysis::getInterval, TreeMap::new,
-                        Collectors.groupingBy(Powerfittinganalysis::getTime,
-                                Collectors.groupingBy(Powerfittinganalysis::getStationcn, TreeMap::new, Collectors.toList()))));
+        Map<String, Map<String, Map<String, List<ProEconPowerFittingAnalySis>>>> map = list.stream().
+                collect(Collectors.groupingBy(ProEconPowerFittingAnalySis::getInterval, TreeMap::new,
+                        Collectors.groupingBy(ProEconPowerFittingAnalySis::getTime,
+                                Collectors.groupingBy(ProEconPowerFittingAnalySis::getStationcn, TreeMap::new, Collectors.toList()))));
         //map.values().stream().sorted(Comparator.comparing(s -> s.get)).collect(Collectors.toList());
         List<Object> result = new ArrayList<>();
         map.forEach((k, v) -> {
@@ -31,7 +32,7 @@ public class PowerFittingUtil {
                     Map<String, Object> map3 = new HashMap<>();
                     map3.put("id", SnowFlakeUtil.generateId());
                     map3.put("label", k2);
-                    map3.put("children", v2.stream().sorted(Comparator.comparing(Powerfittinganalysis::getWindturbine)));
+                    map3.put("children", v2.stream().sorted(Comparator.comparing(ProEconPowerFittingAnalySis::getWindturbineId)));
                     l2.add(map3);
                 });
 

+ 6 - 9
power-fitting-JN/src/main/java/com.gyee.power.fitting/controller/base/WindInfoController.java

@@ -4,17 +4,14 @@ import com.alibaba.fastjson.JSONObject;
 import com.gyee.power.fitting.common.result.JsonResult;
 import com.gyee.power.fitting.common.result.ResultCode;
 import com.gyee.power.fitting.common.spring.InitialRunner;
-import com.gyee.power.fitting.model.Windpowerstation;
-import com.gyee.power.fitting.model.Windturbine;
+import com.gyee.power.fitting.model.ProBasicEquipment;
+import com.gyee.power.fitting.model.ProBasicPowerstation;
 import org.springframework.web.bind.annotation.CrossOrigin;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * 场站风机等基础数据
@@ -26,25 +23,25 @@ public class WindInfoController {
 
     @GetMapping("station")
     public JSONObject getStation() {
-        List<Windpowerstation> list = InitialRunner.wpList;
+        List<ProBasicPowerstation> list = InitialRunner.wpNewList;
         return JsonResult.successData(ResultCode.SUCCESS, list);
     }
 
     @GetMapping("windturbine")
     public JSONObject getWindTurbine(String stationId) {
-        List<Windturbine> list = InitialRunner.wpMap.get(stationId);
+        List<ProBasicEquipment> list = InitialRunner.wpNewMap.get(stationId);
         return JsonResult.successData(ResultCode.SUCCESS, list);
     }
 
     @GetMapping("/gfstation")
     public JSONObject getGFStation() {
-        List<Windpowerstation> list = InitialRunner.gfwpList;
+        List<ProBasicPowerstation> list = InitialRunner.gfwpNewList;
         return JsonResult.successData(ResultCode.SUCCESS, list);
     }
 
     @GetMapping("/inverter")
     public JSONObject getInverter(String stationId) {
-        List<Windturbine> list = InitialRunner.gfwpMap.get(stationId);
+        List<ProBasicEquipment> list = InitialRunner.gfwpNewMap.get(stationId);
         return JsonResult.successData(ResultCode.SUCCESS, list);
     }
 

+ 2 - 3
power-fitting-JN/src/main/java/com.gyee.power.fitting/controller/fj/DataFittingController.java

@@ -4,10 +4,9 @@ package com.gyee.power.fitting.controller.fj;
 import com.alibaba.fastjson.JSONObject;
 import com.gyee.power.fitting.common.result.JsonResult;
 import com.gyee.power.fitting.common.result.ResultCode;
-import com.gyee.power.fitting.model.Powerfittinganalysis;
+import com.gyee.power.fitting.model.ProEconPowerFittingAnalySis;
 import com.gyee.power.fitting.model.custom.PowerPointData;
 import com.gyee.power.fitting.service.custom.curve.DataFittingService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -49,7 +48,7 @@ public class DataFittingController {
         if (ids.isEmpty())
             return JsonResult.error(ResultCode.PARAM_IS_BLANK);
 
-        Powerfittinganalysis obj = fittingService.dataFitting(ids, maxs, mins, maxp, minp, dimension, mode);
+        ProEconPowerFittingAnalySis obj = fittingService.dataFitting(ids, maxs, mins, maxp, minp, dimension, mode);
         return JsonResult.successData(ResultCode.SUCCESS, obj);
     }
 

+ 4 - 4
power-fitting-JN/src/main/java/com.gyee.power.fitting/controller/fj/DataPrepareController.java

@@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.gyee.power.fitting.common.result.JsonResult;
 import com.gyee.power.fitting.common.result.ResultCode;
 import com.gyee.power.fitting.common.util.FileUtil;
-import com.gyee.power.fitting.model.Powerfittinganalysis;
-import com.gyee.power.fitting.service.PowerfittinganalysisService;
+import com.gyee.power.fitting.model.ProEconPowerFittingAnalySis;
+import com.gyee.power.fitting.service.ProEconPowerFittingAnalySisService;
 import com.gyee.power.fitting.service.custom.curve.DataPrepareService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -25,7 +25,7 @@ public class DataPrepareController {
     @Autowired
     private DataPrepareService prepareService;
     @Autowired
-    private PowerfittinganalysisService powerService;
+    private ProEconPowerFittingAnalySisService powerService;
 
 
     /**
@@ -77,7 +77,7 @@ public class DataPrepareController {
      */
     @GetMapping("download")
     public void dataPrepareDownload(HttpServletResponse response, @RequestParam(value = "id", required = false) String id){
-        Powerfittinganalysis obj = powerService.selectItemById(id);
+        ProEconPowerFittingAnalySis obj = powerService.selectItemById(id);
         FileUtil.download(obj.getPath(), response);
     }
 }

+ 4 - 4
power-fitting-JN/src/main/java/com.gyee.power.fitting/controller/fj/DataProcessController.java

@@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.gyee.power.fitting.common.result.JsonResult;
 import com.gyee.power.fitting.common.result.ResultCode;
 import com.gyee.power.fitting.common.util.FileUtil;
-import com.gyee.power.fitting.model.Powerfittinganalysis;
-import com.gyee.power.fitting.service.PowerfittinganalysisService;
+import com.gyee.power.fitting.model.ProEconPowerFittingAnalySis;
+import com.gyee.power.fitting.service.ProEconPowerFittingAnalySisService;
 import com.gyee.power.fitting.service.custom.curve.DataProcessService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -24,7 +24,7 @@ import java.util.Map;
 public class DataProcessController {
 
     @Autowired
-    private PowerfittinganalysisService powerService;
+    private ProEconPowerFittingAnalySisService powerService;
     @Autowired
     private DataProcessService processService;
 
@@ -99,7 +99,7 @@ public class DataProcessController {
      */
     @GetMapping("download")
     public void dataProcessDownload(HttpServletResponse response, @RequestParam(value = "id", required = false) String id){
-        Powerfittinganalysis obj = powerService.selectItemById(id);
+        ProEconPowerFittingAnalySis obj = powerService.selectItemById(id);
         FileUtil.download(obj.getPath(), response);
     }
 

+ 2 - 2
power-fitting-JN/src/main/java/com.gyee.power.fitting/model/ProEconPowerModel.java

@@ -25,9 +25,9 @@ public class ProEconPowerModel extends Model<ProEconPowerModel> {
 
     private String windturbineId;
 
-    private String speed;
+    private double speed;
 
-    private String power;
+    private double power;
 
     private String modelId;
 

+ 9 - 0
power-fitting-JN/src/main/java/com.gyee.power.fitting/service/ProEconPowerModelService.java

@@ -3,6 +3,8 @@ package com.gyee.power.fitting.service;
 import com.gyee.power.fitting.model.ProEconPowerModel;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -12,5 +14,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-10-09
  */
 public interface ProEconPowerModelService extends IService<ProEconPowerModel> {
+    void insertBatch(List<ProEconPowerModel> list);
+
+    boolean deleteItem(String wtId);
+
+    List<ProEconPowerModel> selectByWtId(String wtId);
+
+    List<ProEconPowerModel> selectList();
 
 }

+ 55 - 56
power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/curve/DataFittingService.java

@@ -9,14 +9,13 @@ import com.gyee.power.fitting.common.util.DateUtil;
 import com.gyee.power.fitting.common.util.FileUtil;
 import com.gyee.power.fitting.common.util.PowerFittingUtil;
 import com.gyee.power.fitting.common.util.SnowFlakeUtil;
-import com.gyee.power.fitting.model.Modelpowerdetails;
-import com.gyee.power.fitting.model.Powerfittinganalysis;
-import com.gyee.power.fitting.model.Powermodel;
+import com.gyee.power.fitting.model.*;
 import com.gyee.power.fitting.model.anno.AnnotationTool;
 import com.gyee.power.fitting.model.anno.FixedVo;
 import com.gyee.power.fitting.model.custom.*;
 import com.gyee.power.fitting.service.PowerfittinganalysisService;
 import com.gyee.power.fitting.service.PowermodelService;
+import com.gyee.power.fitting.service.ProEconPowerFittingAnalySisService;
 import lombok.extern.slf4j.Slf4j;
 import lombok.val;
 import org.apache.commons.lang3.StringUtils;
@@ -45,7 +44,7 @@ public class DataFittingService {
     @Resource
     private DataScanService dataScanService;
     @Resource
-    private PowerfittinganalysisService powerService;
+    private ProEconPowerFittingAnalySisService powerService;
 
 
     /**
@@ -58,62 +57,62 @@ public class DataFittingService {
      * @param dimension
      * @param mode   拟合方式  0:单台拟合  1:合并拟合 2:同名拟合
      */
-    public Powerfittinganalysis dataFitting(String ids, Double maxs, Double mins, Double maxp, Double minp, Integer dimension, Integer mode){
-        AtomicReference<Powerfittinganalysis> object = new AtomicReference<>();
+    public ProEconPowerFittingAnalySis dataFitting(String ids, Double maxs, Double mins, Double maxp, Double minp, Integer dimension, Integer mode){
+        AtomicReference<ProEconPowerFittingAnalySis> object = new AtomicReference<>();
 
         if (mode == 0){  //单台拟合
             String[] splitId = ids.split(",");
             for (String id : splitId) {
-                List<Powerfittinganalysis> list = powerService.selectListByIds(id);
+                List<ProEconPowerFittingAnalySis> list = powerService.selectListByIds(id);
                 List<Double> arraySpeed = new ArrayList<>();
                 List<Double> arrayPower = new ArrayList<>();
                 List<String> line = FileUtil.readFile(list.get(0).getPath(), true);
                 csvParse(line, arraySpeed, arrayPower, mins, maxs, minp, maxp);
-                List<Modelpowerdetails> mp = InitialRunner.modelPowerDetailMap.get(InitialRunner.wtMap.get(list.get(0).getWindturbine()).getModelid());
-                Double maxP = mp.stream().map(Modelpowerdetails::getEnsurepower).max(Comparator.comparing(Double::doubleValue)).get();
+                List<ProBasicModelPower> mp = InitialRunner.modelPowerDetailNewMap.get(InitialRunner.wtNewMap.get(list.get(0).getWindturbineId()).getModelId());
+                Double maxP = mp.stream().map(ProBasicModelPower::getEnsurePower).max(Comparator.comparing(Double::doubleValue)).get();
                 object.set(fittingMode(list, maxP, arraySpeed, arrayPower, dimension, mode));
             }
         }
         if (mode == 1){  //合并拟合
-            List<Powerfittinganalysis> list = powerService.selectListByIds(ids);
+            List<ProEconPowerFittingAnalySis> list = powerService.selectListByIds(ids);
             AtomicReference<Double> maxP = new AtomicReference<>(0.0);
             List<Double> arraySpeed = new ArrayList<>();
             List<Double> arrayPower = new ArrayList<>();
-            for (Powerfittinganalysis obj : list){
+            for (ProEconPowerFittingAnalySis obj : list){
                 List<String> line = FileUtil.readFile(obj.getPath(), true);
                 csvParse(line, arraySpeed, arrayPower, mins, maxs, minp, maxp);
-                List<Modelpowerdetails> mp = InitialRunner.modelPowerDetailMap.get(InitialRunner.wtMap.get(obj.getWindturbine()).getModelid());
-                Double maxPower = mp.stream().map(Modelpowerdetails::getEnsurepower).max(Comparator.comparing(Double::doubleValue)).get();
+                List<ProBasicModelPower> mp = InitialRunner.modelPowerDetailNewMap.get(InitialRunner.wtNewMap.get(obj.getWindturbineId()).getModelId());
+                Double maxPower = mp.stream().map(ProBasicModelPower::getEnsurePower).max(Comparator.comparing(Double::doubleValue)).get();
                 if (maxPower > maxP.get()) maxP.set(maxPower);
             }
             object.set(fittingMode(list, maxP.get(), arraySpeed, arrayPower, dimension, mode));
         }
         if (mode == 2){  //同名拟合
-            List<Powerfittinganalysis> list = powerService.selectListByIds(ids);
-            Map<String, List<Powerfittinganalysis>> map = list.stream().collect(Collectors.groupingBy(d -> d.getWindturbine()));
+            List<ProEconPowerFittingAnalySis> list = powerService.selectListByIds(ids);
+            Map<String, List<ProEconPowerFittingAnalySis>> map = list.stream().collect(Collectors.groupingBy(d -> d.getWindturbineId()));
             map.forEach((k, ls) -> {
                 if (ls.size() > 1){
                     double maxP = 0;
-                    List<Modelpowerdetails> mp = null;
+                    List<ProBasicModelPower> mp = null;
                     List<Double> arraySpeed = new ArrayList<>();
                     List<Double> arrayPower = new ArrayList<>();
-                    for (Powerfittinganalysis obj : ls){
+                    for (ProEconPowerFittingAnalySis obj : ls){
                         List<String> line = FileUtil.readFile(obj.getPath(), true);
                         csvParse(line, arraySpeed, arrayPower, mins, maxs, minp, maxp);
-                        mp = InitialRunner.modelPowerDetailMap.get(InitialRunner.wtMap.get(obj.getWindturbine()).getModelid());
-                        maxP = mp.stream().map(Modelpowerdetails::getEnsurepower).max(Comparator.comparing(Double::doubleValue)).get();
+                        mp = InitialRunner.modelPowerDetailNewMap.get(InitialRunner.wtNewMap.get(obj.getWindturbineId()).getModelId());
+                        maxP = mp.stream().map(ProBasicModelPower::getEnsurePower).max(Comparator.comparing(Double::doubleValue)).get();
                     }
                     object.set(fittingMode(ls, maxP, arraySpeed, arrayPower, dimension, mode));
                 }else {
-                    for (Powerfittinganalysis obj : ls) {
-                        List<Powerfittinganalysis> collect = new ArrayList<>();
+                    for (ProEconPowerFittingAnalySis obj : ls) {
+                        List<ProEconPowerFittingAnalySis> collect = new ArrayList<>();
                         collect.add(obj);
                         List<Double> arraySpeed = new ArrayList<>();
                         List<Double> arrayPower = new ArrayList<>();
                         List<String> line = FileUtil.readFile(collect.get(0).getPath(), true);
                         csvParse(line, arraySpeed, arrayPower, mins, maxs, minp, maxp);
-                        List<Modelpowerdetails> mp = InitialRunner.modelPowerDetailMap.get(InitialRunner.wtMap.get(list.get(0).getWindturbine()).getModelid());
-                        Double maxP = mp.stream().map(Modelpowerdetails::getEnsurepower).max(Comparator.comparing(Double::doubleValue)).get();
+                        List<ProBasicModelPower> mp = InitialRunner.modelPowerDetailNewMap.get(InitialRunner.wtNewMap.get(list.get(0).getWindturbineId()).getModelId());
+                        Double maxP = mp.stream().map(ProBasicModelPower::getEnsurePower).max(Comparator.comparing(Double::doubleValue)).get();
                         object.set(fittingMode(collect, maxP, arraySpeed, arrayPower, dimension, mode));
                     }
                 }
@@ -129,7 +128,7 @@ public class DataFittingService {
      * @return
      */
     public List<Object> dataFittingTree(){
-        List<Powerfittinganalysis> list = powerService.selectList(Constants.DATA_FITTING);
+        List<ProEconPowerFittingAnalySis> list = powerService.selectList(Constants.DATA_FITTING);
         List<Object> ls = PowerFittingUtil.powerDataTree(list, Constants.DATA_FITTING);
         return ls;
     }
@@ -149,7 +148,7 @@ public class DataFittingService {
 
         /** 添加内容 **/
         List<PowerFittingData> list = new ArrayList<>();
-        Powerfittinganalysis obj = powerService.selectItemById(id);
+        ProEconPowerFittingAnalySis obj = powerService.selectItemById(id);
         List<String> ls = FileUtil.readFile(obj.getPath(), false);
         for (int i = 1; i < ls.size(); i++){
             PowerFittingData data = new PowerFittingData(ls.get(i).split(","));
@@ -173,7 +172,7 @@ public class DataFittingService {
      */
     public Map<String, Object> dataFittingCurve(String id){
         Map<String, Object> map = new HashMap<>();
-        Powerfittinganalysis obj = powerService.selectItemById(id);
+        ProEconPowerFittingAnalySis obj = powerService.selectItemById(id);
 
         //实际功率、风速、Cp值
         List<Object> sjglList = new ArrayList<>();
@@ -186,22 +185,22 @@ public class DataFittingService {
         }
 
         //保证功率
-        List<Modelpowerdetails> modelPower = InitialRunner.modelPowerDetailMap.get(InitialRunner.wtMap.get(obj.getWindturbine()).getModelid());
-        List<Object> bzglList = modelPower.stream().sorted(Comparator.comparing(Modelpowerdetails::getSpeed)).map(m -> new double[]{m.getSpeed(), m.getEnsurepower()}).collect(Collectors.toList());
+        List<ProBasicModelPower> modelPower = InitialRunner.modelPowerDetailNewMap.get(InitialRunner.wtNewMap.get(obj.getWindturbineId()).getModelId());
+        List<Object> bzglList = modelPower.stream().sorted(Comparator.comparing(ProBasicModelPower::getSpeed)).map(m -> new double[]{m.getSpeed(), m.getEnsurePower()}).collect(Collectors.toList());
 
         //散点
         String[] ids = obj.getProcessid().split(",");
         List<PowerPointData> yyd = new ArrayList<>(); //有用点
         List<PowerPointData> wyd = new ArrayList<>(); //无用点
         for (String pid : ids){
-            Powerfittinganalysis pf = powerService.selectItemById(pid);
+            ProEconPowerFittingAnalySis pf = powerService.selectItemById(pid);
             List<String> lp = FileUtil.readFile(pf.getPath(), true);
             for (int i = 1; i < lp.size(); i++){
                 String[] split = lp.get(i).split(",");
                 PowerPointData pd = new PowerPointData(split, true);
                 if (pd.getSpeed() < 0 || pd.getPower() < 0)
                     continue;
-                pd.setWtId(pf.getWindturbine());
+                pd.setWtId(pf.getWindturbineId());
                 if (0 == pd.getFilter())
                     yyd.add(pd);   //没有过滤
                 if (1 == pd.getFilter())
@@ -276,11 +275,11 @@ public class DataFittingService {
         }
     }
 
-    private Powerfittinganalysis fittingMode(List<Powerfittinganalysis> list, Double powerMax, List<Double> arraySpeed, List<Double> arrayPower, Integer dimension, int mode){
+    private ProEconPowerFittingAnalySis fittingMode(List<ProEconPowerFittingAnalySis> list, Double powerMax, List<Double> arraySpeed, List<Double> arrayPower, Integer dimension, int mode){
         if (list == null || list.size() == 0)
             return null;
 
-        Powerfittinganalysis obj = list.get(0);
+        ProEconPowerFittingAnalySis obj = list.get(0);
         //风速0-25,数据不全拟合的则不全,需要补一下
         arraySpeed.add(0.0);
         arraySpeed.add(25.01);
@@ -294,7 +293,7 @@ public class DataFittingService {
         //推力系数 CP值
         LineCurveFitting lf = new LineCurveFitting();
         lf.setYLines(temp);
-        lf = PowerFittingALG.buildCp(InitialRunner.equipmentMap.get(InitialRunner.wtMap.get(obj.getWindturbine()).getModelid()).getSweptarea(), lf);
+        lf = PowerFittingALG.buildCp(InitialRunner.equipmentNewMap.get(InitialRunner.wtNewMap.get(obj.getWindturbineId()).getModelId()).getSweptArea(), lf);
         lf.getCpValue().forEach(f -> {if(f.getX() <= 2.5) f.setY(0);});
         //曲线偏差率
         dataCurveRatio(lf, obj);
@@ -322,7 +321,7 @@ public class DataFittingService {
             obj.setType(Constants.DATA_FITTING);
             powerService.insertItem(obj);
         }
-        System.out.println("功率曲线拟合完成:" + obj.getWindturbine());
+        System.out.println("功率曲线拟合完成:" + obj.getWindturbineId());
 
         return obj;
     }
@@ -357,7 +356,7 @@ public class DataFittingService {
      *  3-5  5-10  10-12  12-25
      * @return
      */
-    private void dataCurveRatio(LineCurveFitting lf, Powerfittinganalysis obj) {
+    private void dataCurveRatio(LineCurveFitting lf, ProEconPowerFittingAnalySis obj) {
         DecimalFormat df = new DecimalFormat("0.00");
         try{
             //风速、实际功率
@@ -388,25 +387,25 @@ public class DataFittingService {
             List<Point> points10 = new ArrayList<>();  //分段
             List<Point> points12 = new ArrayList<>();  //分段
             List<Point> points25 = new ArrayList<>();  //分段
-            List<Modelpowerdetails> list = InitialRunner.modelPowerDetailMap.get(InitialRunner.wtMap.get(obj.getWindturbine()).getModelid());
+            List<ProBasicModelPower> list = InitialRunner.modelPowerDetailNewMap.get(InitialRunner.wtNewMap.get(obj.getWindturbineId()).getModelId());
             for (int i = 0; i < list.size(); i++){
-                Modelpowerdetails power = list.get(i);
+                ProBasicModelPower power = list.get(i);
                 if (power.getSpeed() >= 3 && power.getSpeed() < 5)
-                    points5.add(new Point(power.getSpeed(), power.getEnsurepower()));
+                    points5.add(new Point(power.getSpeed(), power.getEnsurePower()));
                 if (power.getSpeed() >= 5 && power.getSpeed() < 10)
-                    points10.add(new Point(power.getSpeed(), power.getEnsurepower()));
+                    points10.add(new Point(power.getSpeed(), power.getEnsurePower()));
                 if (power.getSpeed() >= 10 && power.getSpeed() < 12)
-                    points12.add(new Point(power.getSpeed(), power.getEnsurepower()));
+                    points12.add(new Point(power.getSpeed(), power.getEnsurePower()));
                 if (power.getSpeed() >= 12 && power.getSpeed() <= 25)
-                    points25.add(new Point(power.getSpeed(), power.getEnsurepower()));
+                    points25.add(new Point(power.getSpeed(), power.getEnsurePower()));
                 if (power.getSpeed() >= 3 && power.getSpeed() <= 25)
-                    points.add(new Point(power.getSpeed(), power.getEnsurepower()));
+                    points.add(new Point(power.getSpeed(), power.getEnsurePower()));
             }
 
-            double maxp5 = list.stream().filter(f -> 5.0 == f.getSpeed()).collect(Collectors.toList()).get(0).getEnsurepower();
-            double maxp10 = list.stream().filter(f -> 10.0 == f.getSpeed()).collect(Collectors.toList()).get(0).getEnsurepower();
-            double maxp12 = list.stream().filter(f -> 12.0 == f.getSpeed()).collect(Collectors.toList()).get(0).getEnsurepower();
-            double maxp25 = list.stream().filter(f -> 25.0 == f.getSpeed()).collect(Collectors.toList()).get(0).getEnsurepower();
+            double maxp5 = list.stream().filter(f -> 5.0 == f.getSpeed()).collect(Collectors.toList()).get(0).getEnsurePower();
+            double maxp10 = list.stream().filter(f -> 10.0 == f.getSpeed()).collect(Collectors.toList()).get(0).getEnsurePower();
+            double maxp12 = list.stream().filter(f -> 12.0 == f.getSpeed()).collect(Collectors.toList()).get(0).getEnsurePower();
+            double maxp25 = list.stream().filter(f -> 25.0 == f.getSpeed()).collect(Collectors.toList()).get(0).getEnsurePower();
 
             //曲线偏差率
             double pcl = PowerFittingALG.curveDeviationRatio2(point, points, maxp25, 3, 25);
@@ -434,7 +433,7 @@ public class DataFittingService {
      */
     public Object dataFittingLine(String ids) {
         List<Object> result = new ArrayList<>();
-        List<Powerfittinganalysis> list = powerService.selectListByIds(ids);
+        List<ProEconPowerFittingAnalySis> list = powerService.selectListByIds(ids);
         if (list.size() == 0)
             return result;
 
@@ -453,8 +452,8 @@ public class DataFittingService {
         });
 
         //保证功率
-        List<Modelpowerdetails> modelPower = InitialRunner.modelPowerDetailMap.get(InitialRunner.wtMap.get(list.get(0).getWindturbine()).getModelid());
-        List<Object> bzgl = modelPower.stream().sorted(Comparator.comparing(Modelpowerdetails::getSpeed)).map(m -> new double[]{m.getSpeed(), m.getEnsurepower()}).collect(Collectors.toList());
+        List<ProBasicModelPower> modelPower = InitialRunner.modelPowerDetailNewMap.get(InitialRunner.wtNewMap.get(list.get(0).getWindturbineId()).getModelId());
+        List<Object> bzgl = modelPower.stream().sorted(Comparator.comparing(ProBasicModelPower::getSpeed)).map(m -> new double[]{m.getSpeed(), m.getEnsurePower()}).collect(Collectors.toList());
 
         Map<String, Object> map = new HashMap<>();
         map.put("sjgl", result);
@@ -471,7 +470,7 @@ public class DataFittingService {
      */
     public Object dataFittingTime(String ids) {
         List<Object> result = new ArrayList<>();
-        List<Powerfittinganalysis> list = powerService.selectListByIds(ids);
+        List<ProEconPowerFittingAnalySis> list = powerService.selectListByIds(ids);
         if (list.size() == 0)
             return result;
 
@@ -484,7 +483,7 @@ public class DataFittingService {
                 List<String> line = FileUtil.readFile(powerService.getById(id).getPath(), true);
                 timeTotal(time1, time2, line);
             }
-            map.put("wtId", item.getWindturbine());
+            map.put("wtId", item.getWindturbineId());
             map.put("time1", time1);
             map.put("time2", time2);
             result.add(map);
@@ -528,7 +527,7 @@ public class DataFittingService {
      */
     @Async
     public void curveSave(String ids) {
-        List<Powerfittinganalysis> list = powerService.selectListByIds(ids);
+        List<ProEconPowerFittingAnalySis> list = powerService.selectListByIds(ids);
         if (list.size() == 0)
             return;
 
@@ -539,15 +538,15 @@ public class DataFittingService {
                 for (int i = 1; i < ls.size(); i++){
                     String[] split = ls.get(i).split(",");
                     Powermodel obj = new Powermodel();
-                    obj.setWindturbineid(f.getWindturbine());
-                    obj.setModel(InitialRunner.wtMap.get(f.getWindturbine()).getModelid());
+                    obj.setWindturbineid(f.getWindturbineId());
+                    obj.setModel(InitialRunner.wtNewMap.get(f.getWindturbineId()).getModelId());
                     obj.setSpeed(new BigDecimal(split[0]).setScale(2, RoundingMode.FLOOR).doubleValue());
                     obj.setPower(new BigDecimal(split[1]).setScale(2, RoundingMode.FLOOR).doubleValue());
                     result.add(obj);
                 }
-                modelService.deleteItem(f.getWindturbine());
+                modelService.deleteItem(f.getWindturbineId());
                 modelService.insertBatch(result);
-                initialRunner.cacheZSLLGL(f.getWindturbine());
+                initialRunner.cacheZSLLGL(f.getWindturbineId());
             }catch (Exception e){
                 log.error(e.getMessage());
             }

+ 12 - 12
power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/curve/DataPrepareService.java

@@ -10,14 +10,14 @@ import com.gyee.power.fitting.common.util.DateUtil;
 import com.gyee.power.fitting.common.util.FileUtil;
 import com.gyee.power.fitting.common.util.NumberUtil;
 import com.gyee.power.fitting.common.util.PowerFittingUtil;
-import com.gyee.power.fitting.model.Powerfittinganalysis;
-import com.gyee.power.fitting.model.Windturbinetestingpointai2;
+import com.gyee.power.fitting.model.ProBasicEquipmentPoint;
+import com.gyee.power.fitting.model.ProEconPowerFittingAnalySis;
 import com.gyee.power.fitting.model.anno.AnnotationTool;
 import com.gyee.power.fitting.model.anno.FixedVo;
 import com.gyee.power.fitting.model.custom.PowerPointData;
 import com.gyee.power.fitting.model.custom.TableTitle;
 import com.gyee.power.fitting.model.custom.TsDoubleData;
-import com.gyee.power.fitting.service.PowerfittinganalysisService;
+import com.gyee.power.fitting.service.ProEconPowerFittingAnalySisService;
 import com.gyee.power.fitting.service.custom.socket.WebSocketServer;
 import lombok.extern.slf4j.Slf4j;
 import lombok.val;
@@ -42,7 +42,7 @@ public class DataPrepareService {
     @Autowired
     WebSocketServer socketServer;
     @Autowired
-    private PowerfittinganalysisService powerService;
+    private ProEconPowerFittingAnalySisService powerService;
     @Autowired
     private RemoteServiceBuilder remoteService;
 
@@ -60,12 +60,12 @@ public class DataPrepareService {
             List<List<TsDoubleData>> result = new ArrayList<>();
             try{
                 List<String> points = config.getPoints();
-                Map<String, List<Windturbinetestingpointai2>> collect = InitialRunner.pointMap.get(wt).stream().collect(Collectors.groupingBy(w -> w.getUniformcode()));
+                Map<String, List<ProBasicEquipmentPoint>> collect = InitialRunner.pointNewMap.get(wt).stream().collect(Collectors.groupingBy(w -> w.getUniformCode()));
                 if (collect.size() < 8)
                     continue;
 
                 for (int i = 0; i < points.size(); i++){
-                    Windturbinetestingpointai2 point = collect.get(points.get(i)).get(0);
+                    ProBasicEquipmentPoint point = collect.get(points.get(i)).get(0);
                     log.info("测点:" + point.getId() + "----" + point.getName());
                     List<TsDoubleData> data = remoteService.adapterfd().getHistorySnap(point.getId(), st, et, interval);
                     if (data == null || data.size() < 0)
@@ -78,14 +78,14 @@ public class DataPrepareService {
 
                 String content = assemble(result);
                 // 处理的数据保存在本地
-                String wtCode = InitialRunner.wtMap.get(wt).getCode();
+                String wtCode = InitialRunner.wtNewMap.get(wt).getNemCode();
                 String fileName = config.getFilePathPrepare() + station + "_" + wtCode + "_" + System.currentTimeMillis() / 1000 + ".csv";
                 boolean flag = FileUtil.writeFile(fileName, content);
                 if (flag){  // TODO  保存数据库
-                    Powerfittinganalysis obj = new Powerfittinganalysis();
+                    ProEconPowerFittingAnalySis obj = new ProEconPowerFittingAnalySis();
                     obj.setStation(station);
-                    obj.setStationcn(InitialRunner.stationMap.get(station));
-                    obj.setWindturbine(wt);
+                    obj.setStationcn(InitialRunner.stationNewMap.get(station));
+                    obj.setWindturbineId(wt);
                     obj.setCode(wtCode);
                     obj.setTime(DateUtil.format(st, DateUtil.YYYY_MM_DD_CHN) + "-" + DateUtil.format(et, DateUtil.YYYY_MM_DD_CHN));
                     obj.setInterval(NumberUtil.toNum(interval));
@@ -108,7 +108,7 @@ public class DataPrepareService {
      * @return
      */
     public List<Object> dataPrepareTree(){
-        List<Powerfittinganalysis> list = powerService.selectList(Constants.DATA_PREPARE);
+        List<ProEconPowerFittingAnalySis> list = powerService.selectList(Constants.DATA_PREPARE);
         List<Object> ls = PowerFittingUtil.powerDataTree(list, Constants.DATA_PREPARE);
         return ls;
     }
@@ -129,7 +129,7 @@ public class DataPrepareService {
 
         /** 添加内容  读取前500行 **/
         List<PowerPointData> list = new ArrayList<>();
-        Powerfittinganalysis obj = powerService.selectItemById(id);
+        ProEconPowerFittingAnalySis obj = powerService.selectItemById(id);
         List<String> ls = FileUtil.readFile(obj.getPath(), false);
         for (int i = 1; i < ls.size(); i++){
             PowerPointData data = new PowerPointData(ls.get(i).split(","), false);

+ 10 - 11
power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/curve/DataProcessService.java

@@ -1,6 +1,5 @@
 package com.gyee.power.fitting.service.custom.curve;
 
-import com.gyee.power.fitting.common.alg.PowerFittingALG;
 import com.gyee.power.fitting.common.alg.PowerProcessALG;
 import com.gyee.power.fitting.common.alg.WindDirectionALG;
 import com.gyee.power.fitting.common.config.GyeeConfig;
@@ -9,13 +8,13 @@ import com.gyee.power.fitting.common.spring.InitialRunner;
 import com.gyee.power.fitting.common.util.FileUtil;
 import com.gyee.power.fitting.common.util.PowerFittingUtil;
 import com.gyee.power.fitting.common.util.SnowFlakeUtil;
-import com.gyee.power.fitting.model.Modelpowerdetails;
-import com.gyee.power.fitting.model.Powerfittinganalysis;
+import com.gyee.power.fitting.model.ProBasicModelPower;
+import com.gyee.power.fitting.model.ProEconPowerFittingAnalySis;
 import com.gyee.power.fitting.model.anno.AnnotationTool;
 import com.gyee.power.fitting.model.anno.FixedVo;
 import com.gyee.power.fitting.model.custom.PowerPointData;
 import com.gyee.power.fitting.model.custom.TableTitle;
-import com.gyee.power.fitting.service.PowerfittinganalysisService;
+import com.gyee.power.fitting.service.ProEconPowerFittingAnalySisService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -32,7 +31,7 @@ public class DataProcessService {
     @Autowired
     private GyeeConfig config;
     @Autowired
-    private PowerfittinganalysisService powerService;
+    private ProEconPowerFittingAnalySisService powerService;
 
     /**
      * 数据预处理
@@ -54,7 +53,7 @@ public class DataProcessService {
     public void dataProcess(List<String> ids, Double maxs, Double mins, Double maxp, Double minp, Boolean isfbw,
                             Boolean isfhl, Boolean isbw, Boolean istj, Boolean isglpc, Boolean isqfh, Integer qfhdj) {
         ids.forEach(id -> {
-            Powerfittinganalysis obj = powerService.selectItemById(id);
+            ProEconPowerFittingAnalySis obj = powerService.selectItemById(id);
             if (obj == null)
                 return;
 
@@ -66,8 +65,8 @@ public class DataProcessService {
             }
 
             /** 风速  ->  保证功率  来自数据库 **/
-            List<Modelpowerdetails> modelPowerList = InitialRunner.modelPowerDetailMap.get(InitialRunner.wtMap.get(obj.getWindturbine()).getModelid());
-            Map<Double, Double> modelPowerMap = modelPowerList.stream().collect(Collectors.toMap(Modelpowerdetails::getSpeed, Modelpowerdetails::getEnsurepower));
+            List<ProBasicModelPower> modelPowerList = InitialRunner.modelPowerDetailNewMap.get(InitialRunner.wtNewMap.get(obj.getWindturbineId()).getModelId());
+            Map<Double, Double> modelPowerMap = modelPowerList.stream().collect(Collectors.toMap(ProBasicModelPower::getSpeed, ProBasicModelPower::getEnsurePower));
             /** 数据预处理 **/
             List<PowerPointData> data = PowerProcessALG.dataProcess(eis, modelPowerMap, maxs, mins, maxp, minp, isfbw, isfhl, isbw, istj, isglpc, isqfh, qfhdj);
             /** 静风频率 **/
@@ -85,7 +84,7 @@ public class DataProcessService {
                 obj.setType(Constants.DATA_PROCESS);
                 powerService.insertItem(obj);
             }
-            System.out.println("功率曲线拟合数据预处理完成:" + obj.getWindturbine());
+            System.out.println("功率曲线拟合数据预处理完成:" + obj.getWindturbineId());
         });
     }
 
@@ -95,7 +94,7 @@ public class DataProcessService {
      * @return
      */
     public List<Object> dataProcessTree() {
-        List<Powerfittinganalysis> list = powerService.selectList(Constants.DATA_PROCESS);
+        List<ProEconPowerFittingAnalySis> list = powerService.selectList(Constants.DATA_PROCESS);
         List<Object> ls = PowerFittingUtil.powerDataTree(list, Constants.DATA_PROCESS);
         return ls;
     }
@@ -115,7 +114,7 @@ public class DataProcessService {
 
         /** 添加内容  读取前500行 **/
         List<PowerPointData> list = new ArrayList<>();
-        Powerfittinganalysis obj = powerService.selectItemById(id);
+        ProEconPowerFittingAnalySis obj = powerService.selectItemById(id);
         List<String> ls = FileUtil.readFile(obj.getPath(), false);
         for (int i = 1; i < ls.size(); i++){
             String[] split = ls.get(i).split(",");

+ 1 - 1
power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/fiveloss/FiveLossService.java

@@ -90,7 +90,7 @@ public class FiveLossService {
         log.info("======风机绩效榜计算开始.............");
         Map<String, Object> promise = new HashMap<>();
         List<FjjxbVo> result = new ArrayList<>();
-        Map<String, Map<Double, Double>> zsglmap = InitialRunner.zsllglMap;
+        Map<String, Map<Double, Double>> zsglmap = InitialRunner.zsllglNewMap;
 
         List<Powerfittinganalysis> analyses = analysisService.selectListByIds(ids);
         if (analyses.size() == 0){

+ 6 - 6
power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/temperature/PowerTemperatureService.java

@@ -3,8 +3,8 @@ package com.gyee.power.fitting.service.custom.temperature;
 import com.gyee.power.fitting.common.alg.PowerTemperatureAlg;
 import com.gyee.power.fitting.common.spring.InitialRunner;
 import com.gyee.power.fitting.common.util.FileUtil;
-import com.gyee.power.fitting.model.Modelpowerdetails;
 import com.gyee.power.fitting.model.Powerfittinganalysis;
+import com.gyee.power.fitting.model.ProBasicModelPower;
 import com.gyee.power.fitting.model.anno.AnnotationTool;
 import com.gyee.power.fitting.model.anno.FixedVo;
 import com.gyee.power.fitting.model.custom.*;
@@ -36,8 +36,8 @@ public class PowerTemperatureService {
             String[] pids = obj.getProcessid().split(",");
             for (String id : pids){
                 Powerfittinganalysis pf = powerService.selectItemById(id);
-                List<Modelpowerdetails> ls = InitialRunner.modelPowerDetailMap.get(InitialRunner.wtMap.get(obj.getWindturbine()).getModelid());
-                Double theoryPower = ls.get(ls.size() - 1).getTheorypower(); //理论功率
+                List<ProBasicModelPower> ls = InitialRunner.modelPowerDetailNewMap.get(InitialRunner.wtNewMap.get(obj.getWindturbine()).getModelId());
+                Double theoryPower = ls.get(ls.size() - 1).getTheoryPower(); //理论功率
                 Map<String, Object> map = csvParse(pf);//数据解析
                 List<PowerPointData> data = (List<PowerPointData>) map.get("data");
                 Object res = PowerTemperatureAlg.temperatureRatedPower(data, theoryPower, (Double) map.get("minT"), (Double) map.get("maxT"));
@@ -45,7 +45,7 @@ public class PowerTemperatureService {
 
                 Map<String, Object> mp = new HashMap<>();
                 mp.put("wt", pf.getWindturbine());
-                mp.put("power", InitialRunner.equipmentMap.get(InitialRunner.wtMap.get(pf.getWindturbine()).getModelid()));
+                mp.put("power", InitialRunner.equipmentNewMap.get(InitialRunner.wtNewMap.get(pf.getWindturbine()).getModelId()));
                 mp.put("res1", res); //额定功率vs.温度分析
                 mp.put("res2", rp);  //额定功率vs.温度分析
                 result.add(mp);
@@ -71,8 +71,8 @@ public class PowerTemperatureService {
         }
 
         //保证功率
-        List<Modelpowerdetails> modelPower = InitialRunner.modelPowerDetailMap.get(InitialRunner.wtMap.get(obj.getWindturbine()).getModelid());
-        List<Object> bzglList = modelPower.stream().sorted(Comparator.comparing(Modelpowerdetails::getSpeed)).map(m -> new double[]{m.getSpeed(), m.getEnsurepower()}).collect(Collectors.toList());
+        List<ProBasicModelPower> modelPower = InitialRunner.modelPowerDetailNewMap.get(InitialRunner.wtNewMap.get(obj.getWindturbine()).getModelId());
+        List<Object> bzglList = modelPower.stream().sorted(Comparator.comparing(ProBasicModelPower::getSpeed)).map(m -> new double[]{m.getSpeed(), m.getEnsurePower()}).collect(Collectors.toList());
         //散点
         List<Object[]> scatter = new ArrayList<>();
 

+ 4 - 7
power-fitting-JN/src/main/java/com.gyee.power.fitting/service/custom/windresource/AvgSpeedInfoService.java

@@ -4,10 +4,7 @@ package com.gyee.power.fitting.service.custom.windresource;
 import com.gyee.power.fitting.common.spring.InitialRunner;
 import com.gyee.power.fitting.common.util.DateUtil;
 import com.gyee.power.fitting.common.util.FileUtil;
-import com.gyee.power.fitting.model.Equipmentmodel;
-import com.gyee.power.fitting.model.Powerfittinganalysis;
-import com.gyee.power.fitting.model.Powerwindinfo;
-import com.gyee.power.fitting.model.Windturbine;
+import com.gyee.power.fitting.model.*;
 import com.gyee.power.fitting.model.custom.PowerPointData;
 import com.gyee.power.fitting.service.PowerfittinganalysisService;
 import com.gyee.power.fitting.service.PowerwindinfoService;
@@ -35,8 +32,8 @@ public class AvgSpeedInfoService {
      */
     public Object avgSpeedInfo(String ids){
         List<Object> result = new ArrayList<>();
-        Map<String, Equipmentmodel> eqMap = InitialRunner.equipmentMap;
-        Map<String, Windturbine> wtMap = InitialRunner.wtMap;
+        Map<String, ProEconEquipmentmodel> eqMap = InitialRunner.equipmentNewMap;
+        Map<String, ProBasicEquipment> wtMap = InitialRunner.wtNewMap;
         List<Powerfittinganalysis> listObj = powerService.selectListByIds(ids);
         if (listObj == null || listObj.size() == 0)
             return result;
@@ -53,7 +50,7 @@ public class AvgSpeedInfoService {
                 info.setTime(DateUtil.format(k, DateUtil.DATE_PATTERN));
                 double speed = v.stream().mapToDouble(PowerPointData::getSpeed).average().getAsDouble();
                 //毛容系数=生产电量(MWh)/ (风机容量MW * 总时间(h))
-                double mrxs = (v.get(v.size() - 1).getDl() / 1000) / (eqMap.get(wtMap.get(obj.getWindturbine()).getModelid()).getPowerproduction() / 1000 * 24);
+                double mrxs = (v.get(v.size() - 1).getDl() / 1000) / (eqMap.get(wtMap.get(obj.getWindturbine()).getModelId()).getPowerProduction() / 1000 * 24);
                 info.setAvgspeed(new BigDecimal(speed).setScale(2, RoundingMode.FLOOR).doubleValue());
                 info.setMrxs(new BigDecimal(mrxs).setScale(4, RoundingMode.FLOOR).doubleValue());
                 currentList.add(info);

+ 3 - 3
power-fitting-JN/src/main/java/com.gyee.power.fitting/service/impl/NewIvPvCurveFittingService.java

@@ -310,10 +310,10 @@ public class NewIvPvCurveFittingService {
     }
 
     public List<Object> str2FileList(List<String> fileList) {
-        List<Powerfittinganalysis> fileLists = new ArrayList<>();
+        List<ProEconPowerFittingAnalySis> fileLists = new ArrayList<>();
         for (String s : fileList) {
             String[] split = s.split("-");
-            Powerfittinganalysis fl = new Powerfittinganalysis();
+            ProEconPowerFittingAnalySis fl = new ProEconPowerFittingAnalySis();
             /*fl.setPath(s);
             fl.setStation(split[0]);
             fl.setStationcn(InitialRunner.gfstationMap.get(split[0]));
@@ -323,7 +323,7 @@ public class NewIvPvCurveFittingService {
             fl.setPath(s);
             fl.setStation(split[0]);
             fl.setStationcn(split[1]);
-            fl.setWindturbine(split[1]);
+            fl.setWindturbineId(split[1]);
             fl.setTime(InitialRunner.newgfstationMap.get(split[0]));
             fl.setInterval(split[2] + "年" + split[3] + "月");
             fileLists.add(fl);

+ 57 - 0
power-fitting-JN/src/main/java/com.gyee.power.fitting/service/impl/ProEconPowerModelServiceImpl.java

@@ -1,11 +1,17 @@
 package com.gyee.power.fitting.service.impl;
 
+import com.gyee.power.fitting.common.base.ExcludeQueryWrapper;
+import com.gyee.power.fitting.common.util.CollectUtil;
+import com.gyee.power.fitting.common.util.SnowFlakeUtil;
 import com.gyee.power.fitting.model.ProEconPowerModel;
 import com.gyee.power.fitting.mapper.ProEconPowerModelMapper;
 import com.gyee.power.fitting.service.ProEconPowerModelService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +23,55 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProEconPowerModelServiceImpl extends ServiceImpl<ProEconPowerModelMapper, ProEconPowerModel> implements ProEconPowerModelService {
 
+
+    @Override
+    public void insertBatch(List<ProEconPowerModel> list) {
+        list.forEach(item -> item.setId(SnowFlakeUtil.generateId()));
+        try{
+            if (list.size() > 1000){
+                List<List<ProEconPowerModel>> coll = CollectUtil.groupListByQty(list, 1000);
+                coll.forEach(ls -> saveBatch(ls));
+            } else {
+                saveBatch(list);
+            }
+        }catch (Exception e){
+            log.error("ProEconPowerModelServiceImpl--insertBatch", e);
+        }
+    }
+
+    @Override
+    public boolean deleteItem(String wtId) {
+        ExcludeQueryWrapper<ProEconPowerModel> wrapper = new ExcludeQueryWrapper<>();
+        wrapper.eq("windturbine_id", wtId);
+        int count = 0;
+        try{
+            count = baseMapper.delete(wrapper);
+        } catch (Exception e){
+            log.error("ProEconPowerModelServiceImpl--deleteItem", e);
+            return false;
+        }
+        return count > 0 ? true : false;
+    }
+
+    @Override
+    public List<ProEconPowerModel> selectByWtId(String wtId) {
+        ExcludeQueryWrapper<ProEconPowerModel> wrapper = new ExcludeQueryWrapper<>();
+        wrapper.eq("windturbine_id", wtId);
+        try{
+            return baseMapper.selectList(wrapper);
+        }catch (Exception e){
+            log.error("ProEconPowerModelServiceImpl--selectByWtId", e);
+        }
+        return Collections.EMPTY_LIST;
+    }
+
+    @Override
+    public List<ProEconPowerModel> selectList() {
+        try{
+            return baseMapper.selectList(null);
+        }catch (Exception e){
+            log.error("ProEconPowerModelServiceImpl--selectList", e);
+        }
+        return Collections.EMPTY_LIST;
+    }
 }