Explorar o código

Merge remote-tracking branch 'origin/master'

wangchangsheng %!s(int64=2) %!d(string=hai) anos
pai
achega
8556f1dc35
Modificáronse 24 ficheiros con 4567 adicións e 19 borrados
  1. 1 1
      web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/config/CacheContext.java
  2. 5 1
      web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicCompanyController.java
  3. 5 1
      web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicEquipmentController.java
  4. 5 1
      web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicLineController.java
  5. 5 1
      web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicPowerstationController.java
  6. 5 1
      web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicProjectController.java
  7. 5 1
      web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicRegionController.java
  8. 4 2
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/SingleAnalysisController.java
  9. 180 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/goodness/WindpowerDetailChartController.java
  10. 875 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/goodness/WindturbineDetailChartController.java
  11. 275 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/goodness/WindturbineDetailPieChartAController.java
  12. 331 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/goodness/WindturbineGoodnessDetailController.java
  13. 364 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/dto/DataVo.java
  14. 49 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/dto/SawVo.java
  15. 62 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/dto/ValueObjVo.java
  16. 33 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/mapper/auto/ProEconWpwindDayInfoMapper.java
  17. 3 1
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/model/auto/ProEconWindturbineGoodness.java
  18. 642 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/model/auto/ProEconWpwindDayInfo.java
  19. 1172 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/WpwindDayInfoService.java
  20. 461 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/WtwindDayInfoService.java
  21. 33 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/IProEconWpwindDayInfoService.java
  22. 37 0
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/impl/ProEconWpwindDayInfoServiceImpl.java
  23. 13 7
      web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/singleanalysis/SingleAnalysisService.java
  24. 2 2
      web/runeconomy-xk/src/main/resources/application-yun.yml

+ 1 - 1
web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/config/CacheContext.java

@@ -231,7 +231,7 @@ public class CacheContext implements CommandLineRunner {
     }
 
     /**
-     * 初始化线路数据
+     * 初始化风机数据
      */
     public void initEquipmentList(){
         //清理集合数据

+ 5 - 1
web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicCompanyController.java

@@ -3,11 +3,13 @@ package com.gyee.backconfig.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.gyee.backconfig.config.CacheContext;
 import com.gyee.backconfig.config.R;
 import com.gyee.backconfig.model.auto.ProBasicCompany;
 import com.gyee.backconfig.service.auto.IProBasicCompanyService;
 import com.gyee.common.model.StringUtils;
 import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -28,7 +30,8 @@ import java.util.List;
 public class ProBasicCompanyController {
     @Resource
     private IProBasicCompanyService proBasicCompanyService;
-
+    @Autowired
+    private CacheContext cacheContext;
     /**
      * 查询
      *
@@ -96,6 +99,7 @@ public class ProBasicCompanyController {
 
         boolean b = proBasicCompanyService.saveOrUpdate(company);
         if (b) {
+            cacheContext.initCompanyList();
             return R.ok().data(b);
         } else {
             return R.error().data("保存失败!");

+ 5 - 1
web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicEquipmentController.java

@@ -2,11 +2,13 @@ package com.gyee.backconfig.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.gyee.backconfig.config.CacheContext;
 import com.gyee.backconfig.config.R;
 import com.gyee.backconfig.model.auto.ProBasicEquipment;
 import com.gyee.backconfig.service.auto.IProBasicEquipmentService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -26,7 +28,8 @@ import java.util.Arrays;
 public class ProBasicEquipmentController {
     @Resource
     private IProBasicEquipmentService proBasicWindturbineService;
-
+    @Autowired
+    private CacheContext cacheContext;
     /**
      * 查询
      * @param id
@@ -73,6 +76,7 @@ public class ProBasicEquipmentController {
 
         boolean b = proBasicWindturbineService.saveOrUpdate(proBasicWindpowerstation);
         if (b) {
+            cacheContext.initEquipmentList();
             return R.ok().data(b);
         } else {
             return R.error().data("保存失败!");

+ 5 - 1
web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicLineController.java

@@ -2,11 +2,13 @@ package com.gyee.backconfig.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.gyee.backconfig.config.CacheContext;
 import com.gyee.backconfig.config.R;
 import com.gyee.backconfig.model.auto.ProBasicLine;
 import com.gyee.backconfig.service.auto.IProBasicLineService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -26,7 +28,8 @@ import java.util.Arrays;
 public class ProBasicLineController {
     @Resource
     private IProBasicLineService proBasicLineService;
-
+    @Autowired
+    private CacheContext cacheContext;
     /**
      * 查询
      * @param id
@@ -65,6 +68,7 @@ public class ProBasicLineController {
     public R addModifyProjectPlan(@RequestBody ProBasicLine proBasicLine){
         boolean saveOrUpdate = proBasicLineService.saveOrUpdate(proBasicLine);
         if (saveOrUpdate) {
+            cacheContext.initLineList();
             return R.ok().data("保存或更新成功");
         }else{
             return R.error().message("保存失败");

+ 5 - 1
web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicPowerstationController.java

@@ -2,12 +2,14 @@ package com.gyee.backconfig.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.gyee.backconfig.config.CacheContext;
 import com.gyee.backconfig.config.R;
 import com.gyee.backconfig.model.auto.ProBasicPowerstation;
 import com.gyee.backconfig.service.auto.IProBasicPowerstationService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -27,7 +29,8 @@ import java.util.Arrays;
 public class ProBasicPowerstationController {
     @Resource
     private IProBasicPowerstationService proBasicWindpowerstationService;
-
+    @Autowired
+    private CacheContext cacheContext;
     /**
      * 查询
      *
@@ -70,6 +73,7 @@ public class ProBasicPowerstationController {
 
         boolean b = proBasicWindpowerstationService.saveOrUpdate(proBasicWindpowerstation);
         if (b) {
+            cacheContext.initPowerstationList();
             return R.ok().data(b);
         } else {
             return R.error().data("保存失败!");

+ 5 - 1
web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicProjectController.java

@@ -2,11 +2,13 @@ package com.gyee.backconfig.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.gyee.backconfig.config.CacheContext;
 import com.gyee.backconfig.config.R;
 import com.gyee.backconfig.model.auto.ProBasicProject;
 import com.gyee.backconfig.service.auto.IProBasicProjectService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -26,7 +28,8 @@ import java.util.Arrays;
 public class ProBasicProjectController {
     @Resource
     private IProBasicProjectService proBasicProjectService;
-
+    @Autowired
+    private CacheContext cacheContext;
     /**
      * 查询
      * @param id
@@ -66,6 +69,7 @@ public class ProBasicProjectController {
 
         boolean b = proBasicProjectService.saveOrUpdate(proBasicProject);
         if (b){
+            cacheContext.initProjectList();
             return R.ok().data(b);
         }else {
             return R.error().data("保存失败!");

+ 5 - 1
web/backmanagerconfig-xktj/src/main/java/com/gyee/backconfig/controller/ProBasicRegionController.java

@@ -2,11 +2,13 @@ package com.gyee.backconfig.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.gyee.backconfig.config.CacheContext;
 import com.gyee.backconfig.config.R;
 import com.gyee.backconfig.model.auto.ProBasicRegion;
 import com.gyee.backconfig.service.auto.IProBasicRegionService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -26,7 +28,8 @@ import java.util.Arrays;
 public class ProBasicRegionController {
     @Resource
     private IProBasicRegionService proBasicRegionService;
-
+    @Autowired
+    private CacheContext cacheContext;
     /**
      * 查询
      *
@@ -67,6 +70,7 @@ public class ProBasicRegionController {
 
         boolean b = proBasicRegionService.saveOrUpdate(proBasicRegion);
         if (b) {
+            cacheContext.initSegionList();
             return R.ok().data(b);
         } else {
             return R.error().data("保存失败!");

+ 4 - 2
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/SingleAnalysisController.java

@@ -42,6 +42,7 @@ public class SingleAnalysisController {
 
     public R singleanalysisMain(Integer pageNum, Integer pageSize,String cmId,String type, String wpId, String year, String month) throws Exception {
 
+        Map<String,Object> map=new HashMap<>();
         List<SingleAnalysisVo> vos =new ArrayList<>();
 
         if (StringUtils.notEmp(wpId) && StringUtils.notEmp(year) && StringUtils.notEmp(month)) {
@@ -63,11 +64,12 @@ public class SingleAnalysisController {
             }
 
 
-            vos =singleAnalysisService.SingleAnalysisList(pageNum, pageSize,cmId,type, wpId,recordDate);
+            map =singleAnalysisService.SingleAnalysisList(pageNum, pageSize,cmId,type, wpId,recordDate);
+
 
         }
 
-        return R.data(ResultMsg.ok(vos));
+        return R.data(ResultMsg.ok(map));
 
     }
 

+ 180 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/goodness/WindpowerDetailChartController.java

@@ -0,0 +1,180 @@
+package com.gyee.runeconomy.controller.goodness;
+
+import com.gyee.runeconomy.dto.R;
+import com.gyee.runeconomy.dto.ResultMsg;
+import com.gyee.runeconomy.service.WpwindDayInfoService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 风场风资源图表
+ */
+@Controller
+@RequestMapping("/goodness")
+@Api(value = "风场风资源图表", tags = "风场风资源图表")
+public class WindpowerDetailChartController {
+   
+    @Resource
+    private WpwindDayInfoService wpwindDayInfoService;
+    
+
+    /*
+     * 风场日最大风速
+     */
+    @GetMapping("/wprzdfs")
+    @ResponseBody
+    @ApiOperation(value = "风场日最大风速", notes = "风场日最大风速")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wpId", value = "风场编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R wprzdfs(String wpId, String recorddate) {
+
+        Map<String, Object> map = new HashMap<String, Object>();
+
+        map = wpwindDayInfoService.wprzdfs(wpId, recorddate);
+
+
+        if (null != map) {
+            return R.data(ResultMsg.ok(map));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+    /*
+     * 风场月最大风速
+     */
+    @GetMapping("/wpyzdfs")
+    @ResponseBody
+    @ApiOperation(value = "风场月最大风速", notes = "风场月最大风速")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wpId", value = "风场编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R wpyzdfs(String wpId, String recorddate) {
+
+        Map<String, Object> map = new HashMap<String, Object>();
+
+        map = wpwindDayInfoService.wpyzdfs(wpId, recorddate);
+
+
+        if (null != map) {
+            return R.data(ResultMsg.ok(map));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+
+    /*
+     * 风场年最大风速
+     */
+    @GetMapping("/wpnzdfs")
+    @ResponseBody
+    @ApiOperation(value = "风场年最大风速", notes = "风场年最大风速")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wpId", value = "风场编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R wpnzdfs(String wpId, String recorddate) {
+
+        Map<String, Object> map = new HashMap<String, Object>();
+
+        map = wpwindDayInfoService.wpnzdfs(wpId, recorddate);
+
+
+        if (null != map) {
+            return R.data(ResultMsg.ok(map));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+
+    /*
+     * 风场日风向频率
+     */
+    @GetMapping("/wprfxpl")
+    @ResponseBody
+    @ApiOperation(value = "风场日风向频率", notes = "风场日风向频率")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wpId", value = "风场编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R wprfxpl(String wpId, String recorddate) {
+        Map<String, Object> map = new HashMap<String, Object>();
+
+        map = wpwindDayInfoService.wprfxpl(wpId, recorddate);
+
+
+        if (null != map) {
+            return R.data(ResultMsg.ok(map));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+
+    /*
+     * 风场月风向频率
+     */
+    @GetMapping("/wpyfxpl")
+    @ResponseBody
+    @ApiOperation(value = "风场月风向频率", notes = "风场月风向频率")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wpId", value = "风场编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R wpyfxpl(String wpId, String recorddate) {
+        Map<String, Object> map = new HashMap<String, Object>();
+
+
+        map = wpwindDayInfoService.wpyfxpl(wpId, recorddate);
+
+
+        if (null != map) {
+            return R.data(ResultMsg.ok(map));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+    /*
+     * 风场年风向频率
+     */
+    @GetMapping("/wpnfxpl")
+    @ResponseBody
+    @ApiOperation(value = "风场年风向频率", notes = "风场年风向频率")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wpId", value = "风场编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R wpnfxpl(String wpId, String recorddate) {
+        Map<String, Object> map = new HashMap<String, Object>();
+
+
+        map = wpwindDayInfoService.wpnfxpl(wpId, recorddate);
+
+
+        if (null != map) {
+            return R.data(ResultMsg.ok(map));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+}
+
+
+
+
+}

+ 875 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/goodness/WindturbineDetailChartController.java

@@ -0,0 +1,875 @@
+//package com.gyee.runeconomy.controller.goodness;
+//
+//import com.gyee.common.util.DateUtils;
+//import com.gyee.common.vo.benchmark.ValueVo;
+//import com.gyee.frame.common.conf.AjaxStatus;
+//import com.gyee.runeconomy.dto.R;
+//import com.gyee.runeconomy.dto.ResultMsg;
+//import com.gyee.runeconomy.model.auto.ProEconWtwindDayInfo;
+//import com.gyee.runeconomy.service.WtwindDayInfoService;
+//import com.gyee.runeconomy.util.StringUtils;
+//import io.swagger.annotations.Api;
+//import io.swagger.annotations.ApiImplicitParam;
+//import io.swagger.annotations.ApiImplicitParams;
+//import io.swagger.annotations.ApiOperation;
+//import org.springframework.stereotype.Controller;
+//import org.springframework.web.bind.annotation.GetMapping;
+//import org.springframework.web.bind.annotation.RequestMapping;
+//import org.springframework.web.bind.annotation.ResponseBody;
+//
+//import javax.annotation.Resource;
+//import java.util.*;
+//
+///**
+// * 风机风资源图表
+// */
+//@Controller
+//@RequestMapping("/goodness")
+//@Api(value = "风机风资源图表",tags =  "风机风资源图表")
+//public class WindturbineDetailChartController {
+//
+//    @Resource
+//    private WtwindDayInfoService wtwindDayInfoService;
+//
+//
+//
+//    /*
+//     * 风机日最大风速
+//     */
+//    @GetMapping("/wtrzdfs")
+//    @ResponseBody
+//    @ApiOperation(value = "风机日最大风速", notes = "风机日最大风速")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+//            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+//
+//    public R wtrzdfs(String wtId, String recorddate) {
+//        Map<String, Object> map = new HashMap<String, Object>();
+//        List<ValueVo> vos = new ArrayList<ValueVo>();
+//
+//        wtwindDayInfoService.rzdfs(wtId, recorddate, map, vos);
+//
+//
+//        if (null != map) {
+//            return R.data(ResultMsg.ok(map));
+//        } else {
+//            return R.data(ResultMsg.error());
+//        }
+//    }
+//
+//
+//
+//
+//    /*
+//     * 风机月最大风速
+//     */
+//    @GetMapping("/wtyzdfs")
+//    @ResponseBody
+//    @ApiOperation(value = "风机月最大风速", notes = "风机月最大风速")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+//            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+//
+//    public R wtyzdfs(String wtId, String recorddate) {
+//        Map<String, Object> map = new HashMap<String, Object>();
+//        List<ValueVo> vos = new ArrayList<ValueVo>();
+//        wtwindDayInfoService.yzdfs(wtId, recorddate, map, vos);
+//
+//        if (null != map) {
+//            return R.data(ResultMsg.ok(map));
+//        } else {
+//            return R.data(ResultMsg.error());
+//        }
+//    }
+//
+//
+//
+//    /*
+//     * 风机年最大风速
+//     */
+//    @GetMapping("/wtnzdfs")
+//    @ResponseBody
+//    @ApiOperation(value = "风机年最大风速", notes = "风机年最大风速")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+//            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+//
+//    public R wtnzdfs(String wtId, String recorddate) {
+//        Map<String, Object> map = new HashMap<String, Object>();
+//        List<ValueVo> vos = new ArrayList<ValueVo>();
+//        if (StringUtils.notEmp(recorddate) && StringUtils.notEmp(wtId)) {
+//
+//            Date date = DateUtils.parseDate(recorddate);
+//
+//            List<ProEconWtwindDayInfo> wtdls = wtwindDayInfoService.fzy(wtId, date);
+//
+//            if (!wtdls.isEmpty()) {
+//
+//                ProEconWtwindDayInfo winfo = wtdls.get(0);
+//                int cb = (int) wtdls.get(0).getCb().intValue();
+//                int cd = (int) wtdls.get(0).getCd().intValue();
+//                int cg = (int) wtdls.get(0).getCg().intValue();
+//
+//                jfplday = "静风频率为" + cb;
+//                jfplmonth = "静风频率为" + cd;
+//                jfplyear = "静风频率为" + cg;
+//                for (int i = 0; i < 16; i++) {
+//                    ValueVo vo = new ValueVo();
+//
+//                    double temp1=0.0;
+//                    double temp2=0.0;
+//                    double temp3=0.0;
+//                    switch (i) {
+//                        case 0:
+//                            temp1=null !=winfo.getN16()?winfo.getN16():0.0;
+//                            temp2=null !=winfo.getN13()?winfo.getN13():0.0;
+//                            temp3=null !=winfo.getN14()?winfo.getN14():0.0;
+//
+//                            vo.setName("N" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 1:
+//                            temp1=null !=winfo.getNne16()?winfo.getNne16():0.0;
+//                            temp2=null !=winfo.getNne13()?winfo.getNne13():0.0;
+//                            temp3=null !=winfo.getNne14()?winfo.getNne14():0.0;
+//
+//                            vo.setName("NNE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 2:
+//                            temp1=null !=winfo.getNe16()?winfo.getNe16():0.0;
+//                            temp2=null !=winfo.getNe13()?winfo.getNe13():0.0;
+//                            temp3=null !=winfo.getNe14()?winfo.getNe14():0.0;
+//
+//                            vo.setName("NE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 3:
+//                            temp1=null !=winfo.getEne16()?winfo.getEne16():0.0;
+//                            temp2=null !=winfo.getEne13()?winfo.getEne13():0.0;
+//                            temp3=null !=winfo.getEne14()?winfo.getEne14():0.0;
+//
+//                            vo.setName("ENE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//
+//                            break;
+//                        case 4:
+//                            temp1=null !=winfo.getE16()?winfo.getE16():0.0;
+//                            temp2=null !=winfo.getE13()?winfo.getE13():0.0;
+//                            temp3=null !=winfo.getE14()?winfo.getE14():0.0;
+//
+//                            vo.setName("E(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 5:
+//                            temp1=null !=winfo.getEse16()?winfo.getEse16():0.0;
+//                            temp2=null !=winfo.getEse13()?winfo.getEse13():0.0;
+//                            temp3=null !=winfo.getEse14()?winfo.getEse14():0.0;
+//                            vo.setName("ESE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 6:
+//                            temp1=null !=winfo.getSe16()?winfo.getSe16():0.0;
+//                            temp2=null !=winfo.getSe13()?winfo.getSe13():0.0;
+//                            temp3=null !=winfo.getSe14()?winfo.getSe14():0.0;
+//
+//                            vo.setName("SE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 7:
+//                            temp1=null !=winfo.getSse16()?winfo.getSse16():0.0;
+//                            temp2=null !=winfo.getSse13()?winfo.getSse13():0.0;
+//                            temp3=null !=winfo.getSse14()?winfo.getSse14():0.0;
+//                            vo.setName("SSE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 8:
+//                            temp1=null !=winfo.getS16()?winfo.getS16():0.0;
+//                            temp2=null !=winfo.getS13()?winfo.getS13():0.0;
+//                            temp3=null !=winfo.getS14()?winfo.getS14():0.0;
+//                            vo.setName("S(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 9:
+//                            temp1=null !=winfo.getSsw16()?winfo.getSsw16():0.0;
+//                            temp2=null !=winfo.getSsw13()?winfo.getSsw13():0.0;
+//                            temp3=null !=winfo.getSsw14()?winfo.getSsw14():0.0;
+//
+//                            vo.setName("SSW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 10:
+//                            temp1=null !=winfo.getSw16()?winfo.getSw16():0.0;
+//                            temp2=null !=winfo.getSw13()?winfo.getSw13():0.0;
+//                            temp3=null !=winfo.getSw14()?winfo.getSw14():0.0;
+//
+//                            vo.setName("SW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 11:
+//                            temp1=null !=winfo.getWsw16()?winfo.getWsw16():0.0;
+//                            temp2=null !=winfo.getWsw13()?winfo.getWsw13():0.0;
+//                            temp3=null !=winfo.getWsw14()?winfo.getWsw14():0.0;
+//
+//                            vo.setName("WSW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 12:
+//                            temp1=null !=winfo.getW16()?winfo.getW16():0.0;
+//                            temp2=null !=winfo.getW13()?winfo.getW13():0.0;
+//                            temp3=null !=winfo.getW14()?winfo.getW14():0.0;
+//
+//                            vo.setName("W(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 13:
+//                            temp1=null !=winfo.getWnw16()?winfo.getWnw16():0.0;
+//                            temp2=null !=winfo.getWnw13()?winfo.getWnw13():0.0;
+//                            temp3=null !=winfo.getWnw14()?winfo.getWnw14():0.0;
+//
+//                            vo.setName("WNW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 14:
+//                            temp1=null !=winfo.getNw16()?winfo.getNw16():0.0;
+//                            temp2=null !=winfo.getNw13()?winfo.getNw13():0.0;
+//                            temp3=null !=winfo.getNw14()?winfo.getNw14():0.0;
+//
+//                            vo.setName("NW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 15:
+//                            temp1=null !=winfo.getNnw16()?winfo.getNnw16():0.0;
+//                            temp2=null !=winfo.getNnw13()?winfo.getNnw13():0.0;
+//                            temp3=null !=winfo.getNnw14()?winfo.getNnw14():0.0;
+//
+//                            vo.setName("NNW" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//
+//
+//                        default:
+//                            break;
+//                    }
+//
+//                    vos.add(vo);
+//
+//                }
+//
+//            }
+//
+//            map.put("jfpl", jfplyear);
+//            map.put("data", vos);
+//
+//        }
+//
+//        if (map != null) {
+//            return R.successData(AjaxStatus.success.code, map);
+//        } else {
+//            return R.successData(AjaxStatus.success.code, map);
+//        }
+//    }
+//
+//
+//    /*
+//     * 风机日风向频率
+//     */
+//    @GetMapping("/wtrfxpl")
+//    @ResponseBody
+//    @ApiOperation(value = "风机日风向频率", notes = "风机日风向频率")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+//            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+//
+//    public R wtrfxpl(String wtId, String recorddate) {
+//        Map<String, Object> map = new HashMap<String, Object>();
+//        List<ValueVo> vos = new ArrayList<ValueVo>();
+//        if (StringUtils.notEmp(recorddate) && StringUtils.notEmp(wtId)) {
+//
+//            Date date = DateUtils.parseDate(recorddate);
+//
+//            List<ProEconWtwindDayInfo> wtdls = wtwindDayInfoService.fzy(wtId, date);
+//
+//            if (!wtdls.isEmpty()) {
+//
+//                ProEconWtwindDayInfo winfo = wtdls.get(0);
+//                int cb = (int) wtdls.get(0).getCb().intValue();
+//                int cd = (int) wtdls.get(0).getCd().intValue();
+//                int cg = (int) wtdls.get(0).getCg().intValue();
+//
+//                jfplday = "静风频率为" + cb;
+//                jfplmonth = "静风频率为" + cd;
+//                jfplyear = "静风频率为" + cg;
+//                for (int i = 0; i < 16; i++) {
+//                    ValueVo vo = new ValueVo();
+//
+//                    double temp1=0.0;
+//                    double temp2=0.0;
+//                    double temp3=0.0;
+//                    switch (i) {
+//                        case 0:
+//                            temp1=null !=winfo.getN4()?winfo.getN4():0.0;
+//                            temp2=null !=winfo.getN()?winfo.getN():0.0;
+//                            temp3=null !=winfo.getN4()?winfo.getN4():0.0;
+//
+//                            vo.setName("N" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 1:
+//                            temp1=null !=winfo.getNne4()?winfo.getNne4():0.0;
+//                            temp2=null !=winfo.getNne()?winfo.getNne():0.0;
+//                            temp3=null !=winfo.getNne4()?winfo.getNne4():0.0;
+//
+//                            vo.setName("NNE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 2:
+//                            temp1=null !=winfo.getNe4()?winfo.getNe4():0.0;
+//                            temp2=null !=winfo.getNe()?winfo.getNe():0.0;
+//                            temp3=null !=winfo.getNe4()?winfo.getNe4():0.0;
+//
+//                            vo.setName("NE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 3:
+//                            temp1=null !=winfo.getEne4()?winfo.getEne4():0.0;
+//                            temp2=null !=winfo.getEne()?winfo.getEne():0.0;
+//                            temp3=null !=winfo.getEne4()?winfo.getEne4():0.0;
+//
+//                            vo.setName("ENE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//
+//                            break;
+//
+//                        case 4:
+//                            temp1=null !=winfo.getE4()?winfo.getE4():0.0;
+//                            temp2=null !=winfo.getE()?winfo.getE():0.0;
+//                            temp3=null !=winfo.getE4()?winfo.getE4():0.0;
+//
+//                            vo.setName("E(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 5:
+//                            temp1=null !=winfo.getEse4()?winfo.getEse4():0.0;
+//                            temp2=null !=winfo.getEse()?winfo.getEse():0.0;
+//                            temp3=null !=winfo.getEse4()?winfo.getEse4():0.0;
+//                            vo.setName("ESE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 6:
+//                            temp1=null !=winfo.getSe4()?winfo.getSe4():0.0;
+//                            temp2=null !=winfo.getSe()?winfo.getSe():0.0;
+//                            temp3=null !=winfo.getSe4()?winfo.getSe4():0.0;
+//
+//                            vo.setName("SE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 7:
+//                            temp1=null !=winfo.getSse4()?winfo.getSse4():0.0;
+//                            temp2=null !=winfo.getSse()?winfo.getSse():0.0;
+//                            temp3=null !=winfo.getSse4()?winfo.getSse4():0.0;
+//                            vo.setName("SSE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 8:
+//                            temp1=null !=winfo.getS4()?winfo.getS4():0.0;
+//                            temp2=null !=winfo.getS()?winfo.getS():0.0;
+//                            temp3=null !=winfo.getS4()?winfo.getS4():0.0;
+//                            vo.setName("S(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 9:
+//                            temp1=null !=winfo.getSsw4()?winfo.getSsw4():0.0;
+//                            temp2=null !=winfo.getSsw()?winfo.getSsw():0.0;
+//                            temp3=null !=winfo.getSsw4()?winfo.getSsw4():0.0;
+//
+//                            vo.setName("SSW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 10:
+//                            temp1=null !=winfo.getSw4()?winfo.getSw4():0.0;
+//                            temp2=null !=winfo.getSw()?winfo.getSw():0.0;
+//                            temp3=null !=winfo.getSw4()?winfo.getSw4():0.0;
+//
+//                            vo.setName("SW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 11:
+//                            temp1=null !=winfo.getWsw4()?winfo.getWsw4():0.0;
+//                            temp2=null !=winfo.getWsw()?winfo.getWsw():0.0;
+//                            temp3=null !=winfo.getWsw4()?winfo.getWsw4():0.0;
+//
+//                            vo.setName("WSW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 12:
+//                            temp1=null !=winfo.getW4()?winfo.getW4():0.0;
+//                            temp2=null !=winfo.getW()?winfo.getW():0.0;
+//                            temp3=null !=winfo.getW4()?winfo.getW4():0.0;
+//
+//                            vo.setName("W(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 13:
+//                            temp1=null !=winfo.getWnw4()?winfo.getWnw4():0.0;
+//                            temp2=null !=winfo.getWnw()?winfo.getWnw():0.0;
+//                            temp3=null !=winfo.getWnw4()?winfo.getWnw4():0.0;
+//
+//                            vo.setName("WNW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 14:
+//                            temp1=null !=winfo.getNw4()?winfo.getNw4():0.0;
+//                            temp2=null !=winfo.getNw()?winfo.getNw():0.0;
+//                            temp3=null !=winfo.getNw4()?winfo.getNw4():0.0;
+//
+//                            vo.setName("NW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 15:
+//                            temp1=null !=winfo.getNnw4()?winfo.getNnw4():0.0;
+//                            temp2=null !=winfo.getNnw()?winfo.getNnw():0.0;
+//                            temp3=null !=winfo.getNnw4()?winfo.getNnw4():0.0;
+//
+//                            vo.setName("NNW" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//
+//                        default:
+//                            break;
+//                    }
+//
+//                    vos.add(vo);
+//
+//                }
+//
+//            }
+//
+//            map.put("jfpl", jfplday);
+//            map.put("data", vos);
+//
+//        }
+//
+//        if (map != null) {
+//            return R.successData(AjaxStatus.success.code, map);
+//        } else {
+//            return R.successData(AjaxStatus.success.code, map);
+//        }
+//    }
+//
+//
+//    /*
+//     * 风机月风向频率
+//     */
+//    @GetMapping("/wtyfxpl")
+//    @ResponseBody
+//    @ApiOperation(value = "风机月风向频率", notes = "风机月风向频率")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+//            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+//
+//    public R wtyfxpl(String wtId, String recorddate) {
+//        Map<String, Object> map = new HashMap<String, Object>();
+//        List<ValueVo> vos = new ArrayList<ValueVo>();
+//        if (StringUtils.notEmp(recorddate) && StringUtils.notEmp(wtId)) {
+//
+//            Date date = DateUtils.parseDate(recorddate);
+//
+//            List<ProEconWtwindDayInfo> wtdls = wtwindDayInfoService.fzy(wtId, date);
+//
+//            if (!wtdls.isEmpty()) {
+//
+//                ProEconWtwindDayInfo winfo = wtdls.get(0);
+//                int cb = (int) wtdls.get(0).getCb().intValue();
+//                int cd = (int) wtdls.get(0).getCd().intValue();
+//                int cg = (int) wtdls.get(0).getCg().intValue();
+//
+//                jfplday = "静风频率为" + cb;
+//                jfplmonth = "静风频率为" + cd;
+//                jfplyear = "静风频率为" + cg;
+//                for (int i = 0; i < 16; i++) {
+//                    ValueVo vo = new ValueVo();
+//                    double temp1=0.0;
+//                    double temp2=0.0;
+//                    double temp3=0.0;
+//                    switch (i) {
+//                        case 0:
+//                            temp1=null !=winfo.getN10()?winfo.getN10():0.0;
+//                            temp2=null !=winfo.getN7()?winfo.getN7():0.0;
+//                            temp3=null !=winfo.getN10()?winfo.getN10():0.0;
+//
+//                            vo.setName("N" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 1:
+//                            temp1=null !=winfo.getNne10()?winfo.getNne10():0.0;
+//                            temp2=null !=winfo.getNne7()?winfo.getNne7():0.0;
+//                            temp3=null !=winfo.getNne10()?winfo.getNne10():0.0;
+//
+//                            vo.setName("NNE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 2:
+//                            temp1=null !=winfo.getNe10()?winfo.getNe10():0.0;
+//                            temp2=null !=winfo.getNe7()?winfo.getNe7():0.0;
+//                            temp3=null !=winfo.getNe10()?winfo.getNe10():0.0;
+//
+//                            vo.setName("NE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 3:
+//                            temp1=null !=winfo.getEne10()?winfo.getEne10():0.0;
+//                            temp2=null !=winfo.getEne7()?winfo.getEne7():0.0;
+//                            temp3=null !=winfo.getEne10()?winfo.getEne10():0.0;
+//
+//                            vo.setName("ENE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//
+//                            break;
+//                        case 4:
+//                            temp1=null !=winfo.getE10()?winfo.getE10():0.0;
+//                            temp2=null !=winfo.getE7()?winfo.getE7():0.0;
+//                            temp3=null !=winfo.getE10()?winfo.getE10():0.0;
+//
+//                            vo.setName("E(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 5:
+//                            temp1=null !=winfo.getEse10()?winfo.getEse10():0.0;
+//                            temp2=null !=winfo.getEse7()?winfo.getEse7():0.0;
+//                            temp3=null !=winfo.getEse10()?winfo.getEse10():0.0;
+//                            vo.setName("ESE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 6:
+//                            temp1=null !=winfo.getSe10()?winfo.getSe10():0.0;
+//                            temp2=null !=winfo.getSe7()?winfo.getSe7():0.0;
+//                            temp3=null !=winfo.getSe10()?winfo.getSe10():0.0;
+//
+//                            vo.setName("SE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 7:
+//                            temp1=null !=winfo.getSse10()?winfo.getSse10():0.0;
+//                            temp2=null !=winfo.getSse7()?winfo.getSse7():0.0;
+//                            temp3=null !=winfo.getSse10()?winfo.getSse10():0.0;
+//                            vo.setName("SSE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 8:
+//                            temp1=null !=winfo.getS10()?winfo.getS10():0.0;
+//                            temp2=null !=winfo.getS7()?winfo.getS7():0.0;
+//                            temp3=null !=winfo.getS10()?winfo.getS10():0.0;
+//                            vo.setName("S(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 9:
+//                            temp1=null !=winfo.getSsw10()?winfo.getSsw10():0.0;
+//                            temp2=null !=winfo.getSsw7()?winfo.getSsw7():0.0;
+//                            temp3=null !=winfo.getSsw10()?winfo.getSsw10():0.0;
+//
+//                            vo.setName("SSW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 10:
+//                            temp1=null !=winfo.getSw10()?winfo.getSw10():0.0;
+//                            temp2=null !=winfo.getSw7()?winfo.getSw7():0.0;
+//                            temp3=null !=winfo.getSw10()?winfo.getSw10():0.0;
+//
+//                            vo.setName("SW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 11:
+//                            temp1=null !=winfo.getWsw10()?winfo.getWsw10():0.0;
+//                            temp2=null !=winfo.getWsw7()?winfo.getWsw7():0.0;
+//                            temp3=null !=winfo.getWsw10()?winfo.getWsw10():0.0;
+//
+//                            vo.setName("WSW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 12:
+//                            temp1=null !=winfo.getW10()?winfo.getW10():0.0;
+//                            temp2=null !=winfo.getW7()?winfo.getW7():0.0;
+//                            temp3=null !=winfo.getW10()?winfo.getW10():0.0;
+//
+//                            vo.setName("W(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 13:
+//                            temp1=null !=winfo.getWnw10()?winfo.getWnw10():0.0;
+//                            temp2=null !=winfo.getWnw7()?winfo.getWnw7():0.0;
+//                            temp3=null !=winfo.getWnw10()?winfo.getWnw10():0.0;
+//
+//                            vo.setName("WNW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 14:
+//                            temp1=null !=winfo.getNw10()?winfo.getNw10():0.0;
+//                            temp2=null !=winfo.getNw7()?winfo.getNw7():0.0;
+//                            temp3=null !=winfo.getNw10()?winfo.getNw10():0.0;
+//
+//                            vo.setName("NW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 15:
+//                            temp1=null !=winfo.getNnw10()?winfo.getNnw10():0.0;
+//                            temp2=null !=winfo.getNnw7()?winfo.getNnw7():0.0;
+//                            temp3=null !=winfo.getNnw10()?winfo.getNnw10():0.0;
+//
+//                            vo.setName("NNW" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//
+//
+//                        default:
+//                            break;
+//                    }
+//
+//                    vos.add(vo);
+//
+//                }
+//
+//            }
+//
+//            map.put("jfpl", jfplmonth);
+//            map.put("data", vos);
+//
+//        }
+//
+//        if (map != null) {
+//            return R.successData(AjaxStatus.success.code, map);
+//        } else {
+//            return R.successData(AjaxStatus.success.code, map);
+//        }
+//    }
+//
+//
+//    /*
+//     * 风机年风向频率
+//     */
+//    @GetMapping("/wtnfxpl")
+//    @ResponseBody
+//    @ApiOperation(value = "风机年风向频率", notes = "风机年风向频率")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+//            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+//
+//    public R wtnfxpl(String wtId, String recorddate) {
+//        Map<String, Object> map = new HashMap<String, Object>();
+//        List<ValueVo> vos = new ArrayList<ValueVo>();
+//        if (StringUtils.notEmp(recorddate) && StringUtils.notEmp(wtId)) {
+//
+//            Date date = DateUtils.parseDate(recorddate);
+//
+//            List<ProEconWtwindDayInfo> wtdls = wtwindDayInfoService.fzy(wtId, date);
+//
+//            if (!wtdls.isEmpty()) {
+//
+//                ProEconWtwindDayInfo winfo = wtdls.get(0);
+//                int cb = (int) wtdls.get(0).getCb().intValue();
+//                int cd = (int) wtdls.get(0).getCd().intValue();
+//                int cg = (int) wtdls.get(0).getCg().intValue();
+//
+//                jfplday = "静风频率为" + cb;
+//                jfplmonth = "静风频率为" + cd;
+//                jfplyear = "静风频率为" + cg;
+//                for (int i = 0; i < 16; i++) {
+//                    ValueVo vo = new ValueVo();
+//                    double temp1=0.0;
+//                    double temp2=0.0;
+//                    double temp3=0.0;
+//                    switch (i) {
+//                        case 0:
+//                            temp1=null !=winfo.getN16()?winfo.getN16():0.0;
+//                            temp2=null !=winfo.getN13()?winfo.getN13():0.0;
+//                            temp3=null !=winfo.getN16()?winfo.getN16():0.0;
+//
+//                            vo.setName("N" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 1:
+//                            temp1=null !=winfo.getNne16()?winfo.getNne16():0.0;
+//                            temp2=null !=winfo.getNne13()?winfo.getNne13():0.0;
+//                            temp3=null !=winfo.getNne16()?winfo.getNne16():0.0;
+//
+//                            vo.setName("NNE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 2:
+//                            temp1=null !=winfo.getNe16()?winfo.getNe16():0.0;
+//                            temp2=null !=winfo.getNe13()?winfo.getNe13():0.0;
+//                            temp3=null !=winfo.getNe16()?winfo.getNe16():0.0;
+//
+//                            vo.setName("NE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 3:
+//                            temp1=null !=winfo.getEne16()?winfo.getEne16():0.0;
+//                            temp2=null !=winfo.getEne13()?winfo.getEne13():0.0;
+//                            temp3=null !=winfo.getEne16()?winfo.getEne16():0.0;
+//
+//                            vo.setName("ENE" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//
+//                            break;
+//                        case 4:
+//                            temp1=null !=winfo.getE16()?winfo.getE16():0.0;
+//                            temp2=null !=winfo.getE13()?winfo.getE13():0.0;
+//                            temp3=null !=winfo.getE16()?winfo.getE16():0.0;
+//
+//                            vo.setName("E(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 5:
+//                            temp1=null !=winfo.getEse16()?winfo.getEse16():0.0;
+//                            temp2=null !=winfo.getEse13()?winfo.getEse13():0.0;
+//                            temp3=null !=winfo.getEse16()?winfo.getEse16():0.0;
+//                            vo.setName("ESE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 6:
+//                            temp1=null !=winfo.getSe16()?winfo.getSe16():0.0;
+//                            temp2=null !=winfo.getSe13()?winfo.getSe13():0.0;
+//                            temp3=null !=winfo.getSe16()?winfo.getSe16():0.0;
+//
+//                            vo.setName("SE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 7:
+//                            temp1=null !=winfo.getSse16()?winfo.getSse16():0.0;
+//                            temp2=null !=winfo.getSse13()?winfo.getSse13():0.0;
+//                            temp3=null !=winfo.getSse16()?winfo.getSse16():0.0;
+//                            vo.setName("SSE(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 8:
+//                            temp1=null !=winfo.getS16()?winfo.getS16():0.0;
+//                            temp2=null !=winfo.getS13()?winfo.getS13():0.0;
+//                            temp3=null !=winfo.getS16()?winfo.getS16():0.0;
+//                            vo.setName("S(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 9:
+//                            temp1=null !=winfo.getSsw16()?winfo.getSsw16():0.0;
+//                            temp2=null !=winfo.getSsw13()?winfo.getSsw13():0.0;
+//                            temp3=null !=winfo.getSsw16()?winfo.getSsw16():0.0;
+//
+//                            vo.setName("SSW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//                            break;
+//                        case 10:
+//                            temp1=null !=winfo.getSw16()?winfo.getSw16():0.0;
+//                            temp2=null !=winfo.getSw13()?winfo.getSw13():0.0;
+//                            temp3=null !=winfo.getSw16()?winfo.getSw16():0.0;
+//
+//                            vo.setName("SW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 11:
+//                            temp1=null !=winfo.getWsw16()?winfo.getWsw16():0.0;
+//                            temp2=null !=winfo.getWsw13()?winfo.getWsw13():0.0;
+//                            temp3=null !=winfo.getWsw16()?winfo.getWsw16():0.0;
+//
+//                            vo.setName("WSW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 12:
+//                            temp1=null !=winfo.getW16()?winfo.getW16():0.0;
+//                            temp2=null !=winfo.getW13()?winfo.getW13():0.0;
+//                            temp3=null !=winfo.getW16()?winfo.getW16():0.0;
+//
+//                            vo.setName("W(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 13:
+//                            temp1=null !=winfo.getWnw16()?winfo.getWnw16():0.0;
+//                            temp2=null !=winfo.getWnw13()?winfo.getWnw13():0.0;
+//                            temp3=null !=winfo.getWnw16()?winfo.getWnw16():0.0;
+//
+//                            vo.setName("WNW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 14:
+//                            temp1=null !=winfo.getNw16()?winfo.getNw16():0.0;
+//                            temp2=null !=winfo.getNw13()?winfo.getNw13():0.0;
+//                            temp3=null !=winfo.getNw16()?winfo.getNw16():0.0;
+//
+//                            vo.setName("NW(" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//                        case 15:
+//                            temp1=null !=winfo.getNnw16()?winfo.getNnw16():0.0;
+//                            temp2=null !=winfo.getNnw13()?winfo.getNnw13():0.0;
+//                            temp3=null !=winfo.getNnw16()?winfo.getNnw16():0.0;
+//
+//                            vo.setName("NNW" + temp1 + "/" + temp2 + ")");
+//                            vo.setData1(temp3);
+//
+//                            break;
+//
+//
+//                        default:
+//                            break;
+//                    }
+//
+//                    vos.add(vo);
+//
+//                }
+//
+//            }
+//
+//            map.put("jfpl", jfplyear);
+//            map.put("data", vos);
+//
+//        }
+//
+//        if (map != null) {
+//            return R.successData(AjaxStatus.success.code, map);
+//        } else {
+//            return R.successData(AjaxStatus.success.code, map);
+//        }
+//    }
+//}

+ 275 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/goodness/WindturbineDetailPieChartAController.java

@@ -0,0 +1,275 @@
+//package com.gyee.runeconomy.controller.goodness;
+//
+//import com.gyee.frame.common.conf.AjaxStatus;
+//import com.gyee.frame.common.domain.AjaxResult;
+//import com.gyee.frame.model.auto.Inputoroutputspeedtotal2;
+//import com.gyee.frame.model.custom.DataVo;
+//import com.gyee.frame.service.Inputoroutputspeedtotal2Service;
+//import com.gyee.frame.util.DateUtils;
+//import com.gyee.frame.util.StringUtils;
+//import io.swagger.annotations.Api;
+//import io.swagger.annotations.ApiImplicitParam;
+//import io.swagger.annotations.ApiImplicitParams;
+//import io.swagger.annotations.ApiOperation;
+//import org.springframework.stereotype.Controller;
+//import org.springframework.web.bind.annotation.GetMapping;
+//import org.springframework.web.bind.annotation.RequestMapping;
+//import org.springframework.web.bind.annotation.ResponseBody;
+//
+//import javax.annotation.Resource;
+//import java.util.ArrayList;
+//import java.util.Date;
+//import java.util.List;
+//
+///**
+// * 单机性能分析列表
+// */
+//@Controller
+//@RequestMapping("/goodness")
+//@Api(value = "单机信息总览饼图",tags =  "单机信息总览饼图")
+//public class WindturbineDetailPieChartAController {
+//    @Resource
+//    private Inputoroutputspeedtotal2Service inputoroutputspeedtotal2Service;
+//
+//    /**
+//     * 饼图图表
+//     *
+//     * @param wtId
+//     * @param recorddate
+//     * @return
+//     */
+//    @GetMapping("/pieChart")
+//    @ResponseBody
+//    @ApiOperation(value = "查询等级评估日所有信息", notes = "查询等级评估日所有信息")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+//            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query"),
+//            @ApiImplicitParam(name = "type", value = "类型 1:日小风切入,2:月小风切入,3:月小风切入,4:日小风停机,5:月小风停机,6:年小风停机", required = true, dataType = "string", paramType = "query")})
+//
+//    public AjaxResult pieChart( String wtId, String recorddate,String type) {
+//
+//        List<DataVo> vos=new ArrayList<>();
+//
+//        if (StringUtils.notEmp(recorddate) && StringUtils.notEmp(wtId) && StringUtils.notEmp(type)) {
+//
+//            Date date=DateUtils.parseDate(recorddate);
+//            List<Inputoroutputspeedtotal2> ls = inputoroutputspeedtotal2Service.getInputoroutputspeedtotal2(wtId,date);
+//
+//            if (!ls.isEmpty()) {
+//
+//                vos=new ArrayList<DataVo>();
+//                Inputoroutputspeedtotal2 io = ls.get(0);
+//
+//                DataVo vo1 = new DataVo();
+//                DataVo vo2 = new DataVo();
+//                DataVo vo3 = new DataVo();
+//                DataVo vo4 = new DataVo();
+//                DataVo vo5 = new DataVo();
+//                DataVo vo6 = new DataVo();
+//                DataVo vo7 = new DataVo();
+//                switch (Integer.valueOf(type)) {
+//                    case 1:// 日小风切入
+//                        vo1.setName("日小于2风");
+//                        vo1.setValue1(io.getDaya1());
+//                        vo1.setValue2(io.getDaya8());
+//
+//                        vo2.setName("日2-2.5风");
+//                        vo2.setValue1(io.getDaya2());
+//                        vo2.setValue2(io.getDaya9());
+//
+//                        vo3.setName("日2.5-3风");
+//                        vo3.setValue1(io.getDaya3());
+//                        vo3.setValue2(io.getDaya10());
+//
+//                        vo4.setName("日3-3.5风");
+//                        vo4.setValue1(io.getDaya4());
+//                        vo4.setValue2(io.getDaya11());
+//
+//                        vo5.setName("日3.5-4风");
+//                        vo5.setValue1(io.getDaya5());
+//                        vo5.setValue2(io.getDaya12());
+//
+//                        vo6.setName("日4-5风");
+//                        vo6.setValue1(io.getDaya6());
+//                        vo6.setValue2(io.getDaya13());
+//
+//                        vo7.setName("日大于5风");
+//                        vo7.setValue1(io.getDaya7());
+//                        vo7.setValue2(io.getDaya14());
+//
+//                        break;
+//                    case 2:// 月小风切入
+//                        vo1.setName("月小于2风");
+//                        vo1.setValue1(io.getMontha1());
+//                        vo1.setValue2(io.getMontha8());
+//
+//                        vo2.setName("月2-2.5风");
+//                        vo2.setValue1(io.getMontha2());
+//                        vo2.setValue2(io.getMontha9());
+//
+//                        vo3.setName("月2.5-3风");
+//                        vo3.setValue1(io.getMontha3());
+//                        vo3.setValue2(io.getMontha10());
+//
+//                        vo4.setName("月3-3.5风");
+//                        vo4.setValue1(io.getMontha4());
+//                        vo4.setValue2(io.getMontha11());
+//
+//                        vo5.setName("月3.5-4风");
+//                        vo5.setValue1(io.getMontha5());
+//                        vo5.setValue2(io.getMontha12());
+//
+//                        vo6.setName("月4-5风");
+//                        vo6.setValue1(io.getMontha6());
+//                        vo6.setValue2(io.getMontha13());
+//
+//                        vo7.setName("月大于5风");
+//                        vo7.setValue1(io.getMontha7());
+//                        vo7.setValue2(io.getMontha14());
+//
+//                        break;
+//                    case 3: // 年小风切入
+//                        vo1.setName("年小于2风");
+//                        vo1.setValue1(io.getYeara1());
+//                        vo1.setValue2(io.getYeara8());
+//
+//                        vo2.setName("年2-2.5风");
+//                        vo2.setValue1(io.getYeara2());
+//                        vo2.setValue2(io.getYeara9());
+//
+//                        vo3.setName("年2.5-3风");
+//                        vo3.setValue1(io.getYeara3());
+//                        vo3.setValue2(io.getYeara10());
+//
+//                        vo4.setName("年3-3.5风");
+//                        vo4.setValue1(io.getYeara4());
+//                        vo4.setValue2(io.getYeara11());
+//
+//                        vo5.setName("年3.5-4风");
+//                        vo5.setValue1(io.getYeara5());
+//                        vo5.setValue2(io.getYeara12());
+//
+//                        vo6.setName("年4-5风");
+//                        vo6.setValue1(io.getYeara6());
+//                        vo6.setValue2(io.getYeara13());
+//
+//                        vo7.setName("年大于5风");
+//                        vo7.setValue1(io.getYeara7());
+//                        vo7.setValue2(io.getYeara14());
+//
+//                        break;
+//                    case 4:// 日小风停机
+//                        vo1.setName("日小于2风");
+//                        vo1.setValue1(io.getDayb1());
+//                        vo1.setValue2(io.getDayb8());
+//
+//                        vo2.setName("日2-2.5风");
+//                        vo2.setValue1(io.getDayb2());
+//                        vo2.setValue2(io.getDayb9());
+//
+//                        vo3.setName("日2.5-3风");
+//                        vo3.setValue1(io.getDayb3());
+//                        vo3.setValue2(io.getDayb10());
+//
+//                        vo4.setName("日3-3.5风");
+//                        vo4.setValue1(io.getDayb4());
+//                        vo4.setValue2(io.getDayb11());
+//
+//                        vo5.setName("日3.5-4风");
+//                        vo5.setValue1(io.getDayb5());
+//                        vo5.setValue2(io.getDayb12());
+//
+//                        vo6.setName("日4-5风");
+//                        vo6.setValue1(io.getDayb6());
+//                        vo6.setValue2(io.getDayb13());
+//
+//                        vo7.setName("日大于5风");
+//                        vo7.setValue1(io.getDayb7());
+//                        vo7.setValue2(io.getDayb14());
+//
+//                        break;
+//                    case 5:// 月小风停机
+//                        vo1.setName("月小于2风");
+//                        vo1.setValue1(io.getMonthb1());
+//                        vo1.setValue2(io.getMonthb8());
+//
+//                        vo2.setName("月2-2.5风");
+//                        vo2.setValue1(io.getMonthb2());
+//                        vo2.setValue2(io.getMonthb9());
+//
+//                        vo3.setName("月2.5-3风");
+//                        vo3.setValue1(io.getMonthb3());
+//                        vo3.setValue2(io.getMonthb10());
+//
+//                        vo4.setName("月3-3.5风");
+//                        vo4.setValue1(io.getMonthb4());
+//                        vo4.setValue2(io.getMonthb11());
+//
+//                        vo5.setName("月3.5-4风");
+//                        vo5.setValue1(io.getMonthb5());
+//                        vo5.setValue2(io.getMonthb12());
+//
+//                        vo6.setName("月4-5风");
+//                        vo6.setValue1(io.getMonthb6());
+//                        vo6.setValue2(io.getMonthb13());
+//
+//                        vo7.setName("月大于5风");
+//                        vo7.setValue1(io.getMonthb7());
+//                        vo7.setValue2(io.getMonthb14());
+//
+//                        break;
+//                    case 6: // 年小风停机
+//                        vo1.setName("年小于2风");
+//                        vo1.setValue1(io.getYearb1());
+//                        vo1.setValue2(io.getYearb8());
+//
+//                        vo2.setName("年2-2.5风");
+//                        vo2.setValue1(io.getYearb2());
+//                        vo2.setValue2(io.getYearb9());
+//
+//                        vo3.setName("年2.5-3风");
+//                        vo3.setValue1(io.getYearb3());
+//                        vo3.setValue2(io.getYearb10());
+//
+//                        vo4.setName("年3-3.5风");
+//                        vo4.setValue1(io.getYearb4());
+//                        vo4.setValue2(io.getYearb11());
+//
+//                        vo5.setName("年3.5-4风");
+//                        vo5.setValue1(io.getYearb5());
+//                        vo5.setValue2(io.getYearb12());
+//
+//                        vo6.setName("年4-5风");
+//                        vo6.setValue1(io.getYearb6());
+//                        vo6.setValue2(io.getYearb13());
+//
+//                        vo7.setName("年大于5风");
+//                        vo7.setValue1(io.getYearb7());
+//                        vo7.setValue2(io.getYearb14());
+//
+//                        break;
+//                    default:
+//                        break;
+//                }
+//
+//                vos.add(vo1);
+//                vos.add(vo2);
+//                vos.add(vo3);
+//                vos.add(vo4);
+//                vos.add(vo5);
+//                vos.add(vo6);
+//                vos.add(vo7);
+//            }
+//
+//        }
+//
+//        if (vos != null) {
+//            return AjaxResult.successData(AjaxStatus.success.code, vos);
+//        } else {
+//            return AjaxResult.successData(AjaxStatus.success.code, vos);
+//        }
+//    }
+//
+//
+//
+//}

+ 331 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/goodness/WindturbineGoodnessDetailController.java

@@ -0,0 +1,331 @@
+package com.gyee.runeconomy.controller.goodness;
+
+import com.gyee.common.util.DateUtils;
+import com.gyee.common.vo.benchmark.ValueVo;
+import com.gyee.runeconomy.dto.DataVo;
+import com.gyee.runeconomy.dto.R;
+import com.gyee.runeconomy.dto.ResultMsg;
+import com.gyee.runeconomy.dto.SawVo;
+import com.gyee.runeconomy.init.CacheContext;
+import com.gyee.runeconomy.model.auto.*;
+import com.gyee.runeconomy.service.auto.IProEconWindturbineGoodnessService;
+import com.gyee.runeconomy.service.auto.IProEconWtAlysisDayService;
+import com.gyee.runeconomy.service.auto.IProEconWtCurveFittingMonthService;
+import com.gyee.runeconomy.service.auto.IProEconWtwindDayInfoService;
+import com.gyee.runeconomy.util.StringUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 风机明细信息页面
+ */
+@Controller
+@RequestMapping("/goodness")
+@Api(value = "单机信息总览详细信息",tags =  "单机信息总览详细信息")
+public class WindturbineGoodnessDetailController {
+    @Resource
+    private IProEconWindturbineGoodnessService proEconWindturbineGoodnessService;
+    @Resource
+    private IProEconWtwindDayInfoService proEconWtwindDayInfoService;
+    @Resource
+    private IProEconWtAlysisDayService proEconWtAlysisDayService;
+
+    @Resource
+    private IProEconWtCurveFittingMonthService proEconWtCurveFittingMonthService;
+
+
+    private String jfpl;
+
+
+    /**
+     * 获得明细页面显示信息
+     *
+     * @param wtId
+     * @param recorddate
+     * @return
+     */
+    @GetMapping("/wadAjax")
+    @ResponseBody
+    @ApiOperation(value = "查询明细页面显示信息", notes = "查询明细页面显示信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R wadAjax(String wtId, String recorddate) {
+
+        ProEconWtAlysisDay wtday = new ProEconWtAlysisDay();
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate)) {
+
+            Date date=DateUtils.parseDate(recorddate);
+            List<ProEconWtAlysisDay>  wtadls=proEconWtAlysisDayService.list().stream().filter(i->i.getWindturbineId().equals(wtId )
+           && i.getRecordDate().compareTo(date)==0
+            ).collect(Collectors.toList());
+
+            if(!wtadls.isEmpty())
+            {
+                wtday=wtadls.get(0);
+            }
+        }
+        if (null != wtday) {
+            return R.data(ResultMsg.ok(wtday));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+
+    }
+
+
+    /*
+     * 单台风机当月报警排行
+     */
+    @PostMapping("/bjphlist")
+    @ResponseBody
+    @ApiOperation(value = "单台风机当月报警排行", notes = "单台风机当月报警排行")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = true, dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "pageSize", value = "每页数量", required = true, dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "tablepar", value = "分页排序对象", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R bjphlist( Integer pageNum, Integer pageSize, String wtId, String recorddate) {
+        List<SawVo> resultList =new ArrayList<>();
+        if(StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate))
+        {
+
+            Calendar cal = Calendar.getInstance();
+            cal.set(Calendar.HOUR_OF_DAY, 0);
+            cal.set(Calendar.MINUTE, 0);
+            cal.set(Calendar.SECOND, 0);
+
+            cal.setTime(DateUtils.parseDate(recorddate));
+            Date beginDate = cal.getTime();
+            cal.add(Calendar.DAY_OF_MONTH, 1);
+            Date endDate = cal.getTime();
+//            resultList = alarmsnapService.getWarningRecordsTop(tablepar, wtId, beginDate, endDate);
+
+        }
+        if (null != resultList) {
+            return R.data(ResultMsg.ok(resultList));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+    /*
+     * 获取明细页面功率曲线
+     */
+    @GetMapping("/glchat")
+    @ResponseBody
+    @ApiOperation(value = "获取明细页面功率曲线", notes = "获取明细页面功率曲线")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R glchat(String wtId, String recorddate) {
+
+        List<DataVo> datavos = new ArrayList<>();
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate)) {
+            Date date = DateUtils.parseDate(recorddate);
+            Map<String, Map<Double, ProBasicModelPowerRd>> modelPowermap = CacheContext.theoreticalPowerMap;
+            Map<String, ProBasicEquipment> wtmap = CacheContext.wtmap;
+            Map<Double, ProBasicModelPowerRd> map = null;
+
+            Calendar cal=Calendar.getInstance();
+            cal.setTime(date);
+
+            int year=cal.get(Calendar.YEAR);
+            int month=cal.get(Calendar.MONTH)+1;
+            List<ProEconWtCurveFittingMonth> wcls = proEconWtCurveFittingMonthService.list().stream().filter(i->
+                    i.getWindturbineId().equals(wtId)
+                    && i.getYear().equals(String.valueOf(year)) && i.getMonth().equals(String.valueOf(month))
+            ).collect(Collectors.toList());
+            if (!wcls.isEmpty()) {
+                if (wtmap.containsKey(wtId)) {
+                    ProBasicEquipment wt = wtmap.get(wtId);
+                    if (modelPowermap.containsKey(wt.getModelId())) {
+                        map = modelPowermap.get(wt.getModelId());
+                    }
+                }
+                double temp = 0.0;
+                for (ProEconWtCurveFittingMonth wc : wcls) {
+                    DataVo vo = new DataVo();
+
+                    int c = (int) wc.getSpeed().intValue();
+
+                    if (c == wc.getSpeed()) {
+                        vo.setValue1(wc.getSpeed());// 风速
+                        vo.setValue2(wc.getActualPower());// 实际拟合功率
+                        vo.setValue3(wc.getOptimalPower());// 最优拟合功率
+
+                        if (null != map && StringUtils.notEmp(wc.getSpeed()) && map.containsKey(String.valueOf(wc.getSpeed()))) {
+                            ProBasicModelPowerRd mp = map.get(String.valueOf(wc.getSpeed()));
+                            vo.setValue4(mp.getEnsurePower());// 保证功率曲线
+                            temp = mp.getEnsurePower();
+                        } else {
+                            vo.setValue4(temp);// 保证功率曲线
+                        }
+
+                        datavos.add(vo);
+                    }
+
+                }
+            }
+        }
+        if (null != datavos) {
+            return R.data(ResultMsg.ok(datavos));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+    /*
+     * 获取风机风资源
+     */
+    @GetMapping("/fjfzy")
+    @ResponseBody
+    @ApiOperation(value = "获取风机风资源", notes = "获取风机风资源")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R fjfzy(String wtId, String recorddate) {
+        Map<String, Object> map = new HashMap<String, Object>();
+        List<ValueVo> vos = new ArrayList<ValueVo>();
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate)) {
+
+            Date date = DateUtils.parseDate(recorddate);
+            List<ProEconWtwindDayInfo> wtdls = proEconWtwindDayInfoService.list().stream().filter(i->
+                    i.getWindturbineId().equals(wtId)
+                    && i.getRecordDate().compareTo(date) ==0
+            ).collect(Collectors.toList());
+
+
+            if (!wtdls.isEmpty()) {
+
+                ProEconWtwindDayInfo winfo = wtdls.get(0);
+                int c = (int) winfo.getCb().intValue();
+
+                jfpl = "静风频率为" + c;
+                for (int i = 0; i < 16; i++) {
+                    ValueVo vo = new ValueVo();
+
+                    switch (i) {
+                        case 0:
+                            // vo.setName("N("+winfo.getN4()+"/"+winfo.getN()+")");
+                            vo.setName("N");
+                            vo.setData1(winfo.getN2());
+                            break;
+                        case 1:
+                            // vo.setName("NNE("+winfo.getNne4()+"/"+winfo.getNne()+")");
+                            vo.setName("NNE");
+                            vo.setData1(winfo.getNne2());
+                            break;
+                        case 2:
+                            // vo.setName("NE("+winfo.getNe4()+"/"+winfo.getNe()+")");
+                            vo.setName("NE");
+                            vo.setData1(winfo.getNe2());
+                            break;
+                        case 3:
+                            // vo.setName("ENE("+winfo.getEne4()+"/"+winfo.getEne()+")");
+                            vo.setName("ENE");
+                            vo.setData1(winfo.getEne2());
+
+                            break;
+                        case 4:
+                            // vo.setName("E("+winfo.getE4()+"/"+winfo.getE()+")");
+                            vo.setName("E");
+                            vo.setData1(winfo.getE2());
+                            break;
+                        case 5:
+                            // vo.setName("ESE("+winfo.getEse()+"/"+winfo.getEse()+")");
+                            vo.setName("ESE");
+                            vo.setData1(winfo.getEse2());
+                            break;
+                        case 6:
+                            // vo.setName("SE("+winfo.getSe4()+"/"+winfo.getSe()+")");
+                            vo.setName("SE");
+                            vo.setData1(winfo.getSe2());
+                            break;
+                        case 7:
+                            // vo.setName("SSE("+winfo.getSse4()+"/"+winfo.getSse()+")");
+                            vo.setName("SSE");
+                            vo.setData1(winfo.getSse2());
+                            break;
+                        case 8:
+                            // vo.setName("S("+winfo.getS4()+"/"+winfo.getS()+")");
+                            vo.setName("S");
+                            vo.setData1(winfo.getS2());
+                            break;
+                        case 9:
+                            // vo.setName("SSW("+winfo.getSsw4()+"/"+winfo.getSsw()+")");
+                            vo.setName("SSW");
+                            vo.setData1(winfo.getSsw2());
+                            break;
+                        case 10:
+                            // vo.setName("SW("+winfo.getSw4()+"/"+winfo.getSw()+")");
+                            vo.setName("SW");
+                            vo.setData1(winfo.getSw2());
+                            break;
+                        case 11:
+                            // vo.setName("WSW("+winfo.getWsw4()+"/"+winfo.getWsw()+")");
+                            vo.setName("WSW");
+                            vo.setData1(winfo.getWsw2());
+
+                            break;
+                        case 12:
+                            // vo.setName("W("+winfo.getW4()+"/"+winfo.getW()+")");
+                            vo.setName("W");
+                            vo.setData1(winfo.getW2());
+                            break;
+                        case 13:
+                            // vo.setName("WNW("+winfo.getWnw4()+"/"+winfo.getWnw()+")");
+                            vo.setName("WNW");
+                            vo.setData1(winfo.getWnw2());
+                            break;
+                        case 14:
+                            // vo.setName("NW("+winfo.getNw4()+"/"+winfo.getNw()+")");
+                            vo.setName("NW");
+                            vo.setData1(winfo.getNw2());
+                            break;
+                        case 15:
+                            // vo.setName("NNW("+winfo.getNnw4()+"/"+winfo.getNnw()+")");
+                            vo.setName("NNW");
+                            vo.setData1(winfo.getNnw2());
+                            break;
+
+                        default:
+                            break;
+                    }
+
+                    vos.add(vo);
+                }
+
+
+                map.put("jfpl", jfpl);
+                map.put("data", vos);
+            }
+
+
+        }
+        if (null != map) {
+            return R.data(ResultMsg.ok(map));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+
+
+}

+ 364 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/dto/DataVo.java

@@ -0,0 +1,364 @@
+
+package com.gyee.runeconomy.dto;
+
+/**
+ * 
+ * 
+ * 项目名称:nxfd 类名称:DataVo 类描述: 创建人:石林 创建时间:2014-3-4 下午2:34:22 修改人:shilinno1
+ * 修改时间:2014-3-4 下午2:34:22 修改备注:
+ * 
+ * @version
+ * 
+ */
+
+public class DataVo {
+
+
+    private Long time;
+    private String timestr;
+    private Double value1;
+
+    private Double value2;
+
+    private Double value3;
+
+    private Double value4;
+
+    private Double value5;
+
+    private Double value6;
+
+    private Double value7;
+
+    private Double value8;
+
+    private Double value9;
+
+    private Double value10;
+
+    private Double value11;
+
+    private Double value12;
+
+    private Double value13;
+
+    private Double speed;
+
+    private String name;
+
+    private String url;
+
+    private String aName;
+
+    private String desc;
+
+    private String datefomat;
+
+    private Long minRange;
+    private Long pointInterval;
+    private Integer year;
+    private Integer month;
+    private Integer day;
+    private String id;
+    private Integer hours;
+    private Integer minutes;
+    private Integer seconds;
+
+    private Long beginDate;
+    private Long endDate;
+    private Long beginDateDay;
+    private Long endDateDay;
+
+    private String value;
+
+    private ValueObjVo valueObjVo;
+
+    public ValueObjVo getValueObjVo() {
+        return valueObjVo;
+    }
+
+    public void setValueObjVo(ValueObjVo valueObjVo) {
+        this.valueObjVo = valueObjVo;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public Long getMinRange() {
+        return minRange;
+    }
+
+    public void setMinRange(Long minRange) {
+        this.minRange = minRange;
+    }
+
+    public Long getPointInterval() {
+        return pointInterval;
+    }
+
+    public void setPointInterval(Long pointInterval) {
+        this.pointInterval = pointInterval;
+    }
+
+    public Integer getHours() {
+        return hours;
+    }
+
+    public void setHours(Integer hours) {
+        this.hours = hours;
+    }
+
+    public Integer getMinutes() {
+        return minutes;
+    }
+
+    public void setMinutes(Integer minutes) {
+        this.minutes = minutes;
+    }
+
+    public Integer getSeconds() {
+        return seconds;
+    }
+
+    public void setSeconds(Integer seconds) {
+        this.seconds = seconds;
+    }
+
+    public Long getTime() {
+        return time;
+    }
+
+    public void setTime(Long time) {
+        this.time = time;
+    }
+
+    public Double getSpeed() {
+        return speed;
+    }
+
+    public void setSpeed(Double speed) {
+        this.speed = speed;
+    }
+
+    public Double getValue1() {
+        return value1;
+    }
+
+    public void setValue1(Double value1) {
+        this.value1 = value1;
+    }
+
+    public Double getValue2() {
+        return value2;
+    }
+
+    public void setValue2(Double value2) {
+        this.value2 = value2;
+    }
+
+    public Double getValue3() {
+        return value3;
+    }
+
+    public void setValue3(Double value3) {
+        this.value3 = value3;
+    }
+
+    public Double getValue4() {
+        return value4;
+    }
+
+    public void setValue4(Double value4) {
+        this.value4 = value4;
+    }
+
+    public Double getValue5() {
+        return value5;
+    }
+
+    public void setValue5(Double value5) {
+        this.value5 = value5;
+    }
+
+    public Double getValue6() {
+        return value6;
+    }
+
+    public void setValue6(Double value6) {
+        this.value6 = value6;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getaName() {
+        return aName;
+    }
+
+    public void setaName(String aName) {
+        this.aName = aName;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public Integer getYear() {
+        return year;
+    }
+
+    public void setYear(Integer year) {
+        this.year = year;
+    }
+
+    public Integer getMonth() {
+        return month;
+    }
+
+    public void setMonth(Integer month) {
+        this.month = month;
+    }
+
+    public Integer getDay() {
+        return day;
+    }
+
+    public void setDay(Integer day) {
+        this.day = day;
+    }
+
+    public Long getBeginDate() {
+        return beginDate;
+    }
+
+    public void setBeginDate(Long beginDate) {
+        this.beginDate = beginDate;
+    }
+
+    public Long getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(Long endDate) {
+        this.endDate = endDate;
+    }
+
+    public String getDatefomat() {
+        return datefomat;
+    }
+
+    public void setDatefomat(String datefomat) {
+        this.datefomat = datefomat;
+    }
+
+    public Long getBeginDateDay() {
+        return beginDateDay;
+    }
+
+    public void setBeginDateDay(Long beginDateDay) {
+        this.beginDateDay = beginDateDay;
+    }
+
+    public Long getEndDateDay() {
+        return endDateDay;
+    }
+
+    public void setEndDateDay(Long endDateDay) {
+        this.endDateDay = endDateDay;
+    }
+
+    public String getTimestr() {
+        return timestr;
+    }
+
+    public void setTimestr(String timestr) {
+        this.timestr = timestr;
+    }
+
+    public Double getValue7() {
+        return value7;
+    }
+
+    public void setValue7(Double value7) {
+        this.value7 = value7;
+    }
+
+    public Double getValue8() {
+        return value8;
+    }
+
+    public void setValue8(Double value8) {
+        this.value8 = value8;
+    }
+
+    public Double getValue9() {
+        return value9;
+    }
+
+    public void setValue9(Double value9) {
+        this.value9 = value9;
+    }
+
+    public Double getValue10() {
+        return value10;
+    }
+
+    public void setValue10(Double value10) {
+        this.value10 = value10;
+    }
+
+    public Double getValue11() {
+        return value11;
+    }
+
+    public void setValue11(Double value11) {
+        this.value11 = value11;
+    }
+
+    public Double getValue12() {
+        return value12;
+    }
+
+    public void setValue12(Double value12) {
+        this.value12 = value12;
+    }
+
+    public Double getValue13() {
+        return value13;
+    }
+
+    public void setValue13(Double value13) {
+        this.value13 = value13;
+    }
+
+}

+ 49 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/dto/SawVo.java

@@ -0,0 +1,49 @@
+package com.gyee.runeconomy.dto;
+
+public class SawVo implements java.io.Serializable {
+
+	// Fields
+
+	private static final long serialVersionUID = 1L;
+
+	private Integer num;
+	private String name;
+	private Integer frequency;
+	private Integer frequencyday;
+	private Double totalhours;
+	
+	
+	
+	public Integer getFrequencyday() {
+		return frequencyday;
+	}
+	public void setFrequencyday(Integer frequencyday) {
+		this.frequencyday = frequencyday;
+	}
+	public Integer getNum() {
+		return num;
+	}
+	public void setNum(Integer num) {
+		this.num = num;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public Integer getFrequency() {
+		return frequency;
+	}
+	public void setFrequency(Integer frequency) {
+		this.frequency = frequency;
+	}
+	public Double getTotalhours() {
+		return totalhours;
+	}
+	public void setTotalhours(Double totalhours) {
+		this.totalhours = totalhours;
+	}
+	
+	
+}

+ 62 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/dto/ValueObjVo.java

@@ -0,0 +1,62 @@
+/** 
+ * Project Name:nxfd2 
+ * File Name:Value.java 
+ * Package Name:com.hcks.cmfds.vo 
+ * Date:2016-7-12下午04:16:42 
+ * Copyright (c) 2016, chenzhou1025@126.com All Rights Reserved. 
+ * 
+ */
+
+package com.gyee.runeconomy.dto;
+
+/**
+ * ClassName:Value <br/>
+ * Function: TODO ADD FUNCTION. <br/>
+ * Reason: TODO ADD REASON. <br/>
+ * Date: 2016-7-12 下午04:16:42 <br/>
+ * 
+ * @author 石林
+ * @version
+ * @since JDK 1.6
+ * @see
+ */
+public class ValueObjVo {
+
+    private Double value;
+    private String symbol;
+    private Integer symbolSize;
+    private Double symbolRotate;
+
+    public Double getValue() {
+        return value;
+    }
+
+    public void setValue(Double value) {
+        this.value = value;
+    }
+
+    public String getSymbol() {
+        return symbol;
+    }
+
+    public void setSymbol(String symbol) {
+        this.symbol = symbol;
+    }
+
+    public Integer getSymbolSize() {
+        return symbolSize;
+    }
+
+    public void setSymbolSize(Integer symbolSize) {
+        this.symbolSize = symbolSize;
+    }
+
+    public Double getSymbolRotate() {
+        return symbolRotate;
+    }
+
+    public void setSymbolRotate(Double symbolRotate) {
+        this.symbolRotate = symbolRotate;
+    }
+
+}

+ 33 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/mapper/auto/ProEconWpwindDayInfoMapper.java

@@ -0,0 +1,33 @@
+package com.gyee.runeconomy.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.runeconomy.model.auto.ProEconWpwindDayInfo;
+
+/**
+ * <p>
+ * 1、日风向平均风速
+2、日风向最大风速
+3、日风向次数
+4、日风向频率
+5、日风向静风次数
+6、日风向静风频率
+7、月风向平均风速
+8、月风向最大风速
+9、月风向次数
+10、月风向频率
+11、月风向静风次数
+12、月风向静风频率
+13、年风向平均风速
+14、年风向最大风速
+15、年风向次数
+16、年风向频率
+17、年风向静风次数
+18、年风向静风频率 Mapper 接口
+ * </p>
+ *
+ * @author shilin
+ * @since 2022-11-25
+ */
+public interface ProEconWpwindDayInfoMapper extends BaseMapper<ProEconWpwindDayInfo> {
+
+}

+ 3 - 1
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/model/auto/ProEconWindturbineGoodness.java

@@ -95,5 +95,7 @@ public class ProEconWindturbineGoodness extends Model {
 
     private String companyId;
     private String types;
-
+    private Double daySpeed;
+    private Double monthSpeed;
+    private Double yearSpeed;
 }

+ 642 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/model/auto/ProEconWpwindDayInfo.java

@@ -0,0 +1,642 @@
+package com.gyee.runeconomy.model.auto;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 1、日风向平均风速
+2、日风向最大风速
+3、日风向次数
+4、日风向频率
+5、日风向静风次数
+6、日风向静风频率
+7、月风向平均风速
+8、月风向最大风速
+9、月风向次数
+10、月风向频率
+11、月风向静风次数
+12、月风向静风频率
+13、年风向平均风速
+14、年风向最大风速
+15、年风向次数
+16、年风向频率
+17、年风向静风次数
+18、年风向静风频率
+ * </p>
+ *
+ * @author shilin
+ * @since 2022-11-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ProEconWpwindDayInfo extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private String windpowerstationid;
+
+    private Date recorddate;
+
+    private Double ca;
+
+    private Double cb;
+
+    private Double cc;
+
+    private Double cd;
+
+    private Double cf;
+
+    private Double cg;
+
+    private Double e;
+
+    private Double ese;
+
+    private Double se;
+
+    private Double sse;
+
+    private Double s;
+
+    private Double ssw;
+
+    private Double sw;
+
+    private Double wsw;
+
+    private Double w;
+
+    private Double wnw;
+
+    private Double nw;
+
+    private Double nnw;
+
+    private Double n;
+
+    private Double nne;
+
+    private Double ne;
+
+    private Double ene;
+
+    private Double e2;
+
+    private Double ese2;
+
+    private Double se2;
+
+    private Double sse2;
+
+    private Double s2;
+
+    private Double ssw2;
+
+    private Double sw2;
+
+    private Double wsw2;
+
+    private Double w2;
+
+    private Double wnw2;
+
+    private Double nw2;
+
+    private Double nnw2;
+
+    private Double n2;
+
+    private Double nne2;
+
+    private Double ne2;
+
+    private Double ene2;
+
+    private Double e3;
+
+    private Double ese3;
+
+    private Double se3;
+
+    private Double sse3;
+
+    private Double s3;
+
+    private Double ssw3;
+
+    private Double sw3;
+
+    private Double wsw3;
+
+    private Double w3;
+
+    private Double wnw3;
+
+    private Double nw3;
+
+    private Double nnw3;
+
+    private Double n3;
+
+    private Double nne3;
+
+    private Double ne3;
+
+    private Double ene3;
+
+    private Double e4;
+
+    private Double ese4;
+
+    private Double se4;
+
+    private Double sse4;
+
+    private Double s4;
+
+    private Double ssw4;
+
+    private Double sw4;
+
+    private Double wsw4;
+
+    private Double w4;
+
+    private Double wnw4;
+
+    private Double nw4;
+
+    private Double nnw4;
+
+    private Double n4;
+
+    private Double nne4;
+
+    private Double ne4;
+
+    private Double ene4;
+
+    private Double e5;
+
+    private Double ese5;
+
+    private Double se5;
+
+    private Double sse5;
+
+    private Double s5;
+
+    private Double ssw5;
+
+    private Double sw5;
+
+    private Double wsw5;
+
+    private Double w5;
+
+    private Double wnw5;
+
+    private Double nw5;
+
+    private Double nnw5;
+
+    private Double n5;
+
+    private Double nne5;
+
+    private Double ne5;
+
+    private Double ene5;
+
+    private Double e6;
+
+    private Double ese6;
+
+    private Double se6;
+
+    private Double sse6;
+
+    private Double s6;
+
+    private Double ssw6;
+
+    private Double sw6;
+
+    private Double wsw6;
+
+    private Double w6;
+
+    private Double wnw6;
+
+    private Double nw6;
+
+    private Double nnw6;
+
+    private Double n6;
+
+    private Double nne6;
+
+    private Double ne6;
+
+    private Double ene6;
+
+    private Double e7;
+
+    private Double ese7;
+
+    private Double se7;
+
+    private Double sse7;
+
+    private Double s7;
+
+    private Double ssw7;
+
+    private Double sw7;
+
+    private Double wsw7;
+
+    private Double w7;
+
+    private Double wnw7;
+
+    private Double nw7;
+
+    private Double nnw7;
+
+    private Double n7;
+
+    private Double nne7;
+
+    private Double ne7;
+
+    private Double ene7;
+
+    private Double e8;
+
+    private Double ese8;
+
+    private Double se8;
+
+    private Double sse8;
+
+    private Double s8;
+
+    private Double ssw8;
+
+    private Double sw8;
+
+    private Double wsw8;
+
+    private Double w8;
+
+    private Double wnw8;
+
+    private Double nw8;
+
+    private Double nnw8;
+
+    private Double n8;
+
+    private Double nne8;
+
+    private Double ne8;
+
+    private Double ene8;
+
+    private Double e9;
+
+    private Double ese9;
+
+    private Double se9;
+
+    private Double sse9;
+
+    private Double s9;
+
+    private Double ssw9;
+
+    private Double sw9;
+
+    private Double wsw9;
+
+    private Double w9;
+
+    private Double wnw9;
+
+    private Double nw9;
+
+    private Double nnw9;
+
+    private Double n9;
+
+    private Double nne9;
+
+    private Double ne9;
+
+    private Double ene9;
+
+    private Double e10;
+
+    private Double ese10;
+
+    private Double se10;
+
+    private Double sse10;
+
+    private Double s10;
+
+    private Double ssw10;
+
+    private Double sw10;
+
+    private Double wsw10;
+
+    private Double w10;
+
+    private Double wnw10;
+
+    private Double nw10;
+
+    private Double nnw10;
+
+    private Double n10;
+
+    private Double nne10;
+
+    private Double ne10;
+
+    private Double ene10;
+
+    private Double e11;
+
+    private Double ese11;
+
+    private Double se11;
+
+    private Double sse11;
+
+    private Double s11;
+
+    private Double ssw11;
+
+    private Double sw11;
+
+    private Double wsw11;
+
+    private Double w11;
+
+    private Double wnw11;
+
+    private Double nw11;
+
+    private Double nnw11;
+
+    private Double n11;
+
+    private Double nne11;
+
+    private Double ne11;
+
+    private Double ene11;
+
+    private Double e12;
+
+    private Double ese12;
+
+    private Double se12;
+
+    private Double sse12;
+
+    private Double s12;
+
+    private Double ssw12;
+
+    private Double sw12;
+
+    private Double wsw12;
+
+    private Double w12;
+
+    private Double wnw12;
+
+    private Double nw12;
+
+    private Double nnw12;
+
+    private Double n12;
+
+    private Double nne12;
+
+    private Double ne12;
+
+    private Double ene12;
+
+    private Double e13;
+
+    private Double ese13;
+
+    private Double se13;
+
+    private Double sse13;
+
+    private Double s13;
+
+    private Double ssw13;
+
+    private Double sw13;
+
+    private Double wsw13;
+
+    private Double w13;
+
+    private Double wnw13;
+
+    private Double nw13;
+
+    private Double nnw13;
+
+    private Double n13;
+
+    private Double nne13;
+
+    private Double ne13;
+
+    private Double ene13;
+
+    private Double e14;
+
+    private Double ese14;
+
+    private Double se14;
+
+    private Double sse14;
+
+    private Double s14;
+
+    private Double ssw14;
+
+    private Double sw14;
+
+    private Double wsw14;
+
+    private Double w14;
+
+    private Double wnw14;
+
+    private Double nw14;
+
+    private Double nnw14;
+
+    private Double n14;
+
+    private Double nne14;
+
+    private Double ne14;
+
+    private Double ene14;
+
+    private Double e15;
+
+    private Double ese15;
+
+    private Double se15;
+
+    private Double sse15;
+
+    private Double s15;
+
+    private Double ssw15;
+
+    private Double sw15;
+
+    private Double wsw15;
+
+    private Double w15;
+
+    private Double wnw15;
+
+    private Double nw15;
+
+    private Double nnw15;
+
+    private Double n15;
+
+    private Double nne15;
+
+    private Double ne15;
+
+    private Double ene15;
+
+    private Double e16;
+
+    private Double ese16;
+
+    private Double se16;
+
+    private Double sse16;
+
+    private Double s16;
+
+    private Double ssw16;
+
+    private Double sw16;
+
+    private Double wsw16;
+
+    private Double w16;
+
+    private Double wnw16;
+
+    private Double nw16;
+
+    private Double nnw16;
+
+    private Double n16;
+
+    private Double nne16;
+
+    private Double ne16;
+
+    private Double ene16;
+
+    private Double e17;
+
+    private Double ese17;
+
+    private Double se17;
+
+    private Double sse17;
+
+    private Double s17;
+
+    private Double ssw17;
+
+    private Double sw17;
+
+    private Double wsw17;
+
+    private Double w17;
+
+    private Double wnw17;
+
+    private Double nw17;
+
+    private Double nnw17;
+
+    private Double n17;
+
+    private Double nne17;
+
+    private Double ne17;
+
+    private Double ene17;
+
+    private Double e18;
+
+    private Double ese18;
+
+    private Double se18;
+
+    private Double sse18;
+
+    private Double s18;
+
+    private Double ssw18;
+
+    private Double sw18;
+
+    private Double wsw18;
+
+    private Double w18;
+
+    private Double wnw18;
+
+    private Double nw18;
+
+    private Double nnw18;
+
+    private Double n18;
+
+    private Double nne18;
+
+    private Double ne18;
+
+    private Double ene18;
+
+    private Double ch;
+
+    private Double ci;
+
+    private Double cj;
+
+
+}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1172 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/WpwindDayInfoService.java


+ 461 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/WtwindDayInfoService.java

@@ -0,0 +1,461 @@
+package com.gyee.runeconomy.service;
+
+import com.gyee.common.util.DateUtils;
+import com.gyee.common.vo.benchmark.ValueVo;
+import com.gyee.runeconomy.model.auto.ProEconWtwindDayInfo;
+import com.gyee.runeconomy.service.auto.IProEconWtwindDayInfoService;
+import com.gyee.runeconomy.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+public class WtwindDayInfoService {
+    @Resource
+    private IProEconWtwindDayInfoService proEconWtwindDayInfoService;
+
+
+
+    private String jfplday;
+    private String jfplmonth;
+    private String jfplyear;
+
+    public List<ProEconWtwindDayInfo> fzy(String wtId, Date recorddate)  {
+
+
+        List<ProEconWtwindDayInfo> list =new ArrayList<>();
+
+
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate)) {
+
+            list = proEconWtwindDayInfoService.list().stream().filter(i->
+                    i.getWindturbineId().equals(wtId)
+                            && i.getRecordDate().compareTo(DateUtils.truncate(recorddate)) ==0
+            ).collect(Collectors.toList());
+
+
+        }
+        return list;
+
+    }
+
+
+    public List<ProEconWtwindDayInfo> getWindturbinethewindinfo(String wtId, Date beginDate, Date endDate) {
+
+
+        List<ProEconWtwindDayInfo> list = new ArrayList<>();
+
+        if ( StringUtils.notEmp(wtId) && StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate)) {
+
+            list = proEconWtwindDayInfoService.list().stream().filter(i->
+                    i.getWindturbineId().equals(wtId)
+                            && ( i.getRecordDate().compareTo(beginDate)==0 || i.getRecordDate().after(beginDate))
+                            && (i.getRecordDate().compareTo(endDate)==0 || i.getRecordDate().before(endDate))
+            ).collect(Collectors.toList());
+
+
+        }
+        return list;
+
+    }
+
+    public void rzdfs(String wtId, String recorddate, Map<String, Object> map, List<ValueVo> vos) {
+        if (StringUtils.notEmp(recorddate) && StringUtils.notEmp(wtId)) {
+
+            Date date = DateUtils.parseDate(recorddate);
+
+            List<ProEconWtwindDayInfo> wtdls = fzy(wtId, date);
+
+            if (!wtdls.isEmpty()) {
+
+                ProEconWtwindDayInfo winfo = wtdls.get(0);
+
+                int cb = (int) wtdls.get(0).getCb().intValue();
+                int cd = (int) wtdls.get(0).getCd().intValue();
+                int cg = (int) wtdls.get(0).getCg().intValue();
+
+                jfplday = "静风频率为" + cb;
+                jfplmonth = "静风频率为" + cd;
+                jfplyear = "静风频率为" + cg;
+
+                for (int i = 0; i < 16; i++) {
+                    ValueVo vo = new ValueVo();
+                    double temp1=0.0;
+                    double temp2=0.0;
+                    double temp3=0.0;
+                    switch (i) {
+                        case 0:
+                            temp1=null !=winfo.getN4()?winfo.getN4():0.0;
+                            temp2=null !=winfo.getN()?winfo.getN():0.0;
+                            temp3=null !=winfo.getN2()?winfo.getN2():0.0;
+
+                            vo.setName("N" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+//						vo.setName("N(" + winfo.getN4() + "/" + winfo.getN() + ")");
+//
+//						vo.setData1(winfo.getN2());
+                            break;
+                        case 1:
+                            temp1=null !=winfo.getNne4()?winfo.getNne4():0.0;
+                            temp2=null !=winfo.getNne()?winfo.getNne():0.0;
+                            temp3=null !=winfo.getNne2()?winfo.getNne2():0.0;
+
+                            vo.setName("NNE" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+//						vo.setName("NNE(" + winfo.getNne4() + "/" + winfo.getNne() + ")");
+//
+//						vo.setData1(winfo.getNne2());
+                            break;
+                        case 2:
+                            temp1=null !=winfo.getNe4()?winfo.getNe4():0.0;
+                            temp2=null !=winfo.getNe()?winfo.getNe():0.0;
+                            temp3=null !=winfo.getNe2()?winfo.getNe2():0.0;
+
+                            vo.setName("NE" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+//						vo.setName("NE(" + winfo.getNe4() + "/" + winfo.getNe() + ")");
+//
+//						vo.setData1(winfo.getNe2());
+                            break;
+                        case 3:
+                            temp1=null !=winfo.getEne4()?winfo.getEne4():0.0;
+                            temp2=null !=winfo.getEne()?winfo.getEne():0.0;
+                            temp3=null !=winfo.getEne2()?winfo.getEne2():0.0;
+
+                            vo.setName("ENE" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+//						vo.setName("ENE(" + winfo.getEne4() + "/" + winfo.getEne() + ")");
+//
+//						vo.setData1(winfo.getEne2());
+
+                            break;
+                        case 4:
+                            temp1=null !=winfo.getE4()?winfo.getE4():0.0;
+                            temp2=null !=winfo.getE()?winfo.getE():0.0;
+                            temp3=null !=winfo.getE2()?winfo.getE2():0.0;
+
+                            vo.setName("E(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+                            //vo.setName("E(" + winfo.getE4() + "/" + winfo.getE() + ")");
+
+
+                            break;
+                        case 5:
+                            temp1=null !=winfo.getEse4()?winfo.getEse4():0.0;
+                            temp2=null !=winfo.getEse()?winfo.getEse():0.0;
+                            temp3=null !=winfo.getEse2()?winfo.getEse2():0.0;
+                            vo.setName("ESE(" + temp1 + "/" + temp2 + ")");
+                            //vo.setName("ESE(" + winfo.getEse4() + "/" + winfo.getEse() + ")");
+
+                            vo.setData1(temp3);
+                            break;
+                        case 6:
+                            temp1=null !=winfo.getSe4()?winfo.getSe4():0.0;
+                            temp2=null !=winfo.getSe()?winfo.getSe():0.0;
+                            temp3=null !=winfo.getSe2()?winfo.getSe2():0.0;
+
+                            vo.setName("SE(" + temp1 + "/" + temp2 + ")");
+                            //vo.setName("SE(" + winfo.getSe4() + "/" + winfo.getSe() + ")");
+
+                            vo.setData1(temp3);
+                            break;
+                        case 7:
+                            temp1=null !=winfo.getSse4()?winfo.getSse4():0.0;
+                            temp2=null !=winfo.getSse()?winfo.getSse():0.0;
+                            temp3=null !=winfo.getSse2()?winfo.getSse2():0.0;
+                            vo.setName("SSE(" + temp1 + "/" + temp2 + ")");
+                            //	vo.setName("SSE(" + winfo.getSse4() + "/" + winfo.getSse() + ")");
+
+                            vo.setData1(temp3);
+                            break;
+                        case 8:
+                            temp1=null !=winfo.getS4()?winfo.getS4():0.0;
+                            temp2=null !=winfo.getS()?winfo.getS():0.0;
+                            temp3=null !=winfo.getS2()?winfo.getS2():0.0;
+                            vo.setName("S(" + temp1 + "/" + temp2 + ")");
+                            //vo.setName("S(" + winfo.getS4() + "/" + winfo.getS() + ")");
+
+                            vo.setData1(temp3);
+                            break;
+                        case 9:
+                            temp1=null !=winfo.getSsw4()?winfo.getSsw4():0.0;
+                            temp2=null !=winfo.getSsw()?winfo.getSsw():0.0;
+                            temp3=null !=winfo.getSsw2()?winfo.getSsw2():0.0;
+
+                            vo.setName("SSW(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+//						vo.setName("SSW(" + winfo.getSsw4() + "/" + winfo.getSsw() + ")");
+//						vo.setData1(winfo.getSsw2());
+                            break;
+                        case 10:
+                            temp1=null !=winfo.getSw4()?winfo.getSw4():0.0;
+                            temp2=null !=winfo.getSw()?winfo.getSw():0.0;
+                            temp3=null !=winfo.getSw2()?winfo.getSw2():0.0;
+
+                            vo.setName("SW(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+//						vo.setName("SW(" + winfo.getSw4() + "/" + winfo.getSw() + ")");
+//
+//						vo.setData1(winfo.getSw2());
+                            break;
+                        case 11:
+                            temp1=null !=winfo.getWsw4()?winfo.getWsw4():0.0;
+                            temp2=null !=winfo.getWsw()?winfo.getWsw():0.0;
+                            temp3=null !=winfo.getWsw2()?winfo.getWsw2():0.0;
+
+                            vo.setName("WSW(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+//						vo.setName("WSW(" + winfo.getWsw4() + "/" + winfo.getWsw() + ")");
+//
+//						vo.setData1(winfo.getWsw2());
+
+                            break;
+                        case 12:
+                            temp1=null !=winfo.getW4()?winfo.getW4():0.0;
+                            temp2=null !=winfo.getW()?winfo.getW():0.0;
+                            temp3=null !=winfo.getW2()?winfo.getW2():0.0;
+
+                            vo.setName("W(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+//						vo.setName("W(" + winfo.getW4() + "/" + winfo.getW() + ")");
+//
+//						vo.setData1(winfo.getW2());
+                            break;
+                        case 13:
+                            temp1=null !=winfo.getWnw4()?winfo.getWnw4():0.0;
+                            temp2=null !=winfo.getWnw()?winfo.getWnw():0.0;
+                            temp3=null !=winfo.getWnw2()?winfo.getWnw2():0.0;
+
+                            vo.setName("WNW(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+//						vo.setName("WNW(" + winfo.getWnw4() + "/" + winfo.getWnw() + ")");
+//
+//						vo.setData1(winfo.getWnw2());
+                            break;
+                        case 14:
+                            temp1=null !=winfo.getNw4()?winfo.getNw4():0.0;
+                            temp2=null !=winfo.getNw()?winfo.getNw():0.0;
+                            temp3=null !=winfo.getNw2()?winfo.getNw2():0.0;
+
+                            vo.setName("NW(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+//						vo.setName("NW(" + winfo.getNw4() + "/" + winfo.getNw() + ")");
+//
+//						vo.setData1(winfo.getNw2());
+                            break;
+                        case 15:
+                            temp1=null !=winfo.getNnw4()?winfo.getNnw4():0.0;
+                            temp2=null !=winfo.getNnw()?winfo.getNnw():0.0;
+                            temp3=null !=winfo.getNnw2()?winfo.getNnw2():0.0;
+
+                            vo.setName("NNW" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+//						vo.setName("NNW(" + winfo.getNnw4() + "/" + winfo.getNnw() + ")");
+//
+//						vo.setData1(winfo.getNnw2());
+                            break;
+
+
+                        default:
+                            break;
+                    }
+
+                    vos.add(vo);
+
+                }
+
+            }
+
+            map.put("jfpl", jfplday);
+            map.put("data", vos);
+
+        }
+
+    }
+
+
+    public void yzdfs(String wtId, String recorddate, Map<String, Object> map, List<ValueVo> vos) {
+        if (StringUtils.notEmp(recorddate) && StringUtils.notEmp(wtId)) {
+
+            Date date = DateUtils.parseDate(recorddate);
+
+            List<ProEconWtwindDayInfo> wtdls = fzy(wtId, date);
+
+            if (!wtdls.isEmpty()) {
+
+                ProEconWtwindDayInfo winfo = wtdls.get(0);
+                int cb = (int) wtdls.get(0).getCb().intValue();
+                int cd = (int) wtdls.get(0).getCd().intValue();
+                int cg = (int) wtdls.get(0).getCg().intValue();
+
+                jfplday = "静风频率为" + cb;
+                jfplmonth = "静风频率为" + cd;
+                jfplyear = "静风频率为" + cg;
+                for (int i = 0; i < 16; i++) {
+                    ValueVo vo = new ValueVo();
+                    double temp1=0.0;
+                    double temp2=0.0;
+                    double temp3=0.0;
+                    switch (i) {
+                        case 0:
+                            temp1=null !=winfo.getN10()?winfo.getN10():0.0;
+                            temp2=null !=winfo.getN7()?winfo.getN7():0.0;
+                            temp3=null !=winfo.getN8()?winfo.getN8():0.0;
+
+                            vo.setName("N" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+                            break;
+                        case 1:
+                            temp1=null !=winfo.getNne10()?winfo.getNne10():0.0;
+                            temp2=null !=winfo.getNne7()?winfo.getNne7():0.0;
+                            temp3=null !=winfo.getNne8()?winfo.getNne8():0.0;
+
+                            vo.setName("NNE" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+                            break;
+                        case 2:
+                            temp1=null !=winfo.getNe10()?winfo.getNe10():0.0;
+                            temp2=null !=winfo.getNe7()?winfo.getNe7():0.0;
+                            temp3=null !=winfo.getNe8()?winfo.getNe8():0.0;
+
+                            vo.setName("NE" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+                            break;
+                        case 3:
+                            temp1=null !=winfo.getEne10()?winfo.getEne10():0.0;
+                            temp2=null !=winfo.getEne7()?winfo.getEne7():0.0;
+                            temp3=null !=winfo.getEne8()?winfo.getEne8():0.0;
+
+                            vo.setName("ENE" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+
+                            break;
+                        case 4:
+                            temp1=null !=winfo.getE10()?winfo.getE10():0.0;
+                            temp2=null !=winfo.getE7()?winfo.getE7():0.0;
+                            temp3=null !=winfo.getE8()?winfo.getE8():0.0;
+
+                            vo.setName("E(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+                            break;
+                        case 5:
+                            temp1=null !=winfo.getEse10()?winfo.getEse10():0.0;
+                            temp2=null !=winfo.getEse7()?winfo.getEse7():0.0;
+                            temp3=null !=winfo.getEse8()?winfo.getEse8():0.0;
+                            vo.setName("ESE(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+                            break;
+                        case 6:
+                            temp1=null !=winfo.getSe10()?winfo.getSe10():0.0;
+                            temp2=null !=winfo.getSe7()?winfo.getSe7():0.0;
+                            temp3=null !=winfo.getSe8()?winfo.getSe8():0.0;
+
+                            vo.setName("SE(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+                            break;
+                        case 7:
+                            temp1=null !=winfo.getSse10()?winfo.getSse10():0.0;
+                            temp2=null !=winfo.getSse7()?winfo.getSse7():0.0;
+                            temp3=null !=winfo.getSse8()?winfo.getSse8():0.0;
+                            vo.setName("SSE(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+                            break;
+                        case 8:
+                            temp1=null !=winfo.getS10()?winfo.getS10():0.0;
+                            temp2=null !=winfo.getS7()?winfo.getS7():0.0;
+                            temp3=null !=winfo.getS8()?winfo.getS8():0.0;
+                            vo.setName("S(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+                            break;
+                        case 9:
+                            temp1=null !=winfo.getSsw10()?winfo.getSsw10():0.0;
+                            temp2=null !=winfo.getSsw7()?winfo.getSsw7():0.0;
+                            temp3=null !=winfo.getSsw8()?winfo.getSsw8():0.0;
+
+                            vo.setName("SSW(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+                            break;
+                        case 10:
+                            temp1=null !=winfo.getSw10()?winfo.getSw10():0.0;
+                            temp2=null !=winfo.getSw7()?winfo.getSw7():0.0;
+                            temp3=null !=winfo.getSw8()?winfo.getSw8():0.0;
+
+                            vo.setName("SW(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+                            break;
+                        case 11:
+                            temp1=null !=winfo.getWsw10()?winfo.getWsw10():0.0;
+                            temp2=null !=winfo.getWsw7()?winfo.getWsw7():0.0;
+                            temp3=null !=winfo.getWsw8()?winfo.getWsw8():0.0;
+
+                            vo.setName("WSW(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+                            break;
+                        case 12:
+                            temp1=null !=winfo.getW10()?winfo.getW10():0.0;
+                            temp2=null !=winfo.getW7()?winfo.getW7():0.0;
+                            temp3=null !=winfo.getW8()?winfo.getW8():0.0;
+
+                            vo.setName("W(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+                            break;
+                        case 13:
+                            temp1=null !=winfo.getWnw10()?winfo.getWnw10():0.0;
+                            temp2=null !=winfo.getWnw7()?winfo.getWnw7():0.0;
+                            temp3=null !=winfo.getWnw8()?winfo.getWnw8():0.0;
+
+                            vo.setName("WNW(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+                            break;
+                        case 14:
+                            temp1=null !=winfo.getNw10()?winfo.getNw10():0.0;
+                            temp2=null !=winfo.getNw7()?winfo.getNw7():0.0;
+                            temp3=null !=winfo.getNw8()?winfo.getNw8():0.0;
+
+                            vo.setName("NW(" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+                            break;
+                        case 15:
+                            temp1=null !=winfo.getNnw10()?winfo.getNnw10():0.0;
+                            temp2=null !=winfo.getNnw7()?winfo.getNnw7():0.0;
+                            temp3=null !=winfo.getNnw8()?winfo.getNnw8():0.0;
+
+                            vo.setName("NNW" + temp1 + "/" + temp2 + ")");
+                            vo.setData1(temp3);
+
+                            break;
+
+
+                        default:
+                            break;
+                    }
+
+                    vos.add(vo);
+
+                }
+
+            }
+
+            map.put("jfpl", jfplmonth);
+            map.put("data", vos);
+
+        }
+    }
+}

+ 33 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/IProEconWpwindDayInfoService.java

@@ -0,0 +1,33 @@
+package com.gyee.runeconomy.service.auto;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.runeconomy.model.auto.ProEconWpwindDayInfo;
+
+/**
+ * <p>
+ * 1、日风向平均风速
+2、日风向最大风速
+3、日风向次数
+4、日风向频率
+5、日风向静风次数
+6、日风向静风频率
+7、月风向平均风速
+8、月风向最大风速
+9、月风向次数
+10、月风向频率
+11、月风向静风次数
+12、月风向静风频率
+13、年风向平均风速
+14、年风向最大风速
+15、年风向次数
+16、年风向频率
+17、年风向静风次数
+18、年风向静风频率 服务类
+ * </p>
+ *
+ * @author shilin
+ * @since 2022-11-25
+ */
+public interface IProEconWpwindDayInfoService extends IService<ProEconWpwindDayInfo> {
+
+}

+ 37 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/auto/impl/ProEconWpwindDayInfoServiceImpl.java

@@ -0,0 +1,37 @@
+package com.gyee.runeconomy.service.auto.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.runeconomy.mapper.auto.ProEconWpwindDayInfoMapper;
+import com.gyee.runeconomy.model.auto.ProEconWpwindDayInfo;
+import com.gyee.runeconomy.service.auto.IProEconWpwindDayInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 1、日风向平均风速
+2、日风向最大风速
+3、日风向次数
+4、日风向频率
+5、日风向静风次数
+6、日风向静风频率
+7、月风向平均风速
+8、月风向最大风速
+9、月风向次数
+10、月风向频率
+11、月风向静风次数
+12、月风向静风频率
+13、年风向平均风速
+14、年风向最大风速
+15、年风向次数
+16、年风向频率
+17、年风向静风次数
+18、年风向静风频率 服务实现类
+ * </p>
+ *
+ * @author shilin
+ * @since 2022-11-25
+ */
+@Service
+public class ProEconWpwindDayInfoServiceImpl extends ServiceImpl<ProEconWpwindDayInfoMapper, ProEconWpwindDayInfo> implements IProEconWpwindDayInfoService {
+
+}

+ 13 - 7
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/singleanalysis/SingleAnalysisService.java

@@ -212,7 +212,7 @@ public class SingleAnalysisService {
 
 
 
-    public List<SingleAnalysisVo> SingleAnalysisList(Integer pageNum, Integer pageSize, String cmId,String type, String wpId,Date recordDate) {
+    public Map<String,Object>  SingleAnalysisList(Integer pageNum, Integer pageSize, String cmId,String type, String wpId,Date recordDate) {
 
         List<SingleAnalysisVo> vos = new ArrayList<>();
 
@@ -242,6 +242,7 @@ public class SingleAnalysisService {
                         vo.setFjrl(model.getPowerProduction());
                     }
 
+                    vo.setRecorddate(recordDate);
                     vo.setWindturbineid(wt.getId());
 
                     Calendar c=Calendar.getInstance();
@@ -500,11 +501,11 @@ public class SingleAnalysisService {
                 vo.setYxxs(StringUtils.round(yxfss, 2));
                 vo.setGlyzxxs(StringUtils.round(glyzxxs, 2));
 
-                double gzss = vos.stream().mapToDouble(SingleAnalysisVo::getGzss).sum();//风机故障损失合计
-                double jxss = vos.stream().mapToDouble(SingleAnalysisVo::getJxss).sum();//风机检修损失合计
-                double xdss = vos.stream().mapToDouble(SingleAnalysisVo::getXdss).sum();//风机限电损失合计
-                double xnss = vos.stream().mapToDouble(SingleAnalysisVo::getXnss).sum();//风机性能损失时合计
-                double slss = vos.stream().mapToDouble(SingleAnalysisVo::getSlss).sum();//风机受累损失合计
+                double gzss = vos.stream().filter(i->i.getGzss() !=null).mapToDouble(SingleAnalysisVo::getGzss).sum();//风机故障损失合计
+                double jxss = vos.stream().filter(i->i.getJxss() !=null).mapToDouble(SingleAnalysisVo::getJxss).sum();//风机检修损失合计
+                double xdss = vos.stream().filter(i->i.getXdss() !=null).mapToDouble(SingleAnalysisVo::getXdss).sum();//风机限电损失合计
+                double xnss = vos.stream().filter(i->i.getXnss() !=null).mapToDouble(SingleAnalysisVo::getXnss).sum();//风机性能损失时合计
+                double slss = vos.stream().filter(i->i.getSlss() !=null).mapToDouble(SingleAnalysisVo::getSlss).sum();//风机受累损失合计
                 double llfdl = fdl + gzss + jxss + xdss + xnss + slss;
 
                 vo.setGzss(StringUtils.round(gzss, 2));
@@ -540,10 +541,15 @@ public class SingleAnalysisService {
                 collect(Collectors.toList());
 
 
+        Map<String,Object> map=new HashMap<>();
+
+        map.put("total",vos.size());
+        map.put("pageSum",pageSum);
+        map.put("values",subList);
 //        PageHelper.startPage(pageNum, pageSize);
 //        PageInfo<SingleAnalysisVo> pageInfo = new PageInfo<SingleAnalysisVo>(vos);
 //        return pageInfo.getList();
-        return subList;
+        return map;
     }
 
 

+ 2 - 2
web/runeconomy-xk/src/main/resources/application-yun.yml

@@ -106,8 +106,8 @@ logging:
     com.example: debug
 initialcode: INITIAL
 db:
-  #url: http://127.0.0.1:8011/ts
-  url: http://192.168.11.250:8011/ts
+  url: http://127.0.0.1:8011/ts
+  #url: http://192.168.11.250:8011/ts
 runWindpowerstation: SD_GDDL_RZLX_FDC_STA,SD_GDDL_QDJN_FDC_STA,SD_GDDL_WHWD_FDC_STA,SD_GDDL_WHXQ_FDC_STA,SD_GDDL_RZWL_FDC_STA,SD_GDDL_WFZC_FDC_STA,SD_GDDL_DZXJ_FDC_STA,SD_GDDL_XTTA_FDC_STA,SD_GDDL_BH1_FDC_STA,SD_GDDL_BH2_FDC_STA,SD_GDDL_CG_FDC_STA,SD_GDDL_FJ_FDC_STA,SD_GDDL_YS_FDC_STA,SD_GDDL_FXFC_FDC_STA,SD_GDDL_JNSS_FDC_STA,SD_GDDL_WFBH_FDC_STA,SD_GDDL_PLHS_FDC_STA,SD_GDDL_JNCQ_FDC_STA,SD_GDDL_LXLN_FDC_STA,SD_GDDL_LQJS_FDC_STA,SD_GDDL_ZYXD_FDC_STA,SD_GDDL_ZYFS_FDC_STA