Sfoglia il codice sorgente

切入切出接口,月度单机分析接口

shilin 2 anni fa
parent
commit
9aeacac8c8

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

@@ -23,10 +23,10 @@ import java.util.Map;
 @RequestMapping("/goodness")
 @Api(value = "风场风资源图表", tags = "风场风资源图表")
 public class WindpowerDetailChartController {
-   
+
     @Resource
     private WpwindDayInfoService wpwindDayInfoService;
-    
+
 
     /*
      * 风场日最大风速

File diff suppressed because it is too large
+ 176 - 875
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/goodness/WindturbineDetailChartController.java


+ 313 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/controller/goodness/WindturbineDetailLineChartController.java

@@ -0,0 +1,313 @@
+package com.gyee.runeconomy.controller.goodness;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gyee.common.util.DateUtils;
+import com.gyee.common.vo.benchmark.DataVo;
+import com.gyee.runeconomy.dto.EchartDataVo;
+import com.gyee.runeconomy.dto.R;
+import com.gyee.runeconomy.dto.ResultMsg;
+import com.gyee.runeconomy.model.auto.ProEconBrownoutsEvent2;
+import com.gyee.runeconomy.model.auto.ProEconInOrOutSpeedTotal;
+import com.gyee.runeconomy.model.auto.ProEconShutdownEvent2;
+import com.gyee.runeconomy.service.BrownoutsEvent2Service;
+import com.gyee.runeconomy.service.ShutdownEvent2Service;
+import com.gyee.runeconomy.service.auto.IProEconInOrOutSpeedTotalService;
+import com.gyee.runeconomy.service.goodness.WindturbinegoodnessService;
+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 WindturbineDetailLineChartController {
+    @Resource
+    private WindturbinegoodnessService windturbinegoodnessService;
+    @Resource
+    private IProEconInOrOutSpeedTotalService proEconInOrOutSpeedTotalService;
+
+    @Resource
+    private ShutdownEvent2Service shutdownEvent2Service;
+    @Resource
+    private BrownoutsEvent2Service brownoutsEvent2Service;
+
+
+    /**
+     * 获得功率曲线数据查询
+     *
+     * @param wtId
+     * @param recorddate
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("/findWtRealPowerChar")
+    @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 findWtRealPowerChar(String wtId, String recorddate) throws Exception {
+        Date date = DateUtils.parseDate(recorddate);
+        List<DataVo> result = windturbinegoodnessService.findWtRealPowerChar(wtId, date);
+
+//
+//        System.out.println( JSONArray.toJSON(result));
+
+        if (null != result) {
+            return R.data(ResultMsg.ok(result));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+    /**
+     * 获得曲线区间区分功能数据查询
+     *
+     * @param wtId
+     * @param recorddate
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("/getplotBands")
+    @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 getplotBands(String wtId, String recorddate) throws Exception {
+        Date date = DateUtils.parseDate(recorddate);
+        List<List<EchartDataVo>> result = windturbinegoodnessService.getplotBands(wtId, date);
+
+        if (null != result) {
+            return R.data(ResultMsg.ok(result));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+    /**
+     * 获取切入风速
+     *
+     * @param wtId
+     * @param recorddate
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("/getInputSmall")
+    @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 getInputSmall(String wtId, String recorddate) throws Exception {
+        Date date = DateUtils.parseDate(recorddate);
+        double inputsmall=0.0;
+        List<ProEconInOrOutSpeedTotal> ls = proEconInOrOutSpeedTotalService.list().stream().filter(i->
+                i.getWindturbineId().equals(wtId)
+                && i.getRecordDate().compareTo(DateUtils.truncate(date))==0
+        ).collect(Collectors.toList());
+        if(!ls.isEmpty())
+        {
+            ProEconInOrOutSpeedTotal is=ls.get(0);
+            if(StringUtils.notEmp(is) && StringUtils.notEmp(is.getMonthInputSmall()) )
+            {
+                inputsmall=is.getMonthInputSmall();
+            }else
+            {
+                inputsmall=3.0;
+            }
+
+        }
+        return R.data(ResultMsg.ok(inputsmall));
+    }
+
+    /**
+     * 获取24小时功率曲线
+     *
+     * @param wtId
+     * @param recorddate
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("/findRealPowerCharBy24")
+    @ResponseBody
+    @ApiOperation(value = "获取24小时功率曲线", notes = "获取24小时功率曲线")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R findRealPowerCharBy24(String wtId, String recorddate) throws Exception {
+        List<DataVo> resultList = new ArrayList<>();
+        if (StringUtils.notEmp(recorddate) && StringUtils.notEmp(wtId)) {
+
+            resultList = windturbinegoodnessService.findRealPowerCharBy24(wtId, DateUtils.parseDate(recorddate));
+        }
+
+        if (null != resultList) {
+            return R.data(ResultMsg.ok(resultList));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+
+    /*
+     * 单台风机当日报警记录
+     */
+    @PostMapping("/bjjllist")
+    @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 = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R bjjllist(Integer pageNum, Integer pageSize, String wtId, String recorddate) {
+
+        //
+        Page<ProEconShutdownEvent2> resultList =new Page<>();
+        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= shutdownEvent2Service.getShutdownEventList(pageNum, pageSize, wtId, beginDate,endDate);
+        }
+        if (null != resultList) {
+            return R.data(ResultMsg.ok(resultList));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+    /*
+     * 单台风机当日停机记录
+     */
+    @PostMapping("/gzjllist")
+    @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 = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R gzjllist(Integer pageNum, Integer pageSize,String wtId, String recorddate) {
+
+        Page<ProEconShutdownEvent2> resultList =new Page<>();
+        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= shutdownEvent2Service.getShutdownEventList(pageNum, pageSize, wtId, beginDate,endDate);
+        }
+        if (null != resultList) {
+            return R.data(ResultMsg.ok(resultList));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+    /*
+     * 单台风机当日限电记录
+     */
+    @PostMapping("/xdjllist")
+    @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 = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "recorddate", value = "日期", required = true, dataType = "string", paramType = "query")})
+
+    public R xdjllist(Integer pageNum, Integer pageSize, String wtId, String recorddate) {
+
+        Page<ProEconBrownoutsEvent2> resultList =new Page<>();
+        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= brownoutsEvent2Service.getBrownoutsEvent2List(pageNum, pageSize, wtId, beginDate,endDate);
+        }
+        if (null != resultList) {
+            return R.data(ResultMsg.ok(resultList));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+    /**
+     * 获取区域弹出列表信息
+     *
+
+     */
+    @GetMapping("/plotBandAjax")
+    @ResponseBody
+    @ApiOperation(value = "获取区域弹出列表信息", notes = "获取区域弹出列表信息")
+    @ApiImplicitParams({
+
+            @ApiImplicitParam(name = "wtId", value = "风机编号", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "beginDate", value = "开始时间", required = true, dataType = "string", paramType = "query"),
+            @ApiImplicitParam(name = "endDate", value = "结束时间", required = true, dataType = "string", paramType = "query")})
+
+    public R plotBandAjax(String wtId,String beginDate,String endDate) throws Exception {
+
+        Map<String, String> map = new HashMap<>();
+
+
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate) ) {
+
+            map=windturbinegoodnessService.getPlotBand(wtId,beginDate,endDate);
+
+
+        }
+
+        if (null != map) {
+            return R.data(ResultMsg.ok(map));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+
+}

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

@@ -1,275 +1,279 @@
-//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);
-//        }
-//    }
-//
-//
-//
-//}
+package com.gyee.runeconomy.controller.goodness;
+
+import com.gyee.common.util.DateUtils;
+import com.gyee.runeconomy.dto.DataVo;
+import com.gyee.runeconomy.dto.R;
+import com.gyee.runeconomy.dto.ResultMsg;
+import com.gyee.runeconomy.model.auto.ProEconInOrOutSpeedTotal2;
+import com.gyee.runeconomy.service.auto.IProEconInOrOutSpeedTotal2Service;
+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.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 单机性能分析列表
+ */
+@Controller
+@RequestMapping("/goodness")
+@Api(value = "单机信息总览饼图",tags =  "单机信息总览饼图")
+public class WindturbineDetailPieChartAController {
+    @Resource
+    private IProEconInOrOutSpeedTotal2Service proEconInOrOutSpeedTotal2Service;
+
+    /**
+     * 饼图图表
+     *
+     * @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 R 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<ProEconInOrOutSpeedTotal2> ls = proEconInOrOutSpeedTotal2Service.list().stream().filter(i->
+                    i.getWindturbineId().equals(wtId)
+            && i.getRecordDate().compareTo(DateUtils.truncate(date)) ==0
+            ).collect(Collectors.toList());
+
+            if (!ls.isEmpty()) {
+
+                vos=new ArrayList<DataVo>();
+                ProEconInOrOutSpeedTotal2 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 (null != vos) {
+            return R.data(ResultMsg.ok(vos));
+        } else {
+            return R.data(ResultMsg.error());
+        }
+    }
+
+
+
+}

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

@@ -95,7 +95,6 @@ public class WindturbineGoodnessDetailController {
     @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")})
 

+ 5 - 1
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/init/CacheContext.java

@@ -132,7 +132,7 @@ public class CacheContext implements CommandLineRunner {
         List<String> runWpids = Arrays.asList(runWindpowerstation.split(","));
         logger.info(runWpids.get(0)+"------------------"+runWpids.size());
 
-        theoreticalPowerList= proBasicModelPowerRdService.list();
+
         equipmentmodels = proEconEquipmentmodelService.list();
         equipmentmodels.stream().forEach(e->{
             modelMap.put(e.getId(),e);
@@ -423,6 +423,10 @@ public class CacheContext implements CommandLineRunner {
         theoreticalPowerMap = JSONObject.parseObject(llglString, new TypeReference<Map<String, Map<Double,ProBasicModelPowerRd>>>() {
         });
 
+        llglString = redisService.get("ZLLGLLS");
+        theoreticalPowerList=  JSONObject.parseObject(llglString, new TypeReference<List<ProBasicModelPowerRd>>() {
+        });
+
         String sszzt = redisService.get("SSZZT");
         statusMap = JSONObject.parseObject(sszzt, new TypeReference<Map<String,List<ProBasicStatusPoint>>>() {
         });

+ 50 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/BrownoutsEvent2Service.java

@@ -0,0 +1,50 @@
+package com.gyee.runeconomy.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gyee.runeconomy.model.auto.ProEconBrownoutsEvent2;
+import com.gyee.runeconomy.service.auto.IProEconBrownoutsEvent2Service;
+import com.gyee.runeconomy.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+
+@Service
+public class BrownoutsEvent2Service {
+
+    @Resource
+    private IProEconBrownoutsEvent2Service proEconBrownoutsEvent2Service;
+
+    public Page<ProEconBrownoutsEvent2> getBrownoutsEvent2List(Integer pageNum, Integer pageSize, String wtId, Date beginDate, Date endDate)  {
+
+        if(StringUtils.empty(pageNum))
+        {
+            pageNum=1;
+        }
+        if(StringUtils.empty(pageSize))
+        {
+            pageSize=10;
+        }
+        //构造分页构造器
+        Page<ProEconBrownoutsEvent2> pageInfo = new Page<>(pageNum, pageSize);
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(beginDate)  && StringUtils.notEmp(endDate) )
+        {
+
+            //构造条件构造器
+            LambdaQueryWrapper<ProEconBrownoutsEvent2> queryWrapper = new LambdaQueryWrapper<>();
+            //添加过滤条件
+
+
+            queryWrapper.eq(ProEconBrownoutsEvent2::getWindturbineId, wtId).
+                    ge(ProEconBrownoutsEvent2::getStopTime, beginDate).
+                    le(ProEconBrownoutsEvent2::getStopTime, endDate);
+
+            //执行查询
+            proEconBrownoutsEvent2Service.page(pageInfo, queryWrapper);
+        }
+
+        return pageInfo;
+
+    }
+}

+ 50 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/ShutdownEvent2Service.java

@@ -0,0 +1,50 @@
+package com.gyee.runeconomy.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gyee.runeconomy.model.auto.ProEconShutdownEvent2;
+import com.gyee.runeconomy.service.auto.IProEconShutdownEvent2Service;
+import com.gyee.runeconomy.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+
+@Service
+public class ShutdownEvent2Service {
+
+    @Resource
+    private IProEconShutdownEvent2Service proEconShutdownEvent2Service;
+
+    public Page<ProEconShutdownEvent2> getShutdownEventList(Integer pageNum, Integer pageSize, String wtId, Date beginDate, Date endDate)  {
+
+        if(StringUtils.empty(pageNum))
+        {
+            pageNum=1;
+        }
+        if(StringUtils.empty(pageSize))
+        {
+            pageSize=10;
+        }
+        //构造分页构造器
+        Page<ProEconShutdownEvent2> pageInfo = new Page<>(pageNum, pageSize);
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(beginDate)  && StringUtils.notEmp(endDate) )
+        {
+
+            //构造条件构造器
+            LambdaQueryWrapper<ProEconShutdownEvent2> queryWrapper = new LambdaQueryWrapper<>();
+            //添加过滤条件
+
+
+            queryWrapper.eq(ProEconShutdownEvent2::getWindturbineId, wtId).
+                    ge(ProEconShutdownEvent2::getStopTime, beginDate).
+                    le(ProEconShutdownEvent2::getStopTime, endDate);
+
+            //执行查询
+            proEconShutdownEvent2Service.page(pageInfo, queryWrapper);
+        }
+
+        return pageInfo;
+
+    }
+}

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

@@ -458,4 +458,717 @@ public class WtwindDayInfoService {
 
         }
     }
+
+    public void nzdfs(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.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);
+
+        }
+    }
+
+    public void rfxpl(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.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);
+
+        }
+    }
+    public void yfxpl(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.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);
+
+        }
+    }
+
+    public void nfxpl(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.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);
+
+        }
+    }
 }

+ 140 - 144
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/goodness/WindturbinegoodnessService.java

@@ -35,36 +35,31 @@ public class WindturbinegoodnessService {
     @Resource
     private IEdosUtil edosUtil;
 
-    public Page<ProEconWindturbineGoodness> windturbinegoodnessList(Integer pageNum, Integer pageSize,  String cmId,String type,String wpId, String recorddate) {
+    public Page<ProEconWindturbineGoodness> windturbinegoodnessList(Integer pageNum, Integer pageSize, String cmId, String type, String wpId, String recorddate) {
 
-        if(StringUtils.empty(pageNum))
-        {
-            pageNum=1;
+        if (StringUtils.empty(pageNum)) {
+            pageNum = 1;
         }
-        if(StringUtils.empty(pageSize))
-        {
-            pageSize=10;
+        if (StringUtils.empty(pageSize)) {
+            pageSize = 10;
         }
         //构造分页构造器
         Page<ProEconWindturbineGoodness> pageInfo = new Page<>(pageNum, pageSize);
-        if (StringUtils.notEmp(cmId) && StringUtils.notEmp(type) && StringUtils.notEmp(recorddate))
-        {
-            Date date= DateUtils.parseDate(recorddate);
+        if (StringUtils.notEmp(cmId) && StringUtils.notEmp(type) && StringUtils.notEmp(recorddate)) {
+            Date date = DateUtils.parseDate(recorddate);
 
             //构造条件构造器
             LambdaQueryWrapper<ProEconWindturbineGoodness> queryWrapper = new LambdaQueryWrapper<>();
             //添加过滤条件
 
-            if(StringUtils.notEmp(wpId))
-            {
+            if (StringUtils.notEmp(wpId)) {
                 queryWrapper.eq(ProEconWindturbineGoodness::getWindtpowerstationId, wpId).
-                        eq(ProEconWindturbineGoodness::getCompanyId,cmId).
-                        eq(ProEconWindturbineGoodness::getTypes,type).
+                        eq(ProEconWindturbineGoodness::getCompanyId, cmId).
+                        eq(ProEconWindturbineGoodness::getTypes, type).
                         eq(ProEconWindturbineGoodness::getRecordDate, date);
-            }else
-            {
-                queryWrapper.eq(ProEconWindturbineGoodness::getCompanyId,cmId).
-                        eq(ProEconWindturbineGoodness::getTypes,type).
+            } else {
+                queryWrapper.eq(ProEconWindturbineGoodness::getCompanyId, cmId).
+                        eq(ProEconWindturbineGoodness::getTypes, type).
                         eq(ProEconWindturbineGoodness::getRecordDate, date);
             }
 
@@ -107,21 +102,20 @@ public class WindturbinegoodnessService {
         ProBasicEquipmentPoint pjfs = wtpointmap.get(ContantXk.CJ_SSFS);
 
 
-       // WindTurbineTestingPointAi2 fs = map.get(ContantXk.TPOINT_WT_PJFS);
+        // WindTurbineTestingPointAi2 fs = map.get(ContantXk.TPOINT_WT_PJFS);
 
         if (null != sjgl) {
             List<PointData> sjglls = edosUtil.getHistoryDatasSnap(sjgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
-            if(!sjglls.isEmpty())
-            {
+            if (!sjglls.isEmpty()) {
                 int count = 0;
                 double temp = 0;
                 for (int i = 0; i < vos.size(); i++) {
-                    vos.get(i).setTime(sjglls.get(i ).getPointTime() * 1000);
+                    vos.get(i).setTime(sjglls.get(i).getPointTime() * 1000);
 
-                    if (i < sjglls.size() && StringUtils.notEmp(sjglls.get(i ).getPointTime())) {
+                    if (i < sjglls.size() && StringUtils.notEmp(sjglls.get(i).getPointTime())) {
 
                         if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
-                            temp = sjglls.get(i ).getPointValueInDouble();
+                            temp = sjglls.get(i).getPointValueInDouble();
                             if (Math.abs(temp) < 10000) {
                                 vos.get(i).setValue1(StringUtils.round(temp, 2));// 实际功率
                             }
@@ -140,16 +134,15 @@ public class WindturbinegoodnessService {
 
         if (null != bzgl) {
             List<PointData> bzglls = edosUtil.getHistoryDatasSnap(bzgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
-            if(!bzglls.isEmpty())
-            {
+            if (!bzglls.isEmpty()) {
                 int count = 0;
                 double temp = 0;
                 for (int i = 0; i < vos.size(); i++) {
                     // vos.get(i).setTime(bzglls.get(i).getPointTime() * 1000);
-                    if (i < bzglls.size() && StringUtils.notEmp(bzglls.get(i ).getPointTime())) {
+                    if (i < bzglls.size() && StringUtils.notEmp(bzglls.get(i).getPointTime())) {
 
                         if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
-                            temp = bzglls.get(i ).getPointValueInDouble();
+                            temp = bzglls.get(i).getPointValueInDouble();
                             if (Math.abs(temp) < 10000) {
                                 vos.get(i).setValue2(StringUtils.round(temp, 2));// 保证功率
                             }
@@ -168,16 +161,15 @@ public class WindturbinegoodnessService {
 
         if (null != pjfs) {
             List<PointData> pjfsls = edosUtil.getHistoryDatasSnap(pjfs, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
-            if(!pjfsls.isEmpty())
-            {
+            if (!pjfsls.isEmpty()) {
                 int count = 0;
                 double temp = 0;
                 for (int i = 0; i < vos.size(); i++) {
-                    vos.get(i).setTime(pjfsls.get(i ).getPointTime() * 1000);
-                    if (i < pjfsls.size() && StringUtils.notEmp(pjfsls.get(i ).getPointTime())) {
+                    vos.get(i).setTime(pjfsls.get(i).getPointTime() * 1000);
+                    if (i < pjfsls.size() && StringUtils.notEmp(pjfsls.get(i).getPointTime())) {
 
                         if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
-                            temp = pjfsls.get(i ).getPointValueInDouble();
+                            temp = pjfsls.get(i).getPointValueInDouble();
                             vos.get(i).setValue3(StringUtils.round(temp, 2));// 风速
                             count++;
                         } else {
@@ -194,6 +186,7 @@ public class WindturbinegoodnessService {
 
         return vos;
     }
+
     public List<List<EchartDataVo>> getplotBands(String wtId, Date recorddate) throws Exception {
 
         SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
@@ -203,7 +196,7 @@ public class WindturbinegoodnessService {
         c.set(Calendar.HOUR_OF_DAY, 0);
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.SECOND, 0);
-        c.set(Calendar.MILLISECOND,0);
+        c.set(Calendar.MILLISECOND, 0);
 
 
         Date beginDate = c.getTime();
@@ -211,155 +204,158 @@ public class WindturbinegoodnessService {
         Date endDate = c.getTime();
 
 
-
-        List<String> xtime=new ArrayList<>();
-        List<EchartDataVo> vos=new ArrayList<>();
-        List<List<EchartDataVo>> resultvos=new ArrayList<>();
-        Map<String,String> map=new HashMap<>();
+        List<String> xtime = new ArrayList<>();
+        List<EchartDataVo> vos = new ArrayList<>();
+        List<List<EchartDataVo>> resultvos = new ArrayList<>();
+        Map<String, String> map = new HashMap<>();
         int length = 240;
         String plotBands = null;
         StringBuilder sb = new StringBuilder("");
-        
+
         Map<String, ProBasicEquipmentPoint> wtpointmap = CacheContext.wtpAimap.get(wtId);
         ProBasicEquipmentPoint fjzt = wtpointmap.get(ContantXk.SBZT);
 
-        String beginTime=null;
-        String endTime=null;
-        String time=null;
-
-            if (null != fjzt) {
-                List<PointData> fjztls = edosUtil.getHistoryDatasSnap(fjzt, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 360L);
+        String beginTime = null;
+        String endTime = null;
+        String time = null;
+
+        if (null != fjzt) {
+            List<PointData> fjztls = edosUtil.getHistoryDatasSnap(fjzt, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 360L);
+
+
+            int zt = 0;
+            for (int i = 0; i < fjztls.size(); i++) {
+                if (i < fjztls.size()) {
+
+                    PointData pd = fjztls.get(i);
+                    int zttemp = Double.valueOf(pd.getPointValueInDouble()).intValue();
+                    Date resultDate = new Date(pd.getPointTime() * 1000);
+                    beginTime = sdf.format(resultDate);
+                    time = sdf2.format(resultDate);
+                    xtime.add(beginTime);
+                    if (i == 0) {
+                        zt = zttemp;
+                        EchartDataVo vo = new EchartDataVo();
+                        vo.setxAxis(beginTime);
+                        vo.setTime1(time);
+                        vo.setName(judgeSatte(zttemp));
+
+                        EchartDataVo.ItemStyle item = vo.new ItemStyle();
+                        item.setColor(judgeColor(zttemp));
+                        vo.setItemStyle(item);
+
+                        vos.add(vo);
+                    } else {
+                        if (zt != zttemp) {
+                            zt = zttemp;
+                            c = Calendar.getInstance();
+                            c.setTime(resultDate);
+//                                c.add(Calendar.MINUTE, -6);
+                            endTime = sdf.format(c.getTime());
+                            time = sdf2.format(c.getTime());
 
+                            vos.get(0).setTime2(time);
+                            EchartDataVo vo = new EchartDataVo();
+                            vo.setxAxis(endTime);
+                            vos.add(vo);
 
-                int zt = 0;
-                for (int i = 0; i < fjztls.size(); i++) {
-                    if (i < fjztls.size()) {
 
-                        PointData pd=fjztls.get(i);
-                        int zttemp = Double.valueOf(pd.getPointValueInDouble()).intValue();
-                        Date resultDate = new Date(pd.getPointTime() * 1000);
-                        beginTime = sdf.format(resultDate);
-                        time=sdf2.format(resultDate);
-                        xtime.add(beginTime);
-                        if (i == 0) {
+                            if (vos.size() == 2) {
+                                resultvos.add(vos);
+                                vos = new ArrayList<>();
+                                vo = new EchartDataVo();
+                                vo.setxAxis(beginTime);
+                                vo.setTime1(sdf2.format(resultDate));
+                                vo.setName(judgeSatte(zttemp));
+                                EchartDataVo.ItemStyle item = vo.new ItemStyle();
+                                item.setColor(judgeColor(zttemp));
+                                vo.setItemStyle(item);
+                                vos.add(vo);
+                            }
+                        } else if (i == fjztls.size() - 1) {
                             zt = zttemp;
+                            c = Calendar.getInstance();
+                            c.setTime(resultDate);
+//                                c.add(Calendar.MINUTE, -6);
+                            endTime = sdf.format(c.getTime());
+                            time = sdf2.format(c.getTime());
+
+                            vos.get(0).setTime2(time);
                             EchartDataVo vo = new EchartDataVo();
+                            vo.setxAxis(endTime);
                             vo.setxAxis(beginTime);
-                            vo.setTime1(time);
+                            vo.setTime1(sdf2.format(resultDate));
                             vo.setName(judgeSatte(zttemp));
-
-                            EchartDataVo.ItemStyle item= vo.new ItemStyle();
+                            EchartDataVo.ItemStyle item = vo.new ItemStyle();
                             item.setColor(judgeColor(zttemp));
                             vo.setItemStyle(item);
-
                             vos.add(vo);
-                        } else {
-                            if (zt != zttemp) {
-                                zt = zttemp;
-                                c = Calendar.getInstance();
-                                c.setTime(resultDate);
-//                                c.add(Calendar.MINUTE, -6);
-                                endTime = sdf.format(c.getTime());
-                                time=sdf2.format(c.getTime());
-
-                                vos.get(0).setTime2(time);
-                                EchartDataVo vo = new EchartDataVo();
-                                vo.setxAxis(endTime);
-                                vos.add(vo);
-
-
-                                if (vos.size() == 2) {
-                                    resultvos.add(vos);
-                                    vos = new ArrayList<>();
-                                    vo = new EchartDataVo();
-                                    vo.setxAxis(beginTime);
-                                    vo.setTime1(sdf2.format(resultDate));
-                                    vo.setName(judgeSatte(zttemp));
-                                    EchartDataVo.ItemStyle item= vo.new ItemStyle();
-                                    item.setColor(judgeColor(zttemp));
-                                    vo.setItemStyle(item);
-                                    vos.add(vo);
-                                }
-                            }else if(i==fjztls.size()-1)
-                            {
-                                zt = zttemp;
-                                c = Calendar.getInstance();
-                                c.setTime(resultDate);
-//                                c.add(Calendar.MINUTE, -6);
-                                endTime = sdf.format(c.getTime());
-                                time=sdf2.format(c.getTime());
-
-                                vos.get(0).setTime2(time);
-                                EchartDataVo vo = new EchartDataVo();
-                                vo.setxAxis(endTime);
-                                vos.add(vo);
-                                resultvos.add(vos);
-                            }
-
+                            resultvos.add(vos);
                         }
 
                     }
 
                 }
+
             }
+        }
         return resultvos;
     }
 
-    private  String judgeSatte(int zt)
-    {
-        String ztname=null;
-        switch ( zt ) {
+    private String judgeSatte(int zt) {
+        String ztname = null;
+        switch (zt) {
             case 0:
-                ztname= "待机";
+                ztname = "待机";
                 break;
             case 1:
-                ztname= "运行";
+                ztname = "运行";
                 break;
             case 2:
-                ztname= "故障";
+                ztname = "故障";
                 break;
             case 3:
-                ztname= "检修";
+                ztname = "检修";
                 break;
             case 4:
-                ztname= "限电";
+                ztname = "限电";
                 break;
             case 5:
-                ztname= "受累";
+                ztname = "受累";
                 break;
             case 6:
-                ztname= "中断";
+                ztname = "中断";
                 break;
             default:
 
         }
         return ztname;
     }
-//    运行 #08FCF0 待机 #34A90A  维护 #FD7D1C 故障 #FD0100 限电 #D201D8 离线 #A6A6A6
-    private  String judgeColor(int zt)
-    {
-        String ztname=null;
-        switch ( zt ) {
+
+    //    运行 #08FCF0 待机 #34A90A  维护 #FD7D1C 故障 #FD0100 限电 #D201D8 离线 #A6A6A6
+    private String judgeColor(int zt) {
+        String ztname = null;
+        switch (zt) {
             case 0:
-                ztname= "#BFFFDF";
+                ztname = "#BFFFDF";
                 break;
             case 1:
-                ztname= "#E7FFFF";
+                ztname = "#E7FFFF";
                 break;
             case 2:
-                ztname= "#FFBFBF";
+                ztname = "#FFBFBF";
                 break;
             case 3:
-                ztname= "#FFDFBF";
+                ztname = "#FFDFBF";
                 break;
             case 4:
-                ztname= "#FFDFFF";
+                ztname = "#FFDFFF";
                 break;
             case 5:
-                ztname= "#FFDFFF";
+                ztname = "#FFDFFF";
                 break;
             case 6:
-                ztname= "#DDDDDD";
+                ztname = "#DDDDDD";
                 break;
             default:
 
@@ -367,17 +363,17 @@ public class WindturbinegoodnessService {
         return ztname;
     }
 
-    public Map<String, String> getPlotBand(String wtId , String begin, String end) throws Exception {
+    public Map<String, String> getPlotBand(String wtId, String begin, String end) throws Exception {
 
         Map<String, ProBasicEquipmentPoint> wtpointmap = CacheContext.wtpAimap.get(wtId);
-        ProBasicEquipmentPoint fdlAi =wtpointmap.get(ContantXk.RFDL);
+        ProBasicEquipmentPoint fdlAi = wtpointmap.get(ContantXk.RFDL);
         ProBasicEquipmentPoint fsAi = wtpointmap.get(ContantXk.CJ_SSFS);
-        ProBasicEquipmentPoint llfdlAi =wtpointmap.get(ContantXk.RLLFDL);
+        ProBasicEquipmentPoint llfdlAi = wtpointmap.get(ContantXk.RLLFDL);
         ProBasicEquipmentPoint glAi = wtpointmap.get(ContantXk.CJ_SSGL);
-        ProBasicEquipmentPoint fjztAi =wtpointmap.get(ContantXk.SBZT);
+        ProBasicEquipmentPoint fjztAi = wtpointmap.get(ContantXk.SBZT);
 
-        Date begindate=DateUtils.parseDate1(begin);
-        Date enddate=DateUtils.parseDate1(end);
+        Date begindate = DateUtils.parseDate(begin);
+        Date enddate = DateUtils.parseDate(end);
         Map<String, String> tempmap = new HashMap<String, String>();
 
         // 发电量
@@ -433,7 +429,7 @@ public class WindturbinegoodnessService {
                 begindate.getTime() / 1000, enddate.getTime() / 1000, (long) 1,
                 3600L);
         if (!fjztls.isEmpty()) {
-            fjzt =  Double.valueOf(fjztls.get(0).getPointValueInDouble()).intValue();
+            fjzt = Double.valueOf(fjztls.get(0).getPointValueInDouble()).intValue();
 
             tempmap.put("fjzt", judgeSatte(fjzt));
 
@@ -558,12 +554,12 @@ public class WindturbinegoodnessService {
         Map<String, ProBasicEquipmentPoint> wtpointmap = CacheContext.wtpAimap.get(wtId);
 
 
-        ProBasicEquipmentPoint fdl =wtpointmap.get(ContantXk.RFDL);
-        ProBasicEquipmentPoint whss =wtpointmap.get(ContantXk.RJXSSDL);
-        ProBasicEquipmentPoint gzss =wtpointmap.get(ContantXk.RGZSSDL);
-        ProBasicEquipmentPoint xdss =wtpointmap.get(ContantXk.RXDTJSSDL);
-        ProBasicEquipmentPoint qfss =wtpointmap.get(ContantXk.RXNSSDL);
-        ProBasicEquipmentPoint fs =wtpointmap.get(ContantXk.CJ_SSFS);
+        ProBasicEquipmentPoint fdl = wtpointmap.get(ContantXk.RFDL);
+        ProBasicEquipmentPoint whss = wtpointmap.get(ContantXk.RJXSSDL);
+        ProBasicEquipmentPoint gzss = wtpointmap.get(ContantXk.RGZSSDL);
+        ProBasicEquipmentPoint xdss = wtpointmap.get(ContantXk.RXDTJSSDL);
+        ProBasicEquipmentPoint qfss = wtpointmap.get(ContantXk.RXNSSDL);
+        ProBasicEquipmentPoint fs = wtpointmap.get(ContantXk.CJ_SSFS);
 
         try {
             if (null != fdl) {
@@ -574,7 +570,7 @@ public class WindturbinegoodnessService {
                 for (int i = 0; i < length; i++) {
 
                     if (i < fdlls.size() && StringUtils.notEmp(fdlls.get(i + 1).getPointTime())) {
-                        
+
                         vos.get(i).setTime(fdlls.get(i + 1).getPointTime() * 1000);
                         if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
 
@@ -621,7 +617,7 @@ public class WindturbinegoodnessService {
                 for (int i = 0; i < length; i++) {
 
                     if (i < whssls.size() && StringUtils.notEmp(whssls.get(i + 1).getPointTime())) {
-                        
+
                         vos.get(i).setTime(whssls.get(i + 1).getPointTime() * 1000);
                         if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
                             if (i != 0) {
@@ -669,7 +665,7 @@ public class WindturbinegoodnessService {
                 for (int i = 0; i < length; i++) {
 
                     if (i < gzssls.size() && StringUtils.notEmp(gzssls.get(i + 1).getPointTime())) {
-                        
+
                         vos.get(i).setTime(gzssls.get(i + 1).getPointTime() * 1000);
                         if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
                             if (i != 0) {
@@ -718,7 +714,7 @@ public class WindturbinegoodnessService {
                 for (int i = 0; i < length; i++) {
 
                     if (i < xdssls.size() && StringUtils.notEmp(xdssls.get(i + 1).getPointTime())) {
-                        
+
                         vos.get(i).setTime(xdssls.get(i + 1).getPointTime() * 1000);
                         if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
                             if (i != 0) {
@@ -816,7 +812,7 @@ public class WindturbinegoodnessService {
                 for (int i = 0; i < 24; i++) {
 
                     if (i < fsls.size() && StringUtils.notEmp(fsls.get(i + 1).getPointTime())) {
-                        
+
                         vos.get(i).setTime(fsls.get(i + 1).getPointTime() * 1000);
                         if (vos.get(i).getTime() <= DateUtils.now().getTime()) {