Procházet zdrojové kódy

修改区间曲线偏差1、2、3、4、5、6表写入事件

shilin před 2 roky
rodič
revize
d3ad01a857
36 změnil soubory, kde provedl 564 přidání a 248 odebrání
  1. 14 10
      realtime/generationXK-service/src/main/java/com/gyee/generation/GenerationMain.java
  2. 4 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittMonthMainMapper.java
  3. 4 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittMonthSubMapper.java
  4. 4 1
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittYearMainMapper.java
  5. 4 1
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittYearSubMapper.java
  6. 6 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittingMainMapper.java
  7. 7 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittingSubMapper.java
  8. 8 1
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconWtCurveFittingMapper.java
  9. 5 1
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconWtCurveFittingMonthMapper.java
  10. 4 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconWtCurveFittingYearMapper.java
  11. 4 1
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconWtPowerCurveFittingMapper.java
  12. 2 1
      realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconWtmttrMtbfDayMapper.java
  13. 86 3
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/EquipmentInfo4Service.java
  14. 280 204
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/PowerCurveFittingByTimeService.java
  15. 1 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittMonthMainService.java
  16. 1 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittMonthSubService.java
  17. 1 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittYearMainService.java
  18. 1 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittYearSubService.java
  19. 3 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittingMainService.java
  20. 3 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittingSubService.java
  21. 2 1
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconWtCurveFittingMonthService.java
  22. 4 1
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconWtCurveFittingService.java
  23. 2 1
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconWtCurveFittingYearService.java
  24. 1 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconWtPowerCurveFittingService.java
  25. 11 2
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittMonthMainServiceImpl.java
  26. 11 2
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittMonthSubServiceImpl.java
  27. 10 2
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittYearMainServiceImpl.java
  28. 10 2
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittYearSubServiceImpl.java
  29. 13 2
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittingMainServiceImpl.java
  30. 13 2
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittingSubServiceImpl.java
  31. 10 2
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconWtCurveFittingMonthServiceImpl.java
  32. 11 0
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconWtCurveFittingServiceImpl.java
  33. 10 3
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconWtCurveFittingYearServiceImpl.java
  34. 11 2
      realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconWtPowerCurveFittingServiceImpl.java
  35. 2 2
      realtime/generationXK-service/src/main/resources/application-xk.yml
  36. 1 1
      realtime/generationXK-service/src/main/resources/application.yml

+ 14 - 10
realtime/generationXK-service/src/main/java/com/gyee/generation/GenerationMain.java

@@ -1,9 +1,13 @@
 package com.gyee.generation;
 
+import com.gyee.common.util.DateUtils;
+import com.gyee.generation.service.PowerCurveFittingByTimeService;
+import com.gyee.generation.util.SpringUtils;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
+import java.util.Calendar;
 import java.util.Date;
 
 /**
@@ -110,16 +114,16 @@ public class GenerationMain {
 
 //        EquipmentInfoDayTopService equipmentInfoDayTopService= SpringUtils.getBean("equipmentInfoDayTopService");
 //        equipmentInfoDayTopService.calEquipmentInfoDayTop(new Date());
-//        Calendar c=Calendar.getInstance();
-//        c.set(Calendar.MONTH,7);
-//        c.set(Calendar.DAY_OF_MONTH,31);
-//        PowerCurveFittingByTimeService powerCurveFittingByTimeService= SpringUtils.getBean("powerCurveFittingByTimeService");
-////        powerCurveFittingByTimeService.cureFittingDay(c.getTime());
-//        powerCurveFittingByTimeService.cureFittingMonth(c.getTime());
-////        powerCurveFittingByTimeService.cureFittingYear(c.getTime());
-//        Date end=new Date();
-//        System.out.println("执行用时"+ DateUtils.secondsDiff(date,end) +"秒");
-//        System.out.println("计算完成");
+        Calendar c=Calendar.getInstance();
+        c.set(Calendar.MONTH,7);
+        c.set(Calendar.DAY_OF_MONTH,31);
+        PowerCurveFittingByTimeService powerCurveFittingByTimeService= SpringUtils.getBean("powerCurveFittingByTimeService");
+//        powerCurveFittingByTimeService.cureFittingDay(c.getTime());
+        powerCurveFittingByTimeService.cureFittingMonth(c.getTime(),"0");
+//        powerCurveFittingByTimeService.cureFittingYear(c.getTime());
+        Date end=new Date();
+        System.out.println("执行用时"+ DateUtils.secondsDiff(date,end) +"秒");
+        System.out.println("计算完成");
 //
 //        CacheService cacheService= SpringUtils.getBean("cacheService");
 //        cacheService.initRedisCache();

+ 4 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittMonthMainMapper.java

@@ -2,6 +2,8 @@ package com.gyee.generation.mapper.auto;
 
 import com.gyee.generation.model.auto.ProEconCurveFittMonthMain;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ProEconCurveFittMonthMainMapper extends BaseMapper<ProEconCurveFittMonthMain> {
 
+    @Delete(" delete from pro_econ_curve_fitt_month_main where year=#{year} and month=#{month}")
+    public int deleteProEconCurveFittMonthSubByMonth(@Param(value = "year") String year, @Param(value = "month") String month);
 }

+ 4 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittMonthSubMapper.java

@@ -2,6 +2,8 @@ package com.gyee.generation.mapper.auto;
 
 import com.gyee.generation.model.auto.ProEconCurveFittMonthSub;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ProEconCurveFittMonthSubMapper extends BaseMapper<ProEconCurveFittMonthSub> {
 
+    @Delete(" delete from pro_econ_curve_fitt_month_sub where year=#{year} and month=#{month}")
+    public int deleteProEconCurveFittMonthSubByMonth(@Param(value = "year") String year, @Param(value = "month") String month);
 }

+ 4 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittYearMainMapper.java

@@ -2,6 +2,8 @@ package com.gyee.generation.mapper.auto;
 
 import com.gyee.generation.model.auto.ProEconCurveFittYearMain;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -12,5 +14,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2022-11-07
  */
 public interface ProEconCurveFittYearMainMapper extends BaseMapper<ProEconCurveFittYearMain> {
-
+    @Delete(" delete from pro_econ_curve_fitt_year_main where year=#{year}")
+    public int deleteProEconCurveFittYearMainByYear(@Param(value = "year") String year);
 }

+ 4 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittYearSubMapper.java

@@ -2,6 +2,8 @@ package com.gyee.generation.mapper.auto;
 
 import com.gyee.generation.model.auto.ProEconCurveFittYearSub;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -12,5 +14,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2022-11-07
  */
 public interface ProEconCurveFittYearSubMapper extends BaseMapper<ProEconCurveFittYearSub> {
-
+    @Delete(" delete from pro_econ_curve_fitt_year_sub where year=#{year}")
+    public int deleteProEconCurveFittYearSubByYear(@Param(value = "year") String year);
 }

+ 6 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittingMainMapper.java

@@ -2,6 +2,10 @@ package com.gyee.generation.mapper.auto;
 
 import com.gyee.generation.model.auto.ProEconCurveFittingMain;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
 
 /**
  * <p>
@@ -13,4 +17,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ProEconCurveFittingMainMapper extends BaseMapper<ProEconCurveFittingMain> {
 
+    @Delete(" delete from pro_econ_curve_fitting_main where recordDate=#{recordDate} ")
+    public int deleteProEconCurveFittingMainByDay(@Param(value = "recordDate") Date recordDate);
 }

+ 7 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconCurveFittingSubMapper.java

@@ -2,6 +2,10 @@ package com.gyee.generation.mapper.auto;
 
 import com.gyee.generation.model.auto.ProEconCurveFittingSub;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
 
 /**
  * <p>
@@ -13,4 +17,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ProEconCurveFittingSubMapper extends BaseMapper<ProEconCurveFittingSub> {
 
+
+    @Delete(" delete from pro_econ_curve_fitting_sub where recordDate=#{recordDate} ")
+    public int deleteProEconCurveFittingSubByDay(@Param(value = "recordDate") Date recordDate);
 }

+ 8 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconWtCurveFittingMapper.java

@@ -1,7 +1,11 @@
 package com.gyee.generation.mapper.auto;
 
-import com.gyee.generation.model.auto.ProEconWtCurveFitting;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.generation.model.auto.ProEconWtCurveFitting;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
 
 /**
  * <p>
@@ -13,4 +17,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ProEconWtCurveFittingMapper extends BaseMapper<ProEconWtCurveFitting> {
 
+    @Delete(" delete from pro_econ_wt_curve_fitting where recordDate=#{recordDate} ")
+    public int deleteProEconWtCurveFittingByDay(@Param(value = "recordDate") Date recordDate);
+
 }

+ 5 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconWtCurveFittingMonthMapper.java

@@ -1,7 +1,9 @@
 package com.gyee.generation.mapper.auto;
 
-import com.gyee.generation.model.auto.ProEconWtCurveFittingMonth;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.generation.model.auto.ProEconWtCurveFittingMonth;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ProEconWtCurveFittingMonthMapper extends BaseMapper<ProEconWtCurveFittingMonth> {
 
+    @Delete(" delete from pro_econ_wt_curve_fitting_month where year=#{year} and month=#{month}")
+    public int deleteProEconWtCurveFittingByMonth(@Param(value = "year") String year,@Param(value = "month") String month);
 }

+ 4 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconWtCurveFittingYearMapper.java

@@ -2,6 +2,8 @@ package com.gyee.generation.mapper.auto;
 
 import com.gyee.generation.model.auto.ProEconWtCurveFittingYear;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ProEconWtCurveFittingYearMapper extends BaseMapper<ProEconWtCurveFittingYear> {
 
+    @Delete(" delete from pro_econ_wt_curve_fitting_year where year=#{year}")
+    public int deleteProEconWtCurveFittingByYear(@Param(value = "year") String year);
 }

+ 4 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconWtPowerCurveFittingMapper.java

@@ -1,7 +1,8 @@
 package com.gyee.generation.mapper.auto;
 
-import com.gyee.generation.model.auto.ProEconWtPowerCurveFitting;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.generation.model.auto.ProEconWtPowerCurveFitting;
+import org.apache.ibatis.annotations.Delete;
 
 /**
  * <p>
@@ -13,4 +14,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ProEconWtPowerCurveFittingMapper extends BaseMapper<ProEconWtPowerCurveFitting> {
 
+    @Delete(" delete from pro_econ_wt_power_curve_fitting   ")
+    public int deleteProEconWtPowerCurveFitting();
 }

+ 2 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/mapper/auto/ProEconWtmttrMtbfDayMapper.java

@@ -1,7 +1,7 @@
 package com.gyee.generation.mapper.auto;
 
-import com.gyee.generation.model.auto.ProEconWtmttrMtbfDay;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.generation.model.auto.ProEconWtmttrMtbfDay;
 
 /**
  * <p>
@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ProEconWtmttrMtbfDayMapper extends BaseMapper<ProEconWtmttrMtbfDay> {
 
+
 }

+ 86 - 3
realtime/generationXK-service/src/main/java/com/gyee/generation/service/EquipmentInfo4Service.java

@@ -34,10 +34,13 @@ public class EquipmentInfo4Service {
     private IProEconInOrOutSpeedTotalService proEconInOrOutSpeedTotalService;
 
     @Resource
-    private CoefficientService coefficientService;
+    private IProEconCurveFittingSubService proEconCurveFittingSubService;
 
     @Resource
-    private GoodnessOfFitService goodnessOfFitService;
+    private IProEconCurveFittMonthSubService proEconCurveFittMonthSubService;
+
+    @Resource
+    private IProEconCurveFittYearSubService proEconCurveFittYearSubService;
 
     @Resource
     private IProEconCurveFittingMainService proEconCurveFittingMainService;
@@ -386,9 +389,35 @@ public class EquipmentInfo4Service {
             pewp.setRgzxqjsl(100.0);
         }
 //**************************************************日三率统计****************************************************************/
-//**TODO-SL 缺少阶段性曲线偏差率**/
 
+        List<ProEconCurveFittingSub> pointls=proEconCurveFittingSubService.list().stream().filter(x-> x.getSpeed() !=null
+                && Double.valueOf(x.getSpeed())>=3.0
+                && Double.valueOf(x.getSpeed())<5.0
+                && x.getRecordDate().compareTo(begin) == 0
+                && x.getWindturbineId().equals(wt.getId())
+        ).collect(Collectors.toList());
+
+        DoubleSummaryStatistics summaryStatistics=pointls.stream().mapToDouble(ProEconCurveFittingSub::getDeviationRate1).summaryStatistics();
+        pewp.setR35mqxpcl(summaryStatistics.getAverage());
+
+          pointls=proEconCurveFittingSubService.list().stream().filter(x-> x.getSpeed() !=null
+              && Double.valueOf(x.getSpeed())>=5.0
+                && Double.valueOf(x.getSpeed())<11.0
+                && x.getRecordDate().compareTo(begin) == 0
+                && x.getWindturbineId().equals(wt.getId())
+        ).collect(Collectors.toList());
+
+        summaryStatistics=pointls.stream().mapToDouble(ProEconCurveFittingSub::getDeviationRate1).summaryStatistics();
+        pewp.setR511mqxpcl(summaryStatistics.getAverage());
 
+        pointls=proEconCurveFittingSubService.list().stream().filter(x-> x.getSpeed() !=null
+                && Double.valueOf(x.getSpeed())>=11.0
+                && x.getRecordDate().compareTo(begin) == 0
+                && x.getWindturbineId().equals(wt.getId())
+        ).collect(Collectors.toList());
+
+        summaryStatistics=pointls.stream().mapToDouble(ProEconCurveFittingSub::getDeviationRate1).summaryStatistics();
+        pewp.setR11mycqxpcl(summaryStatistics.getAverage());
 //*******************************************日信息统计*********************************************************/
 
 //*******************************************月信息统计*********************************************************/
@@ -579,8 +608,36 @@ public class EquipmentInfo4Service {
                 pewp.setYgzxqjsl(100.0);
             }
 //**************************************************月三率统计****************************************************************/
+            List<ProEconCurveFittMonthSub> monthpointls=proEconCurveFittMonthSubService.list().stream().filter(x-> x.getSpeed() !=null
+                    && Double.valueOf(x.getSpeed())>=3.0
+                    && Double.valueOf(x.getSpeed())<5.0
+                    && x.getYear().equals(year)
+                    && x.getMonth().equals(month)
+                    && x.getWindturbineId().equals(wt.getId())
+            ).collect(Collectors.toList());
 
+            summaryStatistics=monthpointls.stream().mapToDouble(ProEconCurveFittMonthSub::getDeviationRate1).summaryStatistics();
+            pewp.setY35mqxpcl(summaryStatistics.getAverage());
+            monthpointls=proEconCurveFittMonthSubService.list().stream().filter(x-> x.getSpeed() !=null
+                    && Double.valueOf(x.getSpeed())>=5.0
+                    && Double.valueOf(x.getSpeed())<11.0
+                    && x.getYear().equals(year)
+                    && x.getMonth().equals(month)
+                    && x.getWindturbineId().equals(wt.getId())
+            ).collect(Collectors.toList());
+
+            summaryStatistics=monthpointls.stream().mapToDouble(ProEconCurveFittMonthSub::getDeviationRate1).summaryStatistics();
+            pewp.setY511mqxpcl(summaryStatistics.getAverage());
 
+            monthpointls=proEconCurveFittMonthSubService.list().stream().filter(x-> x.getSpeed() !=null
+                    && Double.valueOf(x.getSpeed())>=11.0
+                    && x.getYear().equals(year)
+                    && x.getMonth().equals(month)
+                    && x.getWindturbineId().equals(wt.getId())
+            ).collect(Collectors.toList());
+
+            summaryStatistics=monthpointls.stream().mapToDouble(ProEconCurveFittMonthSub::getDeviationRate1).summaryStatistics();
+            pewp.setY11mycqxpcl(summaryStatistics.getAverage());
         }
 
 
@@ -765,7 +822,33 @@ public class EquipmentInfo4Service {
                 pewp.setNgzxqjsl(100.0);
             }
 //**************************************************年三率统计****************************************************************/
+            List<ProEconCurveFittYearSub> yearpointls=proEconCurveFittYearSubService.list().stream().filter(x-> x.getSpeed() !=null
+                    && Double.valueOf(x.getSpeed())>=3.0
+                    && Double.valueOf(x.getSpeed())<5.0
+                    && x.getYear().equals(year)
+                    && x.getWindturbineId().equals(wt.getId())
+            ).collect(Collectors.toList());
+
+            summaryStatistics=yearpointls.stream().mapToDouble(ProEconCurveFittYearSub::getDeviationRate1).summaryStatistics();
+            pewp.setN35mqxpcl(summaryStatistics.getAverage());
+            yearpointls=proEconCurveFittYearSubService.list().stream().filter(x-> x.getSpeed() !=null
+                    && Double.valueOf(x.getSpeed())>=5.0
+                    && Double.valueOf(x.getSpeed())<11.0
+                    && x.getYear().equals(year)
+                    && x.getWindturbineId().equals(wt.getId())
+            ).collect(Collectors.toList());
+
+            summaryStatistics=yearpointls.stream().mapToDouble(ProEconCurveFittYearSub::getDeviationRate1).summaryStatistics();
+            pewp.setN511mqxpcl(summaryStatistics.getAverage());
+
+            yearpointls=proEconCurveFittYearSubService.list().stream().filter(x-> x.getSpeed() !=null
+                    && Double.valueOf(x.getSpeed())>=11.0
+                    && x.getYear().equals(year)
+                     && x.getWindturbineId().equals(wt.getId())
+            ).collect(Collectors.toList());
 
+            summaryStatistics=yearpointls.stream().mapToDouble(ProEconCurveFittYearSub::getDeviationRate1).summaryStatistics();
+            pewp.setN11mycqxpcl(summaryStatistics.getAverage());
         }
 
     }

+ 280 - 204
realtime/generationXK-service/src/main/java/com/gyee/generation/service/PowerCurveFittingByTimeService.java

@@ -70,8 +70,9 @@ public class PowerCurveFittingByTimeService {
 
         Date begin = DateUtils.addDays(end, -6);
 
-
-
+        proEconWtCurveFittingService.deleteProEconWtCurveFittingByDay(DateUtils.truncate(recordDate));
+        proEconCurveFittingMainService.deleteProEconCurveFittingMainByDay(DateUtils.truncate(recordDate));
+        proEconCurveFittingSubService.deleteProEconCurveFittingSubByDay(DateUtils.truncate(recordDate));
         Map<String, CureFittingVo> windMap = new HashMap<>();
 
         //初始化风机装机容量
@@ -160,6 +161,7 @@ public class PowerCurveFittingByTimeService {
         }
 
 
+        List<ProEconCurveFittingMain> mainls=new ArrayList<>();
         for (String key : windMap.keySet()) {
 
             Double modelpower = 1500.0;
@@ -254,22 +256,23 @@ public class PowerCurveFittingByTimeService {
             //日---实际/标杆实际
             cfmday.setStandardDeviationRate(pcl(windMap.get(key).getRsjglPoints(), dayStandardPoints, modelpower));
 
-
-            proEconCurveFittingMainService.save(cfmday);
+            mainls.add(cfmday);
+            //proEconCurveFittingMainService.save(cfmday);
             //*********************************************当日曲线偏差记录**********************************************************/
-            pLCBuild(key, recordDate, windMap, modelpower, 3, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints);
-            pLCBuild(key, recordDate, windMap, modelpower, 4, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints);
-            pLCBuild(key, recordDate, windMap, modelpower, 5, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints);
-            pLCBuild(key, recordDate, windMap, modelpower, 6, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints);
-            pLCBuild(key, recordDate, windMap, modelpower, 7, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints);
-            pLCBuild(key, recordDate, windMap, modelpower, 8, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints);
-            pLCBuild(key, recordDate, windMap, modelpower, 9, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints);
-            pLCBuild(key, recordDate, windMap, modelpower, 10, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints);
-            pLCBuild(key, recordDate, windMap, modelpower, 11, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints);
-            pLCBuild(key, recordDate, windMap, modelpower, 12, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints);
-            pLCBuild(key, recordDate, windMap, modelpower, 13, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints);
-
-
+            List<ProEconCurveFittingSub> subls=new ArrayList<>();
+            subls.add(pLCBuild(key, recordDate, windMap, modelpower, 3, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints));
+            subls.add(pLCBuild(key, recordDate, windMap, modelpower, 4, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints));
+            subls.add(pLCBuild(key, recordDate, windMap, modelpower, 5, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints));
+            subls.add(pLCBuild(key, recordDate, windMap, modelpower, 6, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints));
+            subls.add(pLCBuild(key, recordDate, windMap, modelpower, 7, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints));
+            subls.add(pLCBuild(key, recordDate, windMap, modelpower, 8, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints));
+            subls.add(pLCBuild(key, recordDate, windMap, modelpower, 9, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints));
+            subls.add(pLCBuild(key, recordDate, windMap, modelpower, 10, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints));
+            subls.add(pLCBuild(key, recordDate, windMap, modelpower, 11, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints));
+            subls.add(pLCBuild(key, recordDate, windMap, modelpower, 12, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints));
+            subls.add(pLCBuild(key, recordDate, windMap, modelpower, 13, bzglpowerPoints, dayLastMonthPoints, dayLastYearPoints, dayStandardPoints));
+
+            proEconCurveFittingSubService.saveBatch(subls);
 
             insertPoints(recordDate,  windMap.get(key).getRsjglPoints(), windMap.get(key).getRzyglPoints(), key);
 
@@ -279,9 +282,10 @@ public class PowerCurveFittingByTimeService {
 
 
         }
+        proEconCurveFittingMainService.saveBatch(mainls);
     }
 
-    public void cureFittingMonth(Date recordDate) throws Exception {
+    public void cureFittingMonth(Date recordDate,String type) throws Exception {
         //日期变为昨天
         Date end = DateUtils.addDays(DateUtils.truncate(recordDate), -1);
 
@@ -290,6 +294,10 @@ public class PowerCurveFittingByTimeService {
         int day_year = c.get(Calendar.YEAR);
         int day_month = c.get(Calendar.MONTH) + 1;
 
+
+        proEconWtCurveFittingMonthService.deleteProEconWtCurveFittingByMonth(String.valueOf(day_year),String.valueOf(day_month));
+        proEconCurveFittMonthMainService.deleteProEconCurveFittMonthMainByMonth(String.valueOf(day_year),String.valueOf(day_month));
+        proEconCurveFittMonthSubService.deleteProEconCurveFittMonthSubByMonth(String.valueOf(day_year),String.valueOf(day_month));
         c.set(Calendar.DAY_OF_MONTH, 1);
         Date begin = c.getTime();
 
@@ -385,7 +393,7 @@ public class PowerCurveFittingByTimeService {
             windMap.get(key).setYzyglPoints(vos);
 
         }
-
+        List<ProEconCurveFittMonthMain> mainls=new ArrayList<>();
         for (String key : windMap.keySet()) {
 
             Double modelpower = 1500.0;
@@ -488,27 +496,31 @@ public class PowerCurveFittingByTimeService {
             //月---实际/标杆实际
             cfmmonth.setStandardDeviationRate(pcl(windMap.get(key).getYsjglPoints(), monthStandardPoints, modelpower));
 
-
-            proEconCurveFittMonthMainService.save(cfmmonth);
+            mainls.add(cfmmonth);
+           // proEconCurveFittMonthMainService.save(cfmmonth);
 
             //*********************************************当月曲线偏差记录**********************************************************/
-
-            pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 3, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints);
-            pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 4, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints);
-            pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 5, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints);
-            pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 6, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints);
-            pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 7, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints);
-            pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 8, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints);
-            pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 9, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints);
-            pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 10, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints);
-            pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 11, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints);
-            pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 12, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints);
-            pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 13, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints);
-
-
+            List<ProEconCurveFittMonthSub> subls=new ArrayList<>();
+            subls.add(pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 3, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints));
+            subls.add(pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 4, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints));
+            subls.add(pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 5, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints));
+            subls.add(pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 6, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints));
+            subls.add(pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 7, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints));
+            subls.add(pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 8, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints));
+            subls.add(pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 9, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints));
+            subls.add(pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 10, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints));
+            subls.add(pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 11, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints));
+            subls.add(pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 12, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints));
+            subls.add(pLCBuild(key, stringyear, stringmonth, windMap, modelpower, 13, bzglpowerPoints, monthLastMonthPoints, monthLastYearPoints, monthStandardPoints));
+
+            proEconCurveFittMonthSubService.saveBatch(subls);
             insertPoints(stringyear, stringmonth, windMap.get(key).getYsjglPoints(), windMap.get(key).getYzyglPoints(), key);
 
-            insertPoints2( windMap.get(key).getYsjglPoints(), windMap.get(key).getYzyglPoints(), key);
+            if(type.equals("1"))
+            {
+                insertPoints2( windMap.get(key).getYsjglPoints(), windMap.get(key).getYzyglPoints(), key);
+            }
+
 
             logger.info(key);
 //
@@ -516,7 +528,7 @@ public class PowerCurveFittingByTimeService {
 
 
         }
-
+        proEconCurveFittMonthMainService.saveBatch(mainls);
     }
 
 
@@ -530,6 +542,9 @@ public class PowerCurveFittingByTimeService {
         int day_year = c.get(Calendar.YEAR);
 
 
+        proEconWtCurveFittingYearService.deleteProEconWtCurveFittingByYear(String.valueOf(day_year));
+        proEconCurveFittYearMainService.deleteProEconCurveFittYearMainByYear(String.valueOf(day_year));
+        proEconCurveFittYearSubService.deleteProEconCurveFittYearSubByYear(String.valueOf(day_year));
         c.set(Calendar.DAY_OF_MONTH, 1);
         c.set(Calendar.MONTH, 0);
         Date begin = c.getTime();
@@ -608,21 +623,46 @@ public class PowerCurveFittingByTimeService {
             windMap.get(key).setNsjglPoints(new ArrayList<>());
             windMap.get(key).setNzyglPoints(new ArrayList<>());
 
-            if (windMap.get(key).getPointIdGL() == null || windMap.get(key).getPointIdFS() == null || windMap.get(key).getPointIdZT() == null) {
-                logger.info(key);
-                continue;
-            }
+//            if (windMap.get(key).getPointIdGL() == null || windMap.get(key).getPointIdFS() == null || windMap.get(key).getPointIdZT() == null) {
+//                logger.info(key);
+//                continue;
+//            }
 
 
             //拟合年功率曲线
-            curveFittingBuilder(begin, end, dimension, scale, windMap.get(key).getPointIdGL(), windMap.get(key).getPointIdFS(), windMap.get(key).getPointIdZT(), windMap.get(key).getNsjglPoints(), windMap.get(key).getNzyglPoints(), key);
-            List<PointVo> vos = windMap.get(key).getNsjglPoints().stream().filter(it -> it.getX() >= 0 && it.getX() <= 25).sorted(Comparator.comparing(PointVo::getX)).collect(Collectors.toList());
-            windMap.get(key).setNsjglPoints(vos);
-            vos = windMap.get(key).getNzyglPoints().stream().filter(it -> it.getX() >= 0 && it.getX() <= 25).sorted(Comparator.comparing(PointVo::getX)).collect(Collectors.toList());
-            windMap.get(key).setNzyglPoints(vos);
-        }
+          //  curveFittingBuilder(begin, end, dimension, scale, windMap.get(key).getPointIdGL(), windMap.get(key).getPointIdFS(), windMap.get(key).getPointIdZT(), windMap.get(key).getNsjglPoints(), windMap.get(key).getNzyglPoints(), key);
+
+            List<ProEconWtPowerCurveFitting> wtpowerls= proEconWtPowerCurveFittingService.list().stream().filter(i->i.getWindturbineId().equals(key)).sorted(Comparator.comparing(ProEconWtPowerCurveFitting::getSpeed)).collect(Collectors.toList());
+
+            List<PointVo> zyglls=new ArrayList<>();
+            List<PointVo> sjglls=new ArrayList<>();
+            if(!wtpowerls.isEmpty())
+            {
+
+                for(ProEconWtPowerCurveFitting wtp:wtpowerls)
+                {
+                    PointVo zyvo=new PointVo();
+                    zyvo.setX(wtp.getSpeed());
+                    zyvo.setY(wtp.getOptimalPower());
+                    zyglls.add(zyvo);
+
+                    PointVo sjvo=new PointVo();
+                    sjvo.setX(wtp.getSpeed());
+                    sjvo.setY(wtp.getActualPower());
+                    sjglls.add(sjvo);
+                }
+            }
+//            List<PointVo> vos = windMap.get(key).getNsjglPoints().stream().filter(it -> it.getX() >= 0 && it.getX() <= 25).sorted(Comparator.comparing(PointVo::getX)).collect(Collectors.toList());
+//            windMap.get(key).setNsjglPoints(vos);
+//            vos = windMap.get(key).getNzyglPoints().stream().filter(it -> it.getX() >= 0 && it.getX() <= 25).sorted(Comparator.comparing(PointVo::getX)).collect(Collectors.toList());
+//            windMap.get(key).setNzyglPoints(vos);
 
 
+            windMap.get(key).setNsjglPoints(sjglls);
+            windMap.get(key).setNzyglPoints(zyglls);
+        }
+
+        List<ProEconCurveFittYearMain> mainls=new ArrayList<>();
         for (String key : windMap.keySet()) {
 
             Double modelpower = 1500.0;
@@ -722,24 +762,24 @@ public class PowerCurveFittingByTimeService {
             //年---实际/标杆实际
             cfmyear.setStandardDeviationRate(pcl(windMap.get(key).getNsjglPoints(), yearStandardPoints, modelpower));
 
-
-            proEconCurveFittYearMainService.save(cfmyear);
+            mainls.add(cfmyear);
+           // proEconCurveFittYearMainService.save(cfmyear);
 
 //*********************************************当年曲线偏差记录**********************************************************/
-
-            pLCBuild(key, stringyear, windMap, modelpower, 3, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints);
-            pLCBuild(key, stringyear, windMap, modelpower, 4, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints);
-            pLCBuild(key, stringyear, windMap, modelpower, 5, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints);
-            pLCBuild(key, stringyear, windMap, modelpower, 6, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints);
-            pLCBuild(key, stringyear, windMap, modelpower, 7, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints);
-            pLCBuild(key, stringyear, windMap, modelpower, 8, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints);
-            pLCBuild(key, stringyear, windMap, modelpower, 9, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints);
-            pLCBuild(key, stringyear, windMap, modelpower, 10, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints);
-            pLCBuild(key, stringyear, windMap, modelpower, 11, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints);
-            pLCBuild(key, stringyear, windMap, modelpower, 12, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints);
-            pLCBuild(key, stringyear, windMap, modelpower, 13, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints);
-
-
+            List<ProEconCurveFittYearSub> subls=new ArrayList<>();
+            subls.add(pLCBuild(key, stringyear, windMap, modelpower, 3, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints));
+            subls.add(pLCBuild(key, stringyear, windMap, modelpower, 4, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints));
+            subls.add(pLCBuild(key, stringyear, windMap, modelpower, 5, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints));
+            subls.add(pLCBuild(key, stringyear, windMap, modelpower, 6, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints));
+            subls.add(pLCBuild(key, stringyear, windMap, modelpower, 7, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints));
+            subls.add(pLCBuild(key, stringyear, windMap, modelpower, 8, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints));
+            subls.add(pLCBuild(key, stringyear, windMap, modelpower, 9, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints));
+            subls.add(pLCBuild(key, stringyear, windMap, modelpower, 10, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints));
+            subls.add(pLCBuild(key, stringyear, windMap, modelpower, 11, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints));
+            subls.add(pLCBuild(key, stringyear, windMap, modelpower, 12, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints));
+            subls.add(pLCBuild(key, stringyear, windMap, modelpower, 13, bzglpowerPoints, yearLastMonthPoints, yearLastYearPoints, yearStandardPoints));
+
+            proEconCurveFittYearSubService.saveBatch(subls);
             insertPoints(stringyear, windMap.get(key).getNsjglPoints(), windMap.get(key).getNzyglPoints(), key);
 
             logger.info(key);
@@ -748,10 +788,11 @@ public class PowerCurveFittingByTimeService {
 
 
         }
+        proEconCurveFittYearMainService.saveBatch(mainls);
     }
 
 
-    public void pLCBuild(String key, Date current, Map<String, CureFittingVo> windMap, Double modelpower, double speed,
+    public ProEconCurveFittingSub pLCBuild(String key, Date current, Map<String, CureFittingVo> windMap, Double modelpower, double speed,
                          List<PointVo> bzglpowerPoints, List<PointVo> lastMonthPoints, List<PointVo> lastYearPoints, List<PointVo> lastStandardPoints
     ) {
 
@@ -788,11 +829,13 @@ public class PowerCurveFittingByTimeService {
         //日---实际/标杆实际
         cfms.setStandardDeviationRate(pcl2(windMap.get(key).getRsjglPoints(), lastStandardPoints, modelpower, speed));
 
-        proEconCurveFittingSubService.save(cfms);
+        return cfms;
+
+        //proEconCurveFittingSubService.save(cfms);
 //*********************************************当日曲线偏差子表记录**********************************************************/
     }
 
-    public void pLCBuild(String key, String stringyear, String stringmonth, Map<String, CureFittingVo> windMap, Double modelpower, double speed,
+    public ProEconCurveFittMonthSub pLCBuild(String key, String stringyear, String stringmonth, Map<String, CureFittingVo> windMap, Double modelpower, double speed,
                          List<PointVo> bzglpowerPoints, List<PointVo> lastMonthPoints, List<PointVo> lastYearPoints, List<PointVo> lastStandardPoints
     ) {
         String speedStr = String.valueOf(speed);
@@ -833,11 +876,13 @@ public class PowerCurveFittingByTimeService {
         //月---实际/标杆实际
         cfmsmonth.setStandardDeviationRate(pcl2(windMap.get(key).getYsjglPoints(), lastStandardPoints, modelpower, speed));
 
-        proEconCurveFittMonthSubService.save(cfmsmonth);
+//        proEconCurveFittMonthSubService.save(cfmsmonth);
+
+        return cfmsmonth;
 //*********************************************当月曲线偏差子表记录**********************************************************/
     }
 
-    public void pLCBuild(String key, String stringyear, Map<String, CureFittingVo> windMap, Double modelpower, double speed,
+    public ProEconCurveFittYearSub pLCBuild(String key, String stringyear, Map<String, CureFittingVo> windMap, Double modelpower, double speed,
                          List<PointVo> bzglpowerPoints, List<PointVo> lastMonthPoints, List<PointVo> lastYearPoints, List<PointVo> lastStandardPoints
     ) {
         String speedStr = String.valueOf(speed);
@@ -861,7 +906,7 @@ public class PowerCurveFittingByTimeService {
         cfmsyear.setYear(stringyear);
         cfmsyear.setSpeed(String.valueOf(speed));
 
-        proEconCurveFittYearSubService.save(cfmsyear);
+       // proEconCurveFittYearSubService.save(cfmsyear);
 
         //年---实际/最优
         cfmsyear.setDeviationRate1(pcl2(windMap.get(key).getYsjglPoints(), windMap.get(key).getYzyglPoints(), modelpower, speed));
@@ -876,7 +921,8 @@ public class PowerCurveFittingByTimeService {
         //年---实际/标杆实际
         cfmsyear.setStandardDeviationRate(pcl2(windMap.get(key).getYsjglPoints(), lastStandardPoints, modelpower, speed));
 
-        proEconCurveFittYearSubService.save(cfmsyear);
+//        proEconCurveFittYearSubService.save(cfmsyear);
+        return cfmsyear;
 //*********************************************当年曲线偏差子表记录**********************************************************/
     }
 
@@ -884,14 +930,15 @@ public class PowerCurveFittingByTimeService {
     private void insertPoints(Date current, List<PointVo> sjglls, List<PointVo> zyglls, String windturbineId) {
 
         //*********************************************当日曲线偏差记录**********************************************************/
-        List<Long> wtcfidls = proEconWtCurveFittingService.list().stream().filter(i -> i.getWindturbineId().equals(windturbineId) &&
-                i.getRecordDate().compareTo(current) == 0).map(ProEconWtCurveFitting::getId).collect(Collectors.toList());
-
-
-        for (int i = 0; i < wtcfidls.size(); i++) {
-            proEconWtCurveFittingService.removeByIds(wtcfidls);
-        }
+//        List<Long> wtcfidls = proEconWtCurveFittingService.list().stream().filter(i -> i.getWindturbineId().equals(windturbineId) &&
+//                i.getRecordDate().compareTo(current) == 0).map(ProEconWtCurveFitting::getId).collect(Collectors.toList());
+//
+//
+//        for (int i = 0; i < wtcfidls.size(); i++) {
+//            proEconWtCurveFittingService.removeByIds(wtcfidls);
+//        }
 
+        List<ProEconWtCurveFitting> wtcfls=new ArrayList<>();
         if (sjglls.size() == zyglls.size()) {
             for (int i = 0; i < sjglls.size(); i++) {
                 ProEconWtCurveFitting item = new ProEconWtCurveFitting();
@@ -916,7 +963,8 @@ public class PowerCurveFittingByTimeService {
                     item.setOptimalPower(zyglls.get(i).getY());
                     item.setRecordDate(DateUtils.truncate(current));
 
-                    proEconWtCurveFittingService.save(item);
+                    wtcfls.add(item);
+                    //proEconWtCurveFittingService.save(item);
 
                 }
 
@@ -953,26 +1001,29 @@ public class PowerCurveFittingByTimeService {
 
                     item.setActualPower(sjglls.get(i).getY());
                     item.setRecordDate(current);
-                    proEconWtCurveFittingService.save(item);
+                    wtcfls.add(item);
+                    //proEconWtCurveFittingService.save(item);
                 }
 
             }
             //*********************************************当日曲线偏差记录**********************************************************/
         }
+        proEconWtCurveFittingService.saveBatch(wtcfls);
+
     }
 
 
     private void insertPoints(String year, String month, List<PointVo> sjglls, List<PointVo> zyglls, String windturbineId) {
 
         //*********************************************当月曲线偏差记录**********************************************************/
-        List<Long> wtcfmmonthidls = proEconWtCurveFittingMonthService.list().stream().filter(i -> i.getWindturbineId().equals(windturbineId) &&
-                i.getYear().equals(year) && i.getMonth().equals(month)).map(ProEconWtCurveFittingMonth::getId).collect(Collectors.toList());
-
-
-        for (int i = 0; i < wtcfmmonthidls.size(); i++) {
-            proEconWtCurveFittingMonthService.removeByIds(wtcfmmonthidls);
-        }
-
+//        List<Long> wtcfmmonthidls = proEconWtCurveFittingMonthService.list().stream().filter(i -> i.getWindturbineId().equals(windturbineId) &&
+//                i.getYear().equals(year) && i.getMonth().equals(month)).map(ProEconWtCurveFittingMonth::getId).collect(Collectors.toList());
+//
+//
+//        for (int i = 0; i < wtcfmmonthidls.size(); i++) {
+//            proEconWtCurveFittingMonthService.removeByIds(wtcfmmonthidls);
+//        }
+        List<ProEconWtCurveFittingMonth> wtcfls=new ArrayList<>();
         if (sjglls.size() == zyglls.size()) {
             for (int i = 0; i < sjglls.size(); i++) {
                 ProEconWtCurveFittingMonth item = new ProEconWtCurveFittingMonth();
@@ -991,8 +1042,8 @@ public class PowerCurveFittingByTimeService {
                     item.setOptimalPower(zyglls.get(i).getY());
                     item.setYear(String.valueOf(year));
                     item.setMonth(String.valueOf(month));
-
-                    proEconWtCurveFittingMonthService.save(item);
+                    wtcfls.add(item);
+                   // proEconWtCurveFittingMonthService.save(item);
                 }
 
             }
@@ -1026,26 +1077,26 @@ public class PowerCurveFittingByTimeService {
 
                     item.setYear(String.valueOf(year));
                     item.setMonth(String.valueOf(month));
-
-                    proEconWtCurveFittingMonthService.save(item);
+                    wtcfls.add(item);
+                    //proEconWtCurveFittingMonthService.save(item);
                 }
 
             }
         }
         //*********************************************当月曲线偏差记录**********************************************************/
 
-
+        proEconWtCurveFittingMonthService.saveBatch(wtcfls);
     }
 
     private void insertPoints(String year,  List<PointVo> sjglls, List<PointVo> zyglls, String windturbineId) {
         //*********************************************当年曲线偏差记录**********************************************************/
-        List<Long> wtcfmyearidls = proEconWtCurveFittingYearService.list().stream().filter(i -> i.getWindturbineId().equals(windturbineId) &&
-                i.getYear().equals(year)).map(ProEconWtCurveFittingYear::getId).collect(Collectors.toList());
-
-        for (int i = 0; i < wtcfmyearidls.size(); i++) {
-            proEconWtCurveFittingYearService.removeByIds(wtcfmyearidls);
-        }
-
+//        List<Long> wtcfmyearidls = proEconWtCurveFittingYearService.list().stream().filter(i -> i.getWindturbineId().equals(windturbineId) &&
+//                i.getYear().equals(year)).map(ProEconWtCurveFittingYear::getId).collect(Collectors.toList());
+//
+//        for (int i = 0; i < wtcfmyearidls.size(); i++) {
+//            proEconWtCurveFittingYearService.removeByIds(wtcfmyearidls);
+//        }
+        List<ProEconWtCurveFittingYear> wtcfls=new ArrayList<>();
         if (sjglls.size() == zyglls.size()) {
             for (int i = 0; i < sjglls.size(); i++) {
                 ProEconWtCurveFittingYear item = new ProEconWtCurveFittingYear();
@@ -1063,8 +1114,8 @@ public class PowerCurveFittingByTimeService {
                     item.setActualPower(sjglls.get(i).getY());
                     item.setOptimalPower(zyglls.get(i).getY());
                     item.setYear(String.valueOf(year));
-
-                    proEconWtCurveFittingYearService.save(item);
+                    wtcfls.add(item);
+                   // proEconWtCurveFittingYearService.save(item);
                 }
 
             }
@@ -1097,26 +1148,31 @@ public class PowerCurveFittingByTimeService {
                     }
 
                     item.setYear(String.valueOf(year));
-
-                    proEconWtCurveFittingYearService.save(item);
+                    wtcfls.add(item);
+                    //proEconWtCurveFittingYearService.save(item);
                 }
 
             }
         }
         //*********************************************当年曲线偏差记录**********************************************************/
 
-
+        proEconWtCurveFittingYearService.saveBatch(wtcfls);
     }
     private void insertPoints2(List<PointVo> monthSjglls, List<PointVo> monthZyglls, String windturbineId) {
 
 
-        List<Integer> wtpcfidls = proEconWtPowerCurveFittingService.list().stream().filter(i -> i.getWindturbineId().equals(windturbineId)).map(ProEconWtPowerCurveFitting::getId).collect(Collectors.toList());
-
+//        List<Integer> wtpcfidls = proEconWtPowerCurveFittingService.list()
+//                .stream().filter(i -> i.getWindturbineId().equals(windturbineId))
+//                .map(ProEconWtPowerCurveFitting::getId).collect(Collectors.toList());
+//
+//
+//        for (int i = 0; i < wtpcfidls.size(); i++) {
+//            proEconWtPowerCurveFittingService.removeByIds(wtpcfidls);
+//        }
 
-        for (int i = 0; i < wtpcfidls.size(); i++) {
-            proEconWtPowerCurveFittingService.removeByIds(wtpcfidls);
-        }
+        proEconWtPowerCurveFittingService.deleteProEconWtPowerCurveFitting();
 
+        List<ProEconWtPowerCurveFitting> wtcfls=new ArrayList<>();
         if (monthSjglls.size() == monthZyglls.size()) {
             for (int i = 0; i < monthSjglls.size(); i++) {
                 ProEconWtPowerCurveFitting item = new ProEconWtPowerCurveFitting();
@@ -1141,8 +1197,8 @@ public class PowerCurveFittingByTimeService {
                     item.setActualPower(monthSjglls.get(i).getY());
                     item.setOptimalPower(monthZyglls.get(i).getY());
 
-
-                    proEconWtPowerCurveFittingService.save(item);
+                    wtcfls.add(item);
+                    //proEconWtPowerCurveFittingService.save(item);
                 }
 
             }
@@ -1180,12 +1236,14 @@ public class PowerCurveFittingByTimeService {
                         item.setOptimalPower(0.0);
                     }
 
-
-                    proEconWtPowerCurveFittingService.save(item);
+                    wtcfls.add(item);
+                    //proEconWtPowerCurveFittingService.save(item);
                 }
 
             }
         }
+
+        proEconWtPowerCurveFittingService.saveBatch(wtcfls);
     }
 
     private void yearBuildPoints(List<ProEconWtCurveFittingYear> data, List<PointVo> points) {
@@ -1284,97 +1342,115 @@ public class PowerCurveFittingByTimeService {
     }
 
     //todo-sl 添加数据筛选
-    private boolean filterData(PointData gl, PointData fs, PointData zt, double maxvalue, String windturbineId) throws Exception {
-//        if (StringUtils.notEmp(gl)) {
-//            //判定功率是否超过最大值
-//            if (gl.getPointValueInDouble() > maxvalue) {
-//                return false;
-//            }
-//        }
-//
-//        if (StringUtils.notEmp(fs)) {
-//            //判定功率是否超过最大值
-//            if (fs.getPointValueInDouble() > 25) {
-//                return false;
-//            }
-//        }
-//
-//        //判定状态不为运行的进行过滤
-//        if (zt.getPointValueInDouble() != 2) {
-//            return false;
-//        }
-//
-//
-//        //设置时间为10分钟前,10钟前有停机事件数据进行过滤
-//        Calendar c = Calendar.getInstance();
-//        c.setTimeInMillis(zt.getPointTime());
-//        Date end = c.getTime();
-//        c.add(Calendar.MINUTE, -10);
-//        Date bedin = c.getTime();
-//        List<PointData> points = edosUtil.getHistoryDatasSnap(zt.getEdnaId(), bedin.getTime() / 1000, end.getTime() / 1000);
-//        if (!points.isEmpty()) {
-//            for (PointData p : points) {
-//                if (p.getPointValueInDouble() == 4) {
-//
-//                    return false;
-//                }
-//
-//            }
-//
-//        }
-//
-//        //设置时间为10分钟后,运行后10分钟数据进行过滤
-//        c = Calendar.getInstance();
-//        c.setTimeInMillis(zt.getPointTime());
-//        bedin = c.getTime();
-//        c.add(Calendar.MINUTE, 10);
-//        end = c.getTime();
-//        points = edosUtil.getHistoryDatasSnap(zt.getEdnaId(), bedin.getTime() / 1000, end.getTime() / 1000);
-//        if (!points.isEmpty()) {
-//            for (PointData p : points) {
-//                if (p.getPointValueInDouble() != 2) {
-//                    return false;
-//
-//                }
-//
-//            }
-//
-//        }
-//        Map<String, Map<String, ProBasicEquipmentPoint>> wtpAimap = CacheContext.wtpAimap;
-//        Map<String, ProBasicEquipmentPoint> wtpointmap = wtpAimap.get(windturbineId);
-//        //与保证功率进行对比,偏差大于25%的进行过滤
-//        List<String> pointid = new ArrayList<>();
-//
-//        pointid.add(wtpointmap.get(ContantXk.BZGL).getNemCode());
-//        List<PointData> value = edosUtil.getHistMatrix(pointid, gl.getPointTime() / 1000);
-//
-//
-//        if (null != value && value.size() > 0) {
-//            double bzgl = value.get(0).getPointValueInDouble();
-//            double sjgl = gl.getPointValueInDouble();
-//
-//            double temp = Math.abs(sjgl - bzgl);
-//            if (temp > sjgl * 0.25) {
-//                return false;
-//            }
-//        }
-//
-//        //欠发状态大于2过滤掉
-//        pointid = new ArrayList<>();
-//
-//        pointid.add(wtpointmap.get(ContantXk.LSQFZT).getNemCode());
-//        value = edosUtil.getHistMatrix(pointid, gl.getPointTime() / 1000);
-//        if (null != value && value.size() > 0) {
-//            double qfzt = value.get(0).getPointValueInDouble();
-//
-//            return !(qfzt > 2);
-//        }
+    private boolean filterData(PointData gl, PointData fs, PointData zt, double maxPower,double maxSpeed, String windturbineId) throws Exception {
+        if (StringUtils.notEmp(gl)) {
+            //判定功率是否超过最大值
+            if (gl.getPointValueInDouble() > maxPower) {
+                return false;
+            }
+        }
+
+        if (StringUtils.notEmp(fs)) {
+            //判定功率是否超过最大值
+            if (fs.getPointValueInDouble() > maxSpeed) {
+                return false;
+            }
+        }
+
+        //判定状态不为运行的进行过滤
+        if (zt.getPointValueInDouble() != 2) {
+            return false;
+        }
+
+
+        //设置时间为10分钟前,10钟前有停机事件数据进行过滤
+        Calendar c = Calendar.getInstance();
+        c.setTimeInMillis(zt.getPointTime());
+        Date end = c.getTime();
+        c.add(Calendar.MINUTE, -10);
+        Date bedin = c.getTime();
+        List<PointData> points = edosUtil.getHistoryDatasSnap(zt.getEdnaId(), bedin.getTime() / 1000, end.getTime() / 1000);
+        if (!points.isEmpty()) {
+            for (PointData p : points) {
+                if (p.getPointValueInDouble() == 4) {
+
+                    return false;
+                }
+
+            }
+
+        }
+
+        //设置时间为10分钟后,运行后10分钟数据进行过滤
+
+        points = edosUtil.getHistoryDatasSnap(zt.getEdnaId(), bedin.getTime() / 1000, end.getTime() / 1000);
+        if (!points.isEmpty()) {
+            for (PointData p : points) {
+                if (p.getPointValueInDouble() != 2) {
+                    return false;
+
+                }
+
+            }
+
+        }
+
+
+        Map<String, Map<String, ProBasicEquipmentPoint>> wtpAimap = CacheContext.wtpAimap;
+        Map<String, ProBasicEquipmentPoint> wtpointmap = wtpAimap.get(windturbineId);
+
+
+        List<PointVo> bzPointls=new ArrayList<>();
+        List<PointVo> sjPointls=new ArrayList<>();
+
+        double modelpower=0.0;
+        if (CacheContext.wtmap.containsKey(windturbineId)) {
+            String modelid = CacheContext.wtmap.get(windturbineId).getModelId();
+            if (StringUtils.notEmp(modelid)) {
+                //获取保证功率曲线中的风速和功率
+                if (CacheContext.theoreticalPowerMap.containsKey(modelid)) {
+                    Map<Double,ProBasicModelPowerRd> theoreticalMap= CacheContext.theoreticalPowerMap.get(modelid);
+
+                    PointVo point = new PointVo();
+                    double speed=StringUtils.round(fs.getPointValueInDouble(),2);
+                    point.setX(speed);
+                    point.setY(theoreticalMap.get(speed).getEnsurePower());
+                    modelpower=point.getY();
+                    bzPointls.add(point);
+                }
+            }
+        }
+
+        PointVo point = new PointVo();
+        double speed=StringUtils.round(fs.getPointValueInDouble(),2);
+        double power=StringUtils.round(gl.getPointValueInDouble(),2);
+        point.setX(speed);
+        point.setY(power);
+        sjPointls.add(point);
+
+        //与保证功率进行对比,偏差大于25%的进行过滤
+        double value= pcl2( sjPointls, bzPointls, modelpower, speed);
+
+        if (value > Math.abs(0.25)) {
+            return false;
+        }
+
+        List<String> pointid = new ArrayList<>();
+        //欠发状态大于2过滤掉
+        pointid.add(wtpointmap.get(ContantXk.LSQFZT).getNemCode());
+        List<PointData> values = edosUtil.getHistMatrix(pointid, gl.getPointTime() / 1000);
+        if (null != values && values.size() > 0) {
+            double qfzt = values.get(0).getPointValueInDouble();
+
+            return !(qfzt > 2);
+        }
         return true;
     }
 
     //功率曲线拟合
     public void curveFittingBuilder(Date begin, Date end, int dimension, double scale, String pointIdGL, String pointIdFS, String pointIdZT, List<PointVo> sjglPoints, List<PointVo> zyglPoints, String windturbineId) throws Exception {
         double maxPower = windturbineCapacity.get(windturbineId) * 1.3;
+        double maxSpeed = 25;
         List<PointfVo> sjglnhpoints = new ArrayList<>();
         Map<Double, PointfVo> zyglnhpoints = new HashMap<>();
 
@@ -1390,7 +1466,7 @@ public class PowerCurveFittingByTimeService {
                 List<PointData> ztpoints = new ArrayList<>();
                 if (!glpointstemp.isEmpty() && !fspointstemp.isEmpty() && !ztpointstemp.isEmpty() && glpointstemp.size() == fspointstemp.size() && fspointstemp.size() == ztpointstemp.size()) {
                     for (int i = 0; i < glpointstemp.size(); i++) {
-                        if (filterData(glpointstemp.get(i), fspointstemp.get(i), ztpointstemp.get(i), maxPower, windturbineId)) {
+                        if (filterData(glpointstemp.get(i), fspointstemp.get(i), ztpointstemp.get(i), maxPower,maxSpeed, windturbineId)) {
                             glpoints.add(glpointstemp.get(i));
                             fspoints.add(fspointstemp.get(i));
                             ztpoints.add(ztpointstemp.get(i));
@@ -1525,11 +1601,11 @@ public class PowerCurveFittingByTimeService {
                 sjglnhpoints.add(new PointfVo(0.0, 0.0));
 
                 sjglnhpoints = sjglnhpoints.stream().filter(it -> it.getX() >= 3).sorted(Comparator.comparing(PointfVo::getX)).collect(Collectors.toList());
-                if (sjglnhpoints.stream().min(Comparator.comparing(PointfVo::getX)).isPresent()) {
-                    double  Xmax = sjglnhpoints.stream().max(Comparator.comparing(PointfVo::getX)).get().getX();
-                    double  Ymax = sjglnhpoints.stream().max(Comparator.comparing(PointfVo::getX)).get().getY();
-                    System.out.println("");
-                }
+//                if (sjglnhpoints.stream().min(Comparator.comparing(PointfVo::getX)).isPresent()) {
+//                    double  Xmax = sjglnhpoints.stream().max(Comparator.comparing(PointfVo::getX)).get().getX();
+//                    double  Ymax = sjglnhpoints.stream().max(Comparator.comparing(PointfVo::getX)).get().getY();
+//                    System.out.println("");
+//                }
 
                 List<PointVo> temp = LineUtil.buildLine(sjglnhpoints.stream().mapToDouble(PointfVo::getX).toArray(), sjglnhpoints.stream().mapToDouble(PointfVo::getY).toArray(), sjglnhpoints.size(), dimension, scale);
 

+ 1 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittMonthMainService.java

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProEconCurveFittMonthMainService extends IService<ProEconCurveFittMonthMain> {
 
+    public int deleteProEconCurveFittMonthMainByMonth(String year, String month);
 }

+ 1 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittMonthSubService.java

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProEconCurveFittMonthSubService extends IService<ProEconCurveFittMonthSub> {
 
+    public int deleteProEconCurveFittMonthSubByMonth(String year, String month);
 }

+ 1 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittYearMainService.java

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProEconCurveFittYearMainService extends IService<ProEconCurveFittYearMain> {
 
+    public int deleteProEconCurveFittYearMainByYear(String year);
 }

+ 1 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittYearSubService.java

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProEconCurveFittYearSubService extends IService<ProEconCurveFittYearSub> {
 
+    public int deleteProEconCurveFittYearSubByYear(String year);
 }

+ 3 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittingMainService.java

@@ -3,6 +3,8 @@ package com.gyee.generation.service.auto;
 import com.gyee.generation.model.auto.ProEconCurveFittingMain;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Date;
+
 /**
  * <p>
  * 风电机拟合曲线主表 服务类
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProEconCurveFittingMainService extends IService<ProEconCurveFittingMain> {
 
+    public int deleteProEconCurveFittingMainByDay(Date recodedate);
 }

+ 3 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconCurveFittingSubService.java

@@ -3,6 +3,8 @@ package com.gyee.generation.service.auto;
 import com.gyee.generation.model.auto.ProEconCurveFittingSub;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Date;
+
 /**
  * <p>
  * 风电机拟合曲线子表 服务类
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProEconCurveFittingSubService extends IService<ProEconCurveFittingSub> {
 
+    public int deleteProEconCurveFittingSubByDay(Date recodedate);
 }

+ 2 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconWtCurveFittingMonthService.java

@@ -1,7 +1,7 @@
 package com.gyee.generation.service.auto;
 
-import com.gyee.generation.model.auto.ProEconWtCurveFittingMonth;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.generation.model.auto.ProEconWtCurveFittingMonth;
 
 /**
  * <p>
@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProEconWtCurveFittingMonthService extends IService<ProEconWtCurveFittingMonth> {
 
+    public int deleteProEconWtCurveFittingByMonth(String year, String month);
 }

+ 4 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconWtCurveFittingService.java

@@ -1,7 +1,9 @@
 package com.gyee.generation.service.auto;
 
-import com.gyee.generation.model.auto.ProEconWtCurveFitting;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.generation.model.auto.ProEconWtCurveFitting;
+
+import java.util.Date;
 
 /**
  * <p>
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProEconWtCurveFittingService extends IService<ProEconWtCurveFitting> {
 
+    public int deleteProEconWtCurveFittingByDay(Date recodedate);
 }

+ 2 - 1
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconWtCurveFittingYearService.java

@@ -1,7 +1,7 @@
 package com.gyee.generation.service.auto;
 
-import com.gyee.generation.model.auto.ProEconWtCurveFittingYear;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.generation.model.auto.ProEconWtCurveFittingYear;
 
 /**
  * <p>
@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProEconWtCurveFittingYearService extends IService<ProEconWtCurveFittingYear> {
 
+    public int deleteProEconWtCurveFittingByYear(String year);
 }

+ 1 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/IProEconWtPowerCurveFittingService.java

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProEconWtPowerCurveFittingService extends IService<ProEconWtPowerCurveFitting> {
 
+    public int deleteProEconWtPowerCurveFitting();
 }

+ 11 - 2
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittMonthMainServiceImpl.java

@@ -1,11 +1,13 @@
 package com.gyee.generation.service.auto.impl;
 
-import com.gyee.generation.model.auto.ProEconCurveFittMonthMain;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.generation.mapper.auto.ProEconCurveFittMonthMainMapper;
+import com.gyee.generation.model.auto.ProEconCurveFittMonthMain;
 import com.gyee.generation.service.auto.IProEconCurveFittMonthMainService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 风电机月拟合曲线主表 服务实现类
@@ -17,4 +19,11 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProEconCurveFittMonthMainServiceImpl extends ServiceImpl<ProEconCurveFittMonthMainMapper, ProEconCurveFittMonthMain> implements IProEconCurveFittMonthMainService {
 
+    @Resource
+    private ProEconCurveFittMonthMainMapper proEconCurveFittMonthMainMapper;
+    @Override
+    public int deleteProEconCurveFittMonthMainByMonth(String year, String month) {
+
+        return proEconCurveFittMonthMainMapper.deleteProEconCurveFittMonthSubByMonth(year,month);
+    }
 }

+ 11 - 2
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittMonthSubServiceImpl.java

@@ -1,11 +1,13 @@
 package com.gyee.generation.service.auto.impl;
 
-import com.gyee.generation.model.auto.ProEconCurveFittMonthSub;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.generation.mapper.auto.ProEconCurveFittMonthSubMapper;
+import com.gyee.generation.model.auto.ProEconCurveFittMonthSub;
 import com.gyee.generation.service.auto.IProEconCurveFittMonthSubService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 风电机月拟合曲线子表 服务实现类
@@ -17,4 +19,11 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProEconCurveFittMonthSubServiceImpl extends ServiceImpl<ProEconCurveFittMonthSubMapper, ProEconCurveFittMonthSub> implements IProEconCurveFittMonthSubService {
 
+    @Resource
+    private ProEconCurveFittMonthSubMapper proEconCurveFittMonthSubMapper;
+    @Override
+    public int deleteProEconCurveFittMonthSubByMonth(String year, String month) {
+
+        return proEconCurveFittMonthSubMapper.deleteProEconCurveFittMonthSubByMonth(year,month);
+    }
 }

+ 10 - 2
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittYearMainServiceImpl.java

@@ -1,11 +1,13 @@
 package com.gyee.generation.service.auto.impl;
 
-import com.gyee.generation.model.auto.ProEconCurveFittYearMain;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.generation.mapper.auto.ProEconCurveFittYearMainMapper;
+import com.gyee.generation.model.auto.ProEconCurveFittYearMain;
 import com.gyee.generation.service.auto.IProEconCurveFittYearMainService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 风电机年拟合曲线主表 服务实现类
@@ -17,4 +19,10 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProEconCurveFittYearMainServiceImpl extends ServiceImpl<ProEconCurveFittYearMainMapper, ProEconCurveFittYearMain> implements IProEconCurveFittYearMainService {
 
+    @Resource
+    private ProEconCurveFittYearMainMapper proEconCurveFittYearMainMapper;
+    @Override
+    public int deleteProEconCurveFittYearMainByYear(String year) {
+        return proEconCurveFittYearMainMapper.deleteProEconCurveFittYearMainByYear(year);
+    }
 }

+ 10 - 2
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittYearSubServiceImpl.java

@@ -1,11 +1,13 @@
 package com.gyee.generation.service.auto.impl;
 
-import com.gyee.generation.model.auto.ProEconCurveFittYearSub;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.generation.mapper.auto.ProEconCurveFittYearSubMapper;
+import com.gyee.generation.model.auto.ProEconCurveFittYearSub;
 import com.gyee.generation.service.auto.IProEconCurveFittYearSubService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 风电机年拟合曲线子表 服务实现类
@@ -17,4 +19,10 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProEconCurveFittYearSubServiceImpl extends ServiceImpl<ProEconCurveFittYearSubMapper, ProEconCurveFittYearSub> implements IProEconCurveFittYearSubService {
 
+    @Resource
+    private ProEconCurveFittYearSubMapper proEconCurveFittYearSubMapper;
+    @Override
+    public int deleteProEconCurveFittYearSubByYear(String year) {
+        return proEconCurveFittYearSubMapper.deleteProEconCurveFittYearSubByYear(year);
+    }
 }

+ 13 - 2
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittingMainServiceImpl.java

@@ -1,11 +1,14 @@
 package com.gyee.generation.service.auto.impl;
 
-import com.gyee.generation.model.auto.ProEconCurveFittingMain;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.generation.mapper.auto.ProEconCurveFittingMainMapper;
+import com.gyee.generation.model.auto.ProEconCurveFittingMain;
 import com.gyee.generation.service.auto.IProEconCurveFittingMainService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
+
 /**
  * <p>
  * 风电机拟合曲线主表 服务实现类
@@ -17,4 +20,12 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProEconCurveFittingMainServiceImpl extends ServiceImpl<ProEconCurveFittingMainMapper, ProEconCurveFittingMain> implements IProEconCurveFittingMainService {
 
+
+    @Resource
+    private ProEconCurveFittingMainMapper proEconCurveFittingMainMapper;
+
+    @Override
+    public int deleteProEconCurveFittingMainByDay(Date recodedate) {
+        return  proEconCurveFittingMainMapper.deleteProEconCurveFittingMainByDay(recodedate);
+    }
 }

+ 13 - 2
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconCurveFittingSubServiceImpl.java

@@ -1,11 +1,14 @@
 package com.gyee.generation.service.auto.impl;
 
-import com.gyee.generation.model.auto.ProEconCurveFittingSub;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.generation.mapper.auto.ProEconCurveFittingSubMapper;
+import com.gyee.generation.model.auto.ProEconCurveFittingSub;
 import com.gyee.generation.service.auto.IProEconCurveFittingSubService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
+
 /**
  * <p>
  * 风电机拟合曲线子表 服务实现类
@@ -17,4 +20,12 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProEconCurveFittingSubServiceImpl extends ServiceImpl<ProEconCurveFittingSubMapper, ProEconCurveFittingSub> implements IProEconCurveFittingSubService {
 
+
+    @Resource
+    private ProEconCurveFittingSubMapper proEconCurveFittingSubMapper;
+
+    @Override
+    public int deleteProEconCurveFittingSubByDay(Date recodedate) {
+        return  proEconCurveFittingSubMapper.deleteProEconCurveFittingSubByDay(recodedate);
+    }
 }

+ 10 - 2
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconWtCurveFittingMonthServiceImpl.java

@@ -1,11 +1,13 @@
 package com.gyee.generation.service.auto.impl;
 
-import com.gyee.generation.model.auto.ProEconWtCurveFittingMonth;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.generation.mapper.auto.ProEconWtCurveFittingMonthMapper;
+import com.gyee.generation.model.auto.ProEconWtCurveFittingMonth;
 import com.gyee.generation.service.auto.IProEconWtCurveFittingMonthService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 风电机月拟合曲线 服务实现类
@@ -16,5 +18,11 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class ProEconWtCurveFittingMonthServiceImpl extends ServiceImpl<ProEconWtCurveFittingMonthMapper, ProEconWtCurveFittingMonth> implements IProEconWtCurveFittingMonthService {
+    @Resource
+    private ProEconWtCurveFittingMonthMapper proEconWtCurveFittingMonthMapper;
+    @Override
+    public int deleteProEconWtCurveFittingByMonth(String year, String month) {
 
+        return proEconWtCurveFittingMonthMapper.deleteProEconWtCurveFittingByMonth(year,month);
+    }
 }

+ 11 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconWtCurveFittingServiceImpl.java

@@ -6,6 +6,9 @@ import com.gyee.generation.service.auto.IProEconWtCurveFittingService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
+
 /**
  * <p>
  * 风电机拟合曲线 服务实现类
@@ -17,4 +20,12 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProEconWtCurveFittingServiceImpl extends ServiceImpl<ProEconWtCurveFittingMapper, ProEconWtCurveFitting> implements IProEconWtCurveFittingService {
 
+
+    @Resource
+    private ProEconWtCurveFittingMapper proEconWtCurveFittingMapper;
+
+    @Override
+    public int deleteProEconWtCurveFittingByDay(Date recodedate) {
+        return  proEconWtCurveFittingMapper.deleteProEconWtCurveFittingByDay(recodedate);
+    }
 }

+ 10 - 3
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconWtCurveFittingYearServiceImpl.java

@@ -1,11 +1,13 @@
 package com.gyee.generation.service.auto.impl;
 
-import com.gyee.generation.model.auto.ProEconWtCurveFittingYear;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.generation.mapper.auto.ProEconWtCurveFittingYearMapper;
+import com.gyee.generation.model.auto.ProEconWtCurveFittingYear;
 import com.gyee.generation.service.auto.IProEconWtCurveFittingYearService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 风电机年拟合曲线 服务实现类
@@ -16,5 +18,10 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class ProEconWtCurveFittingYearServiceImpl extends ServiceImpl<ProEconWtCurveFittingYearMapper, ProEconWtCurveFittingYear> implements IProEconWtCurveFittingYearService {
-
+    @Resource
+    private ProEconWtCurveFittingYearMapper proEconWtCurveFittingYearMapper;
+    @Override
+    public int deleteProEconWtCurveFittingByYear(String year) {
+        return proEconWtCurveFittingYearMapper.deleteProEconWtCurveFittingByYear(year);
+    }
 }

+ 11 - 2
realtime/generationXK-service/src/main/java/com/gyee/generation/service/auto/impl/ProEconWtPowerCurveFittingServiceImpl.java

@@ -1,11 +1,13 @@
 package com.gyee.generation.service.auto.impl;
 
-import com.gyee.generation.model.auto.ProEconWtPowerCurveFitting;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.generation.mapper.auto.ProEconWtPowerCurveFittingMapper;
+import com.gyee.generation.model.auto.ProEconWtPowerCurveFitting;
 import com.gyee.generation.service.auto.IProEconWtPowerCurveFittingService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 风电机功率拟合曲线 服务实现类
@@ -17,4 +19,11 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProEconWtPowerCurveFittingServiceImpl extends ServiceImpl<ProEconWtPowerCurveFittingMapper, ProEconWtPowerCurveFitting> implements IProEconWtPowerCurveFittingService {
 
+    @Resource
+    private ProEconWtPowerCurveFittingMapper proEconWtPowerCurveFittingMapper;
+
+    @Override
+    public int deleteProEconWtPowerCurveFitting() {
+        return  proEconWtPowerCurveFittingMapper.deleteProEconWtPowerCurveFitting();
+    }
 }

+ 2 - 2
realtime/generationXK-service/src/main/resources/application-xk.yml

@@ -1,5 +1,5 @@
 server:
-  port: 7012
+  port: 7011
   servlet:
     context-path: /
 
@@ -34,7 +34,7 @@ spring:
   datasource:
     type: com.alibaba.druid.pool.DruidDataSource
     driver-class-name: org.postgresql.Driver
-    url: jdbc:postgresql://192.168.11.248:5432/IMS_NEM_TEST
+    url: jdbc:postgresql://192.168.11.248:5432/IMS_NEM_TEST?rewriteBatchedStatements=true
     username: postgres
     password: postgres
 #    url: jdbc:postgresql://120.46.148.180:5432/postgres

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

@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: dev
+    active: xk
 #    active: dev
 
 #    active: td