瀏覽代碼

首页数据迁移

zhaomiao 4 年之前
父節點
當前提交
9dd4e7b939
共有 29 個文件被更改,包括 5216 次插入19 次删除
  1. 1 0
      src/main/java/com/gyee/frame/common/quartz/SocketTaskUtil.java
  2. 42 0
      src/main/java/com/gyee/frame/common/quartz/task/Windpowerstationdetail_sevendaycolumn_target.java
  3. 46 0
      src/main/java/com/gyee/frame/common/quartz/task/Windpowerstationdetail_twentyfourhourlinechart_target.java
  4. 41 0
      src/main/java/com/gyee/frame/common/quartz/task/index_curve_columnar_five_loss.java
  5. 42 0
      src/main/java/com/gyee/frame/common/quartz/task/index_curve_columnar_windSpeed_power.java
  6. 47 0
      src/main/java/com/gyee/frame/common/quartz/task/index_electricQuantity.java
  7. 47 0
      src/main/java/com/gyee/frame/common/quartz/task/index_target_basic_indicators.java
  8. 41 0
      src/main/java/com/gyee/frame/common/quartz/task/index_windStation_card.java
  9. 97 0
      src/main/java/com/gyee/frame/mapper/auto/ForecastwindspeedamendedMapper.java
  10. 378 0
      src/main/java/com/gyee/frame/model/auto/Forecastwindspeedamended.java
  11. 1004 0
      src/main/java/com/gyee/frame/model/auto/ForecastwindspeedamendedExample.java
  12. 13 0
      src/main/java/com/gyee/frame/model/auto/ProjectplanExample.java
  13. 542 0
      src/main/java/com/gyee/frame/model/auto/WindPowerStationTestingPoint2.java
  14. 608 0
      src/main/java/com/gyee/frame/model/auto/WindTurbineTestingPointAi2.java
  15. 183 0
      src/main/java/com/gyee/frame/model/custom/DataVo.java
  16. 10 0
      src/main/java/com/gyee/frame/netty/websocket/config/ConfigDetail.txt
  17. 5 1
      src/main/java/com/gyee/frame/netty/websocket/config/SocketPageConfig.java
  18. 129 0
      src/main/java/com/gyee/frame/service/ForecastwindspeedamendedService.java
  19. 194 0
      src/main/java/com/gyee/frame/service/ProjectplanService.java
  20. 2 0
      src/main/java/com/gyee/frame/service/WindpowerinfodayService.java
  21. 92 0
      src/main/java/com/gyee/frame/service/app/index/FocastpowerService.java
  22. 562 0
      src/main/java/com/gyee/frame/service/app/index/IndexDetailService.java
  23. 223 15
      src/main/java/com/gyee/frame/service/app/index/IndexService.java
  24. 202 0
      src/main/java/com/gyee/frame/service/app/windpowerstationdetail/Windspeedpowercurvedetail.java
  25. 6 0
      src/main/java/com/gyee/frame/util/StringUtils.java
  26. 279 0
      src/main/java/com/gyee/frame/util/golden/IEdosUtil.java
  27. 1 1
      src/main/resources/application.yml
  28. 366 0
      src/main/resources/mybatis/auto/ForecastwindspeedamendedMapper.xml
  29. 13 2
      src/test/java/test/RelationalDataBaseTest.java

+ 1 - 0
src/main/java/com/gyee/frame/common/quartz/SocketTaskUtil.java

@@ -63,6 +63,7 @@ public class SocketTaskUtil {
         }
         this.deleteJob(sysQuartzJob1);//符合标准步骤删除-创建-启动流程
         try {
+            System.out.println(sysQuartzJob1.getJobName());
             sysQuartzJob1.setStatus(0);//开启任务
             quartzSchedulerUtil.createSchedule(sysQuartzJob1);
         } catch (SchedulerException e) {

+ 42 - 0
src/main/java/com/gyee/frame/common/quartz/task/Windpowerstationdetail_sevendaycolumn_target.java

@@ -0,0 +1,42 @@
+package com.gyee.frame.common.quartz.task;
+
+import com.gyee.frame.service.app.windpowerstationdetail.Windspeedpowercurvedetail;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ *测试类
+ * @CLASSNAME   WeatherfdPushTask
+ * @Description 向页面预测今天气象推送数据
+ * @Auther Li ZaiXun
+ *、 @DATE 2020/1/2 15:33
+ */
+@Component("windpowerstationdetail_sevendaycolumn_target")
+public class Windpowerstationdetail_sevendaycolumn_target {
+    @Autowired
+    private Windspeedpowercurvedetail windspeedpowercurvedetail;
+    /**
+     * 无参的任务
+     */
+    public void windpowerstationdetail_sevendaycolumn_target() throws Exception {
+        windspeedpowercurvedetail.windpowerstationdetail_sevendaycolumn_target();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送
+        //System.out.println("我已执行");
+    }
+
+
+    /**
+     * 有参任务
+     * 目前仅执行常见的数据类型  Integer Long  带L  string  带 ''  bool Double 带 d
+     * @param a
+     * @param b
+     *
+     */
+    public void runTask2(Integer a,Long b,String c,Boolean d,Double e)
+    {
+        //List<TsysUser> list=  tsysUserMapper.selectByExample(new TsysUserExample());
+        //System.err.println("用户查询num:"+list.size());
+        System.out.println("正在执行定时任务,带多个参数的方法"+a+"   "+b+" "+c+"  "+d+" "+e+"执行时间:"+new Date().toLocaleString());
+    }
+}

+ 46 - 0
src/main/java/com/gyee/frame/common/quartz/task/Windpowerstationdetail_twentyfourhourlinechart_target.java

@@ -0,0 +1,46 @@
+package com.gyee.frame.common.quartz.task;
+
+import com.gyee.frame.service.app.windpowerstationdetail.Windspeedpowercurvedetail;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ *测试类
+ * @CLASSNAME   WeatherfdPushTask
+ * @Description 向页面预测今天24小时气象推送数据
+ * @Auther Li ZaiXun
+ * @DATE 2020/1/2 15:33*/
+
+
+@Component("windpowerstationdetail_twentyfourhourlinechart_target")
+public class Windpowerstationdetail_twentyfourhourlinechart_target {
+    @Autowired
+    private Windspeedpowercurvedetail windspeedpowercurvedetail;
+/**
+     * 无参的任务*/
+
+
+    public void windpowerstationdetail_twentyfourhourlinechart_target() throws Exception {
+        windspeedpowercurvedetail.windpowerstationdetail_twentyfourhourlinechart_target();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送
+        //System.out.println("我已执行");
+    }
+
+
+/**
+     * 有参任务
+     * 目前仅执行常见的数据类型  Integer Long  带L  string  带 ''  bool Double 带 d
+     * @param a
+     * @param b
+     **/
+
+
+    public void runTask2(Integer a,Long b,String c,Boolean d,Double e)
+    {
+        //List<TsysUser> list=  tsysUserMapper.selectByExample(new TsysUserExample());
+        //System.err.println("用户查询num:"+list.size());
+        System.out.println("正在执行定时任务,带多个参数的方法"+a+"   "+b+" "+c+"  "+d+" "+e+"执行时间:"+new Date().toLocaleString());
+    }
+
+}

+ 41 - 0
src/main/java/com/gyee/frame/common/quartz/task/index_curve_columnar_five_loss.java

@@ -0,0 +1,41 @@
+package com.gyee.frame.common.quartz.task;
+
+import com.gyee.frame.service.app.index.IndexDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ *
+ */
+@Component("index_curve_columnar_five_loss")
+public class index_curve_columnar_five_loss {
+
+	@Autowired
+    private IndexDetailService indexDetailService;
+    /**
+     * 无参的任务
+     * @throws Exception 
+     */
+    public void index_curve_columnar_five_loss() throws Exception {
+    	indexDetailService.index_curve_columnar_five_loss();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送     
+        //System.out.println("我已执行");
+    }   
+       
+
+    /**
+     * 有参任务
+     * 目前仅执行常见的数据类型  Integer Long  带L  string  带 ''  bool Double 带 d
+     * @param a
+     * @param b
+     * 
+     */
+    public void runTask2(Integer a,Long b,String c,Boolean d,Double e)
+    {
+    	//List<TsysUser> list=  tsysUserMapper.selectByExample(new TsysUserExample());
+    	//System.err.println("用户查询num:"+list.size());
+        System.out.println("正在执行定时任务,带多个参数的方法"+a+"   "+b+" "+c+"  "+d+" "+e+"执行时间:"+new Date().toLocaleString());
+    }
+
+}

+ 42 - 0
src/main/java/com/gyee/frame/common/quartz/task/index_curve_columnar_windSpeed_power.java

@@ -0,0 +1,42 @@
+package com.gyee.frame.common.quartz.task;
+
+import com.gyee.frame.mapper.auto.TsysUserMapper;
+import com.gyee.frame.service.app.index.IndexDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ *
+ */
+@Component("index_curve_columnar_windSpeed_power")
+public class index_curve_columnar_windSpeed_power {
+
+    @Autowired
+    private IndexDetailService indexDetailService;
+    /**
+     * 无参的任务
+     * @throws Exception
+     */
+    public void index_curve_columnar_windSpeed_power() throws Exception {
+        indexDetailService.index_curve_columnar_windSpeed_power();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送
+        //System.out.println("我已执行");
+    }
+
+
+    /**
+     * 有参任务
+     * 目前仅执行常见的数据类型  Integer Long  带L  string  带 ''  bool Double 带 d
+     * @param a
+     * @param b
+     *
+     */
+    public void runTask2(Integer a,Long b,String c,Boolean d,Double e)
+    {
+        //List<TsysUser> list=  tsysUserMapper.selectByExample(new TsysUserExample());
+        //System.err.println("用户查询num:"+list.size());
+        System.out.println("正在执行定时任务,带多个参数的方法"+a+"   "+b+" "+c+"  "+d+" "+e+"执行时间:"+new Date().toLocaleString());
+    }
+
+}

+ 47 - 0
src/main/java/com/gyee/frame/common/quartz/task/index_electricQuantity.java

@@ -0,0 +1,47 @@
+package com.gyee.frame.common.quartz.task;
+
+import com.gyee.frame.mapper.auto.TsysUserMapper;
+import com.gyee.frame.service.app.index.IndexService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ *测试类
+ * @CLASSNAME   WeatherfdPushTask
+ * @Description 向页面预测今天气象推送数据
+ * @Auther Wang Jiawen
+ * @DATE 2020/1/2 15:33
+ */
+@Component("index_electricQuantity")
+public class index_electricQuantity {
+	@Autowired
+	private TsysUserMapper tsysUserMapper;
+	@Autowired
+    private IndexService indexService;
+    /**
+     * 无参的任务
+     * @throws Exception 
+     */
+    public void index_electricQuantity() throws Exception {
+    	indexService.index_electricQuantity();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送     
+        //System.out.println("我已执行");
+    }   
+       
+
+    /**
+     * 有参任务
+     * 目前仅执行常见的数据类型  Integer Long  带L  string  带 ''  bool Double 带 d
+     * @param a
+     * @param b
+     * 
+     */
+    public void runTask2(Integer a,Long b,String c,Boolean d,Double e)
+    {
+    	//List<TsysUser> list=  tsysUserMapper.selectByExample(new TsysUserExample());
+    	//System.err.println("用户查询num:"+list.size());
+        System.out.println("正在执行定时任务,带多个参数的方法"+a+"   "+b+" "+c+"  "+d+" "+e+"执行时间:"+new Date().toLocaleString());
+    }
+
+}

+ 47 - 0
src/main/java/com/gyee/frame/common/quartz/task/index_target_basic_indicators.java

@@ -0,0 +1,47 @@
+package com.gyee.frame.common.quartz.task;
+
+import com.gyee.frame.mapper.auto.TsysUserMapper;
+import com.gyee.frame.service.app.index.IndexService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ *测试类
+ * @CLASSNAME   WeatherfdPushTask
+ * @Description 向页面预测今天气象推送数据
+ * @Auther Wang Jiawen
+ * @DATE 2020/1/2 15:33
+ */
+@Component("index_target_basic_indicators")
+public class index_target_basic_indicators {
+	@Autowired
+	private TsysUserMapper tsysUserMapper;
+	@Autowired
+    private IndexService indexService;
+    /**
+     * 无参的任务
+     * @throws Exception
+    */
+    public void index_target_basic_indicators() throws Exception {
+    	indexService.index_target_basic_indicators();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送     
+        //System.out.println("我已执行");
+    }   
+       
+
+    /**
+     * 有参任务
+     * 目前仅执行常见的数据类型  Integer Long  带L  string  带 ''  bool Double 带 d
+     * @param a
+     * @param b
+     * 
+     */
+    public void runTask2(Integer a,Long b,String c,Boolean d,Double e)
+    {
+    	//List<TsysUser> list=  tsysUserMapper.selectByExample(new TsysUserExample());
+    	//System.err.println("用户查询num:"+list.size());
+        System.out.println("正在执行定时任务,带多个参数的方法"+a+"   "+b+" "+c+"  "+d+" "+e+"执行时间:"+new Date().toLocaleString());
+    }
+
+}

+ 41 - 0
src/main/java/com/gyee/frame/common/quartz/task/index_windStation_card.java

@@ -0,0 +1,41 @@
+package com.gyee.frame.common.quartz.task;
+
+import com.gyee.frame.service.app.index.IndexDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ *
+ */
+@Component("index_windStation_card")
+public class index_windStation_card {
+
+	@Autowired
+    private IndexDetailService indexDetailService;
+    /**
+     * 无参的任务
+     * @throws Exception 
+     */
+    public void index_windStation_card() throws Exception {
+    	indexDetailService.index_windStation_card();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送     
+        //System.out.println("我已执行");
+    }   
+       
+
+    /**
+     * 有参任务
+     * 目前仅执行常见的数据类型  Integer Long  带L  string  带 ''  bool Double 带 d
+     * @param a
+     * @param b
+     * 
+     */
+    public void runTask2(Integer a,Long b,String c,Boolean d,Double e)
+    {
+    	//List<TsysUser> list=  tsysUserMapper.selectByExample(new TsysUserExample());
+    	//System.err.println("用户查询num:"+list.size());
+        System.out.println("正在执行定时任务,带多个参数的方法"+a+"   "+b+" "+c+"  "+d+" "+e+"执行时间:"+new Date().toLocaleString());
+    }
+
+}

+ 97 - 0
src/main/java/com/gyee/frame/mapper/auto/ForecastwindspeedamendedMapper.java

@@ -0,0 +1,97 @@
+package com.gyee.frame.mapper.auto;
+
+import com.gyee.frame.model.auto.Forecastwindspeedamended;
+import com.gyee.frame.model.auto.ForecastwindspeedamendedExample;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface ForecastwindspeedamendedMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    long countByExample(ForecastwindspeedamendedExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    int deleteByExample(ForecastwindspeedamendedExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    int deleteByPrimaryKey(Short id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    int insert(Forecastwindspeedamended record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    int insertSelective(Forecastwindspeedamended record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    List<Forecastwindspeedamended> selectByExample(ForecastwindspeedamendedExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    Forecastwindspeedamended selectByPrimaryKey(Integer id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    int updateByExampleSelective(@Param("record") Forecastwindspeedamended record, @Param("example") ForecastwindspeedamendedExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    int updateByExample(@Param("record") Forecastwindspeedamended record, @Param("example") ForecastwindspeedamendedExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKeySelective(Forecastwindspeedamended record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKey(Forecastwindspeedamended record);
+}

+ 378 - 0
src/main/java/com/gyee/frame/model/auto/Forecastwindspeedamended.java

@@ -0,0 +1,378 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class Forecastwindspeedamended implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FORECASTWINDSPEEDAMENDED.ID
+     *
+     * @mbg.generated
+     */
+    private Integer id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FORECASTWINDSPEEDAMENDED.WPID
+     *
+     * @mbg.generated
+     */
+    private String wpid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FORECASTWINDSPEEDAMENDED.WPNAME
+     *
+     * @mbg.generated
+     */
+    private String wpname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FORECASTWINDSPEEDAMENDED.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    private Date recodedate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FORECASTWINDSPEEDAMENDED.DAYSPEED
+     *
+     * @mbg.generated
+     */
+    private BigDecimal dayspeed;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FORECASTWINDSPEEDAMENDED.DAYPOWER
+     *
+     * @mbg.generated
+     */
+    private BigDecimal daypower;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FORECASTWINDSPEEDAMENDED.NIGHTSPEED
+     *
+     * @mbg.generated
+     */
+    private BigDecimal nightspeed;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FORECASTWINDSPEEDAMENDED.NIGHTPOWER
+     *
+     * @mbg.generated
+     */
+    private BigDecimal nightpower;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FORECASTWINDSPEEDAMENDED.PJID
+     *
+     * @mbg.generated
+     */
+    private String pjid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FORECASTWINDSPEEDAMENDED.PJNAME
+     *
+     * @mbg.generated
+     */
+    private String pjname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column FORECASTWINDSPEEDAMENDED.CREATEDATE
+     *
+     * @mbg.generated
+     */
+    private Date createdate;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table FORECASTWINDSPEEDAMENDED
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FORECASTWINDSPEEDAMENDED.ID
+     *
+     * @return the value of FORECASTWINDSPEEDAMENDED.ID
+     *
+     * @mbg.generated
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FORECASTWINDSPEEDAMENDED.ID
+     *
+     * @param id the value for FORECASTWINDSPEEDAMENDED.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FORECASTWINDSPEEDAMENDED.WPID
+     *
+     * @return the value of FORECASTWINDSPEEDAMENDED.WPID
+     *
+     * @mbg.generated
+     */
+    public String getWpid() {
+        return wpid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FORECASTWINDSPEEDAMENDED.WPID
+     *
+     * @param wpid the value for FORECASTWINDSPEEDAMENDED.WPID
+     *
+     * @mbg.generated
+     */
+    public void setWpid(String wpid) {
+        this.wpid = wpid == null ? null : wpid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FORECASTWINDSPEEDAMENDED.WPNAME
+     *
+     * @return the value of FORECASTWINDSPEEDAMENDED.WPNAME
+     *
+     * @mbg.generated
+     */
+    public String getWpname() {
+        return wpname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FORECASTWINDSPEEDAMENDED.WPNAME
+     *
+     * @param wpname the value for FORECASTWINDSPEEDAMENDED.WPNAME
+     *
+     * @mbg.generated
+     */
+    public void setWpname(String wpname) {
+        this.wpname = wpname == null ? null : wpname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FORECASTWINDSPEEDAMENDED.RECODEDATE
+     *
+     * @return the value of FORECASTWINDSPEEDAMENDED.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    public Date getRecodedate() {
+        return recodedate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FORECASTWINDSPEEDAMENDED.RECODEDATE
+     *
+     * @param recodedate the value for FORECASTWINDSPEEDAMENDED.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    public void setRecodedate(Date recodedate) {
+        this.recodedate = recodedate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FORECASTWINDSPEEDAMENDED.DAYSPEED
+     *
+     * @return the value of FORECASTWINDSPEEDAMENDED.DAYSPEED
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getDayspeed() {
+        return dayspeed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FORECASTWINDSPEEDAMENDED.DAYSPEED
+     *
+     * @param dayspeed the value for FORECASTWINDSPEEDAMENDED.DAYSPEED
+     *
+     * @mbg.generated
+     */
+    public void setDayspeed(BigDecimal dayspeed) {
+        this.dayspeed = dayspeed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FORECASTWINDSPEEDAMENDED.DAYPOWER
+     *
+     * @return the value of FORECASTWINDSPEEDAMENDED.DAYPOWER
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getDaypower() {
+        return daypower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FORECASTWINDSPEEDAMENDED.DAYPOWER
+     *
+     * @param daypower the value for FORECASTWINDSPEEDAMENDED.DAYPOWER
+     *
+     * @mbg.generated
+     */
+    public void setDaypower(BigDecimal daypower) {
+        this.daypower = daypower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FORECASTWINDSPEEDAMENDED.NIGHTSPEED
+     *
+     * @return the value of FORECASTWINDSPEEDAMENDED.NIGHTSPEED
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getNightspeed() {
+        return nightspeed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FORECASTWINDSPEEDAMENDED.NIGHTSPEED
+     *
+     * @param nightspeed the value for FORECASTWINDSPEEDAMENDED.NIGHTSPEED
+     *
+     * @mbg.generated
+     */
+    public void setNightspeed(BigDecimal nightspeed) {
+        this.nightspeed = nightspeed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FORECASTWINDSPEEDAMENDED.NIGHTPOWER
+     *
+     * @return the value of FORECASTWINDSPEEDAMENDED.NIGHTPOWER
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getNightpower() {
+        return nightpower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FORECASTWINDSPEEDAMENDED.NIGHTPOWER
+     *
+     * @param nightpower the value for FORECASTWINDSPEEDAMENDED.NIGHTPOWER
+     *
+     * @mbg.generated
+     */
+    public void setNightpower(BigDecimal nightpower) {
+        this.nightpower = nightpower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FORECASTWINDSPEEDAMENDED.PJID
+     *
+     * @return the value of FORECASTWINDSPEEDAMENDED.PJID
+     *
+     * @mbg.generated
+     */
+    public String getPjid() {
+        return pjid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FORECASTWINDSPEEDAMENDED.PJID
+     *
+     * @param pjid the value for FORECASTWINDSPEEDAMENDED.PJID
+     *
+     * @mbg.generated
+     */
+    public void setPjid(String pjid) {
+        this.pjid = pjid == null ? null : pjid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FORECASTWINDSPEEDAMENDED.PJNAME
+     *
+     * @return the value of FORECASTWINDSPEEDAMENDED.PJNAME
+     *
+     * @mbg.generated
+     */
+    public String getPjname() {
+        return pjname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FORECASTWINDSPEEDAMENDED.PJNAME
+     *
+     * @param pjname the value for FORECASTWINDSPEEDAMENDED.PJNAME
+     *
+     * @mbg.generated
+     */
+    public void setPjname(String pjname) {
+        this.pjname = pjname == null ? null : pjname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column FORECASTWINDSPEEDAMENDED.CREATEDATE
+     *
+     * @return the value of FORECASTWINDSPEEDAMENDED.CREATEDATE
+     *
+     * @mbg.generated
+     */
+    public Date getCreatedate() {
+        return createdate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column FORECASTWINDSPEEDAMENDED.CREATEDATE
+     *
+     * @param createdate the value for FORECASTWINDSPEEDAMENDED.CREATEDATE
+     *
+     * @mbg.generated
+     */
+    public void setCreatedate(Date createdate) {
+        this.createdate = createdate;
+    }
+}

文件差異過大導致無法顯示
+ 1004 - 0
src/main/java/com/gyee/frame/model/auto/ForecastwindspeedamendedExample.java


+ 13 - 0
src/main/java/com/gyee/frame/model/auto/ProjectplanExample.java

@@ -104,6 +104,8 @@ public class ProjectplanExample {
      *
      * @mbg.generated
      */
+
+
     public Criteria or() {
         Criteria criteria = createCriteriaInternal();
         oredCriteria.add(criteria);
@@ -193,6 +195,17 @@ public class ProjectplanExample {
             }
             criteria.add(new Criterion(condition, value1, value2));
         }
+        /*functionNumber_4*/
+        public Criteria
+        andWindpowerEqualTo(String value) {
+            addCriterion("windpower =", value, "windpower");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerNotLike(String value) {
+            addCriterion("windpower not like", value, "windpower");
+            return (Criteria) this;
+        }
 
         public Criteria andIdIsNull() {
             addCriterion("id is null");

+ 542 - 0
src/main/java/com/gyee/frame/model/auto/WindPowerStationTestingPoint2.java

@@ -0,0 +1,542 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+public class WindPowerStationTestingPoint2 implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.CODE
+     *
+     * @mbg.generated
+     */
+    private String code;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.NAME
+     *
+     * @mbg.generated
+     */
+    private String name;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.MODEL
+     *
+     * @mbg.generated
+     */
+    private String model;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.VALUEUNIT
+     *
+     * @mbg.generated
+     */
+    private String valueunit;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.ENGLISHNAME
+     *
+     * @mbg.generated
+     */
+    private String englishname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.TYPEID
+     *
+     * @mbg.generated
+     */
+    private String typeid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.MODELID
+     *
+     * @mbg.generated
+     */
+    private String modelid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.MAXVAL
+     *
+     * @mbg.generated
+     */
+    private BigDecimal maxval;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.MINVAL
+     *
+     * @mbg.generated
+     */
+    private BigDecimal minval;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.REASONABLEMAXVAL
+     *
+     * @mbg.generated
+     */
+    private BigDecimal reasonablemaxval;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.REASONABLEMINVAL
+     *
+     * @mbg.generated
+     */
+    private BigDecimal reasonableminval;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.UNIFORMCODE
+     *
+     * @mbg.generated
+     */
+    private String uniformcode;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.SHORTID
+     *
+     * @mbg.generated
+     */
+    private String shortid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.LONGID
+     *
+     * @mbg.generated
+     */
+    private String longid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.WINDPOWERSTATIONID
+     *
+     * @mbg.generated
+     */
+    private String windpowerstationid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDPOWERSTATIONTESTINGPOINT2.REALTIMEID
+     *
+     * @mbg.generated
+     */
+    private String realtimeid;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WINDPOWERSTATIONTESTINGPOINT2
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.CODE
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.CODE
+     *
+     * @mbg.generated
+     */
+    public String getCode() {
+        return code;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.CODE
+     *
+     * @param code the value for WINDPOWERSTATIONTESTINGPOINT2.CODE
+     *
+     * @mbg.generated
+     */
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.NAME
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.NAME
+     *
+     * @mbg.generated
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.NAME
+     *
+     * @param name the value for WINDPOWERSTATIONTESTINGPOINT2.NAME
+     *
+     * @mbg.generated
+     */
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.MODEL
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.MODEL
+     *
+     * @mbg.generated
+     */
+    public String getModel() {
+        return model;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.MODEL
+     *
+     * @param model the value for WINDPOWERSTATIONTESTINGPOINT2.MODEL
+     *
+     * @mbg.generated
+     */
+    public void setModel(String model) {
+        this.model = model == null ? null : model.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.VALUEUNIT
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.VALUEUNIT
+     *
+     * @mbg.generated
+     */
+    public String getValueunit() {
+        return valueunit;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.VALUEUNIT
+     *
+     * @param valueunit the value for WINDPOWERSTATIONTESTINGPOINT2.VALUEUNIT
+     *
+     * @mbg.generated
+     */
+    public void setValueunit(String valueunit) {
+        this.valueunit = valueunit == null ? null : valueunit.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.ENGLISHNAME
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.ENGLISHNAME
+     *
+     * @mbg.generated
+     */
+    public String getEnglishname() {
+        return englishname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.ENGLISHNAME
+     *
+     * @param englishname the value for WINDPOWERSTATIONTESTINGPOINT2.ENGLISHNAME
+     *
+     * @mbg.generated
+     */
+    public void setEnglishname(String englishname) {
+        this.englishname = englishname == null ? null : englishname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.TYPEID
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.TYPEID
+     *
+     * @mbg.generated
+     */
+    public String getTypeid() {
+        return typeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.TYPEID
+     *
+     * @param typeid the value for WINDPOWERSTATIONTESTINGPOINT2.TYPEID
+     *
+     * @mbg.generated
+     */
+    public void setTypeid(String typeid) {
+        this.typeid = typeid == null ? null : typeid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.MODELID
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.MODELID
+     *
+     * @mbg.generated
+     */
+    public String getModelid() {
+        return modelid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.MODELID
+     *
+     * @param modelid the value for WINDPOWERSTATIONTESTINGPOINT2.MODELID
+     *
+     * @mbg.generated
+     */
+    public void setModelid(String modelid) {
+        this.modelid = modelid == null ? null : modelid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.MAXVAL
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.MAXVAL
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getMaxval() {
+        return maxval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.MAXVAL
+     *
+     * @param maxval the value for WINDPOWERSTATIONTESTINGPOINT2.MAXVAL
+     *
+     * @mbg.generated
+     */
+    public void setMaxval(BigDecimal maxval) {
+        this.maxval = maxval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.MINVAL
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.MINVAL
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getMinval() {
+        return minval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.MINVAL
+     *
+     * @param minval the value for WINDPOWERSTATIONTESTINGPOINT2.MINVAL
+     *
+     * @mbg.generated
+     */
+    public void setMinval(BigDecimal minval) {
+        this.minval = minval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.REASONABLEMAXVAL
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.REASONABLEMAXVAL
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getReasonablemaxval() {
+        return reasonablemaxval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.REASONABLEMAXVAL
+     *
+     * @param reasonablemaxval the value for WINDPOWERSTATIONTESTINGPOINT2.REASONABLEMAXVAL
+     *
+     * @mbg.generated
+     */
+    public void setReasonablemaxval(BigDecimal reasonablemaxval) {
+        this.reasonablemaxval = reasonablemaxval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.REASONABLEMINVAL
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.REASONABLEMINVAL
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getReasonableminval() {
+        return reasonableminval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.REASONABLEMINVAL
+     *
+     * @param reasonableminval the value for WINDPOWERSTATIONTESTINGPOINT2.REASONABLEMINVAL
+     *
+     * @mbg.generated
+     */
+    public void setReasonableminval(BigDecimal reasonableminval) {
+        this.reasonableminval = reasonableminval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.UNIFORMCODE
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.UNIFORMCODE
+     *
+     * @mbg.generated
+     */
+    public String getUniformcode() {
+        return uniformcode;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.UNIFORMCODE
+     *
+     * @param uniformcode the value for WINDPOWERSTATIONTESTINGPOINT2.UNIFORMCODE
+     *
+     * @mbg.generated
+     */
+    public void setUniformcode(String uniformcode) {
+        this.uniformcode = uniformcode == null ? null : uniformcode.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.SHORTID
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.SHORTID
+     *
+     * @mbg.generated
+     */
+    public String getShortid() {
+        return shortid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.SHORTID
+     *
+     * @param shortid the value for WINDPOWERSTATIONTESTINGPOINT2.SHORTID
+     *
+     * @mbg.generated
+     */
+    public void setShortid(String shortid) {
+        this.shortid = shortid == null ? null : shortid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.LONGID
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.LONGID
+     *
+     * @mbg.generated
+     */
+    public String getLongid() {
+        return longid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.LONGID
+     *
+     * @param longid the value for WINDPOWERSTATIONTESTINGPOINT2.LONGID
+     *
+     * @mbg.generated
+     */
+    public void setLongid(String longid) {
+        this.longid = longid == null ? null : longid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.WINDPOWERSTATIONID
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.WINDPOWERSTATIONID
+     *
+     * @mbg.generated
+     */
+    public String getWindpowerstationid() {
+        return windpowerstationid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.WINDPOWERSTATIONID
+     *
+     * @param windpowerstationid the value for WINDPOWERSTATIONTESTINGPOINT2.WINDPOWERSTATIONID
+     *
+     * @mbg.generated
+     */
+    public void setWindpowerstationid(String windpowerstationid) {
+        this.windpowerstationid = windpowerstationid == null ? null : windpowerstationid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDPOWERSTATIONTESTINGPOINT2.REALTIMEID
+     *
+     * @return the value of WINDPOWERSTATIONTESTINGPOINT2.REALTIMEID
+     *
+     * @mbg.generated
+     */
+    public String getRealtimeid() {
+        return realtimeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDPOWERSTATIONTESTINGPOINT2.REALTIMEID
+     *
+     * @param realtimeid the value for WINDPOWERSTATIONTESTINGPOINT2.REALTIMEID
+     *
+     * @mbg.generated
+     */
+    public void setRealtimeid(String realtimeid) {
+        this.realtimeid = realtimeid == null ? null : realtimeid.trim();
+    }
+}

+ 608 - 0
src/main/java/com/gyee/frame/model/auto/WindTurbineTestingPointAi2.java

@@ -0,0 +1,608 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+public class WindTurbineTestingPointAi2 implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.CODE
+     *
+     * @mbg.generated
+     */
+    private String code;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.NAME
+     *
+     * @mbg.generated
+     */
+    private String name;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.MODEL
+     *
+     * @mbg.generated
+     */
+    private String model;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.VALUEUNIT
+     *
+     * @mbg.generated
+     */
+    private String valueunit;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.ENGLISHNAME
+     *
+     * @mbg.generated
+     */
+    private String englishname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.TYPEID
+     *
+     * @mbg.generated
+     */
+    private String typeid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.MODELID
+     *
+     * @mbg.generated
+     */
+    private String modelid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.MAXVAL
+     *
+     * @mbg.generated
+     */
+    private BigDecimal maxval;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.MINVAL
+     *
+     * @mbg.generated
+     */
+    private BigDecimal minval;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.REASONABLEMAXVAL
+     *
+     * @mbg.generated
+     */
+    private BigDecimal reasonablemaxval;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.REASONABLEMINVAL
+     *
+     * @mbg.generated
+     */
+    private BigDecimal reasonableminval;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.WINDTURBINEID
+     *
+     * @mbg.generated
+     */
+    private String windturbineid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.UNIFORMCODE
+     *
+     * @mbg.generated
+     */
+    private String uniformcode;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.SHORTID
+     *
+     * @mbg.generated
+     */
+    private String shortid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.LONGID
+     *
+     * @mbg.generated
+     */
+    private String longid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.WINDPOWERSTATIONID
+     *
+     * @mbg.generated
+     */
+    private String windpowerstationid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WINDTURBINETESTINGPOINTAI2.REALTIMEID
+     *
+     * @mbg.generated
+     */
+    private String realtimeid;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WINDTURBINETESTINGPOINTAI2
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.ID
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.ID
+     *
+     * @param id the value for WINDTURBINETESTINGPOINTAI2.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.CODE
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.CODE
+     *
+     * @mbg.generated
+     */
+    public String getCode() {
+        return code;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.CODE
+     *
+     * @param code the value for WINDTURBINETESTINGPOINTAI2.CODE
+     *
+     * @mbg.generated
+     */
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.NAME
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.NAME
+     *
+     * @mbg.generated
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.NAME
+     *
+     * @param name the value for WINDTURBINETESTINGPOINTAI2.NAME
+     *
+     * @mbg.generated
+     */
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.MODEL
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.MODEL
+     *
+     * @mbg.generated
+     */
+    public String getModel() {
+        return model;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.MODEL
+     *
+     * @param model the value for WINDTURBINETESTINGPOINTAI2.MODEL
+     *
+     * @mbg.generated
+     */
+    public void setModel(String model) {
+        this.model = model == null ? null : model.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.VALUEUNIT
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.VALUEUNIT
+     *
+     * @mbg.generated
+     */
+    public String getValueunit() {
+        return valueunit;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.VALUEUNIT
+     *
+     * @param valueunit the value for WINDTURBINETESTINGPOINTAI2.VALUEUNIT
+     *
+     * @mbg.generated
+     */
+    public void setValueunit(String valueunit) {
+        this.valueunit = valueunit == null ? null : valueunit.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.ENGLISHNAME
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.ENGLISHNAME
+     *
+     * @mbg.generated
+     */
+    public String getEnglishname() {
+        return englishname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.ENGLISHNAME
+     *
+     * @param englishname the value for WINDTURBINETESTINGPOINTAI2.ENGLISHNAME
+     *
+     * @mbg.generated
+     */
+    public void setEnglishname(String englishname) {
+        this.englishname = englishname == null ? null : englishname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.TYPEID
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.TYPEID
+     *
+     * @mbg.generated
+     */
+    public String getTypeid() {
+        return typeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.TYPEID
+     *
+     * @param typeid the value for WINDTURBINETESTINGPOINTAI2.TYPEID
+     *
+     * @mbg.generated
+     */
+    public void setTypeid(String typeid) {
+        this.typeid = typeid == null ? null : typeid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.MODELID
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.MODELID
+     *
+     * @mbg.generated
+     */
+    public String getModelid() {
+        return modelid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.MODELID
+     *
+     * @param modelid the value for WINDTURBINETESTINGPOINTAI2.MODELID
+     *
+     * @mbg.generated
+     */
+    public void setModelid(String modelid) {
+        this.modelid = modelid == null ? null : modelid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.MAXVAL
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.MAXVAL
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getMaxval() {
+        return maxval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.MAXVAL
+     *
+     * @param maxval the value for WINDTURBINETESTINGPOINTAI2.MAXVAL
+     *
+     * @mbg.generated
+     */
+    public void setMaxval(BigDecimal maxval) {
+        this.maxval = maxval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.MINVAL
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.MINVAL
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getMinval() {
+        return minval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.MINVAL
+     *
+     * @param minval the value for WINDTURBINETESTINGPOINTAI2.MINVAL
+     *
+     * @mbg.generated
+     */
+    public void setMinval(BigDecimal minval) {
+        this.minval = minval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.REASONABLEMAXVAL
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.REASONABLEMAXVAL
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getReasonablemaxval() {
+        return reasonablemaxval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.REASONABLEMAXVAL
+     *
+     * @param reasonablemaxval the value for WINDTURBINETESTINGPOINTAI2.REASONABLEMAXVAL
+     *
+     * @mbg.generated
+     */
+    public void setReasonablemaxval(BigDecimal reasonablemaxval) {
+        this.reasonablemaxval = reasonablemaxval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.REASONABLEMINVAL
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.REASONABLEMINVAL
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getReasonableminval() {
+        return reasonableminval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.REASONABLEMINVAL
+     *
+     * @param reasonableminval the value for WINDTURBINETESTINGPOINTAI2.REASONABLEMINVAL
+     *
+     * @mbg.generated
+     */
+    public void setReasonableminval(BigDecimal reasonableminval) {
+        this.reasonableminval = reasonableminval;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.WINDTURBINEID
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.WINDTURBINEID
+     *
+     * @mbg.generated
+     */
+    public String getWindturbineid() {
+        return windturbineid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.WINDTURBINEID
+     *
+     * @param windturbineid the value for WINDTURBINETESTINGPOINTAI2.WINDTURBINEID
+     *
+     * @mbg.generated
+     */
+    public void setWindturbineid(String windturbineid) {
+        this.windturbineid = windturbineid == null ? null : windturbineid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.UNIFORMCODE
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.UNIFORMCODE
+     *
+     * @mbg.generated
+     */
+    public String getUniformcode() {
+        return uniformcode;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.UNIFORMCODE
+     *
+     * @param uniformcode the value for WINDTURBINETESTINGPOINTAI2.UNIFORMCODE
+     *
+     * @mbg.generated
+     */
+    public void setUniformcode(String uniformcode) {
+        this.uniformcode = uniformcode == null ? null : uniformcode.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.SHORTID
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.SHORTID
+     *
+     * @mbg.generated
+     */
+    public String getShortid() {
+        return shortid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.SHORTID
+     *
+     * @param shortid the value for WINDTURBINETESTINGPOINTAI2.SHORTID
+     *
+     * @mbg.generated
+     */
+    public void setShortid(String shortid) {
+        this.shortid = shortid == null ? null : shortid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.LONGID
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.LONGID
+     *
+     * @mbg.generated
+     */
+    public String getLongid() {
+        return longid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.LONGID
+     *
+     * @param longid the value for WINDTURBINETESTINGPOINTAI2.LONGID
+     *
+     * @mbg.generated
+     */
+    public void setLongid(String longid) {
+        this.longid = longid == null ? null : longid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.WINDPOWERSTATIONID
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.WINDPOWERSTATIONID
+     *
+     * @mbg.generated
+     */
+    public String getWindpowerstationid() {
+        return windpowerstationid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.WINDPOWERSTATIONID
+     *
+     * @param windpowerstationid the value for WINDTURBINETESTINGPOINTAI2.WINDPOWERSTATIONID
+     *
+     * @mbg.generated
+     */
+    public void setWindpowerstationid(String windpowerstationid) {
+        this.windpowerstationid = windpowerstationid == null ? null : windpowerstationid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WINDTURBINETESTINGPOINTAI2.REALTIMEID
+     *
+     * @return the value of WINDTURBINETESTINGPOINTAI2.REALTIMEID
+     *
+     * @mbg.generated
+     */
+    public String getRealtimeid() {
+        return realtimeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WINDTURBINETESTINGPOINTAI2.REALTIMEID
+     *
+     * @param realtimeid the value for WINDTURBINETESTINGPOINTAI2.REALTIMEID
+     *
+     * @mbg.generated
+     */
+    public void setRealtimeid(String realtimeid) {
+        this.realtimeid = realtimeid == null ? null : realtimeid.trim();
+    }
+}

+ 183 - 0
src/main/java/com/gyee/frame/model/custom/DataVo.java

@@ -0,0 +1,183 @@
+/**
+ * <p>文件名:	DataVo.java</p>
+ * <p>版权:  </p>
+ * <p>公司:	company Co., Ltd.</p>
+ * <p>项目名:lnly</p>
+ * <p>作者:	刘厦(liusha.information@gmail.com)</p>
+ */
+package com.gyee.frame.model.custom;
+
+/**
+ *
+ */
+
+public class DataVo {
+
+    private Long time;
+    private String timestr;
+    private Double value1;
+
+    private Double value2;
+
+    private Double value3;
+
+    private Double value4;
+
+    private Double value5;
+
+    private Double value6;
+
+    private Double value7;
+
+    private Double value8;
+
+    private Double value9;
+    
+    private Double value10;
+    
+    private Double value11;
+    
+    private Double value12;
+    
+    private Double value13;
+
+    private Double speed;
+
+    private String name;
+
+    public Long getTime() {
+        return time;
+    }
+
+    public void setTime(Long time) {
+        this.time = time;
+    }
+
+    public String getTimestr() {
+        return timestr;
+    }
+
+    public void setTimestr(String timestr) {
+        this.timestr = timestr;
+    }
+
+    public Double getValue1() {
+        return value1;
+    }
+
+    public void setValue1(Double value1) {
+        this.value1 = value1;
+    }
+
+    public Double getValue2() {
+        return value2;
+    }
+
+    public void setValue2(Double value2) {
+        this.value2 = value2;
+    }
+
+    public Double getValue3() {
+        return value3;
+    }
+
+    public void setValue3(Double value3) {
+        this.value3 = value3;
+    }
+
+    public Double getValue4() {
+        return value4;
+    }
+
+    public void setValue4(Double value4) {
+        this.value4 = value4;
+    }
+
+    public Double getValue5() {
+        return value5;
+    }
+
+    public void setValue5(Double value5) {
+        this.value5 = value5;
+    }
+
+    public Double getValue6() {
+        return value6;
+    }
+
+    public void setValue6(Double value6) {
+        this.value6 = value6;
+    }
+
+    public Double getValue7() {
+        return value7;
+    }
+
+    public void setValue7(Double value7) {
+        this.value7 = value7;
+    }
+
+    public Double getValue8() {
+        return value8;
+    }
+
+    public void setValue8(Double value8) {
+        this.value8 = value8;
+    }
+
+    public Double getValue9() {
+        return value9;
+    }
+
+    public void setValue9(Double value9) {
+        this.value9 = value9;
+    }
+
+    public Double getValue10() {
+        return value10;
+    }
+
+    public void setValue10(Double value10) {
+        this.value10 = value10;
+    }
+
+    public Double getValue11() {
+        return value11;
+    }
+
+    public void setValue11(Double value11) {
+        this.value11 = value11;
+    }
+
+    public Double getValue12() {
+        return value12;
+    }
+
+    public void setValue12(Double value12) {
+        this.value12 = value12;
+    }
+
+    public Double getValue13() {
+        return value13;
+    }
+
+    public void setValue13(Double value13) {
+        this.value13 = value13;
+    }
+
+    public Double getSpeed() {
+        return speed;
+    }
+
+    public void setSpeed(Double speed) {
+        this.speed = speed;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

+ 10 - 0
src/main/java/com/gyee/frame/netty/websocket/config/ConfigDetail.txt

@@ -18,8 +18,18 @@ sisConfigMap->index_target_comprehensive_indicators->"pageNumber_6","functionNum
 sisConfigMap->index_target_windSpeed_power->"pageNumber_6","functionNumber_2"
 9.首页模块推送,第三部分风机状态模块,包括接入、待机、运行、故障、维护、离线
 sisConfigMap->index_windturbine_status->"pageNumber_6","functionNumber_3"
+
+
 10.首页模块推送,第四部分发电量完成情况模块,包括月计划发电量、年计划发电量
 sisConfigMap->index_electricQuantity->"pageNumber_6","functionNumber_4"
+11.首页模块推送,第二部分指标模块的子模块3,基础指标模块,包括月利用小时、年利用小时、综合场用电率、设备可利用率、减排二氧化硫、减排二氧化碳、节约用水、节约标煤、mttr、mtbf
+sisConfigMap->index_target_basic_indicators->"pageNumber_6","functionNumber_5"
+12.首页模块推送,第五部分曲线以及柱状图模块的子模块1风速功率曲线图模块,包括24小时功率、风速、理论功率、预测功率
+sisConfigMap->index_curve_columnar_windSpeed_power->"pageNumber_7","functionNumber_4"
+13.首页模块推送,第五部分曲线以及柱状图模块的子模块2五项损失柱状图模块,包括7天的应发电量、日发电量、故障损失电量、检修损失电量、限电损失电量、性能损失电量、受累损失电量
+sisConfigMap->index_curve_columnar_five_loss->"pageNumber_6","functionNumber_7"
+14.首页模块推送,第六部分风场卡片模块,包括预测电量、日发电量、实时风速、实际功率
+sisConfigMap->index_windStation_card->"pageNumber_6","functionNumber_8"
 
 19.综合指标模块推送,指标名称comprehensive_target,包括数值,记录综合指标
 sisConfigMap->comprehensive_target->"pageNumber_7","functionNumber_1"

+ 5 - 1
src/main/java/com/gyee/frame/netty/websocket/config/SocketPageConfig.java

@@ -56,6 +56,7 @@ public class SocketPageConfig {
               sisConfigMap.put("index_target_windSpeed_power",Createindex_target_windSpeed_powerConfig());//首页第二部分指标模块的子模块2,风速功率模块,包括平均风速、预测风速、实际功率、理论功率
               sisConfigMap.put("index_windturbine_status",Createindex_windturbine_statusConfig());//首页第三部分风机状态模块,包括接入、待机、运行、故障、维护、离线
               sisConfigMap.put("index_electricQuantity",Createindex_electricQuantityConfig());//首页第四部分发电量完成情况模块,包括月计划发电量、年计划发电量
+              sisConfigMap.put("index_target_basic_indicators",Createindex_target_basic_indicatorsConfig());//首页第二部分指标模块的子模块3,基础指标模块,包括月利用小时、年利用小时、综合场用电率、设备可利用率、减排二氧化硫、减排二氧化碳、节约用水、节约标煤、mttr、mtbf
               sisConfigMap.put("targetdetail_target",Createsis_targetdetail_target());//在此处进行功能化布局,表示在socket主页面下的一个功能
               sisConfigMap.put("targetdetail_curve",Createsis_targetdetail_curve());
               sisConfigMap.put("targetdetail_histogram",Createsis_targetdetail_histogram());
@@ -114,7 +115,10 @@ public class SocketPageConfig {
         return new String[]{"pageNumber_6","functionNumber_4"};//首页第四部分发电量完成情况模块,包括月计划发电量、年计划发电量
     }
 
-    
+    private String[] Createindex_target_basic_indicatorsConfig() {
+        return new String[]{"pageNumber_6","functionNumber_5"};//首页第二部分指标模块的子模块3,基础指标模块,包括月利用小时、年利用小时、综合场用电率、设备可利用率、减排二氧化硫、减排二氧化碳、节约用水、节约标煤、mttr、mtbf
+    }
+
     private String[] Createsis_targetdetail_target() {
         return new String[]{"pageNumber_8","functionNumber_1"};//气象预测未来16小时数据,按小时预测,包含当前小时,pageNumber_3,功能编号functionNumber_2
     }

+ 129 - 0
src/main/java/com/gyee/frame/service/ForecastwindspeedamendedService.java

@@ -0,0 +1,129 @@
+package com.gyee.frame.service;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.mapper.auto.ForecastwindspeedamendedMapper;
+import com.gyee.frame.model.auto.Forecastwindspeedamended;
+import com.gyee.frame.model.auto.ForecastwindspeedamendedExample;
+import com.gyee.frame.model.custom.Tablepar;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 线路 LineService
+ * @Title: LineService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2019-12-31 14:58:09  
+ **/
+@Service
+public class ForecastwindspeedamendedService implements BaseService<Forecastwindspeedamended, ForecastwindspeedamendedExample> {
+	@Resource
+	private ForecastwindspeedamendedMapper forecastwindspeedamendedMapper;
+	
+      	   	      	      	      	      	      	      	      	      	      	
+	/**
+	 * 分页查询
+	 * @param tablepar
+	 * @param name
+	 * @return
+	 */
+	 public PageInfo<Forecastwindspeedamended> list(Tablepar tablepar, String name){
+	        ForecastwindspeedamendedExample testExample=new ForecastwindspeedamendedExample();
+	        testExample.setOrderByClause("id ASC");
+	        if(name!=null&&!"".equals(name)){
+	        	testExample.createCriteria().andWpnameLike("%"+name+"%");
+	        }
+
+	        PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+	        List<Forecastwindspeedamended> list= forecastwindspeedamendedMapper.selectByExample(testExample);
+	        PageInfo<Forecastwindspeedamended> pageInfo = new PageInfo<Forecastwindspeedamended>(list);
+	        return  pageInfo;
+	 }
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+
+			return -1;
+
+
+	}
+
+	
+	@Override
+	public Forecastwindspeedamended selectByPrimaryKey(String id) {
+				
+			return forecastwindspeedamendedMapper.selectByPrimaryKey(Integer.valueOf(id));
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(Forecastwindspeedamended record) {
+		return forecastwindspeedamendedMapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(Forecastwindspeedamended record) {
+				
+
+				
+		return forecastwindspeedamendedMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(Forecastwindspeedamended record, ForecastwindspeedamendedExample example) {
+		
+		return forecastwindspeedamendedMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(Forecastwindspeedamended record, ForecastwindspeedamendedExample example) {
+		
+		return forecastwindspeedamendedMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<Forecastwindspeedamended> selectByExample(ForecastwindspeedamendedExample example) {
+		
+		return forecastwindspeedamendedMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(ForecastwindspeedamendedExample example) {
+		
+		return forecastwindspeedamendedMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(ForecastwindspeedamendedExample example) {
+		
+		return forecastwindspeedamendedMapper.deleteByExample(example);
+	}
+	
+	/**
+	 * 检查name
+	 * @param forecastwindspeedamended
+	 * @return
+	 */
+	public int checkNameUnique(Forecastwindspeedamended forecastwindspeedamended){
+		ForecastwindspeedamendedExample example=new ForecastwindspeedamendedExample();
+		example.createCriteria().andIdEqualTo(forecastwindspeedamended.getId());
+		List<Forecastwindspeedamended> list=forecastwindspeedamendedMapper.selectByExample(example);
+		return list.size();
+	}
+
+
+}

+ 194 - 0
src/main/java/com/gyee/frame/service/ProjectplanService.java

@@ -0,0 +1,194 @@
+package com.gyee.frame.service;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.ProjectplanMapper;
+import com.gyee.frame.model.auto.Projectplan;
+import com.gyee.frame.model.auto.ProjectplanExample;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 项目 ProjectService
+ * @Title: ProjectService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2019-12-31 14:58:09  
+ **/
+@Service
+public class ProjectplanService implements BaseService<Projectplan, ProjectplanExample>{
+    @Resource
+    private ProjectplanMapper projectplanMapper;
+
+
+    /**
+     * 分页查询
+     * @param tablepar
+     * @param name
+     * @return
+     */
+    public PageInfo<Projectplan> list(Tablepar tablepar,String name){
+        ProjectplanExample testExample=new ProjectplanExample();
+        testExample.setOrderByClause("id ASC");
+        if(name!=null&&!"".equals(name)){
+            testExample.createCriteria().andIdLike("%"+name+"%");
+        }
+
+        PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+        List<Projectplan> list= projectplanMapper.selectByExample(testExample);
+        PageInfo<Projectplan> pageInfo = new PageInfo<Projectplan>(list);
+        return  pageInfo;
+    }
+
+    @Override
+    public int deleteByPrimaryKey(String ids) {
+
+        List<String> lista=Convert.toListStrArray(ids);
+        ProjectplanExample example=new ProjectplanExample();
+        example.createCriteria().andIdIn(lista);
+        return projectplanMapper.deleteByExample(example);
+
+
+    }
+
+
+    @Override
+    public Projectplan selectByPrimaryKey(String id) {
+
+        return projectplanMapper.selectByPrimaryKey(id);
+
+    }
+
+
+    @Override
+    public int updateByPrimaryKeySelective(Projectplan record) {
+        return projectplanMapper.updateByPrimaryKeySelective(record);
+    }
+
+
+    /**
+     * 添加
+     */
+    @Override
+    public int insertSelective(Projectplan record) {
+
+        //添加雪花主键id
+        record.setId(SnowflakeIdWorker.getUUID());
+
+
+        return projectplanMapper.insertSelective(record);
+    }
+
+
+    @Override
+    public int updateByExampleSelective(Projectplan record, ProjectplanExample example) {
+
+        return projectplanMapper.updateByExampleSelective(record, example);
+    }
+
+
+    @Override
+    public int updateByExample(Projectplan record, ProjectplanExample example) {
+
+        return projectplanMapper.updateByExample(record, example);
+    }
+
+    @Override
+    public List<Projectplan> selectByExample(ProjectplanExample example) {
+
+        return projectplanMapper.selectByExample(example);
+    }
+
+
+    @Override
+    public long countByExample(ProjectplanExample example) {
+
+        return projectplanMapper.countByExample(example);
+    }
+
+
+    @Override
+    public int deleteByExample(ProjectplanExample example) {
+
+        return projectplanMapper.deleteByExample(example);
+    }
+
+    /**
+     * 检查name
+     * @param project
+     * @return
+     */
+    public int checkNameUnique(Projectplan project){
+        ProjectplanExample example=new ProjectplanExample();
+        example.createCriteria().andIdEqualTo(project.getId());
+        List<Projectplan> list=projectplanMapper.selectByExample(example);
+        return list.size();
+    }
+
+    public double planMonthPower(String name){
+
+
+        ProjectplanExample example=new ProjectplanExample();
+        Calendar c = Calendar.getInstance();
+
+        int year= c.get(Calendar.YEAR);
+        int month= c.get(Calendar.MONTH)+1;
+
+
+        if(name.equals("0"))
+        {
+            example.createCriteria().andWindpoweridNotLike("%_GDC").andYearEqualTo(String.valueOf(year)).andMonthEqualTo(String.valueOf(month));
+
+        }else
+        {
+            example.createCriteria().andWindpoweridEqualTo(name).andYearEqualTo(String.valueOf(year)).andMonthEqualTo(String.valueOf(month));
+
+
+        }
+        List<Projectplan> wtls = selectByExample(example);
+        double tmp = 0;
+        for(Projectplan wt:wtls)
+        {
+            tmp = tmp + Double.valueOf(wt.getGeneratingcapacity());
+        }
+        return tmp;
+    }
+
+    public double planYearPower(String name){
+
+
+        ProjectplanExample example=new ProjectplanExample();
+        Calendar c = Calendar.getInstance();
+
+        int year= c.get(Calendar.YEAR);
+        int month= c.get(Calendar.MONTH)+1;
+
+
+        if(name.equals("0"))
+        {
+            example.createCriteria().andWindpoweridNotLike("%_GDC").andYearEqualTo(String.valueOf(year)).andMonthIsNull();
+
+        }else
+        {
+            example.createCriteria().andWindpoweridEqualTo(name).andYearEqualTo(String.valueOf(year)).andMonthIsNull();
+
+
+        }
+        List<Projectplan> wtls = selectByExample(example);
+        double tmp = 0;
+        for(Projectplan wt:wtls)
+        {
+            tmp = tmp + Double.valueOf(wt.getGeneratingcapacity());
+        }
+        return tmp;
+    }
+}

+ 2 - 0
src/main/java/com/gyee/frame/service/WindpowerinfodayService.java

@@ -75,6 +75,8 @@ public class WindpowerinfodayService extends SocketToolService implements BaseSe
 			WindpowerinfodayExample testExample=new WindpowerinfodayExample();
 			testExample.setOrderByClause("id ASC");
 			testExample.createCriteria().andForeignkeyidEqualTo(wpid).andRecorddateBetween(recodedatebegin,recodedateend);
+			System.out.println(testExample);
+
 			List<Windpowerinfoday> list= windpowerinfodayMapper.selectByExample(testExample);
 
 			if(!list.isEmpty())

+ 92 - 0
src/main/java/com/gyee/frame/service/app/index/FocastpowerService.java

@@ -0,0 +1,92 @@
+package com.gyee.frame.service.app.index;
+
+import com.gyee.frame.model.auto.Forecastwindspeedamended;
+import com.gyee.frame.model.auto.ForecastwindspeedamendedExample;
+import com.gyee.frame.netty.websocket.util.SocketToolService;
+import com.gyee.frame.service.ForecastwindspeedamendedService;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+/**
+ *
+ */
+@Service
+public class FocastpowerService extends SocketToolService {
+
+    @Resource
+    private ForecastwindspeedamendedService forecastwindspeedamendedService;
+
+
+    public double focastpower(String name){
+
+
+        ForecastwindspeedamendedExample forecastwindspeedamendedExample=new ForecastwindspeedamendedExample();
+        Calendar c = Calendar.getInstance();
+        c.set(Calendar.HOUR_OF_DAY, 0);
+        c.set(Calendar.MINUTE, 0);
+        c.set(Calendar.SECOND, 0);
+        Date begin=c.getTime();
+        c.add(Calendar.DAY_OF_MONTH,1);
+        Date end=c.getTime();
+
+        if(name.equals("0"))
+        {
+            forecastwindspeedamendedExample.createCriteria().andRecodedateBetween(begin,end);
+
+        }else
+        {
+            forecastwindspeedamendedExample.createCriteria().andWpidEqualTo(name).andRecodedateBetween(begin,end);
+
+        }
+        List<Forecastwindspeedamended> wtls = forecastwindspeedamendedService.selectByExample(forecastwindspeedamendedExample);
+        double tmp = 0;
+        for(Forecastwindspeedamended wt:wtls)
+        {
+            tmp = tmp + wt.getDaypower().doubleValue()+wt.getNightpower().doubleValue();
+        }
+        return tmp;
+    }
+
+    public double focastspeed(String name){
+
+
+        ForecastwindspeedamendedExample forecastwindspeedamendedExample=new ForecastwindspeedamendedExample();
+        Calendar c = Calendar.getInstance();
+        c.set(Calendar.HOUR_OF_DAY, 0);
+        c.set(Calendar.MINUTE, 0);
+        c.set(Calendar.SECOND, 0);
+        Date begin=c.getTime();
+        c.add(Calendar.DAY_OF_MONTH,1);
+        Date end=c.getTime();
+
+        if(name.equals("0"))
+        {
+            forecastwindspeedamendedExample.createCriteria().andRecodedateBetween(begin,end);
+
+        }else
+        {
+            forecastwindspeedamendedExample.createCriteria().andWpidEqualTo(name).andRecodedateBetween(begin,end);
+
+        }
+        List<Forecastwindspeedamended> wtls = forecastwindspeedamendedService.selectByExample(forecastwindspeedamendedExample);
+        double tmp = 0;
+
+        if(!wtls.isEmpty())
+        {
+            for(Forecastwindspeedamended wt:wtls)
+            {
+                tmp = tmp + wt.getDayspeed().doubleValue()+wt.getNightspeed().doubleValue();
+
+            }
+            tmp= StringUtils.round(tmp/(wtls.size()*2),2);
+        }
+
+        return tmp;
+    }
+
+}

+ 562 - 0
src/main/java/com/gyee/frame/service/app/index/IndexDetailService.java

@@ -0,0 +1,562 @@
+package com.gyee.frame.service.app.index;
+
+import com.gyee.frame.common.spring.Constant;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.auto.WindPowerstationTestingPoint;
+import com.gyee.frame.model.auto.Windpowerstation;
+import com.gyee.frame.model.custom.DataVo;
+import com.gyee.frame.model.custom.PointData;
+import com.gyee.frame.model.enumeration.Messagetype;
+import com.gyee.frame.netty.websocket.util.SocketToolService;
+import com.gyee.frame.service.WindpowerinfodayService;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.IRealTimeDataBaseUtil;
+import com.gyee.frame.util.RealTimeDataBaseFactory;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.*;
+
+/**
+ *
+ */
+@Service
+public class IndexDetailService extends SocketToolService {
+	@Autowired
+    private InitialRunner initialRunner;
+    private static int decimal_digit = 2;
+    IRealTimeDataBaseUtil mongodb= RealTimeDataBaseFactory.createRealTimeDataBase();
+    @Resource
+    private WindpowerinfodayService windpowerinfodayService;
+    @Resource
+    private FocastpowerService focastpowerService;
+
+    public void index_curve_columnar_windSpeed_power() throws Exception {
+        System.out.println("pppppp");
+        Map<String, List<DataVo>> pointDataMap = new HashMap();
+
+        List<Windpowerstation> wpls = new ArrayList<>();
+        for (Windpowerstation wp : InitialRunner.wpls) {
+            wpls.add(wp);
+        }
+        Windpowerstation windpowerstationAll = new Windpowerstation();
+        windpowerstationAll.setId("0");
+        wpls.add(windpowerstationAll);
+
+        String[] ycPoints = Constant.TPOINT_WP_FGLYC.split(",");
+        String[] ycPoints2 = Constant.TPOINT_WP_FGLYC2.split(",");
+
+
+
+        Calendar c = Calendar.getInstance();
+        Date endDate = c.getTime();
+        c.set(Calendar.HOUR_OF_DAY, 0);
+        c.set(Calendar.MINUTE, 0);
+        c.set(Calendar.SECOND, 0);
+        Date beginDate = c.getTime();
+        long num = DateUtils.hoursDiff(beginDate, endDate);
+        Map<String, Map<String, WindPowerstationTestingPoint>> stationPointmap = InitialRunner.stationPointmap;
+
+        for (Windpowerstation windpowerstation : wpls) {
+
+            List<DataVo> vos = new ArrayList<DataVo>();
+            int length = 24;
+            for (int i = 0; i < length; i++) {
+                DataVo vo = new DataVo();
+
+                vo.setValue1(0.0);// 预测功率
+                vo.setValue2(0.0);// 理论功率
+                vo.setValue3(0.0);// 实发功率
+                vo.setValue4(0.0);// 平均风速
+                vos.add(vo);
+            }
+
+            Map<String, WindPowerstationTestingPoint> map = stationPointmap.get(windpowerstation.getId());
+
+
+            WindPowerstationTestingPoint sjgl = map.get(Constant.TPOINT_WP_SJGL);
+            WindPowerstationTestingPoint llgl = map.get(Constant.TPOINT_WP_ZZSGL);
+            WindPowerstationTestingPoint pjfs = map.get(Constant.TPOINT_WP_SSFS);
+
+            Calendar cal = Calendar.getInstance();
+            //理论功率
+            if (!windpowerstation.getId().equals("0") && !windpowerstation.getId().equals("-1") && !windpowerstation.getId().equals("-2")) {
+
+                // /////////////////////////////////////////////
+                WindPowerstationTestingPoint ycgl1 = map.get(ycPoints[0]);
+                Date tempdate = null;
+                if (num > 0) {
+                    List<PointData> datas = mongodb.getHistoryDatasSnap(ycgl1, beginDate.getTime() / 1000, endDate.getTime() / 1000, num, 3600L);
+
+                    for (int j = 0; j < datas.size(); j++) {
+
+                        vos.get(j).setTime(datas.get(j).getPointTime() * 1000);
+                        vos.get(j).setValue1(StringUtils.round(datas.get(j).getPointValueInDouble(), 2));
+                        if (j == datas.size() - 1) {
+                            tempdate = new Date(datas.get(j).getPointTime() * 1000);
+                            cal.setTime(tempdate);
+                        }
+                    }
+                    int subresult = 0;
+                    int total = 0;
+                    if (length > datas.size()) {
+                        subresult = length - datas.size();
+                        if (subresult >= 8) {
+                            subresult = 8;
+                        }
+                        for (int i = 0; i < subresult; i++) {
+                            cal.add(Calendar.MINUTE, 30);
+                            vos.get(datas.size() + i).setTime(cal.getTime().getTime());
+                            WindPowerstationTestingPoint ycgl = map.get(ycPoints2[i]);
+                            vos.get(datas.size() + i).setValue1(StringUtils.round(mongodb.getRealData(ycgl).getPointValueInDouble(), 2));
+                        }
+                        total = datas.size() + subresult;
+                        subresult = length - (total);
+
+                        if (subresult > 0)
+                            for (int i = 0; i < subresult; i++) {
+                                cal.add(Calendar.MINUTE, 30);
+                                vos.get(total + i).setTime(cal.getTime().getTime());
+                                vos.get(total + i).setValue1(null);
+                            }
+                    }
+                    for (int k = 0; k < vos.size(); k++) {
+                        vos.get(k).setValue7(48.0);
+                    }
+                }
+            } else {
+                List<Windpowerstation> stations = new ArrayList<Windpowerstation>();
+                if (windpowerstation.getId().equals("") || windpowerstation.getId().equals("0")) {
+                    for (Windpowerstation station : InitialRunner.wpls) {
+                        stations.add(station);
+                    }
+                }
+                for (Windpowerstation station : stations) {
+
+                    Map<String, WindPowerstationTestingPoint> wpmap = stationPointmap.get(station.getId());
+                    Date tempdate = null;
+                    if (num > 0) {
+                        WindPowerstationTestingPoint ycgl1 = wpmap.get(ycPoints[0]);
+
+                        if(null !=ycgl1)
+                        {
+                            List<PointData> datas = mongodb.getHistoryDatasSnap(ycgl1, beginDate.getTime() / 1000, endDate.getTime() / 1000, num, 3600L);
+                            if(datas.isEmpty())
+                            {
+                                continue;
+                            }
+                            for (int j = 0; j < datas.size(); j++) {
+
+                                vos.get(j).setTime(datas.get(j).getPointTime() * 1000);
+                                vos.get(j).setValue1(StringUtils.round(vos.get(j).getValue1() + datas.get(j).getPointValueInDouble(), 2));
+                                if (j == datas.size() - 1) {
+                                    tempdate = new Date(datas.get(j).getPointTime() * 1000);
+                                    cal.setTime(tempdate);
+                                }
+                            }
+                            int subresult = 0;
+                            int total = 0;
+                            if (length > datas.size()) {
+                                subresult = length - datas.size();
+                                if (subresult >= 8) {
+                                    subresult = 8;
+                                }
+                                for (int i = 0; i < subresult; i++) {
+                                    cal.add(Calendar.MINUTE, 30);
+                                    vos.get(datas.size() + i).setTime(cal.getTime().getTime());
+                                    WindPowerstationTestingPoint ycgl = wpmap.get(ycPoints2[i]);
+                                    vos.get(datas.size() + i).setValue1(StringUtils.round(vos.get(datas.size() + i).getValue1() + mongodb.getRealData(ycgl).getPointValueInDouble(), 2));
+                                }
+                                total = datas.size() + subresult;
+                                subresult = length - (total);
+
+                                if (subresult > 0)
+                                    for (int i = 0; i < subresult; i++) {
+                                        cal.add(Calendar.MINUTE, 30);
+                                        vos.get(total + i).setTime(cal.getTime().getTime());
+                                        vos.get(total + i).setValue1(null);
+                                    }
+                            }
+
+                        }
+
+                    }
+                }
+            }
+
+            WindPowerstationTestingPoint gdsjgl = InitialRunner.stationPointmap.get("0").get(Constant.TPOINT_WP_SJGL);
+            List<PointData> gdsjglls = mongodb.getHistoryDatasSnap(gdsjgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
+
+            //实际功率
+            try {
+                if (null != llgl) {
+                           List<PointData> llglls = mongodb.getHistoryDatasSnap(llgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
+
+                    int count = 0;
+                    double temp1 = 0;
+                    double temp2 = 0;
+                    for (int i = 0; i < vos.size(); i++) {
+
+                        if (i < llglls.size() && StringUtils.isNotNull(llglls.get(i).getPointTime())) {
+
+                            if (vos.get(i).getTime() <= new Date().getTime()) {
+                                temp1 = llglls.get(i).getPointValueInDouble();
+                                temp2 = gdsjglls.get(i).getPointValueInDouble();
+                                temp1 = new BigDecimal(temp1).divide(new BigDecimal(100000), 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)).doubleValue();
+                                // temp2 = new BigDecimal(temp2).divide(
+                                // new BigDecimal(100000), 2,
+                                // RoundingMode.HALF_EVEN).multiply(
+                                // new BigDecimal(100)).doubleValue();
+
+                                if (Math.abs(temp1) < 10000) {
+
+                                    if (windpowerstation.getId().equals("0")) {
+                                        vos.get(i).setValue2(StringUtils.round(temp1 + temp2, 2));// 理论功率
+                                    } else {
+                                        vos.get(i).setValue2(StringUtils.round(temp1, 2));// 理论功率
+                                    }
+
+                                }
+
+                                count++;
+                            } else {
+                                vos.get(i).setValue2(0d);// 理论功率
+                            }
+
+                        }
+                    }
+                    // for(int i=0;i<vos.size();i++){
+                    // vos.get(i).setValue8((double)count);
+                    // }
+                }
+            } catch (Exception e) {
+                // TODO: handle exception
+            }
+
+
+            if (null != sjgl) {
+                List<PointData> sjglls = mongodb.getHistoryDatasSnap(sjgl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
+                int count = 0;
+                double temp = 0;
+                for (int i = 0; i < vos.size(); i++) {
+
+                    if (i < sjglls.size() && StringUtils.isNotNull(sjglls.get(i).getPointTime())) {
+
+                        if (vos.get(i).getTime() <= new Date().getTime()) {
+                            temp = sjglls.get(i).getPointValueInDouble();
+                            if (Math.abs(temp) < 10000) {
+                                vos.get(i).setValue3(StringUtils.round(temp, 2));// 实际功率
+                            }
+
+                            count++;
+                        } else {
+                            vos.get(i).setValue3(0d);// 实际功率
+                        }
+
+                    }
+                }
+                for (int i = 0; i < vos.size(); i++) {
+                    vos.get(i).setValue3((double) count);
+                }
+            }
+            try {
+                if (null != pjfs) {
+                    List<PointData> pjfsls = mongodb.getHistoryDatasSnap(pjfs, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
+
+                    double temp = 0;
+                    for (int i = 0; i < vos.size(); i++) {
+
+                        if (i < pjfsls.size() && StringUtils.isNotNull(pjfsls.get(i).getPointTime())) {
+
+                            if (vos.get(i).getTime() <= new Date().getTime()) {
+                                temp = pjfsls.get(i).getPointValueInDouble();
+
+                                if (Math.abs(temp) < 10000) {
+                                    vos.get(i).setValue4(StringUtils.round(temp, 2));// 平均风速
+                                }
+                            } else {
+                                vos.get(i).setValue4(0d);// 平均风速
+                            }
+
+                        }
+                    }
+                }
+            } catch (Exception e) {
+                // TODO: handle exception
+            }
+
+            pointDataMap.put(windpowerstation.getId(),vos);
+
+        }
+
+        this.pushToWeb("pageNumber_6", "functionNumber_6", pointDataMap, Messagetype.MESSAGE);
+
+    }
+
+
+    public void index_curve_columnar_five_loss() throws Exception {
+
+        Map<String, List<DataVo>> pointDataMap = new HashMap();
+
+        List<Windpowerstation> wpls = new ArrayList<>();
+        for (Windpowerstation wp : InitialRunner.wpls) {
+            wpls.add(wp);
+        }
+        Windpowerstation windpowerstationAll = new Windpowerstation();
+        windpowerstationAll.setId("0");
+        wpls.add(windpowerstationAll);
+
+
+        Calendar c = Calendar.getInstance();
+        Date endDate = c.getTime();
+        c.set(Calendar.HOUR_OF_DAY, 0);
+        c.set(Calendar.MINUTE, 0);
+        c.set(Calendar.SECOND, 0);
+        c.add(Calendar.DAY_OF_MONTH,-7);
+        Date beginDate = c.getTime();
+
+        Map<String, Map<String, WindPowerstationTestingPoint>> stationPointmap = InitialRunner.stationPointmap;
+
+        for (Windpowerstation windpowerstation : wpls) {
+
+            List<DataVo> vos = new ArrayList<DataVo>();
+            long length = 7;
+            for (int i = 0; i < length; i++) {
+                DataVo vo = new DataVo();
+
+                vo.setValue1(0.0);// 发电量
+                vo.setValue2(0.0);// 故障损失
+                vo.setValue3(0.0);// 检修损失
+                vo.setValue4(0.0);// 限电损失
+                vo.setValue5(0.0);// 性能损失
+                vo.setValue6(0.0);// 受累损失
+                vo.setValue7(0.0);// 应发电量
+                vos.add(vo);
+            }
+            Map<String, WindPowerstationTestingPoint> map = stationPointmap.get(windpowerstation.getId());
+
+//            public static final String RGZZSDL = "RGZZSDL";// 故障
+//            public static final String RSZZSDL = "RSZZSDL";// 故障
+//            public static final String RJXZSDL = "RJXZSDL";// 维护
+//            public static final String RLZZSDL = "RLZZSDL";// 维护
+//            public static final String RQFZSDL = "RQFZSDL";// 性能
+//            public static final String RXDZSDL = "RXDZSDL";// 限电
+//            public static final String RWZZSDL = "RWZZSDL";// 受累
+//            public static final String RTZZSDL = "RTZZSDL";// 受累
+
+            WindPowerstationTestingPoint fdl = map.get(Constant.TPOINT_WP_RFDL);
+
+            WindPowerstationTestingPoint gzss = map.get(Constant.RGZZSDL);
+            WindPowerstationTestingPoint gzsl = map.get(Constant.RSZZSDL);
+
+            WindPowerstationTestingPoint jxss = map.get(Constant.RJXZSDL);
+            WindPowerstationTestingPoint jxsl = map.get(Constant.RLZZSDL);
+
+            WindPowerstationTestingPoint xnss = map.get(Constant.RQFZSDL);
+            WindPowerstationTestingPoint xdss = map.get(Constant.RXDZSDL);
+
+            WindPowerstationTestingPoint slss = map.get(Constant.RWZZSDL);
+            WindPowerstationTestingPoint slsl = map.get(Constant.RTZZSDL);
+
+            Calendar cal = Calendar.getInstance();
+            //发电量
+            List<PointData> fdlls = mongodb.getHistoryDatasSnap(fdl, beginDate.getTime() / 1000, endDate.getTime() / 1000, length, 3600*24L);
+
+            for (int j = 0; j < fdlls.size()-1; j++) {
+
+                vos.get(j).setTime(fdlls.get(j).getPointTime() * 1000);
+                vos.get(j).setValue1(StringUtils.round(fdlls.get(j).getPointValueInDouble(),2));
+            }
+
+            try {
+
+                //故障损失
+                List<PointData> gzssls = mongodb.getHistoryDatasSnap(gzss, beginDate.getTime() / 1000, endDate.getTime() / 1000, length, 3600*24L);
+                //故障受累失
+                List<PointData> gzslls = mongodb.getHistoryDatasSnap(gzsl, beginDate.getTime() / 1000, endDate.getTime() / 1000, length, 3600*24L);
+
+                double temp1 = 0;
+                double temp2 = 0;
+                for (int i = 0; i < vos.size(); i++) {
+
+                   // temp1 =gzssls.get(i).getPointValueInDouble();
+                    temp1 =new BigDecimal(gzssls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                    //temp2 =gzslls.get(i).getPointValueInDouble();
+                    temp2 =new BigDecimal(gzslls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                    vos.get(i).setValue2(StringUtils.round(temp1+temp2, 2));// 故障损失
+
+                }
+
+            } catch (Exception e) {
+                // TODO: handle exception
+            }
+
+            try {
+                //检修损失
+                List<PointData> jxssls = mongodb.getHistoryDatasSnap(jxss, beginDate.getTime() / 1000, endDate.getTime() / 1000, length, 3600*24L);
+                //检修受累
+                List<PointData> jxslls = mongodb.getHistoryDatasSnap(jxsl, beginDate.getTime() / 1000, endDate.getTime() / 1000, length, 3600*24L);
+
+                double temp1 = 0;
+                double temp2 = 0;
+                for (int i = 0; i < vos.size(); i++) {
+
+                   // temp1 = jxssls.get(i).getPointValueInDouble();
+                    temp1 =new BigDecimal(jxssls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                  //  temp2 = jxslls.get(i).getPointValueInDouble();
+                    temp2 =new BigDecimal(jxslls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                    vos.get(i).setValue3(StringUtils.round(temp1+temp2, 2));// 检修损失
+
+                }
+
+            } catch (Exception e) {
+                // TODO: handle exception
+            }
+
+            try {
+                //限电损失
+                List<PointData> xdssls = mongodb.getHistoryDatasSnap(xdss, beginDate.getTime() / 1000, endDate.getTime() / 1000, length, 3600*24L);
+
+                double temp = 0;
+                for (int i = 0; i < vos.size(); i++) {
+                    //temp = xdssls.get(i).getPointValueInDouble();
+                    temp =new BigDecimal(xdssls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                    vos.get(i).setValue4(StringUtils.round(temp, 2));// 限电损失
+
+                }
+
+            } catch (Exception e) {
+                // TODO: handle exception
+            }
+            try {
+                //性能损失
+                List<PointData> xnssls = mongodb.getHistoryDatasSnap(xnss, beginDate.getTime() / 1000, endDate.getTime() / 1000, length, 3600*24L);
+
+                double temp = 0;
+                for (int i = 0; i < vos.size(); i++) {
+                   // temp = xnssls.get(i).getPointValueInDouble();
+                    temp =new BigDecimal(xnssls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                    vos.get(i).setValue5(StringUtils.round(temp, 2));// 性能损失
+
+                }
+
+            } catch (Exception e) {
+                // TODO: handle exception
+            }
+
+            try {
+                //天气受累
+                List<PointData> slssls = mongodb.getHistoryDatasSnap(slss, beginDate.getTime() / 1000, endDate.getTime() / 1000, length, 3600*24L);
+                //电网受累
+                List<PointData> slslls = mongodb.getHistoryDatasSnap(slsl, beginDate.getTime() / 1000, endDate.getTime() / 1000, length, 3600*24L);
+
+                double temp1 = 0;
+                double temp2 = 0;
+                for (int i = 0; i < vos.size(); i++) {
+
+                   // temp1 = slssls.get(i).getPointValueInDouble();
+                    temp1 =new BigDecimal(slssls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                   // temp2 = slslls.get(i).getPointValueInDouble();
+                    temp2 =new BigDecimal(slslls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+                    vos.get(i).setValue6(StringUtils.round(temp1+temp2, 2));// 受累损失
+
+                }
+
+            } catch (Exception e) {
+                // TODO: handle exception
+            }
+
+            for(DataVo vo:vos)
+            {
+                vo.setValue7(StringUtils.round(vo.getValue1()+vo.getValue2()+vo.getValue3()+vo.getValue4()+vo.getValue5()+vo.getValue6(), 2));
+            }
+            pointDataMap.put(windpowerstation.getId(),vos);
+
+        }
+
+        this.pushToWeb("pageNumber_6", "functionNumber_7", pointDataMap, Messagetype.MESSAGE);
+
+    }
+
+
+    public void index_windStation_card() throws Exception {
+        System.out.println("000");
+        Map<String, Map<String, WindPowerstationTestingPoint>> stationPointmap = InitialRunner.stationPointmap;
+        List<Windpowerstation> wpls = new ArrayList<>();
+        for(Windpowerstation wp: InitialRunner.wpls){
+            wpls.add(wp);
+        }
+        Windpowerstation windpowerstationAll = new Windpowerstation();
+        windpowerstationAll.setId("0");
+        wpls.add(windpowerstationAll);
+
+        Map<String,Map<String,Object>> windpowerstationpointDataMap = new HashMap();
+
+        for(Windpowerstation windpowerstation:wpls){
+
+            Map<String,Object> pointDataMap = new HashMap();
+            double rfdl = 0;
+            double ycdl = 0;
+            double ssgl = 0;
+            double ssfs = 0;
+
+
+            try {
+                //日发电量
+                PointData rfdl_real = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_RFDL).getCode());
+                rfdl = new BigDecimal(rfdl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+                pointDataMap.put("rfdl_real",rfdl_real);
+                pointDataMap.put("rfdl",rfdl);
+            }catch (Exception e){
+                System.out.println(e.getMessage());
+            }
+
+            try {
+                //实时功率
+
+                PointData ssgl_real = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_SJGL).getCode());
+                ssgl = new BigDecimal(ssgl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+                pointDataMap.put("ssgl",ssgl);
+                pointDataMap.put("ssgl_real",ssgl_real);
+            }catch (Exception e){
+                System.out.println(e.getMessage());
+            }
+
+
+            try{
+                //实时风速
+                PointData ssfs_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_SSFS).getCode());
+                ssfs = new BigDecimal(ssfs_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+                pointDataMap.put("ssfs",ssfs);
+                pointDataMap.put("ssfs_real",ssfs_real);
+            }catch (Exception e){
+                System.out.println(e.getMessage());
+            }
+
+            //预测发电量
+            ycdl=focastpowerService.focastpower(windpowerstation.getId());
+            ycdl =Double.valueOf( String.format("%.2f", ycdl));
+
+            pointDataMap.put("ycdl",ycdl);
+
+            windpowerstationpointDataMap.put(windpowerstation.getId(),pointDataMap);
+        }
+
+
+        this.pushToWeb("pageNumber_6","functionNumber_8",windpowerstationpointDataMap, Messagetype.MESSAGE);
+    }
+
+
+}

+ 223 - 15
src/main/java/com/gyee/frame/service/app/index/IndexService.java

@@ -2,25 +2,31 @@ package com.gyee.frame.service.app.index;
 
 import com.gyee.frame.common.spring.Constant;
 import com.gyee.frame.common.spring.InitialRunner;
-import com.gyee.frame.model.auto.WindPowerstationTestingPoint;
+import com.gyee.frame.model.auto.Windpowerinfoday;
 import com.gyee.frame.model.auto.Windpowerstation;
+import com.gyee.frame.model.custom.DataVo;
 import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.model.enumeration.Messagetype;
 import com.gyee.frame.netty.websocket.util.SocketToolService;
+import com.gyee.frame.service.ProjectplanService;
+import com.gyee.frame.service.WindpowerinfodayService;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
 import com.gyee.frame.util.RealTimeDataBaseFactory;
+import com.gyee.frame.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
+import com.gyee.frame.model.auto.WindPowerstationTestingPoint;
+import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Service
 public class IndexService extends SocketToolService{
+	@Resource
+	private ProjectplanService projectplanService;
+	@Resource
+	private WindpowerinfodayService windpowerinfodayService;
 	@Autowired
     private InitialRunner initialRunner;
     private static int decimal_digit = 0;
@@ -34,20 +40,24 @@ public class IndexService extends SocketToolService{
 	        Windpowerstation windpowerstationAll = new Windpowerstation();
 	        windpowerstationAll.setId("0");
 	        wpls.add(windpowerstationAll);
-	        Map<String,Map<String,Double>> windpowerstationpointDataMap = new HashMap();
+	        Map<String,Map<String,Object>> windpowerstationpointDataMap = new HashMap();
 	        IRealTimeDataBaseUtil mongodb= RealTimeDataBaseFactory.createRealTimeDataBase();
 
 	        for(Windpowerstation windpowerstation:wpls){
-	            Map<String,Double> pointDataMap = new HashMap();
+	            Map<String,Object> pointDataMap = new HashMap();
 	            double rfdl = 0;
 	            double aqts = 0;
 	            double swdl = 0;
 	            double ycfdl = 0;
 	            double zjrl = 0;
-
+				PointData swdl_real=new PointData();
+				PointData aqts_real=new PointData();
+				PointData zjrl_real=new PointData();
+				PointData ycfdl_real=new PointData();
+				PointData rfdl_real=new PointData();
 	            try {
 	                //日发电量
-	                PointData rfdl_real = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_ALL_RFDL).getCode());
+	                rfdl_real = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_ALL_RFDL).getCode());
 	                rfdl = new BigDecimal(rfdl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
 	            }catch (Exception e){
 	                System.out.println(e.getMessage());
@@ -55,7 +65,7 @@ public class IndexService extends SocketToolService{
 
 	            try {
 	                //安全天数
-	                PointData aqts_real = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_AQTS).getCode());
+	                aqts_real = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_AQTS).getCode());
 	                aqts = new BigDecimal(aqts_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
 	            }catch (Exception e){
 	                System.out.println(e.getMessage());
@@ -64,12 +74,28 @@ public class IndexService extends SocketToolService{
 
 	            try{
 	                //上网电量
-	                PointData swdl_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_SWDL).getCode());
+	                swdl_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_SWDL).getCode());
 	                swdl = new BigDecimal(swdl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
 	            }catch (Exception e){
 	                System.out.println(e.getMessage());
 	            }
 
+				try{
+					//装机容量
+					zjrl_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_SWDL).getCode());
+					zjrl = new BigDecimal(zjrl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+				}catch (Exception e){
+					System.out.println(e.getMessage());
+				}
+
+				try{
+					//预测发电量
+					ycfdl_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_SWDL).getCode());
+					ycfdl = new BigDecimal(ycfdl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+				}catch (Exception e){
+					System.out.println(e.getMessage());
+				}
+
 	            //预测发电量
 	            try{
 	                if(windpowerstation.getId().equalsIgnoreCase("0")){
@@ -100,10 +126,15 @@ public class IndexService extends SocketToolService{
 	                System.out.println(e.getMessage());
 	            }
 	            pointDataMap.put("rfdl",rfdl);
+				pointDataMap.put("rfdl_real",rfdl_real);
 	            pointDataMap.put("aqts",aqts);
+				pointDataMap.put("aqts_real",aqts_real);
 	            pointDataMap.put("swdl",swdl);
+				pointDataMap.put("swdl_real",swdl_real);
 	            pointDataMap.put("ycfdl",ycfdl);
+				pointDataMap.put("ycfdl_real",ycfdl_real);
 	            pointDataMap.put("zjrl",zjrl);
+				pointDataMap.put("zjrl_real",zjrl_real);
 	            windpowerstationpointDataMap.put(windpowerstation.getId(),pointDataMap);
 	        }
         this.pushToWeb("pageNumber_6","functionNumber_1",windpowerstationpointDataMap, Messagetype.MESSAGE);
@@ -367,8 +398,9 @@ public class IndexService extends SocketToolService{
 	            double wh = 0;
 	            double lx = 0;
 
-	            try {
-	                //待机
+	            try {	                //待机
+					//待机
+					/*System.out.println(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WT_DJTS).getCode());*/
 	                PointData rfdl_real = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WT_DJTS).getCode());
 	                dj = new BigDecimal(rfdl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
 	            }catch (Exception e){
@@ -385,7 +417,7 @@ public class IndexService extends SocketToolService{
 
 
 	            try{
-	                //故障
+	                //上网电量
 	                PointData swdl_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WT_GZTJ).getCode());
 	                gz = new BigDecimal(swdl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
 	            }catch (Exception e){
@@ -435,4 +467,180 @@ public class IndexService extends SocketToolService{
        this.pushToWeb("pageNumber_6","functionNumber_3",windpowerstationpointDataMap, Messagetype.MESSAGE);
 	}
 
+	public void index_electricQuantity() throws Exception{
+		Map<String, Map<String, WindPowerstationTestingPoint>> stationPointmap = InitialRunner.stationPointmap;
+		List<Windpowerstation> wpls = new ArrayList<>();
+		for(Windpowerstation wp:InitialRunner.wpls){
+			wpls.add(wp);
+		}
+		Windpowerstation windpowerstationAll = new Windpowerstation();
+		windpowerstationAll.setId("0");
+		wpls.add(windpowerstationAll);
+		Map<String,Map<String,Double>> windpowerstationpointDataMap = new HashMap();
+		IRealTimeDataBaseUtil mongodb= RealTimeDataBaseFactory.createRealTimeDataBase();
+
+		for(Windpowerstation windpowerstation:wpls){
+			Map<String,Double> pointDataMap = new HashMap();
+			double yfdl = 0;
+			double nfdl = 0;
+			double yjhfdl = 0;
+			double njhfdl = 0;
+			try {
+				//月发电量
+				PointData yfdl_real = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_YFDL).getCode());
+				yfdl = new BigDecimal(yfdl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+				// yfdl =new BigDecimal(yfdl_real.getPointValueInDouble()).divide(new BigDecimal(10000), decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+
+			}catch (Exception e){
+				System.out.println(e.getMessage());
+			}
+
+			try {
+				//年发电量
+				PointData nfdl_real = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_NFDL).getCode());
+				nfdl = new BigDecimal(nfdl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+				//nfdl =new BigDecimal(nfdl_real.getPointValueInDouble()).divide(new BigDecimal(10000), decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+
+			}catch (Exception e){
+				System.out.println(e.getMessage());
+			}
+
+			yjhfdl=projectplanService.planMonthPower(windpowerstation.getId());
+			njhfdl=projectplanService.planYearPower(windpowerstation.getId());
+			pointDataMap.put("yfdl",yfdl);
+			pointDataMap.put("nfdl",nfdl);
+			pointDataMap.put("yjhfdl",yjhfdl);
+			pointDataMap.put("njhfdl",njhfdl);
+			windpowerstationpointDataMap.put(windpowerstation.getId(),pointDataMap);
+		}
+		this.pushToWeb("pageNumber_6","functionNumber_4",windpowerstationpointDataMap, Messagetype.MESSAGE);
+	}
+
+	public void index_target_basic_indicators() throws Exception{
+		Map<String, Map<String, WindPowerstationTestingPoint>> stationPointmap = InitialRunner.stationPointmap;
+		List<Windpowerstation> wpls = new ArrayList<>();
+		for(Windpowerstation wp:InitialRunner.wpls){
+			wpls.add(wp);
+		}
+		Windpowerstation windpowerstationAll = new Windpowerstation();
+		windpowerstationAll.setId("0");
+		wpls.add(windpowerstationAll);
+		Map<String,Map<String,Object>> windpowerstationpointDataMap = new HashMap();
+		IRealTimeDataBaseUtil mongodb= RealTimeDataBaseFactory.createRealTimeDataBase();
+
+
+		for(Windpowerstation windpowerstation:wpls){
+			Map<String,Object> pointDataMap = new HashMap();
+			double mttr = 99;
+			double mtbf = 99;
+			double jybm = 99;
+			double jpeyhl = 99;
+			double ylyxs = 99;
+			double nlyxs = 99;
+			double jyys = 99;
+			double zhcydl = 99;
+			double sbklyl = 99;
+			double jpeyht = 99;
+			double zjrl=0.0;
+
+			if(windpowerstation.getCapacity()==null){
+				List<Windpowerstation> wps = InitialRunner.wpls;
+				for(Windpowerstation windpowerstationinner:wps){
+					zjrl = zjrl + windpowerstationinner.getCapacity();
+				}
+			}else{
+				zjrl = windpowerstation.getCapacity();
+			}
+			//mttr
+			mttr = jybm + 10;
+
+			//mtbf
+			mtbf = jpeyht + 12;
+
+			try{
+				//节约标煤
+				PointData jybm_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_JYBM).getCode());
+				jybm = new BigDecimal(jybm_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+				pointDataMap.put("jybm_real",jybm_real);
+			}catch (Exception e){
+				System.out.println(e.getMessage());
+			}
+
+
+			try{
+				//减排二氧化硫
+				PointData jpeyhl_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_JPEYHL).getCode());
+				jpeyhl = new BigDecimal(jpeyhl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+
+				pointDataMap.put("jpeyhl_real",jpeyhl_real);
+			}catch (Exception e){
+				System.out.println(e.getMessage());
+			}
+
+
+			try{
+				//节约用水
+				PointData jyys_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_JYS).getCode());
+				jyys = new BigDecimal(jyys_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+				pointDataMap.put("jyys_real",jyys_real);
+			}catch (Exception e){
+				System.out.println(e.getMessage());
+			}
+
+			Calendar c = Calendar.getInstance();
+			Windpowerinfoday wp=windpowerinfodayService.findListByDate(windpowerstation.getId(),c.getTime());
+			if(StringUtils.isNotNull(wp))
+			{
+				ylyxs=wp.getMonthlyxs();
+				nlyxs=wp.getYearlyxs();
+				//综合场用电率
+				zhcydl=wp.getDayzhcydl();
+				//设备可利用率
+				sbklyl=wp.getDaysbklyl();
+//               System.out.println(wp.getRecorddate()+ "___" +wp.getMonthlyxs());
+//               System.out.println(wp.getRecorddate()+ "___" +wp.getYearlyxs());
+//               System.out.println(wp.getRecorddate()+ "___" +wp.getDayzhcydl());
+//               System.out.println(wp.getRecorddate()+ "___" +wp.getDaysbklyl());
+			}
+
+			// 月利用小时
+			double temp = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_YFDL).getCode()).getPointValueInDouble();
+			ylyxs = (new BigDecimal(temp).multiply(new BigDecimal(10))).divide(new BigDecimal(zjrl), 2, RoundingMode.HALF_EVEN).doubleValue();
+			// 年利用小时
+			temp = mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_NFDL).getCode()).getPointValueInDouble();
+			nlyxs = (new BigDecimal(temp).multiply(new BigDecimal(10))).divide(new BigDecimal(zjrl), 2, RoundingMode.HALF_EVEN).doubleValue();
+
+
+
+			try{
+				//减排二氧化碳
+				PointData jpeyht_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_JPEYHT).getCode());
+				jpeyht = new BigDecimal(jpeyht_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+				pointDataMap.put("jpeyht_real",jpeyht_real);
+			}catch (Exception e){
+				System.out.println(e.getMessage());
+			}
+
+
+			pointDataMap.put("mttr",mttr);
+			pointDataMap.put("mtbf",mtbf);
+
+			pointDataMap.put("ylyxs",ylyxs);
+			pointDataMap.put("nlyxs",nlyxs);
+
+			pointDataMap.put("zhcydl",zhcydl);
+			pointDataMap.put("sbklyl",sbklyl);
+
+			pointDataMap.put("jybm",jybm);
+			pointDataMap.put("jpeyhl",jpeyhl);
+			pointDataMap.put("jyys",jyys);
+			pointDataMap.put("jpeyht",jpeyht);
+
+
+			windpowerstationpointDataMap.put(windpowerstation.getId(),pointDataMap);
+		}
+		this.pushToWeb("pageNumber_6","functionNumber_5",windpowerstationpointDataMap, Messagetype.MESSAGE);
+	}
+
+
 }

+ 202 - 0
src/main/java/com/gyee/frame/service/app/windpowerstationdetail/Windspeedpowercurvedetail.java

@@ -0,0 +1,202 @@
+package com.gyee.frame.service.app.windpowerstationdetail;
+
+import com.gyee.frame.common.spring.Constant;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.auto.WindPowerstationTestingPoint;
+import com.gyee.frame.model.auto.Windpowerstation;
+import com.gyee.frame.model.custom.PointData;
+import com.gyee.frame.model.enumeration.Messagetype;
+import com.gyee.frame.netty.websocket.util.SocketToolService;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.IRealTimeDataBaseUtil;
+import com.gyee.frame.util.RealTimeDataBaseFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * @author Li ZaiXun
+ * @purpose
+ * @date 2020-05-16 15:48
+ */
+@Service
+public class Windspeedpowercurvedetail extends SocketToolService {
+    @Autowired
+    private InitialRunner initialRunner;
+    private static int decimal_digit = 2;
+    IRealTimeDataBaseUtil mongodb= RealTimeDataBaseFactory.createRealTimeDataBase();
+    public static Map<String,String> windpowerstationdetail_twentyfourhourlinechart_target_pointMap = new HashMap<>();
+    private double decimal(int num,double value){
+        return new BigDecimal(value).setScale(num, RoundingMode.HALF_EVEN).doubleValue();
+    }
+    public <T> void windpowerstationdetail_twentyfourhourlinechart_target() throws Exception {
+        Map<String, Map<String, WindPowerstationTestingPoint>> stationPointmap = InitialRunner.stationPointmap;
+        String fs = Constant.TPOINT_WP_SSFS;
+        String gl = Constant.TPOINT_WP_SJGL;
+        String llgl = Constant.TPOINT_WP_ZZSGL;
+        String ycgl = Constant.TPOINT_WP_YCGL;
+        List<Windpowerstation> wpls = new ArrayList<>();
+        for (Windpowerstation wp : InitialRunner.wpls) {
+            wpls.add(wp);
+        }
+        Windpowerstation windpowerstationAll = new Windpowerstation();
+        windpowerstationAll.setId("0");
+        wpls.add(windpowerstationAll);
+        Map<String, Map<String,List<PointData>>> windpowerstationpointDataMap = new HashMap();
+
+
+        for (Windpowerstation windpowerstation : wpls) {
+            Map<String,List<PointData>> map = new HashMap<>();
+            windpowerstationpointDataMap.put(windpowerstation.getId(),map);
+            List<PointData> listPointData = new ArrayList<>();
+
+            try {
+                //风速功率曲线图,风速
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");
+                Date nowTime = DateUtils.getNowDate();
+                Date endTime = sdf.parse(sdf.format(nowTime));
+                SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+                Date beginTime = sdf1.parse(sdf1.format(nowTime));
+                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+                WindPowerstationTestingPoint point = stationPointmap.get(windpowerstation.getId()).get(fs);
+                listPointData = mongodb.getHistoryDatasSnap(point,
+                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+                        (long) count+1, 3600L);
+                for (int i = 0; i < listPointData.size(); i++) {
+                    listPointData.get(i).setPointTime(listPointData.get(i).getPointTime() - 3600);
+                    listPointData.get(i).setPointValueInDouble(this.decimal(2,listPointData.get(i).getPointValueInDouble()));
+                }
+                if(listPointData.size()>0) {
+                    listPointData.remove(0);
+                }
+                map.put("fs",listPointData);
+            } catch (Exception e) {
+                System.out.println(e.getMessage());
+            }
+
+
+            try {
+                //风速功率曲线图,功率
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");
+                Date nowTime = DateUtils.getNowDate();
+                Date endTime = sdf.parse(sdf.format(nowTime));
+                SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+                Date beginTime = sdf1.parse(sdf1.format(nowTime));
+                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+                WindPowerstationTestingPoint point = stationPointmap.get(windpowerstation.getId()).get(gl);
+                listPointData = mongodb.getHistoryDatasSnap(point,
+                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+                        (long) count+1, 3600L);
+                for (int i = 0; i < listPointData.size(); i++) {
+                    listPointData.get(i).setPointTime(listPointData.get(i).getPointTime() - 3600);
+                    listPointData.get(i).setPointValueInDouble(this.decimal(2,listPointData.get(i).getPointValueInDouble()));
+                }
+                if(listPointData.size()>0) {
+                    listPointData.remove(0);
+                }
+                map.put("gl",listPointData);
+            } catch (Exception e) {
+                System.out.println(e.getMessage());
+            }
+
+
+            try {
+                //风速功率曲线图,理论功率
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");
+                Date nowTime = DateUtils.getNowDate();
+                Date endTime = sdf.parse(sdf.format(nowTime));
+                SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+                Date beginTime = sdf1.parse(sdf1.format(nowTime));
+                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+                WindPowerstationTestingPoint point = stationPointmap.get(windpowerstation.getId()).get(llgl);
+                listPointData = mongodb.getHistoryDatasSnap(point,
+                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+                        (long) count+1, 3600L);
+                for (int i = 0; i < listPointData.size(); i++) {
+                    listPointData.get(i).setPointTime(listPointData.get(i).getPointTime() - 3600);
+                    listPointData.get(i).setPointValueInDouble(this.decimal(2,listPointData.get(i).getPointValueInDouble()));
+                }
+                if(listPointData.size()>0) {
+                    listPointData.remove(0);
+                }
+                map.put("llgl",listPointData);
+            } catch (Exception e) {
+                System.out.println(e.getMessage());
+            }
+
+
+            try {
+                //风速功率曲线图,预测功率
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");
+                Date nowTime = DateUtils.getNowDate();
+                Date endTime = sdf.parse(sdf.format(nowTime));
+                SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+                Date beginTime = sdf1.parse(sdf1.format(nowTime));
+                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+                WindPowerstationTestingPoint point = stationPointmap.get(windpowerstation.getId()).get(ycgl);
+                listPointData = mongodb.getHistoryDatasSnap(point,
+                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+                        (long) count+1, 3600L);
+                for (int i = 0; i < listPointData.size(); i++) {
+                    listPointData.get(i).setPointTime(listPointData.get(i).getPointTime() - 3600);
+                    listPointData.get(i).setPointValueInDouble(this.decimal(2,listPointData.get(i).getPointValueInDouble()));
+                }
+                if(listPointData.size()>0) {
+                    listPointData.remove(0);
+                }
+                map.put("ycgl",listPointData);
+            } catch (Exception e) {
+                System.out.println(e.getMessage());
+            }
+        }
+        this.pushToWeb("pageNumber_7","functionNumber_4",windpowerstationpointDataMap, Messagetype.MESSAGE);
+    }
+    public <T> void windpowerstationdetail_sevendaycolumn_target() throws Exception {
+        Map<String, Map<String, WindPowerstationTestingPoint>> stationPointmap = InitialRunner.stationPointmap;
+        String rfdl = Constant.TPOINT_WP_RFDL;
+        List<Windpowerstation> wpls = new ArrayList<>();
+        for (Windpowerstation wp : InitialRunner.wpls) {
+            wpls.add(wp);
+        }
+        Windpowerstation windpowerstationAll = new Windpowerstation();
+        windpowerstationAll.setId("0");
+        wpls.add(windpowerstationAll);
+        Map<String, Map<String,List<PointData>>> windpowerstationpointDataMap = new HashMap();
+
+        IRealTimeDataBaseUtil mongodb= RealTimeDataBaseFactory.createRealTimeDataBase();
+        for (Windpowerstation windpowerstation : wpls) {
+            Map<String,List<PointData>> map = new HashMap<>();
+            windpowerstationpointDataMap.put(windpowerstation.getId(),map);
+            List<PointData> listPointData = new ArrayList<>();
+
+            try {
+                //发电量柱状图,发电量
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");
+                Date nowTime = DateUtils.getNowDate();
+                Date endTime = sdf.parse(sdf.format(nowTime));
+                SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+                Date beginTime = DateUtils.addDays(endTime, -7);
+                WindPowerstationTestingPoint point = stationPointmap.get(windpowerstation.getId()).get(rfdl);
+                listPointData = mongodb.getHistoryDatasSnap(point,
+                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L*24,
+                        8L, 3600 * 24L);
+                for (int i = 0; i < listPointData.size(); i++) {
+                    listPointData.get(i).setPointTime(listPointData.get(i).getPointTime() - 24 * 3600);
+                    listPointData.get(i).setPointValueInDouble(this.decimal(2,listPointData.get(i).getPointValueInDouble()));
+                }
+
+                if(listPointData.size()>0) {
+                    listPointData.remove(0);
+                }
+                map.put("rfdl",listPointData);
+            } catch (Exception e) {
+                System.out.println(e.getMessage());
+            }
+        }
+        this.pushToWeb("pageNumber_7","functionNumber_5",windpowerstationpointDataMap, Messagetype.MESSAGE);
+    }
+}

+ 6 - 0
src/main/java/com/gyee/frame/util/StringUtils.java

@@ -1,5 +1,7 @@
 package com.gyee.frame.util;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.Collection;
 import java.util.Map;
 
@@ -435,4 +437,8 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
         }
         return columnToJava(tableName);
     }
+    public static double round(double num, int digit) {
+
+        return new BigDecimal(num).setScale(digit, RoundingMode.HALF_UP).doubleValue();
+    }
 }

+ 279 - 0
src/main/java/com/gyee/frame/util/golden/IEdosUtil.java

@@ -0,0 +1,279 @@
+/*
+package com.gyee.frame.util.golden;
+
+import com.gyee.frame.model.auto.WindTurbineTestingPointAi2;
+import com.gyee.frame.model.custom.DNAStatVal;
+import com.gyee.frame.model.custom.DNAVal;
+import com.gyee.frame.model.custom.PointData;
+
+import java.util.List;
+import java.util.Map;
+
+
+public interface IEdosUtil {
+
+	*/
+/**
+	 * 通过风场测点获得测点实时数据
+	 * @param point 只是用了code字段,作为唯一标识
+	 * @return
+	 * @throws Exception
+	 *//*
+
+    public PointData getRealData(WindPowerStationTestingPoint2 point) throws Exception;
+
+    */
+/**
+     * 通过风场测点获得测点历史快照数据
+     * @param point 只是用了code字段,作为唯一标识
+     * @param beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @return
+     * @throws Exception
+     *//*
+
+    public List<PointData> getHistoryDatasSnap(WindPowerStationTestingPoint2 point, Long beginDate, Long endDate, Long count, Long pried) throws Exception;
+
+    */
+/**
+     * 通过风场测点获得测点历史存储数据,存多少取多少
+     * @param point 只是用了code字段,作为唯一标识
+     * @param beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @return
+     * @throws Exception
+     *//*
+
+    public List<PointData> getHistoryDatasRaw(WindPowerStationTestingPoint2 point, Long beginDate, Long endDate) throws Exception;
+
+    */
+/**
+     * 通过风机测点获得测点实时数据
+     * @param point 只是用了id字段,作为唯一标识
+     * @return
+     * @throws Exception
+     *//*
+
+    public PointData getRealData(WindTurbineTestingPointAi2 point) throws Exception;
+
+    */
+/**
+     * 通过风机测点获得历史快照
+     * @param point  只是用了id字段,作为唯一标识
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @return
+     * @throws Exception
+     *//*
+
+    public List<PointData> getHistoryDatasSnap(WindTurbineTestingPointAi2 point, Long beginDate, Long endDate, Long count, Long pried) throws Exception;
+
+    */
+/**
+     * 通过风机测点获得测点历史存储数据,存多少取多少
+     * @param point 只是用了id字段,作为唯一标识
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @return
+     * @throws Exception
+     *//*
+
+    public List<PointData> getHistoryDatasRaw(WindTurbineTestingPointAi2 point, Long beginDate, Long endDate) throws Exception;
+
+   
+    */
+/**
+     * 通过风机测点获得测点实时数据
+     * @param pointid 测点编号
+     * @return
+     * @throws Exception
+     *//*
+
+    public PointData getRealData(String pointid) throws Exception;
+
+    */
+/**
+     * 通过全局点名获得测点实时数据 读取多个点
+     * @param pointids 测点的数组
+     * @return 列表集合
+     * @throws Exception
+     *//*
+
+    public List<PointData> getRealData(String... pointids) throws Exception;
+    */
+/**
+     * 通过全局点名获得测点实时数据 读取多个点
+     * @param pointids 测点的列表
+     * @return 列表集合
+     * @throws Exception
+     *//*
+
+    public List<PointData> getRealData(List<String> pointids) throws Exception;
+    */
+/**
+     * 通过全局点名获得测点实时数据 读取多个点
+     * @param pointids 测点的数组
+     * @return Map集合
+     * @throws Exception
+     *//*
+
+    public Map<String,Double> getRealDataMap(String... pointids) throws Exception;
+
+    */
+/**
+     * 通过全局点名获得历史数据快照
+     * @param pointid  全局点名
+     * @param beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @return
+     * @throws Exception
+     *//*
+
+    public List<PointData> getHistoryDatasSnap(String pointid, Long beginDate, Long endDate, Long count, Long pried) throws Exception;
+
+    */
+/**
+     * 通过风机测点获得测点历史存储数据,存多少取多少
+     * @param pointid 全局点名
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @return
+     * @throws Exception
+     *//*
+
+    public List<PointData> getHistoryDatasRaw(String pointid, Long beginDate, Long endDate) throws Exception;
+
+
+    */
+/**
+     * 通过风机测点获得测点指定时间周期的统计数据
+     * @param point 只是用了id字段,作为唯一标识
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @type 0、最大值。1、最小值。、平均值
+     * @return
+     * @throws Exception
+     *//*
+
+    public List<PointData> getHistStat(WindTurbineTestingPointAi2 point, Long beginDate, Long endDate, Long count, Long pried, int type) throws Exception;
+
+    */
+/**
+     * 通过风场测点获得测点指定时间周期的统计数据
+     * @param point 只是用了code字段,作为唯一标识
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @type 0、最大值。1、最小值。、平均值
+     * @return
+     * @throws Exception
+     *//*
+
+    public List<PointData> getHistStat(WindPowerStationTestingPoint2 point, Long beginDate, Long endDate, Long count, Long pried, int type) throws Exception;
+
+    */
+/**
+     * 通过全局点名获得测点指定时间周期的统计数据
+     * @param pointid 全局点名
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @type 0、最大值。1、最小值。、平均值
+     * @return
+     * @throws Exception
+     *//*
+
+    public List<PointData> getHistStat(String pointid, Long beginDate, Long endDate, Long count, Long pried, int type) throws Exception;
+
+    */
+/**
+     * 通过全局点名获得测点指定时间周期的统计数据 同时返回max、min、avg数据
+     * @param point 全局点名
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param pried  时间间隔
+     * @return
+     * @throws Exception
+     *//*
+
+    public DNAStatVal[] getHistStat(String point, Long beginDate, Long endDate, Integer pried) throws Exception;
+    */
+/**
+     * 补录单点历史数据
+     * @param point 测点对象
+     * @return
+     * @throws Exception
+     *//*
+
+    public void updatePoint(PointData point) throws Exception;
+
+    */
+/**
+     * 批量查询实时数据
+     * @param tagNames 测点字符串数组
+     * @return
+     * @throws Exception
+     *//*
+
+    
+    public DNAVal[] getRealtimeTagValues(String... tagNames) throws Exception;
+
+    */
+/**
+     * 批量插入历史数据
+     * @param pointls 测点对象集合
+     * @throws Exception
+     *//*
+
+    public void updatePoint(List<PointData> pointls) throws Exception;
+
+    */
+/**
+     * 单点写入实时数据
+     * @param point 测点对象
+     * @throws Exception
+     *//*
+
+    public void sendSinglePoint(PointData point) throws Exception ;
+    */
+/**
+     * 批量写入实时数据
+     * @param pointls 测点对象列表
+     * @throws Exception
+     *//*
+
+    public void sendMultiPoint(List<PointData> pointls) throws Exception ;
+
+    */
+/**
+     * 通过两个字符串数组对象批量写入实时数据
+     * @param realvalue 插入值字符串数组
+     * @param pointls 存储对象数组对象
+     * @throws Exception
+     *//*
+
+    
+    public void sendMultiPoint(String[] realvalue, DNAVal[] pointls) throws Exception;
+    */
+/**
+     *  
+     * @param nameList 测点名称列表集合
+     * @param tTime  时间点(秒级)
+     * @return
+     * @throws Exception
+     *//*
+
+    public DNAVal[] getHistMatrix(String[] nameList, int tTime) throws Exception;
+    
+}
+*/

+ 1 - 1
src/main/resources/application.yml

@@ -76,7 +76,7 @@ spring :
 
 mongodb :
   mongodb_ip: 117.78.18.24
-  mongodb_port: 29017
+  mongodb_port: 9989
   mongodb_perHost: 200
   mongodb_threadsAllowed: 200
   mongodb_connectTimeout: 60000

+ 366 - 0
src/main/resources/mybatis/auto/ForecastwindspeedamendedMapper.xml

@@ -0,0 +1,366 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.ForecastwindspeedamendedMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.Forecastwindspeedamended">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="DECIMAL" property="id" />
+    <result column="WPID" jdbcType="VARCHAR" property="wpid" />
+    <result column="WPNAME" jdbcType="VARCHAR" property="wpname" />
+    <result column="RECODEDATE" jdbcType="TIMESTAMP" property="recodedate" />
+    <result column="DAYSPEED" jdbcType="DECIMAL" property="dayspeed" />
+    <result column="DAYPOWER" jdbcType="DECIMAL" property="daypower" />
+    <result column="NIGHTSPEED" jdbcType="DECIMAL" property="nightspeed" />
+    <result column="NIGHTPOWER" jdbcType="DECIMAL" property="nightpower" />
+    <result column="PJID" jdbcType="VARCHAR" property="pjid" />
+    <result column="PJNAME" jdbcType="VARCHAR" property="pjname" />
+    <result column="CREATEDATE" jdbcType="TIMESTAMP" property="createdate" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    ID, WPID, WPNAME, RECODEDATE, DAYSPEED, DAYPOWER, NIGHTSPEED, NIGHTPOWER, PJID, PJNAME, 
+    CREATEDATE
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.ForecastwindspeedamendedExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from FORECASTWINDSPEEDAMENDED
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from FORECASTWINDSPEEDAMENDED
+    where ID = #{id,jdbcType=DECIMAL}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from FORECASTWINDSPEEDAMENDED
+    where ID = #{id,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.ForecastwindspeedamendedExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from FORECASTWINDSPEEDAMENDED
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.Forecastwindspeedamended">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into FORECASTWINDSPEEDAMENDED (ID, WPID, WPNAME, 
+      RECODEDATE, DAYSPEED, DAYPOWER, 
+      NIGHTSPEED, NIGHTPOWER, PJID, 
+      PJNAME, CREATEDATE)
+    values (#{id,jdbcType=DECIMAL}, #{wpid,jdbcType=VARCHAR}, #{wpname,jdbcType=VARCHAR}, 
+      #{recodedate,jdbcType=TIMESTAMP}, #{dayspeed,jdbcType=DECIMAL}, #{daypower,jdbcType=DECIMAL}, 
+      #{nightspeed,jdbcType=DECIMAL}, #{nightpower,jdbcType=DECIMAL}, #{pjid,jdbcType=VARCHAR}, 
+      #{pjname,jdbcType=VARCHAR}, #{createdate,jdbcType=TIMESTAMP})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.Forecastwindspeedamended">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into FORECASTWINDSPEEDAMENDED
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="wpid != null">
+        WPID,
+      </if>
+      <if test="wpname != null">
+        WPNAME,
+      </if>
+      <if test="recodedate != null">
+        RECODEDATE,
+      </if>
+      <if test="dayspeed != null">
+        DAYSPEED,
+      </if>
+      <if test="daypower != null">
+        DAYPOWER,
+      </if>
+      <if test="nightspeed != null">
+        NIGHTSPEED,
+      </if>
+      <if test="nightpower != null">
+        NIGHTPOWER,
+      </if>
+      <if test="pjid != null">
+        PJID,
+      </if>
+      <if test="pjname != null">
+        PJNAME,
+      </if>
+      <if test="createdate != null">
+        CREATEDATE,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=DECIMAL},
+      </if>
+      <if test="wpid != null">
+        #{wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="recodedate != null">
+        #{recodedate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="dayspeed != null">
+        #{dayspeed,jdbcType=DECIMAL},
+      </if>
+      <if test="daypower != null">
+        #{daypower,jdbcType=DECIMAL},
+      </if>
+      <if test="nightspeed != null">
+        #{nightspeed,jdbcType=DECIMAL},
+      </if>
+      <if test="nightpower != null">
+        #{nightpower,jdbcType=DECIMAL},
+      </if>
+      <if test="pjid != null">
+        #{pjid,jdbcType=VARCHAR},
+      </if>
+      <if test="pjname != null">
+        #{pjname,jdbcType=VARCHAR},
+      </if>
+      <if test="createdate != null">
+        #{createdate,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.ForecastwindspeedamendedExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from FORECASTWINDSPEEDAMENDED
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update FORECASTWINDSPEEDAMENDED
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=DECIMAL},
+      </if>
+      <if test="record.wpid != null">
+        WPID = #{record.wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wpname != null">
+        WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="record.recodedate != null">
+        RECODEDATE = #{record.recodedate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.dayspeed != null">
+        DAYSPEED = #{record.dayspeed,jdbcType=DECIMAL},
+      </if>
+      <if test="record.daypower != null">
+        DAYPOWER = #{record.daypower,jdbcType=DECIMAL},
+      </if>
+      <if test="record.nightspeed != null">
+        NIGHTSPEED = #{record.nightspeed,jdbcType=DECIMAL},
+      </if>
+      <if test="record.nightpower != null">
+        NIGHTPOWER = #{record.nightpower,jdbcType=DECIMAL},
+      </if>
+      <if test="record.pjid != null">
+        PJID = #{record.pjid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.pjname != null">
+        PJNAME = #{record.pjname,jdbcType=VARCHAR},
+      </if>
+      <if test="record.createdate != null">
+        CREATEDATE = #{record.createdate,jdbcType=TIMESTAMP},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update FORECASTWINDSPEEDAMENDED
+    set ID = #{record.id,jdbcType=DECIMAL},
+      WPID = #{record.wpid,jdbcType=VARCHAR},
+      WPNAME = #{record.wpname,jdbcType=VARCHAR},
+      RECODEDATE = #{record.recodedate,jdbcType=TIMESTAMP},
+      DAYSPEED = #{record.dayspeed,jdbcType=DECIMAL},
+      DAYPOWER = #{record.daypower,jdbcType=DECIMAL},
+      NIGHTSPEED = #{record.nightspeed,jdbcType=DECIMAL},
+      NIGHTPOWER = #{record.nightpower,jdbcType=DECIMAL},
+      PJID = #{record.pjid,jdbcType=VARCHAR},
+      PJNAME = #{record.pjname,jdbcType=VARCHAR},
+      CREATEDATE = #{record.createdate,jdbcType=TIMESTAMP}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.Forecastwindspeedamended">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update FORECASTWINDSPEEDAMENDED
+    <set>
+      <if test="wpid != null">
+        WPID = #{wpid,jdbcType=VARCHAR},
+      </if>
+      <if test="wpname != null">
+        WPNAME = #{wpname,jdbcType=VARCHAR},
+      </if>
+      <if test="recodedate != null">
+        RECODEDATE = #{recodedate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="dayspeed != null">
+        DAYSPEED = #{dayspeed,jdbcType=DECIMAL},
+      </if>
+      <if test="daypower != null">
+        DAYPOWER = #{daypower,jdbcType=DECIMAL},
+      </if>
+      <if test="nightspeed != null">
+        NIGHTSPEED = #{nightspeed,jdbcType=DECIMAL},
+      </if>
+      <if test="nightpower != null">
+        NIGHTPOWER = #{nightpower,jdbcType=DECIMAL},
+      </if>
+      <if test="pjid != null">
+        PJID = #{pjid,jdbcType=VARCHAR},
+      </if>
+      <if test="pjname != null">
+        PJNAME = #{pjname,jdbcType=VARCHAR},
+      </if>
+      <if test="createdate != null">
+        CREATEDATE = #{createdate,jdbcType=TIMESTAMP},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.Forecastwindspeedamended">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update FORECASTWINDSPEEDAMENDED
+    set WPID = #{wpid,jdbcType=VARCHAR},
+      WPNAME = #{wpname,jdbcType=VARCHAR},
+      RECODEDATE = #{recodedate,jdbcType=TIMESTAMP},
+      DAYSPEED = #{dayspeed,jdbcType=DECIMAL},
+      DAYPOWER = #{daypower,jdbcType=DECIMAL},
+      NIGHTSPEED = #{nightspeed,jdbcType=DECIMAL},
+      NIGHTPOWER = #{nightpower,jdbcType=DECIMAL},
+      PJID = #{pjid,jdbcType=VARCHAR},
+      PJNAME = #{pjname,jdbcType=VARCHAR},
+      CREATEDATE = #{createdate,jdbcType=TIMESTAMP}
+    where ID = #{id,jdbcType=DECIMAL}
+  </update>
+</mapper>

+ 13 - 2
src/test/java/test/RelationalDataBaseTest.java

@@ -9,6 +9,7 @@ import com.gyee.frame.service.WindturbineinfodayService;
 import lombok.SneakyThrows;
 import org.springframework.boot.SpringApplication;
 
+import java.text.ParseException;
 import java.util.Calendar;
 
 public class RelationalDataBaseTest {
@@ -31,8 +32,18 @@ public class RelationalDataBaseTest {
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.SECOND, 0);
 
-        Windturbineinfoday wt=windturbineinfodayService.findListByDate("CL01_001",c.getTime());
-        Windpowerinfoday wp=windpowerinfodayService.findListByDate("CL_FDC",c.getTime());
+        Windturbineinfoday wt= null;
+        try {
+            wt = windturbineinfodayService.findListByDate("CL01_001",c.getTime());
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        Windpowerinfoday wp= null;
+        try {
+            wp = windpowerinfodayService.findListByDate("CL_FDC",c.getTime());
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
 
         System.out.println(wt.getRecorddate()+ "___" +wt.getGeneratingcapacity2());
         System.out.println(wp.getRecorddate()+ "___" +wp.getDaylyxs());