Browse Source

单机性能分析功能接口

shilin 4 years ago
parent
commit
ee6c37cc85
100 changed files with 67552 additions and 134 deletions
  1. 5 1
      pom.xml
  2. 0 25
      src/main/java/com/gyee/frame/common/conf/GoldenConfig.java
  3. 40 0
      src/main/java/com/gyee/frame/common/conf/RedisConfig.java
  4. 28 6
      src/main/java/com/gyee/frame/common/conf/V2Config.java
  5. 2 2
      src/main/java/com/gyee/frame/common/dao/golden/EdosUtil.java
  6. 53 53
      src/main/java/com/gyee/frame/common/spring/InitialRunner.java
  7. 1233 0
      src/main/java/com/gyee/frame/controller/goodness/WindpowerDetailChartController.java
  8. 1203 0
      src/main/java/com/gyee/frame/controller/goodness/WindturbineDetailChartController.java
  9. 197 0
      src/main/java/com/gyee/frame/controller/goodness/WindturbineDetailLineChartController.java
  10. 264 0
      src/main/java/com/gyee/frame/controller/goodness/WindturbineDetailPieChartAController.java
  11. 337 0
      src/main/java/com/gyee/frame/controller/goodness/WindturbineGoodnessDetailController.java
  12. 24 16
      src/main/java/com/gyee/frame/controller/goodness/WindturbinegoodnessController.java
  13. 47 0
      src/main/java/com/gyee/frame/controller/outputspeed/OutputSpeedController.java
  14. 113 0
      src/main/java/com/gyee/frame/controller/powersaturation/PowerSaturationAmonutController.java
  15. 109 0
      src/main/java/com/gyee/frame/controller/powersaturation/PowerSaturationController.java
  16. 114 0
      src/main/java/com/gyee/frame/controller/powersaturation/PowerSaturationMonthController.java
  17. 97 0
      src/main/java/com/gyee/frame/mapper/auto/Brownoutsevent2Mapper.java
  18. 96 0
      src/main/java/com/gyee/frame/mapper/auto/Inputoroutputspeedtotal2Mapper.java
  19. 96 0
      src/main/java/com/gyee/frame/mapper/auto/InputoroutputspeedtotalMapper.java
  20. 97 0
      src/main/java/com/gyee/frame/mapper/auto/ProjectPlanMapper.java
  21. 96 0
      src/main/java/com/gyee/frame/mapper/auto/Shutdownevent2Mapper.java
  22. 96 0
      src/main/java/com/gyee/frame/mapper/auto/Warning2Mapper.java
  23. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WarningRecordsMapper.java
  24. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WindpowerstationthewindinfoMapper.java
  25. 608 0
      src/main/java/com/gyee/frame/model/auto/Brownoutsevent2.java
  26. 1483 0
      src/main/java/com/gyee/frame/model/auto/Brownoutsevent2Example.java
  27. 2325 0
      src/main/java/com/gyee/frame/model/auto/Inputoroutputspeedtotal.java
  28. 3017 0
      src/main/java/com/gyee/frame/model/auto/Inputoroutputspeedtotal2.java
  29. 5841 0
      src/main/java/com/gyee/frame/model/auto/Inputoroutputspeedtotal2Example.java
  30. 4544 0
      src/main/java/com/gyee/frame/model/auto/InputoroutputspeedtotalExample.java
  31. 244 0
      src/main/java/com/gyee/frame/model/auto/ProjectPlan.java
  32. 782 0
      src/main/java/com/gyee/frame/model/auto/ProjectPlanExample.java
  33. 641 0
      src/main/java/com/gyee/frame/model/auto/Shutdownevent2.java
  34. 1563 0
      src/main/java/com/gyee/frame/model/auto/Shutdownevent2Example.java
  35. 575 0
      src/main/java/com/gyee/frame/model/auto/Warning2.java
  36. 1433 0
      src/main/java/com/gyee/frame/model/auto/Warning2Example.java
  37. 453 0
      src/main/java/com/gyee/frame/model/auto/WarningRecords.java
  38. 1153 0
      src/main/java/com/gyee/frame/model/auto/WarningRecordsExample.java
  39. 9914 0
      src/main/java/com/gyee/frame/model/auto/Windpowerstationthewindinfo.java
  40. 18341 0
      src/main/java/com/gyee/frame/model/auto/WindpowerstationthewindinfoExample.java
  41. 151 0
      src/main/java/com/gyee/frame/model/custom/ProjectPlanVo.java
  42. 142 0
      src/main/java/com/gyee/frame/service/Brownoutsevent2Service.java
  43. 122 0
      src/main/java/com/gyee/frame/service/Inputoroutputspeedtotal2Service.java
  44. 162 0
      src/main/java/com/gyee/frame/service/InputoroutputspeedtotalService.java
  45. 480 0
      src/main/java/com/gyee/frame/service/ProjectPlanService.java
  46. 184 0
      src/main/java/com/gyee/frame/service/Shutdownevent2Service.java
  47. 95 0
      src/main/java/com/gyee/frame/service/Warning2Service.java
  48. 8 8
      src/main/java/com/gyee/frame/service/WarningInfoDayService.java
  49. 328 0
      src/main/java/com/gyee/frame/service/WarningRecordsService.java
  50. 122 0
      src/main/java/com/gyee/frame/service/WindpowerstationthewindinfoService.java
  51. 89 0
      src/main/java/com/gyee/frame/service/WindturbinecurvefittingService.java
  52. 42 0
      src/main/java/com/gyee/frame/service/WindturbinecurvefittingmonthService.java
  53. 31 4
      src/main/java/com/gyee/frame/service/WindturbineinfodayService.java
  54. 1 0
      src/main/java/com/gyee/frame/service/Windturbineinfodaytop3Service.java
  55. 634 16
      src/main/java/com/gyee/frame/service/goodness/WindturbinegoodnessService.java
  56. 39 0
      src/main/java/com/gyee/frame/util/DateUtils.java
  57. 210 0
      src/main/java/com/gyee/frame/util/IRealTimeDataBaseUtil.java
  58. 73 0
      src/main/java/com/gyee/frame/util/JedisPoolUtil.java
  59. 21 0
      src/main/java/com/gyee/frame/util/RealTimeDataBaseFactory.java
  60. 48 0
      src/main/java/com/gyee/frame/util/golden/ApiGolden.java
  61. 1262 0
      src/main/java/com/gyee/frame/util/golden/EdosUtil.java
  62. 279 0
      src/main/java/com/gyee/frame/util/golden/IEdosUtil.java
  63. 34 0
      src/main/java/com/gyee/frame/util/golden/StringUtil.java
  64. 28 0
      src/main/java/com/gyee/frame/util/golden/timeseries/BaseTsQuery.java
  65. 38 0
      src/main/java/com/gyee/frame/util/golden/timeseries/BasicTsData.java
  66. 29 0
      src/main/java/com/gyee/frame/util/golden/timeseries/BasicTsPoint.java
  67. 24 0
      src/main/java/com/gyee/frame/util/golden/timeseries/BlobTsData.java
  68. 22 0
      src/main/java/com/gyee/frame/util/golden/timeseries/BlobWriteTsData.java
  69. 24 0
      src/main/java/com/gyee/frame/util/golden/timeseries/BooleanTsData.java
  70. 19 0
      src/main/java/com/gyee/frame/util/golden/timeseries/BooleanWriteTsData.java
  71. 18 0
      src/main/java/com/gyee/frame/util/golden/timeseries/Coordinate.java
  72. 26 0
      src/main/java/com/gyee/frame/util/golden/timeseries/CoordinateTsData.java
  73. 21 0
      src/main/java/com/gyee/frame/util/golden/timeseries/CoordinateWriteTsData.java
  74. 30 0
      src/main/java/com/gyee/frame/util/golden/timeseries/DoubleStatData.java
  75. 25 0
      src/main/java/com/gyee/frame/util/golden/timeseries/DoubleTsData.java
  76. 19 0
      src/main/java/com/gyee/frame/util/golden/timeseries/DoubleWriteTsData.java
  77. 38 0
      src/main/java/com/gyee/frame/util/golden/timeseries/ErrorRequest.java
  78. 27 0
      src/main/java/com/gyee/frame/util/golden/timeseries/GeneralTsData.java
  79. 8 0
      src/main/java/com/gyee/frame/util/golden/timeseries/Interpolation.java
  80. 230 0
      src/main/java/com/gyee/frame/util/golden/timeseries/JsonObjectHelper.java
  81. 24 0
      src/main/java/com/gyee/frame/util/golden/timeseries/LongTsData.java
  82. 20 0
      src/main/java/com/gyee/frame/util/golden/timeseries/LongWriteTsData.java
  83. 24 0
      src/main/java/com/gyee/frame/util/golden/timeseries/StringTsData.java
  84. 34 0
      src/main/java/com/gyee/frame/util/golden/timeseries/StringUtil.java
  85. 20 0
      src/main/java/com/gyee/frame/util/golden/timeseries/StringWriteTsData.java
  86. 15 0
      src/main/java/com/gyee/frame/util/golden/timeseries/TsData.java
  87. 15 0
      src/main/java/com/gyee/frame/util/golden/timeseries/TsDataType.java
  88. 12 0
      src/main/java/com/gyee/frame/util/golden/timeseries/TsPoint.java
  89. 36 0
      src/main/java/com/gyee/frame/util/golden/timeseries/TsPointData.java
  90. 23 0
      src/main/java/com/gyee/frame/util/golden/timeseries/TsPointDataList.java
  91. 17 0
      src/main/java/com/gyee/frame/util/golden/timeseries/TsQuery.java
  92. 4 2
      src/main/resources/application.yml
  93. 1 1
      src/main/resources/mybatis-generator.xml
  94. 478 0
      src/main/resources/mybatis/auto/Brownoutsevent2Mapper.xml
  95. 1628 0
      src/main/resources/mybatis/auto/Inputoroutputspeedtotal2Mapper.xml
  96. 1305 0
      src/main/resources/mybatis/auto/InputoroutputspeedtotalMapper.xml
  97. 303 0
      src/main/resources/mybatis/auto/ProjectPlanMapper.xml
  98. 493 0
      src/main/resources/mybatis/auto/Shutdownevent2Mapper.xml
  99. 461 0
      src/main/resources/mybatis/auto/Warning2Mapper.xml
  100. 0 0
      src/main/resources/mybatis/auto/WarningRecordsMapper.xml

+ 5 - 1
pom.xml

@@ -249,7 +249,11 @@
 			<artifactId>tomcat-embed-websocket</artifactId>
 			<version>${tomcat.version}</version>
 		</dependency>
-
+		<dependency>
+			<groupId>redis.clients</groupId>
+			<artifactId>jedis</artifactId>
+			<version>2.9.0</version>
+		</dependency>
 	</dependencies>
 
 

+ 0 - 25
src/main/java/com/gyee/frame/common/conf/GoldenConfig.java

@@ -1,25 +0,0 @@
-package com.gyee.frame.common.conf;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * 读取项目相关配置
- * 
- * @author gyee
- */
-
-@Configuration
-@ConfigurationProperties(prefix = "golden")
-public class GoldenConfig
-{
-    public static String baseurl;
-
-    public static String getBaseurl() {
-        return baseurl;
-    }
-
-    public static void setBaseurl(String baseurl) {
-        GoldenConfig.baseurl = baseurl;
-    }
-}

+ 40 - 0
src/main/java/com/gyee/frame/common/conf/RedisConfig.java

@@ -0,0 +1,40 @@
+package com.gyee.frame.common.conf;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import redis.clients.jedis.JedisPool;
+import redis.clients.jedis.JedisPoolConfig;
+
+/**
+ * 读取项目相关配置
+ * 
+ * @author gyee
+ */
+
+@Configuration
+@ConfigurationProperties(prefix = "redis")
+public class RedisConfig
+{
+    public static String redis_ip;
+    public static Integer redis_port;
+
+
+    @Bean(name = "cacheRedis")
+    public static JedisPool cacheRedis()  throws Exception{
+
+        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
+        jedisPoolConfig.setMaxIdle(2000);
+        jedisPoolConfig.setMaxTotal(20000);
+        jedisPoolConfig.setMaxWaitMillis(5000);
+
+        // 是否启用pool的jmx管理功能, 默认true
+        jedisPoolConfig.setJmxEnabled(true);
+        JedisPool jedisPool = new JedisPool(jedisPoolConfig, redis_ip, redis_port);
+        return jedisPool;
+    }
+
+
+
+
+}

+ 28 - 6
src/main/java/com/gyee/frame/common/conf/V2Config.java

@@ -36,6 +36,11 @@ public class V2Config
     private static String demoEnabled;
     /** 滚动验证码 **/
     private static Boolean rollVerification;
+    /** 实时数据库 **/
+    private  static String realtimedataBase;
+    private static String baseurl;
+
+
     public String getName()
     {
         return name;
@@ -65,7 +70,7 @@ public class V2Config
     {
         this.copyrightYear = copyrightYear;
     }
-    
+
 
 	public static String getDefaultBaseDir() {
 		return defaultBaseDir;
@@ -80,7 +85,8 @@ public class V2Config
 	}
 
 	public  void setIsstatic(String isstatic) {
-		V2Config.isstatic = isstatic;
+
+        V2Config.isstatic = isstatic;
 	}
 
 	public static String getIsroot_dir() {
@@ -88,7 +94,8 @@ public class V2Config
 	}
 
 	public void setIsroot_dir(String isroot_dir) {
-		V2Config.isroot_dir = isroot_dir;
+
+        V2Config.isroot_dir = isroot_dir;
 	}
 
 	public static String getEmail_smtp() {
@@ -138,7 +145,22 @@ public class V2Config
 	public void setRollVerification(Boolean rollVerification) {
 		V2Config.rollVerification = rollVerification;
 	}
-	
-	
-	
+
+
+
+
+    public static String getRealtimedataBase() {
+        return realtimedataBase;
+    }
+
+    public  void setRealtimedataBase(String realtimedataBase) {
+        V2Config.realtimedataBase = realtimedataBase;
+    }
+    public static String getBaseurl() {
+        return baseurl;
+    }
+
+    public  void setBaseurl(String baseurl) {
+        V2Config.baseurl = baseurl;
+    }
 }

+ 2 - 2
src/main/java/com/gyee/frame/common/dao/golden/EdosUtil.java

@@ -3,7 +3,7 @@ package com.gyee.frame.common.dao.golden;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.gyee.frame.common.conf.GoldenConfig;
+import com.gyee.frame.common.conf.V2Config;
 import com.gyee.frame.common.dao.IRealTimeDataBaseUtil;
 import com.gyee.frame.common.dao.golden.timeseries.ErrorRequest;
 import com.gyee.frame.common.dao.golden.timeseries.JsonObjectHelper;
@@ -29,7 +29,7 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
 
     private RestTemplate restTemplate =new RestTemplate();
     
-    static String baseURL = GoldenConfig.baseurl;
+    static String baseURL = V2Config.getBaseurl();
 
     @Override
     public PointData getRealData(WindPowerStationTestingPoint2 point) throws Exception {

+ 53 - 53
src/main/java/com/gyee/frame/common/spring/InitialRunner.java

@@ -35,7 +35,7 @@ public class InitialRunner implements CommandLineRunner {
     @Resource
     private WindturbinepowercurvefittingService windturbinepowercurvefittingService;
     @Resource
-    private WarningService warningService;
+    private Warning2Service warning2Service;
     @Resource
     private ModelpowerRdService modelpowerRdService;
     @Resource
@@ -55,7 +55,7 @@ public class InitialRunner implements CommandLineRunner {
     public static List<Windturbine> wtls = new ArrayList<Windturbine>(); // 风电机LIST集合
 
     public static Map<String, Windpowerstation>  wpmap = new HashMap<String, Windpowerstation>();
-    public static Map<String, Warning>  warningmap = new HashMap<String, Warning>();
+    public static Map<String, Warning2>  warningmap = new HashMap<String, Warning2>();
     public static Map<String, WarningClassify>  warningClassifymap = new HashMap<String, WarningClassify>();
     public static Map<String, Manufacturer>  manufacturermap = new HashMap<String, Manufacturer>();
     public static Map<String, Project> pjmap = new HashMap<String, Project>(); // 项目MAP
@@ -179,13 +179,13 @@ public class InitialRunner implements CommandLineRunner {
 //            }
 //        }
 
-        WarningExample warningExample=new WarningExample();
-        warningExample.setOrderByClause("id ASC");
-        List<Warning> warnls= warningService.selectByExample(warningExample);
+        Warning2Example warning2Example=new Warning2Example();
+        warning2Example.setOrderByClause("id ASC");
+        List<Warning2> warnls= warning2Service.selectByExample(warning2Example);
 
         if(warnls!=null && !warnls.isEmpty()) {
             for(int i=0;i<warnls.size();i++){
-                Warning warning=warnls.get(i);
+                Warning2 warning=warnls.get(i);
                 warningmap.put(warning.getId(),warning);
             }
         }
@@ -233,47 +233,47 @@ public class InitialRunner implements CommandLineRunner {
 
 
         }
-//
-//
-//        WindPowerStationTestingPoint2Example windPowerstationTestingPointExample=new WindPowerStationTestingPoint2Example();
-//        windPowerstationTestingPointExample.createCriteria().getAllCriteria();
-//        List<WindPowerStationTestingPoint2> wpPointlist= windPowerstationTestingPointService.selectByExample(windPowerstationTestingPointExample);
-//
-//        Map<String,WindPowerStationTestingPoint2> items=null;
-//        if(wpPointlist!=null && !wpPointlist.isEmpty()){
-//            for(int i=0;i<wpPointlist.size();i++){
-//                WindPowerStationTestingPoint2 point=wpPointlist.get(i);
-//                if(stationPointmap.containsKey(point.getWindpowerstationid())){
-//                    items=stationPointmap.get(point.getWindpowerstationid());
-//                    items.put(point.getUniformcode(), point);
-//                }
-//                else{
-//                    items=new HashMap<String,WindPowerStationTestingPoint2>();
-//                    stationPointmap.put(point.getWindpowerstationid(), items);
-//                    items.put(point.getUniformcode(), point);
-//                }
-//
-//            }
-//        }
-//
-//        WindTurbineTestingPointAi2Example windTurbineTestingPointAiExample=new WindTurbineTestingPointAi2Example();
-//        windTurbineTestingPointAiExample.createCriteria().getAllCriteria();
-//        List<WindTurbineTestingPointAi2> wtAilist= windTurbineTestingPointAiService.selectByExample(windTurbineTestingPointAiExample);
-//
-//        Map<String, WindTurbineTestingPointAi2> map = null;
-//
-//        if(wtAilist != null && !wtAilist.isEmpty()){
-//            for(WindTurbineTestingPointAi2 mp : wtAilist){
-//                if(wtpAimap.containsKey(mp.getWindturbineid())){
-//                    map = wtpAimap.get(mp.getWindturbineid());
-//                    map.put(mp.getUniformcode(), mp);
-//                }else{
-//                    map = new HashMap<String, WindTurbineTestingPointAi2>();
-//                    map.put(mp.getUniformcode(), mp);
-//                    wtpAimap.put(mp.getWindturbineid(), map);
-//                }
-//            }
-//        }
+
+
+        WindPowerStationTestingPoint2Example windPowerstationTestingPointExample=new WindPowerStationTestingPoint2Example();
+        windPowerstationTestingPointExample.createCriteria().getAllCriteria();
+        List<WindPowerStationTestingPoint2> wpPointlist= windPowerstationTestingPointService.selectByExample(windPowerstationTestingPointExample);
+
+        Map<String,WindPowerStationTestingPoint2> items=null;
+        if(wpPointlist!=null && !wpPointlist.isEmpty()){
+            for(int i=0;i<wpPointlist.size();i++){
+                WindPowerStationTestingPoint2 point=wpPointlist.get(i);
+                if(stationPointmap.containsKey(point.getWindpowerstationid())){
+                    items=stationPointmap.get(point.getWindpowerstationid());
+                    items.put(point.getUniformcode(), point);
+                }
+                else{
+                    items=new HashMap<String,WindPowerStationTestingPoint2>();
+                    stationPointmap.put(point.getWindpowerstationid(), items);
+                    items.put(point.getUniformcode(), point);
+                }
+
+            }
+        }
+
+        WindTurbineTestingPointAi2Example windTurbineTestingPointAiExample=new WindTurbineTestingPointAi2Example();
+        windTurbineTestingPointAiExample.createCriteria().getAllCriteria();
+        List<WindTurbineTestingPointAi2> wtAilist= windTurbineTestingPointAiService.selectByExample(windTurbineTestingPointAiExample);
+
+        Map<String, WindTurbineTestingPointAi2> map = null;
+
+        if(wtAilist != null && !wtAilist.isEmpty()){
+            for(WindTurbineTestingPointAi2 mp : wtAilist){
+                if(wtpAimap.containsKey(mp.getWindturbineid())){
+                    map = wtpAimap.get(mp.getWindturbineid());
+                    map.put(mp.getUniformcode(), mp);
+                }else{
+                    map = new HashMap<String, WindTurbineTestingPointAi2>();
+                    map.put(mp.getUniformcode(), mp);
+                    wtpAimap.put(mp.getWindturbineid(), map);
+                }
+            }
+        }
 
         EquipmentmodelExample example=new EquipmentmodelExample();
         List<Equipmentmodel> mlls = equipmentmodelService.selectByExample(example);
@@ -303,17 +303,17 @@ public class InitialRunner implements CommandLineRunner {
         List<ModelPower> mpls = modelPowerService.selectByExample(mpexample);
         if (!mpls.isEmpty()) {
 
-            Map<String, ModelPower> map = null;
+            Map<String, ModelPower> mpmap = null;
 
             if(mpls != null && !mpls.isEmpty()){
                 for(ModelPower mp : mpls){
                     if(modelPowermap.containsKey(mp.getModelid())){
-                        map = modelPowermap.get(mp.getModelid());
-                        map.put(String.valueOf(mp.getSpeed().doubleValue()), mp);
+                        mpmap = modelPowermap.get(mp.getModelid());
+                        mpmap.put(String.valueOf(mp.getSpeed().doubleValue()), mp);
                     }else{
-                        map = new HashMap<String, ModelPower>();
-                        map.put(String.valueOf(mp.getSpeed().doubleValue()), mp);
-                        modelPowermap.put(mp.getModelid(), map);
+                        mpmap = new HashMap<String, ModelPower>();
+                        mpmap.put(String.valueOf(mp.getSpeed().doubleValue()), mp);
+                        modelPowermap.put(mp.getModelid(), mpmap);
                     }
                 }
             }

File diff suppressed because it is too large
+ 1233 - 0
src/main/java/com/gyee/frame/controller/goodness/WindpowerDetailChartController.java


File diff suppressed because it is too large
+ 1203 - 0
src/main/java/com/gyee/frame/controller/goodness/WindturbineDetailChartController.java


+ 197 - 0
src/main/java/com/gyee/frame/controller/goodness/WindturbineDetailLineChartController.java

@@ -0,0 +1,197 @@
+package com.gyee.frame.controller.goodness;
+
+import com.github.pagehelper.PageInfo;
+import com.gyee.frame.common.conf.AjaxStatus;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.model.auto.Brownoutsevent2;
+import com.gyee.frame.model.auto.Inputoroutputspeedtotal;
+import com.gyee.frame.model.auto.WarningRecords;
+import com.gyee.frame.model.custom.DataVo;
+import com.gyee.frame.model.custom.ShutdowneventVo;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.service.*;
+import com.gyee.frame.service.goodness.WindturbinegoodnessService;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
+
+/**
+ * 风机区间图表功能展示
+ */
+@Controller
+@RequestMapping("/goodness")
+public class WindturbineDetailLineChartController {
+    @Resource
+    private WindturbinegoodnessService windturbinegoodnessService;
+    @Resource
+    private InputoroutputspeedtotalService inputoroutputspeedtotalServicenegoodnessService;
+    @Resource
+    private WarningRecordsService warningRecordsService;
+    @Resource
+    private Brownoutsevent2Service brownoutsevent2Service;
+    @Resource
+    private Shutdownevent2Service shutdownevent2Service;
+    @Resource
+    private WarningInfoDayService warningInfoDayService;
+    @Resource
+    private WindturbineanalysisdayService windturbineanalysisdayService;
+    @Resource
+    private WindturbineinfodayService windturbineinfodayService;
+    @Resource
+    private WindturbinecurvefittingService windturbinecurvefittingService;
+    @Resource
+    private WindturbinethewindinfoService windturbinethewindinfoService;
+    @Resource
+    private WindpowerstationthewindinfoService windpowerstationthewindinfoService;
+
+
+    /**
+     * 获得曲线区间区分功能数据查询
+     *
+     * @param wtId
+     * @param recorddate
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/getplotBands")
+    @ResponseBody
+    public AjaxResult list(String wtId, String recorddate, HttpServletRequest request) throws Exception {
+        Date date = DateUtils.parseStrtoDate(recorddate);
+        String result = windturbinegoodnessService.getplotBands(wtId, date, request);
+        if (result != null) {
+            return AjaxResult.successData(AjaxStatus.success.code, result);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, result);
+        }
+    }
+
+    /**
+     * 获取切入风速
+     *
+     * @param wtId
+     * @param recorddate
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/getInputSmall")
+    @ResponseBody
+    public AjaxResult getInputSmall(String wtId, String recorddate) throws Exception {
+        Date date = DateUtils.parseStrtoDate(recorddate);
+        List<Inputoroutputspeedtotal> result = inputoroutputspeedtotalServicenegoodnessService.getInputoroutputspeedtotal(wtId, date);
+        if (result != null) {
+            return AjaxResult.successData(AjaxStatus.success.code, result);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, result);
+        }
+    }
+
+    /**
+     * 获取24小时功率曲线
+     *
+     * @param wtId
+     * @param recorddate
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/findRealPowerCharBy24")
+    @ResponseBody
+    public AjaxResult findRealPowerCharBy24(String wtId, String recorddate) throws Exception {
+        List<DataVo> resultList = new ArrayList<>();
+        if (StringUtils.notEmp(recorddate) && StringUtils.notEmp(wtId)) {
+
+            resultList = windturbinegoodnessService.findRealPowerCharBy24(wtId, DateUtils.parseDate(recorddate));
+        }
+
+        if (resultList != null) {
+            return AjaxResult.successData(AjaxStatus.success.code, resultList);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, resultList);
+        }
+    }
+
+
+    /*
+     * 单台风机当日报警记录
+     */
+    @PostMapping("/bjjllist")
+    @ResponseBody
+    public AjaxResult bjjllist(Tablepar tablepar, String wtId, String beginDate, String endDate) {
+
+        PageInfo<WarningRecords> resultList = warningRecordsService.getWarningRecordsList(tablepar, wtId, beginDate, endDate);
+        if (resultList != null) {
+            return AjaxResult.successData(AjaxStatus.success.code, resultList);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, resultList);
+        }
+    }
+
+    /*
+     * 单台风机当日停机记录
+     */
+    @PostMapping("/gzjllist")
+    @ResponseBody
+    public AjaxResult gzjllist(Tablepar tablepar, String wtId, String beginDate, String endDate) {
+
+        PageInfo<ShutdowneventVo> resultList = shutdownevent2Service.getShutdowneventList(tablepar, wtId, beginDate, endDate);
+        if (resultList != null) {
+            return AjaxResult.successData(AjaxStatus.success.code, resultList);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, resultList);
+        }
+    }
+
+    /*
+     * 单台风机当日限电记录
+     */
+    @PostMapping("/xdjllist")
+    @ResponseBody
+    public AjaxResult xdjllist(Tablepar tablepar, String wtId, String beginDate, String endDate) {
+
+        PageInfo<Brownoutsevent2> resultList = brownoutsevent2Service.getBrownoutsevent2List(tablepar, wtId, beginDate, endDate);
+        if (resultList != null) {
+            return AjaxResult.successData(AjaxStatus.success.code, resultList);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, resultList);
+        }
+    }
+
+    /**
+     * 获取区域弹出列表信息
+     *
+     * @param plotBand
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/plotBandAjax")
+    @ResponseBody
+    public AjaxResult plotBandAjax(HttpServletRequest request, String plotBand) throws Exception {
+
+        Map<String, Double> map = new HashMap<>();
+        if (StringUtils.notEmp(request.getSession().getAttribute("plotBandMap"))) {
+            Map<String, Map<String, Double>> plotBandMap = (Map<String, Map<String, Double>>) request.getSession().getAttribute("plotBandMap");
+
+            if (StringUtils.notEmp(plotBand)) {
+                if (plotBandMap.containsKey(plotBand)) {
+                    map = plotBandMap.get(plotBand);
+
+                    if (map != null) {
+                        return AjaxResult.successData(AjaxStatus.success.code, map);
+                    } else {
+                        return AjaxResult.successData(AjaxStatus.emptyresultset.code, map);
+                    }
+                }
+            }
+        }
+        return AjaxResult.successData(AjaxStatus.success.code, map);
+    }
+
+
+}

+ 264 - 0
src/main/java/com/gyee/frame/controller/goodness/WindturbineDetailPieChartAController.java

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

+ 337 - 0
src/main/java/com/gyee/frame/controller/goodness/WindturbineGoodnessDetailController.java

@@ -0,0 +1,337 @@
+package com.gyee.frame.controller.goodness;
+
+import com.github.pagehelper.PageInfo;
+import com.gyee.frame.common.conf.AjaxStatus;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.auto.*;
+import com.gyee.frame.model.custom.DataVo;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.model.custom.ValueVo;
+import com.gyee.frame.service.*;
+import com.gyee.frame.service.goodness.WindturbinegoodnessService;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+/**
+ * 风机明细信息页面
+ */
+@Controller
+@RequestMapping("/goodness")
+public class WindturbineGoodnessDetailController {
+    @Resource
+    private WindturbinegoodnessService windturbinegoodnessService;
+    @Resource
+    private InputoroutputspeedtotalService inputoroutputspeedtotalServicenegoodnessService;
+    @Resource
+    private WarningRecordsService warningRecordsService;
+    @Resource
+    private Brownoutsevent2Service brownoutsevent2Service;
+    @Resource
+    private Shutdownevent2Service shutdownevent2Service;
+    @Resource
+    private WarningInfoDayService warningInfoDayService;
+    @Resource
+    private WindturbineanalysisdayService windturbineanalysisdayService;
+    @Resource
+    private WindturbineinfodayService windturbineinfodayService;
+    @Resource
+    private WindturbinecurvefittingService windturbinecurvefittingService;
+    @Resource
+    private WindturbinethewindinfoService windturbinethewindinfoService;
+    @Resource
+    private WindpowerstationthewindinfoService windpowerstationthewindinfoService;
+
+    private String jfpl;
+
+
+    /**
+     * 获得明细页面显示信息
+     *
+     * @param wtId
+     * @param recorddate
+     * @return
+     */
+    public AjaxResult wadAjax(String wtId, String recorddate) {
+
+        Windturbineanalysisday wtday = new Windturbineanalysisday();
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate)) {
+            Date date = DateUtils.parseDate(recorddate);
+            List<Windturbineanalysisday> wadls = windturbineanalysisdayService.comparelist(wtId, date);
+
+            List<WindTurbineInfoDay> wtdls = windturbineinfodayService.getWindturbineinfo(wtId, date);
+
+            if (null != wadls && !wadls.isEmpty() && null != wtdls && !wtdls.isEmpty()) {
+
+                wtday = wadls.get(0);
+                WindTurbineInfoDay wt = wtdls.get(0);
+                double fdl = null != wt.getGeneratingcapacity2() ? wt.getGeneratingcapacity2() : 0.0;
+                double gz = null != wt.getLossofpower2() ? wt.getLossofpower2() : 0.0;
+                double jx = null != wt.getLossofpower3() ? wt.getLossofpower3() : 0.0;
+                double qf = null != wt.getLossofpower4() ? wt.getLossofpower4() : 0.0;
+                double xd = null != wt.getLossofpower1() ? wt.getLossofpower1() : 0.0;
+                double sl1 = null != wt.getMainlossin() ? wt.getMainlossin() : 0.0;
+                double sl2 = null != wt.getFaultlossin() ? wt.getFaultlossin() : 0.0;
+                double sl3 = null != wt.getElectriclossout() ? wt.getElectriclossout() : 0.0;
+                double sl4 = null != wt.getWeatherlossout() ? wt.getWeatherlossout() : 0.0;
+
+                wtday.setC4(StringUtils.round(fdl + gz + jx + qf + xd + sl1 + sl2 + sl3 + sl4, 2));
+                wtday.setC31(StringUtils.round(gz + jx + qf + xd + sl1 + sl2 + sl3 + sl4, 2));
+                wtday.setC5(getMonthC5(wtId, date));
+            }
+
+        }
+        if (null != wtday) {
+            return AjaxResult.successData(AjaxStatus.success.code, wtday);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, wtday);
+        }
+
+    }
+
+
+    private double getMonthC5(String wtId, Date recorddate) {
+
+        List<WindTurbineInfoDay> wtdls;
+
+        Calendar c = Calendar.getInstance();
+        c.setTime(recorddate);
+        c.set(Calendar.DAY_OF_MONTH, 1);
+        Date beginDate = DateUtils.truncate(c.getTime());
+        c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
+        Date endate = DateUtils.truncate(c.getTime());
+
+        wtdls = windturbineinfodayService.getWindturbineinfo(beginDate, endate, wtId);
+        double fdl = 0.0;
+        double gz = 0.0;
+        double jx = 0.0;
+        double qf = 0.0;
+        double xd = 0.0;
+        double sl1 = 0.0;
+        double sl2 = 0.0;
+        double sl3 = 0.0;
+        double sl4 = 0.0;
+        if (null != wtdls && !wtdls.isEmpty()) {
+            for (WindTurbineInfoDay wt : wtdls) {
+                fdl = fdl + (null != wt.getGeneratingcapacity2() ? wt.getGeneratingcapacity2() : 0.0);
+                gz = gz + (null != wt.getLossofpower2() ? wt.getLossofpower2() : 0.0);
+                jx = jx + (null != wt.getLossofpower3() ? wt.getLossofpower3() : 0.0);
+                qf = qf + (null != wt.getLossofpower4() ? wt.getLossofpower4() : 0.0);
+                xd = xd + (null != wt.getLossofpower1() ? wt.getLossofpower1() : 0.0);
+                sl1 = sl1 + (null != wt.getMainlossin() ? wt.getMainlossin() : 0.0);
+                sl2 = sl2 + (null != wt.getFaultlossin() ? wt.getFaultlossin() : 0.0);
+                sl3 = sl3 + (null != wt.getElectriclossout() ? wt.getElectriclossout() : 0.0);
+                sl4 = sl4 + (null != wt.getWeatherlossout() ? wt.getWeatherlossout() : 0.0);
+            }
+            return StringUtils.round(fdl + gz + jx + qf + xd + sl1 + sl2 + sl3 + sl4, 2);
+        }
+        return 0.0;
+    }
+
+    /*
+     * 单台风机当月报警排行
+     */
+    @PostMapping("/bjphlist")
+    @ResponseBody
+    public AjaxResult bjphlist(Tablepar tablepar, String wtId, String beginDate, String endDate) {
+
+        PageInfo<Brownoutsevent2> resultList = brownoutsevent2Service.getBrownoutsevent2List(tablepar, wtId, beginDate, endDate);
+        if (resultList != null) {
+            return AjaxResult.successData(AjaxStatus.success.code, resultList);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, resultList);
+        }
+    }
+
+    /*
+     * 获取明细页面功率曲线
+     */
+    @PostMapping("/glchat")
+    @ResponseBody
+    public AjaxResult glchat(String wtId, String recorddate) {
+
+        List<DataVo> datavos = new ArrayList<>();
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate)) {
+            Date date = DateUtils.parseStrtoDate(recorddate);
+            Map<String, Map<String, ModelPower>> modelPowermap = InitialRunner.modelPowermap;
+            Map<String, Windturbine> wtmap = InitialRunner.wtmap;
+            Map<String, ModelPower> map = null;
+
+            List<Windturbinecurvefitting> wcls = windturbinecurvefittingService.comparechatAjax(wtId, date);
+            if (!wcls.isEmpty()) {
+                if (wtmap.containsKey(wtId)) {
+                    Windturbine wt = wtmap.get(wtId);
+                    if (modelPowermap.containsKey(wt.getModelid())) {
+                        map = modelPowermap.get(wt.getModelid());
+                    }
+                }
+                double temp = 0.0;
+                for (Windturbinecurvefitting wc : wcls) {
+                    DataVo vo = new DataVo();
+
+                    int c = (int) wc.getSpeed().intValue();
+
+                    if (c == wc.getSpeed()) {
+                        vo.setValue1(wc.getSpeed());// 风速
+                        vo.setValue2(wc.getActualpower());// 实际拟合功率
+                        vo.setValue3(wc.getOptimalpower());// 最优拟合功率
+
+                        if (null != map && StringUtils.notEmp(wc.getSpeed()) && map.containsKey(String.valueOf(wc.getSpeed()))) {
+                            ModelPower mp = map.get(String.valueOf(wc.getSpeed()));
+                            vo.setValue4(mp.getEnsurepower());// 保证功率曲线
+                            temp = mp.getEnsurepower();
+                        } else {
+                            vo.setValue4(temp);// 保证功率曲线
+                        }
+
+                        datavos.add(vo);
+                    }
+
+                }
+            }
+        }
+        if (datavos != null) {
+            return AjaxResult.successData(AjaxStatus.success.code, datavos);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, datavos);
+        }
+    }
+
+    /*
+     * 获取风机风资源
+     */
+    @PostMapping("/fjfzy")
+    @ResponseBody
+    public AjaxResult fjfzy(String wtId, String recorddate) {
+        Map<String, Object> map = new HashMap<String, Object>();
+        List<ValueVo> vos = new ArrayList<ValueVo>();
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate)) {
+
+            Date date = DateUtils.parseDate(recorddate);
+            List<Windturbinethewindinfo> wtdls = windturbinethewindinfoService.fzy(wtId, date);
+
+
+            if (!wtdls.isEmpty()) {
+
+                Windturbinethewindinfo winfo = wtdls.get(0);
+                int c = (int) winfo.getCb().intValue();
+
+                jfpl = "静风频率为" + c;
+                for (int i = 0; i < 16; i++) {
+                    ValueVo vo = new ValueVo();
+
+                    switch (i) {
+                        case 0:
+                            // vo.setName("N("+winfo.getN4()+"/"+winfo.getN()+")");
+                            vo.setName("N");
+                            vo.setData1(winfo.getN2());
+                            break;
+                        case 1:
+                            // vo.setName("NNE("+winfo.getNne4()+"/"+winfo.getNne()+")");
+                            vo.setName("NNE");
+                            vo.setData1(winfo.getNne2());
+                            break;
+                        case 2:
+                            // vo.setName("NE("+winfo.getNe4()+"/"+winfo.getNe()+")");
+                            vo.setName("NE");
+                            vo.setData1(winfo.getNe2());
+                            break;
+                        case 3:
+                            // vo.setName("ENE("+winfo.getEne4()+"/"+winfo.getEne()+")");
+                            vo.setName("ENE");
+                            vo.setData1(winfo.getEne2());
+
+                            break;
+                        case 4:
+                            // vo.setName("E("+winfo.getE4()+"/"+winfo.getE()+")");
+                            vo.setName("E");
+                            vo.setData1(winfo.getE2());
+                            break;
+                        case 5:
+                            // vo.setName("ESE("+winfo.getEse()+"/"+winfo.getEse()+")");
+                            vo.setName("ESE");
+                            vo.setData1(winfo.getEse2());
+                            break;
+                        case 6:
+                            // vo.setName("SE("+winfo.getSe4()+"/"+winfo.getSe()+")");
+                            vo.setName("SE");
+                            vo.setData1(winfo.getSe2());
+                            break;
+                        case 7:
+                            // vo.setName("SSE("+winfo.getSse4()+"/"+winfo.getSse()+")");
+                            vo.setName("SSE");
+                            vo.setData1(winfo.getSse2());
+                            break;
+                        case 8:
+                            // vo.setName("S("+winfo.getS4()+"/"+winfo.getS()+")");
+                            vo.setName("S");
+                            vo.setData1(winfo.getS2());
+                            break;
+                        case 9:
+                            // vo.setName("SSW("+winfo.getSsw4()+"/"+winfo.getSsw()+")");
+                            vo.setName("SSW");
+                            vo.setData1(winfo.getSsw2());
+                            break;
+                        case 10:
+                            // vo.setName("SW("+winfo.getSw4()+"/"+winfo.getSw()+")");
+                            vo.setName("SW");
+                            vo.setData1(winfo.getSw2());
+                            break;
+                        case 11:
+                            // vo.setName("WSW("+winfo.getWsw4()+"/"+winfo.getWsw()+")");
+                            vo.setName("WSW");
+                            vo.setData1(winfo.getWsw2());
+
+                            break;
+                        case 12:
+                            // vo.setName("W("+winfo.getW4()+"/"+winfo.getW()+")");
+                            vo.setName("W");
+                            vo.setData1(winfo.getW2());
+                            break;
+                        case 13:
+                            // vo.setName("WNW("+winfo.getWnw4()+"/"+winfo.getWnw()+")");
+                            vo.setName("WNW");
+                            vo.setData1(winfo.getWnw2());
+                            break;
+                        case 14:
+                            // vo.setName("NW("+winfo.getNw4()+"/"+winfo.getNw()+")");
+                            vo.setName("NW");
+                            vo.setData1(winfo.getNw2());
+                            break;
+                        case 15:
+                            // vo.setName("NNW("+winfo.getNnw4()+"/"+winfo.getNnw()+")");
+                            vo.setName("NNW");
+                            vo.setData1(winfo.getNnw2());
+                            break;
+
+                        default:
+                            break;
+                    }
+
+                    vos.add(vo);
+                }
+
+
+                map.put("jfpl", jfpl);
+                map.put("data", vos);
+            }
+
+
+        }
+        if (map != null) {
+            return AjaxResult.successData(AjaxStatus.success.code, map);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, map);
+        }
+    }
+
+
+
+}

+ 24 - 16
src/main/java/com/gyee/frame/controller/goodness/WindturbinegoodnessController.java

@@ -1,39 +1,47 @@
 package com.gyee.frame.controller.goodness;
 
+import com.github.pagehelper.PageInfo;
 import com.gyee.frame.common.conf.AjaxStatus;
 import com.gyee.frame.common.domain.AjaxResult;
 import com.gyee.frame.model.auto.Windturbinegoodness;
+import com.gyee.frame.model.custom.Tablepar;
 import com.gyee.frame.service.goodness.WindturbinegoodnessService;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.annotation.Resource;
-import java.util.List;
 
 /**
- * @ClassName : WindturbinegoodnessController
- * @Author : xieshengjie
- * @Date: 2021/2/20 20:22
- * @Description : 单机性能总览controller
+ * 单机性能分析列表
  */
 @Controller
 @RequestMapping("/goodness")
 public class WindturbinegoodnessController {
     @Resource
     private WindturbinegoodnessService windturbinegoodnessService;
-    @GetMapping("/windturbinegoodness")
+
+    /**
+     * 获得单机性能分析列表信息
+     *
+     * @param tablepar
+     * @param wtId
+     * @param recorddate
+     * @return
+     */
+    @PostMapping("/windturbinegoodness")
     @ResponseBody
-    public AjaxResult list(@RequestParam(value = "theday",required = false) String theday,
-                                              @RequestParam(value = "wpid",required = false) String wpid){
-
-        List<Windturbinegoodness>  resultList = windturbinegoodnessService.windturbinegoodnessList(theday,wpid);
-        if(resultList !=null && !resultList.isEmpty()){
-           return  AjaxResult.successData(AjaxStatus.success.code,resultList);
-        }else {
-            return	AjaxResult.successData(AjaxStatus.emptyresultset.code,resultList);
+    public AjaxResult windturbinegoodness(Tablepar tablepar, String wtId, String recorddate) {
+
+        PageInfo<Windturbinegoodness> resultList = windturbinegoodnessService.windturbinegoodnessList(tablepar, wtId, recorddate);
+        if (resultList != null) {
+            return AjaxResult.successData(AjaxStatus.success.code, resultList);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, resultList);
         }
     }
+
+
+
 }

+ 47 - 0
src/main/java/com/gyee/frame/controller/outputspeed/OutputSpeedController.java

@@ -0,0 +1,47 @@
+package com.gyee.frame.controller.outputspeed;
+
+import com.gyee.frame.common.conf.AjaxStatus;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.model.auto.Inputoroutputspeedtotal;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.service.InputoroutputspeedtotalService;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Controller
+@RequestMapping("/outputspeed")
+public class OutputSpeedController {
+
+    @Autowired
+    private InputoroutputspeedtotalService inputoroutputspeedtotalService;
+
+    /**切入切出列表**/
+    @PostMapping("/outputSpeedlist")
+    @ResponseBody
+    public AjaxResult outputSpeedlist(Tablepar tablepar, String wpId, String recorddate) {
+
+        List<Inputoroutputspeedtotal> vos=new ArrayList<>();
+        if (StringUtils.notEmp(wpId) && StringUtils.notEmp(recorddate))
+        {
+            Date date=DateUtils.parseStrtoDate(recorddate);
+            vos=inputoroutputspeedtotalService.getInputoroutputspeedtotal(tablepar, wpId, date);
+        }
+
+        if (null!=vos) {
+            return AjaxResult.successData(AjaxStatus.success.code, vos);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, vos);
+        }
+
+    }
+
+}

+ 113 - 0
src/main/java/com/gyee/frame/controller/powersaturation/PowerSaturationAmonutController.java

@@ -0,0 +1,113 @@
+package com.gyee.frame.controller.powersaturation;
+
+import com.github.pagehelper.PageInfo;
+import com.gyee.frame.common.conf.AjaxStatus;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.auto.ModelPower;
+import com.gyee.frame.model.auto.Windturbine;
+import com.gyee.frame.model.auto.Windturbinecurvefitting;
+import com.gyee.frame.model.custom.DataVo;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.service.WindturbinecurvefittingService;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/powersaturation")
+public class PowerSaturationAmonutController {
+    @Autowired
+    private WindturbinecurvefittingService windturbinecurvefittingService;
+
+    /**总功率饱和列表**/
+    @PostMapping("/powersaturationamonutlist")
+    @ResponseBody
+    public AjaxResult powersaturationamonutlist(Tablepar tablepar, String wtId) {
+
+        PageInfo<Windturbinecurvefitting> vos=new PageInfo<>();
+        if (StringUtils.notEmp(wtId) )
+        {
+            vos=windturbinecurvefittingService.getWindturbinecurvefitting(tablepar, wtId);
+        }
+
+        if (null!=vos) {
+            return AjaxResult.successData(AjaxStatus.success.code, vos);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, vos);
+        }
+
+    }
+    /**总功率饱和图表**/
+    @PostMapping("/powersaturationamonutchart")
+    @ResponseBody
+    public AjaxResult powersaturationamonutchart(String wtId) {
+
+        List<DataVo> vos = new ArrayList<DataVo>();
+        Map<String, Map<String, ModelPower>> modelPowermap = InitialRunner.modelPowermap;
+        Map<String, Windturbine> wtmap = InitialRunner.wtmap;
+
+        Map<String, ModelPower> map = null;
+        if (StringUtils.notEmp(wtId) )
+        {
+
+            List<Windturbinecurvefitting> wcls=windturbinecurvefittingService.getWindturbinecurvefitting(wtId);
+
+            if (!wcls.isEmpty()) {
+//				Collections.sort(wcls, new Comparator<Windturbinepowercurvefitting>() {
+//					public int compare(Windturbinepowercurvefitting arg0, Windturbinepowercurvefitting arg1) {
+//						int result = 0;
+//						if (arg0.getSpeed() > arg1.getSpeed())
+//							result = 1;
+//						else
+//							result = 0;
+//						return result;
+//					}
+//				});
+                if (wtmap.containsKey(wtId)) {
+                    Windturbine wt = wtmap.get(wtId);
+                    if (modelPowermap.containsKey(wt.getModelid())) {
+                        map = modelPowermap.get(wt.getModelid());
+                    }
+                }
+
+                double temp = 0.0;
+                for (Windturbinecurvefitting wc : wcls) {
+                    DataVo vo = new DataVo();
+
+                    int c = (int) wc.getSpeed().intValue();
+
+                    if (c == wc.getSpeed()) {
+                        vo.setValue1(wc.getSpeed());// 风速
+                        vo.setValue2(wc.getActualpower());// 实际拟合功率
+                        vo.setValue3(wc.getOptimalpower());// 最优拟合功率
+
+                        if (null != map && StringUtils.notEmp(wc.getSpeed()) && map.containsKey(String.valueOf(wc.getSpeed()))) {
+                            ModelPower mp = map.get(String.valueOf(wc.getSpeed()));
+                            vo.setValue4(mp.getEnsurepower());// 保证功率曲线
+                            temp = mp.getEnsurepower();
+                        } else {
+                            vo.setValue4(temp);// 保证功率曲线
+                        }
+
+                        vos.add(vo);
+                    }
+
+                }
+            }
+        }
+
+        if (null!=vos) {
+            return AjaxResult.successData(AjaxStatus.success.code, vos);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, vos);
+        }
+    }
+}

+ 109 - 0
src/main/java/com/gyee/frame/controller/powersaturation/PowerSaturationController.java

@@ -0,0 +1,109 @@
+package com.gyee.frame.controller.powersaturation;
+
+import com.github.pagehelper.PageInfo;
+import com.gyee.frame.common.conf.AjaxStatus;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.auto.ModelPower;
+import com.gyee.frame.model.auto.Windturbine;
+import com.gyee.frame.model.auto.Windturbinecurvefitting;
+import com.gyee.frame.model.custom.DataVo;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.service.WindturbinecurvefittingService;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/powersaturation")
+public class PowerSaturationController {
+
+    @Autowired
+    private WindturbinecurvefittingService windturbinecurvefittingService;
+
+    /**日功率饱和列表**/
+    @GetMapping("/powersaturationlist")
+    @ResponseBody
+    public AjaxResult powersaturationlist(Tablepar tablepar, String wtId, String recorddate) {
+
+        PageInfo<Windturbinecurvefitting> vos=new PageInfo<>();
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate))
+        {
+            Date date=DateUtils.parseStrtoDate(recorddate);
+            vos=windturbinecurvefittingService.comparechatAjax(tablepar, wtId, date);
+        }
+
+        if (null!=vos) {
+            return AjaxResult.successData(AjaxStatus.success.code, vos);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, vos);
+        }
+
+    }
+    /**日功率饱和图表**/
+    @PostMapping("/powersaturationchart")
+    @ResponseBody
+    public AjaxResult powersaturationchart(String wtId,String recorddate) {
+
+        List<DataVo> vos = new ArrayList<DataVo>();
+        Map<String, Map<String, ModelPower>> modelPowermap = InitialRunner.modelPowermap;
+        Map<String, Windturbine> wtmap = InitialRunner.wtmap;
+
+        Map<String, ModelPower> map = null;
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate))
+        {
+            Date date=DateUtils.parseStrtoDate(recorddate);
+            List<Windturbinecurvefitting> wcls=windturbinecurvefittingService.comparechatAjax(wtId, date);
+
+            if (!wcls.isEmpty()) {
+
+                if (wtmap.containsKey(wtId)) {
+                    Windturbine wt = wtmap.get(wtId);
+                    if (modelPowermap.containsKey(wt.getModelid())) {
+                        map = modelPowermap.get(wt.getModelid());
+                    }
+                }
+
+                double temp = 0.0;
+                for (Windturbinecurvefitting wc : wcls) {
+                    DataVo vo = new DataVo();
+
+                    int c = (int) wc.getSpeed().intValue();
+
+                    if (c == wc.getSpeed()) {
+                        vo.setValue1(wc.getSpeed());// 风速
+                        vo.setValue2(wc.getActualpower());// 实际拟合功率
+                        vo.setValue3(wc.getOptimalpower());// 最优拟合功率
+
+                        if (null != map && StringUtils.notEmp(wc.getSpeed()) && map.containsKey(String.valueOf(wc.getSpeed()))) {
+                            ModelPower mp = map.get(String.valueOf(wc.getSpeed()));
+                            vo.setValue4(mp.getEnsurepower());// 保证功率曲线
+                            temp = mp.getEnsurepower();
+                        } else {
+                            vo.setValue4(temp);// 保证功率曲线
+                        }
+
+                        vos.add(vo);
+                    }
+
+                }
+            }
+        }
+
+        if (null!=vos) {
+            return AjaxResult.successData(AjaxStatus.success.code, vos);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, vos);
+        }
+    }
+}

+ 114 - 0
src/main/java/com/gyee/frame/controller/powersaturation/PowerSaturationMonthController.java

@@ -0,0 +1,114 @@
+package com.gyee.frame.controller.powersaturation;
+
+import com.github.pagehelper.PageInfo;
+import com.gyee.frame.common.conf.AjaxStatus;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.auto.ModelPower;
+import com.gyee.frame.model.auto.Windturbine;
+import com.gyee.frame.model.auto.Windturbinecurvefittingmonth;
+import com.gyee.frame.model.custom.DataVo;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.service.WindturbinecurvefittingmonthService;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/powersaturation")
+public class PowerSaturationMonthController {
+
+    @Autowired
+    private WindturbinecurvefittingmonthService windturbinecurvefittingmonthService;
+
+    /**月功率饱和列表**/
+    @PostMapping("/powersaturationmonthlist")
+    @ResponseBody
+    public AjaxResult powersaturationmonthlist(Tablepar tablepar, String wtId, String year, String month) {
+
+        PageInfo<Windturbinecurvefittingmonth> vos=new PageInfo<>();
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(year)  && StringUtils.notEmp(month))
+        {
+
+            vos=windturbinecurvefittingmonthService.getWindturbinecurvefittingmonthList(tablepar, wtId, year,month);
+        }
+
+        if (null!=vos) {
+            return AjaxResult.successData(AjaxStatus.success.code, vos);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, vos);
+        }
+
+    }
+    /**月功率饱和图表**/
+    @PostMapping("/powersaturationmonthchart")
+    @ResponseBody
+    public AjaxResult powersaturationmonthchart(String wtId, String year, String month) {
+
+        List<DataVo> vos = new ArrayList<DataVo>();
+        Map<String, Map<String, ModelPower>> modelPowermap = InitialRunner.modelPowermap;
+        Map<String, Windturbine> wtmap = InitialRunner.wtmap;
+
+        Map<String, ModelPower> map = null;
+        if (StringUtils.notEmp(wtId) && StringUtils.notEmp(year)  && StringUtils.notEmp(month))
+        {
+            List<Windturbinecurvefittingmonth> wcls=windturbinecurvefittingmonthService.getWindturbinecurvefittingmonthList(wtId, year,month);
+            if (!wcls.isEmpty()) {
+//				Collections.sort(wcls, new Comparator<Windturbinecurvefittingmonth>() {
+//					@Override
+//					public int compare(Windturbinecurvefittingmonth arg0, Windturbinecurvefittingmonth arg1) {
+//						int result = 0;
+//						if (arg0.getSpeed() > arg1.getSpeed())
+//							result = 1;
+//						else
+//							result = 0;
+//						return result;
+//					}
+//				});
+
+                if (wtmap.containsKey(wtId)) {
+                    Windturbine wt = wtmap.get(wtId);
+                    if (modelPowermap.containsKey(wt.getModelid())) {
+                        map = modelPowermap.get(wt.getModelid());
+                    }
+                }
+
+                double temp = 0.0;
+                for (Windturbinecurvefittingmonth wc : wcls) {
+
+                    DataVo vo = new DataVo();
+                    int c = (int) wc.getSpeed().intValue();
+
+                    if (c == wc.getSpeed()) {
+                        vo.setValue1(wc.getSpeed());// 风速
+                        vo.setValue2(wc.getActualpower());// 实际拟合功率
+                        vo.setValue3(wc.getOptimalpower());// 最优拟合功率
+
+                        if (null != map && StringUtils.notEmp(wc.getSpeed()) && map.containsKey(String.valueOf(wc.getSpeed()))) {
+                            ModelPower mp = map.get(String.valueOf(wc.getSpeed()));
+                            vo.setValue4(mp.getEnsurepower());// 保证功率曲线
+                            temp = mp.getEnsurepower();
+                        } else {
+                            vo.setValue4(temp);// 保证功率曲线
+                        }
+
+                        vos.add(vo);
+                    }
+                }
+            }
+        }
+
+        if (null!=vos) {
+            return AjaxResult.successData(AjaxStatus.success.code, vos);
+        } else {
+            return AjaxResult.successData(AjaxStatus.emptyresultset.code, vos);
+        }
+    }
+}

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

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

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/Inputoroutputspeedtotal2Mapper.java

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

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/InputoroutputspeedtotalMapper.java

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

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

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

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/Shutdownevent2Mapper.java

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

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/Warning2Mapper.java

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

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/WarningRecordsMapper.java

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

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/WindpowerstationthewindinfoMapper.java

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

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

@@ -0,0 +1,608 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class Brownoutsevent2 implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.id
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.windPowerStationId
+     *
+     * @mbg.generated
+     */
+    private String windpowerstationid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.windTurbineId
+     *
+     * @mbg.generated
+     */
+    private String windturbineid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.stopTime
+     *
+     * @mbg.generated
+     */
+    private Date stoptime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.startTime
+     *
+     * @mbg.generated
+     */
+    private Date starttime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.stopHours
+     *
+     * @mbg.generated
+     */
+    private Double stophours;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.lossPower
+     *
+     * @mbg.generated
+     */
+    private Double losspower;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.stopTypeId
+     *
+     * @mbg.generated
+     */
+    private String stoptypeid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.isHandle
+     *
+     * @mbg.generated
+     */
+    private Short ishandle;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.shutdownEventId
+     *
+     * @mbg.generated
+     */
+    private String shutdowneventid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.projectId
+     *
+     * @mbg.generated
+     */
+    private String projectid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.mainId
+     *
+     * @mbg.generated
+     */
+    private String mainid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.limitload
+     *
+     * @mbg.generated
+     */
+    private Double limitload;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.BrownoutsDirective
+     *
+     * @mbg.generated
+     */
+    private String brownoutsdirective;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.windspeed
+     *
+     * @mbg.generated
+     */
+    private Double windspeed;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.thisload
+     *
+     * @mbg.generated
+     */
+    private Double thisload;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.stopReason
+     *
+     * @mbg.generated
+     */
+    private String stopreason;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column brownoutsevent2.lineId
+     *
+     * @mbg.generated
+     */
+    private String lineid;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table brownoutsevent2
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.id
+     *
+     * @return the value of brownoutsevent2.id
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.id
+     *
+     * @param id the value for brownoutsevent2.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 brownoutsevent2.windPowerStationId
+     *
+     * @return the value of brownoutsevent2.windPowerStationId
+     *
+     * @mbg.generated
+     */
+    public String getWindpowerstationid() {
+        return windpowerstationid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.windPowerStationId
+     *
+     * @param windpowerstationid the value for brownoutsevent2.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 brownoutsevent2.windTurbineId
+     *
+     * @return the value of brownoutsevent2.windTurbineId
+     *
+     * @mbg.generated
+     */
+    public String getWindturbineid() {
+        return windturbineid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.windTurbineId
+     *
+     * @param windturbineid the value for brownoutsevent2.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 brownoutsevent2.stopTime
+     *
+     * @return the value of brownoutsevent2.stopTime
+     *
+     * @mbg.generated
+     */
+    public Date getStoptime() {
+        return stoptime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.stopTime
+     *
+     * @param stoptime the value for brownoutsevent2.stopTime
+     *
+     * @mbg.generated
+     */
+    public void setStoptime(Date stoptime) {
+        this.stoptime = stoptime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.startTime
+     *
+     * @return the value of brownoutsevent2.startTime
+     *
+     * @mbg.generated
+     */
+    public Date getStarttime() {
+        return starttime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.startTime
+     *
+     * @param starttime the value for brownoutsevent2.startTime
+     *
+     * @mbg.generated
+     */
+    public void setStarttime(Date starttime) {
+        this.starttime = starttime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.stopHours
+     *
+     * @return the value of brownoutsevent2.stopHours
+     *
+     * @mbg.generated
+     */
+    public Double getStophours() {
+        return stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.stopHours
+     *
+     * @param stophours the value for brownoutsevent2.stopHours
+     *
+     * @mbg.generated
+     */
+    public void setStophours(Double stophours) {
+        this.stophours = stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.lossPower
+     *
+     * @return the value of brownoutsevent2.lossPower
+     *
+     * @mbg.generated
+     */
+    public Double getLosspower() {
+        return losspower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.lossPower
+     *
+     * @param losspower the value for brownoutsevent2.lossPower
+     *
+     * @mbg.generated
+     */
+    public void setLosspower(Double losspower) {
+        this.losspower = losspower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.stopTypeId
+     *
+     * @return the value of brownoutsevent2.stopTypeId
+     *
+     * @mbg.generated
+     */
+    public String getStoptypeid() {
+        return stoptypeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.stopTypeId
+     *
+     * @param stoptypeid the value for brownoutsevent2.stopTypeId
+     *
+     * @mbg.generated
+     */
+    public void setStoptypeid(String stoptypeid) {
+        this.stoptypeid = stoptypeid == null ? null : stoptypeid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.isHandle
+     *
+     * @return the value of brownoutsevent2.isHandle
+     *
+     * @mbg.generated
+     */
+    public Short getIshandle() {
+        return ishandle;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.isHandle
+     *
+     * @param ishandle the value for brownoutsevent2.isHandle
+     *
+     * @mbg.generated
+     */
+    public void setIshandle(Short ishandle) {
+        this.ishandle = ishandle;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.shutdownEventId
+     *
+     * @return the value of brownoutsevent2.shutdownEventId
+     *
+     * @mbg.generated
+     */
+    public String getShutdowneventid() {
+        return shutdowneventid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.shutdownEventId
+     *
+     * @param shutdowneventid the value for brownoutsevent2.shutdownEventId
+     *
+     * @mbg.generated
+     */
+    public void setShutdowneventid(String shutdowneventid) {
+        this.shutdowneventid = shutdowneventid == null ? null : shutdowneventid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.projectId
+     *
+     * @return the value of brownoutsevent2.projectId
+     *
+     * @mbg.generated
+     */
+    public String getProjectid() {
+        return projectid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.projectId
+     *
+     * @param projectid the value for brownoutsevent2.projectId
+     *
+     * @mbg.generated
+     */
+    public void setProjectid(String projectid) {
+        this.projectid = projectid == null ? null : projectid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.mainId
+     *
+     * @return the value of brownoutsevent2.mainId
+     *
+     * @mbg.generated
+     */
+    public String getMainid() {
+        return mainid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.mainId
+     *
+     * @param mainid the value for brownoutsevent2.mainId
+     *
+     * @mbg.generated
+     */
+    public void setMainid(String mainid) {
+        this.mainid = mainid == null ? null : mainid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.limitload
+     *
+     * @return the value of brownoutsevent2.limitload
+     *
+     * @mbg.generated
+     */
+    public Double getLimitload() {
+        return limitload;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.limitload
+     *
+     * @param limitload the value for brownoutsevent2.limitload
+     *
+     * @mbg.generated
+     */
+    public void setLimitload(Double limitload) {
+        this.limitload = limitload;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.BrownoutsDirective
+     *
+     * @return the value of brownoutsevent2.BrownoutsDirective
+     *
+     * @mbg.generated
+     */
+    public String getBrownoutsdirective() {
+        return brownoutsdirective;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.BrownoutsDirective
+     *
+     * @param brownoutsdirective the value for brownoutsevent2.BrownoutsDirective
+     *
+     * @mbg.generated
+     */
+    public void setBrownoutsdirective(String brownoutsdirective) {
+        this.brownoutsdirective = brownoutsdirective == null ? null : brownoutsdirective.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.windspeed
+     *
+     * @return the value of brownoutsevent2.windspeed
+     *
+     * @mbg.generated
+     */
+    public Double getWindspeed() {
+        return windspeed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.windspeed
+     *
+     * @param windspeed the value for brownoutsevent2.windspeed
+     *
+     * @mbg.generated
+     */
+    public void setWindspeed(Double windspeed) {
+        this.windspeed = windspeed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.thisload
+     *
+     * @return the value of brownoutsevent2.thisload
+     *
+     * @mbg.generated
+     */
+    public Double getThisload() {
+        return thisload;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.thisload
+     *
+     * @param thisload the value for brownoutsevent2.thisload
+     *
+     * @mbg.generated
+     */
+    public void setThisload(Double thisload) {
+        this.thisload = thisload;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.stopReason
+     *
+     * @return the value of brownoutsevent2.stopReason
+     *
+     * @mbg.generated
+     */
+    public String getStopreason() {
+        return stopreason;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.stopReason
+     *
+     * @param stopreason the value for brownoutsevent2.stopReason
+     *
+     * @mbg.generated
+     */
+    public void setStopreason(String stopreason) {
+        this.stopreason = stopreason == null ? null : stopreason.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column brownoutsevent2.lineId
+     *
+     * @return the value of brownoutsevent2.lineId
+     *
+     * @mbg.generated
+     */
+    public String getLineid() {
+        return lineid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column brownoutsevent2.lineId
+     *
+     * @param lineid the value for brownoutsevent2.lineId
+     *
+     * @mbg.generated
+     */
+    public void setLineid(String lineid) {
+        this.lineid = lineid == null ? null : lineid.trim();
+    }
+}

File diff suppressed because it is too large
+ 1483 - 0
src/main/java/com/gyee/frame/model/auto/Brownoutsevent2Example.java


File diff suppressed because it is too large
+ 2325 - 0
src/main/java/com/gyee/frame/model/auto/Inputoroutputspeedtotal.java


File diff suppressed because it is too large
+ 3017 - 0
src/main/java/com/gyee/frame/model/auto/Inputoroutputspeedtotal2.java


File diff suppressed because it is too large
+ 5841 - 0
src/main/java/com/gyee/frame/model/auto/Inputoroutputspeedtotal2Example.java


File diff suppressed because it is too large
+ 4544 - 0
src/main/java/com/gyee/frame/model/auto/InputoroutputspeedtotalExample.java


+ 244 - 0
src/main/java/com/gyee/frame/model/auto/ProjectPlan.java

@@ -0,0 +1,244 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+
+public class ProjectPlan implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column projectplan.id
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column projectplan.projectId
+     *
+     * @mbg.generated
+     */
+    private String projectid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column projectplan.generatingCapacity
+     *
+     * @mbg.generated
+     */
+    private String generatingcapacity;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column projectplan.outageHours
+     *
+     * @mbg.generated
+     */
+    private Double outagehours;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column projectplan.year
+     *
+     * @mbg.generated
+     */
+    private String year;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column projectplan.month
+     *
+     * @mbg.generated
+     */
+    private String month;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column projectplan.windpowerId
+     *
+     * @mbg.generated
+     */
+    private String windpowerid;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column projectplan.id
+     *
+     * @return the value of projectplan.id
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column projectplan.id
+     *
+     * @param id the value for projectplan.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 projectplan.projectId
+     *
+     * @return the value of projectplan.projectId
+     *
+     * @mbg.generated
+     */
+    public String getProjectid() {
+        return projectid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column projectplan.projectId
+     *
+     * @param projectid the value for projectplan.projectId
+     *
+     * @mbg.generated
+     */
+    public void setProjectid(String projectid) {
+        this.projectid = projectid == null ? null : projectid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column projectplan.generatingCapacity
+     *
+     * @return the value of projectplan.generatingCapacity
+     *
+     * @mbg.generated
+     */
+    public String getGeneratingcapacity() {
+        return generatingcapacity;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column projectplan.generatingCapacity
+     *
+     * @param generatingcapacity the value for projectplan.generatingCapacity
+     *
+     * @mbg.generated
+     */
+    public void setGeneratingcapacity(String generatingcapacity) {
+        this.generatingcapacity = generatingcapacity == null ? null : generatingcapacity.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column projectplan.outageHours
+     *
+     * @return the value of projectplan.outageHours
+     *
+     * @mbg.generated
+     */
+    public Double getOutagehours() {
+        return outagehours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column projectplan.outageHours
+     *
+     * @param outagehours the value for projectplan.outageHours
+     *
+     * @mbg.generated
+     */
+    public void setOutagehours(Double outagehours) {
+        this.outagehours = outagehours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column projectplan.year
+     *
+     * @return the value of projectplan.year
+     *
+     * @mbg.generated
+     */
+    public String getYear() {
+        return year;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column projectplan.year
+     *
+     * @param year the value for projectplan.year
+     *
+     * @mbg.generated
+     */
+    public void setYear(String year) {
+        this.year = year == null ? null : year.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column projectplan.month
+     *
+     * @return the value of projectplan.month
+     *
+     * @mbg.generated
+     */
+    public String getMonth() {
+        return month;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column projectplan.month
+     *
+     * @param month the value for projectplan.month
+     *
+     * @mbg.generated
+     */
+    public void setMonth(String month) {
+        this.month = month == null ? null : month.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column projectplan.windpowerId
+     *
+     * @return the value of projectplan.windpowerId
+     *
+     * @mbg.generated
+     */
+    public String getWindpowerid() {
+        return windpowerid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column projectplan.windpowerId
+     *
+     * @param windpowerid the value for projectplan.windpowerId
+     *
+     * @mbg.generated
+     */
+    public void setWindpowerid(String windpowerid) {
+        this.windpowerid = windpowerid == null ? null : windpowerid.trim();
+    }
+}

+ 782 - 0
src/main/java/com/gyee/frame/model/auto/ProjectPlanExample.java

@@ -0,0 +1,782 @@
+package com.gyee.frame.model.auto;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ProjectPlanExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    public ProjectPlanExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidIsNull() {
+            addCriterion("projectId is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidIsNotNull() {
+            addCriterion("projectId is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidEqualTo(String value) {
+            addCriterion("projectId =", value, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidNotEqualTo(String value) {
+            addCriterion("projectId <>", value, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidGreaterThan(String value) {
+            addCriterion("projectId >", value, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidGreaterThanOrEqualTo(String value) {
+            addCriterion("projectId >=", value, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidLessThan(String value) {
+            addCriterion("projectId <", value, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidLessThanOrEqualTo(String value) {
+            addCriterion("projectId <=", value, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidLike(String value) {
+            addCriterion("projectId like", value, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidNotLike(String value) {
+            addCriterion("projectId not like", value, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidIn(List<String> values) {
+            addCriterion("projectId in", values, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidNotIn(List<String> values) {
+            addCriterion("projectId not in", values, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidBetween(String value1, String value2) {
+            addCriterion("projectId between", value1, value2, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andProjectidNotBetween(String value1, String value2) {
+            addCriterion("projectId not between", value1, value2, "projectid");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityIsNull() {
+            addCriterion("generatingCapacity is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityIsNotNull() {
+            addCriterion("generatingCapacity is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityEqualTo(String value) {
+            addCriterion("generatingCapacity =", value, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityNotEqualTo(String value) {
+            addCriterion("generatingCapacity <>", value, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityGreaterThan(String value) {
+            addCriterion("generatingCapacity >", value, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityGreaterThanOrEqualTo(String value) {
+            addCriterion("generatingCapacity >=", value, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityLessThan(String value) {
+            addCriterion("generatingCapacity <", value, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityLessThanOrEqualTo(String value) {
+            addCriterion("generatingCapacity <=", value, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityLike(String value) {
+            addCriterion("generatingCapacity like", value, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityNotLike(String value) {
+            addCriterion("generatingCapacity not like", value, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityIn(List<String> values) {
+            addCriterion("generatingCapacity in", values, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityNotIn(List<String> values) {
+            addCriterion("generatingCapacity not in", values, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityBetween(String value1, String value2) {
+            addCriterion("generatingCapacity between", value1, value2, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeneratingcapacityNotBetween(String value1, String value2) {
+            addCriterion("generatingCapacity not between", value1, value2, "generatingcapacity");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursIsNull() {
+            addCriterion("outageHours is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursIsNotNull() {
+            addCriterion("outageHours is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursEqualTo(Double value) {
+            addCriterion("outageHours =", value, "outagehours");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursNotEqualTo(Double value) {
+            addCriterion("outageHours <>", value, "outagehours");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursGreaterThan(Double value) {
+            addCriterion("outageHours >", value, "outagehours");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursGreaterThanOrEqualTo(Double value) {
+            addCriterion("outageHours >=", value, "outagehours");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursLessThan(Double value) {
+            addCriterion("outageHours <", value, "outagehours");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursLessThanOrEqualTo(Double value) {
+            addCriterion("outageHours <=", value, "outagehours");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursIn(List<Double> values) {
+            addCriterion("outageHours in", values, "outagehours");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursNotIn(List<Double> values) {
+            addCriterion("outageHours not in", values, "outagehours");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursBetween(Double value1, Double value2) {
+            addCriterion("outageHours between", value1, value2, "outagehours");
+            return (Criteria) this;
+        }
+
+        public Criteria andOutagehoursNotBetween(Double value1, Double value2) {
+            addCriterion("outageHours not between", value1, value2, "outagehours");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIsNull() {
+            addCriterion("year is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIsNotNull() {
+            addCriterion("year is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearEqualTo(String value) {
+            addCriterion("year =", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotEqualTo(String value) {
+            addCriterion("year <>", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearGreaterThan(String value) {
+            addCriterion("year >", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearGreaterThanOrEqualTo(String value) {
+            addCriterion("year >=", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearLessThan(String value) {
+            addCriterion("year <", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearLessThanOrEqualTo(String value) {
+            addCriterion("year <=", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearLike(String value) {
+            addCriterion("year like", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotLike(String value) {
+            addCriterion("year not like", value, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearIn(List<String> values) {
+            addCriterion("year in", values, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotIn(List<String> values) {
+            addCriterion("year not in", values, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearBetween(String value1, String value2) {
+            addCriterion("year between", value1, value2, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andYearNotBetween(String value1, String value2) {
+            addCriterion("year not between", value1, value2, "year");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthIsNull() {
+            addCriterion("month is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthIsNotNull() {
+            addCriterion("month is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthEqualTo(String value) {
+            addCriterion("month =", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthNotEqualTo(String value) {
+            addCriterion("month <>", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthGreaterThan(String value) {
+            addCriterion("month >", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthGreaterThanOrEqualTo(String value) {
+            addCriterion("month >=", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthLessThan(String value) {
+            addCriterion("month <", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthLessThanOrEqualTo(String value) {
+            addCriterion("month <=", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthLike(String value) {
+            addCriterion("month like", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthNotLike(String value) {
+            addCriterion("month not like", value, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthIn(List<String> values) {
+            addCriterion("month in", values, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthNotIn(List<String> values) {
+            addCriterion("month not in", values, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthBetween(String value1, String value2) {
+            addCriterion("month between", value1, value2, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andMonthNotBetween(String value1, String value2) {
+            addCriterion("month not between", value1, value2, "month");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridIsNull() {
+            addCriterion("windpowerId is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridIsNotNull() {
+            addCriterion("windpowerId is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridEqualTo(String value) {
+            addCriterion("windpowerId =", value, "windpowerid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridNotEqualTo(String value) {
+            addCriterion("windpowerId <>", value, "windpowerid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridGreaterThan(String value) {
+            addCriterion("windpowerId >", value, "windpowerid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridGreaterThanOrEqualTo(String value) {
+            addCriterion("windpowerId >=", value, "windpowerid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridLessThan(String value) {
+            addCriterion("windpowerId <", value, "windpowerid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridLessThanOrEqualTo(String value) {
+            addCriterion("windpowerId <=", value, "windpowerid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridLike(String value) {
+            addCriterion("windpowerId like", value, "windpowerid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridNotLike(String value) {
+            addCriterion("windpowerId not like", value, "windpowerid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridIn(List<String> values) {
+            addCriterion("windpowerId in", values, "windpowerid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridNotIn(List<String> values) {
+            addCriterion("windpowerId not in", values, "windpowerid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridBetween(String value1, String value2) {
+            addCriterion("windpowerId between", value1, value2, "windpowerid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpoweridNotBetween(String value1, String value2) {
+            addCriterion("windpowerId not between", value1, value2, "windpowerid");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table projectplan
+     *
+     * @mbg.generated do_not_delete_during_merge
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table projectplan
+     *
+     * @mbg.generated
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 641 - 0
src/main/java/com/gyee/frame/model/auto/Shutdownevent2.java

@@ -0,0 +1,641 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class Shutdownevent2 implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.id
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.windPowerStationId
+     *
+     * @mbg.generated
+     */
+    private String windpowerstationid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.windTurbineId
+     *
+     * @mbg.generated
+     */
+    private String windturbineid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.stopTime
+     *
+     * @mbg.generated
+     */
+    private Date stoptime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.startTime
+     *
+     * @mbg.generated
+     */
+    private Date starttime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.stopHours
+     *
+     * @mbg.generated
+     */
+    private Double stophours;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.lossPower
+     *
+     * @mbg.generated
+     */
+    private Double losspower;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.stopTypeId
+     *
+     * @mbg.generated
+     */
+    private String stoptypeid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.isHandle
+     *
+     * @mbg.generated
+     */
+    private Boolean ishandle;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.warningId
+     *
+     * @mbg.generated
+     */
+    private String warningid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.projectId
+     *
+     * @mbg.generated
+     */
+    private String projectid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.handleWay
+     *
+     * @mbg.generated
+     */
+    private String handleway;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.faultView
+     *
+     * @mbg.generated
+     */
+    private String faultview;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.statusCode
+     *
+     * @mbg.generated
+     */
+    private Integer statuscode;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.mainId
+     *
+     * @mbg.generated
+     */
+    private String mainid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.resetRate
+     *
+     * @mbg.generated
+     */
+    private String resetrate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.stateRate
+     *
+     * @mbg.generated
+     */
+    private String staterate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.failRate
+     *
+     * @mbg.generated
+     */
+    private String failrate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column shutdownevent2.warningRecordsId
+     *
+     * @mbg.generated
+     */
+    private Integer warningrecordsid;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table shutdownevent2
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.id
+     *
+     * @return the value of shutdownevent2.id
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.id
+     *
+     * @param id the value for shutdownevent2.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 shutdownevent2.windPowerStationId
+     *
+     * @return the value of shutdownevent2.windPowerStationId
+     *
+     * @mbg.generated
+     */
+    public String getWindpowerstationid() {
+        return windpowerstationid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.windPowerStationId
+     *
+     * @param windpowerstationid the value for shutdownevent2.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 shutdownevent2.windTurbineId
+     *
+     * @return the value of shutdownevent2.windTurbineId
+     *
+     * @mbg.generated
+     */
+    public String getWindturbineid() {
+        return windturbineid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.windTurbineId
+     *
+     * @param windturbineid the value for shutdownevent2.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 shutdownevent2.stopTime
+     *
+     * @return the value of shutdownevent2.stopTime
+     *
+     * @mbg.generated
+     */
+    public Date getStoptime() {
+        return stoptime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.stopTime
+     *
+     * @param stoptime the value for shutdownevent2.stopTime
+     *
+     * @mbg.generated
+     */
+    public void setStoptime(Date stoptime) {
+        this.stoptime = stoptime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.startTime
+     *
+     * @return the value of shutdownevent2.startTime
+     *
+     * @mbg.generated
+     */
+    public Date getStarttime() {
+        return starttime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.startTime
+     *
+     * @param starttime the value for shutdownevent2.startTime
+     *
+     * @mbg.generated
+     */
+    public void setStarttime(Date starttime) {
+        this.starttime = starttime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.stopHours
+     *
+     * @return the value of shutdownevent2.stopHours
+     *
+     * @mbg.generated
+     */
+    public Double getStophours() {
+        return stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.stopHours
+     *
+     * @param stophours the value for shutdownevent2.stopHours
+     *
+     * @mbg.generated
+     */
+    public void setStophours(Double stophours) {
+        this.stophours = stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.lossPower
+     *
+     * @return the value of shutdownevent2.lossPower
+     *
+     * @mbg.generated
+     */
+    public Double getLosspower() {
+        return losspower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.lossPower
+     *
+     * @param losspower the value for shutdownevent2.lossPower
+     *
+     * @mbg.generated
+     */
+    public void setLosspower(Double losspower) {
+        this.losspower = losspower;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.stopTypeId
+     *
+     * @return the value of shutdownevent2.stopTypeId
+     *
+     * @mbg.generated
+     */
+    public String getStoptypeid() {
+        return stoptypeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.stopTypeId
+     *
+     * @param stoptypeid the value for shutdownevent2.stopTypeId
+     *
+     * @mbg.generated
+     */
+    public void setStoptypeid(String stoptypeid) {
+        this.stoptypeid = stoptypeid == null ? null : stoptypeid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.isHandle
+     *
+     * @return the value of shutdownevent2.isHandle
+     *
+     * @mbg.generated
+     */
+    public Boolean getIshandle() {
+        return ishandle;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.isHandle
+     *
+     * @param ishandle the value for shutdownevent2.isHandle
+     *
+     * @mbg.generated
+     */
+    public void setIshandle(Boolean ishandle) {
+        this.ishandle = ishandle;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.warningId
+     *
+     * @return the value of shutdownevent2.warningId
+     *
+     * @mbg.generated
+     */
+    public String getWarningid() {
+        return warningid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.warningId
+     *
+     * @param warningid the value for shutdownevent2.warningId
+     *
+     * @mbg.generated
+     */
+    public void setWarningid(String warningid) {
+        this.warningid = warningid == null ? null : warningid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.projectId
+     *
+     * @return the value of shutdownevent2.projectId
+     *
+     * @mbg.generated
+     */
+    public String getProjectid() {
+        return projectid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.projectId
+     *
+     * @param projectid the value for shutdownevent2.projectId
+     *
+     * @mbg.generated
+     */
+    public void setProjectid(String projectid) {
+        this.projectid = projectid == null ? null : projectid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.handleWay
+     *
+     * @return the value of shutdownevent2.handleWay
+     *
+     * @mbg.generated
+     */
+    public String getHandleway() {
+        return handleway;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.handleWay
+     *
+     * @param handleway the value for shutdownevent2.handleWay
+     *
+     * @mbg.generated
+     */
+    public void setHandleway(String handleway) {
+        this.handleway = handleway == null ? null : handleway.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.faultView
+     *
+     * @return the value of shutdownevent2.faultView
+     *
+     * @mbg.generated
+     */
+    public String getFaultview() {
+        return faultview;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.faultView
+     *
+     * @param faultview the value for shutdownevent2.faultView
+     *
+     * @mbg.generated
+     */
+    public void setFaultview(String faultview) {
+        this.faultview = faultview == null ? null : faultview.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.statusCode
+     *
+     * @return the value of shutdownevent2.statusCode
+     *
+     * @mbg.generated
+     */
+    public Integer getStatuscode() {
+        return statuscode;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.statusCode
+     *
+     * @param statuscode the value for shutdownevent2.statusCode
+     *
+     * @mbg.generated
+     */
+    public void setStatuscode(Integer statuscode) {
+        this.statuscode = statuscode;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.mainId
+     *
+     * @return the value of shutdownevent2.mainId
+     *
+     * @mbg.generated
+     */
+    public String getMainid() {
+        return mainid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.mainId
+     *
+     * @param mainid the value for shutdownevent2.mainId
+     *
+     * @mbg.generated
+     */
+    public void setMainid(String mainid) {
+        this.mainid = mainid == null ? null : mainid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.resetRate
+     *
+     * @return the value of shutdownevent2.resetRate
+     *
+     * @mbg.generated
+     */
+    public String getResetrate() {
+        return resetrate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.resetRate
+     *
+     * @param resetrate the value for shutdownevent2.resetRate
+     *
+     * @mbg.generated
+     */
+    public void setResetrate(String resetrate) {
+        this.resetrate = resetrate == null ? null : resetrate.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.stateRate
+     *
+     * @return the value of shutdownevent2.stateRate
+     *
+     * @mbg.generated
+     */
+    public String getStaterate() {
+        return staterate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.stateRate
+     *
+     * @param staterate the value for shutdownevent2.stateRate
+     *
+     * @mbg.generated
+     */
+    public void setStaterate(String staterate) {
+        this.staterate = staterate == null ? null : staterate.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.failRate
+     *
+     * @return the value of shutdownevent2.failRate
+     *
+     * @mbg.generated
+     */
+    public String getFailrate() {
+        return failrate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.failRate
+     *
+     * @param failrate the value for shutdownevent2.failRate
+     *
+     * @mbg.generated
+     */
+    public void setFailrate(String failrate) {
+        this.failrate = failrate == null ? null : failrate.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column shutdownevent2.warningRecordsId
+     *
+     * @return the value of shutdownevent2.warningRecordsId
+     *
+     * @mbg.generated
+     */
+    public Integer getWarningrecordsid() {
+        return warningrecordsid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column shutdownevent2.warningRecordsId
+     *
+     * @param warningrecordsid the value for shutdownevent2.warningRecordsId
+     *
+     * @mbg.generated
+     */
+    public void setWarningrecordsid(Integer warningrecordsid) {
+        this.warningrecordsid = warningrecordsid;
+    }
+}

File diff suppressed because it is too large
+ 1563 - 0
src/main/java/com/gyee/frame/model/auto/Shutdownevent2Example.java


+ 575 - 0
src/main/java/com/gyee/frame/model/auto/Warning2.java

@@ -0,0 +1,575 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+public class Warning2 implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.id
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.levelId
+     *
+     * @mbg.generated
+     */
+    private String levelid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.manufacturerCode
+     *
+     * @mbg.generated
+     */
+    private String manufacturercode;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.englishText
+     *
+     * @mbg.generated
+     */
+    private String englishtext;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.chineseText
+     *
+     * @mbg.generated
+     */
+    private String chinesetext;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.parentId
+     *
+     * @mbg.generated
+     */
+    private String parentid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.isLeaf
+     *
+     * @mbg.generated
+     */
+    private Short isleaf;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.sequenceNumber
+     *
+     * @mbg.generated
+     */
+    private Integer sequencenumber;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.characteristic
+     *
+     * @mbg.generated
+     */
+    private String characteristic;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.modelId
+     *
+     * @mbg.generated
+     */
+    private String modelid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.codeName
+     *
+     * @mbg.generated
+     */
+    private String codename;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.ednaValue
+     *
+     * @mbg.generated
+     */
+    private Integer ednavalue;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.display
+     *
+     * @mbg.generated
+     */
+    private Integer display;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.warningClassifyId
+     *
+     * @mbg.generated
+     */
+    private String warningclassifyid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.isreset
+     *
+     * @mbg.generated
+     */
+    private BigDecimal isreset;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.standardTime
+     *
+     * @mbg.generated
+     */
+    private BigDecimal standardtime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warning2.warningtypeid
+     *
+     * @mbg.generated
+     */
+    private String warningtypeid;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table warning2
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.id
+     *
+     * @return the value of warning2.id
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.id
+     *
+     * @param id the value for warning2.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 warning2.levelId
+     *
+     * @return the value of warning2.levelId
+     *
+     * @mbg.generated
+     */
+    public String getLevelid() {
+        return levelid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.levelId
+     *
+     * @param levelid the value for warning2.levelId
+     *
+     * @mbg.generated
+     */
+    public void setLevelid(String levelid) {
+        this.levelid = levelid == null ? null : levelid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.manufacturerCode
+     *
+     * @return the value of warning2.manufacturerCode
+     *
+     * @mbg.generated
+     */
+    public String getManufacturercode() {
+        return manufacturercode;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.manufacturerCode
+     *
+     * @param manufacturercode the value for warning2.manufacturerCode
+     *
+     * @mbg.generated
+     */
+    public void setManufacturercode(String manufacturercode) {
+        this.manufacturercode = manufacturercode == null ? null : manufacturercode.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.englishText
+     *
+     * @return the value of warning2.englishText
+     *
+     * @mbg.generated
+     */
+    public String getEnglishtext() {
+        return englishtext;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.englishText
+     *
+     * @param englishtext the value for warning2.englishText
+     *
+     * @mbg.generated
+     */
+    public void setEnglishtext(String englishtext) {
+        this.englishtext = englishtext == null ? null : englishtext.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.chineseText
+     *
+     * @return the value of warning2.chineseText
+     *
+     * @mbg.generated
+     */
+    public String getChinesetext() {
+        return chinesetext;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.chineseText
+     *
+     * @param chinesetext the value for warning2.chineseText
+     *
+     * @mbg.generated
+     */
+    public void setChinesetext(String chinesetext) {
+        this.chinesetext = chinesetext == null ? null : chinesetext.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.parentId
+     *
+     * @return the value of warning2.parentId
+     *
+     * @mbg.generated
+     */
+    public String getParentid() {
+        return parentid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.parentId
+     *
+     * @param parentid the value for warning2.parentId
+     *
+     * @mbg.generated
+     */
+    public void setParentid(String parentid) {
+        this.parentid = parentid == null ? null : parentid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.isLeaf
+     *
+     * @return the value of warning2.isLeaf
+     *
+     * @mbg.generated
+     */
+    public Short getIsleaf() {
+        return isleaf;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.isLeaf
+     *
+     * @param isleaf the value for warning2.isLeaf
+     *
+     * @mbg.generated
+     */
+    public void setIsleaf(Short isleaf) {
+        this.isleaf = isleaf;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.sequenceNumber
+     *
+     * @return the value of warning2.sequenceNumber
+     *
+     * @mbg.generated
+     */
+    public Integer getSequencenumber() {
+        return sequencenumber;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.sequenceNumber
+     *
+     * @param sequencenumber the value for warning2.sequenceNumber
+     *
+     * @mbg.generated
+     */
+    public void setSequencenumber(Integer sequencenumber) {
+        this.sequencenumber = sequencenumber;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.characteristic
+     *
+     * @return the value of warning2.characteristic
+     *
+     * @mbg.generated
+     */
+    public String getCharacteristic() {
+        return characteristic;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.characteristic
+     *
+     * @param characteristic the value for warning2.characteristic
+     *
+     * @mbg.generated
+     */
+    public void setCharacteristic(String characteristic) {
+        this.characteristic = characteristic == null ? null : characteristic.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.modelId
+     *
+     * @return the value of warning2.modelId
+     *
+     * @mbg.generated
+     */
+    public String getModelid() {
+        return modelid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.modelId
+     *
+     * @param modelid the value for warning2.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 warning2.codeName
+     *
+     * @return the value of warning2.codeName
+     *
+     * @mbg.generated
+     */
+    public String getCodename() {
+        return codename;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.codeName
+     *
+     * @param codename the value for warning2.codeName
+     *
+     * @mbg.generated
+     */
+    public void setCodename(String codename) {
+        this.codename = codename == null ? null : codename.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.ednaValue
+     *
+     * @return the value of warning2.ednaValue
+     *
+     * @mbg.generated
+     */
+    public Integer getEdnavalue() {
+        return ednavalue;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.ednaValue
+     *
+     * @param ednavalue the value for warning2.ednaValue
+     *
+     * @mbg.generated
+     */
+    public void setEdnavalue(Integer ednavalue) {
+        this.ednavalue = ednavalue;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.display
+     *
+     * @return the value of warning2.display
+     *
+     * @mbg.generated
+     */
+    public Integer getDisplay() {
+        return display;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.display
+     *
+     * @param display the value for warning2.display
+     *
+     * @mbg.generated
+     */
+    public void setDisplay(Integer display) {
+        this.display = display;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.warningClassifyId
+     *
+     * @return the value of warning2.warningClassifyId
+     *
+     * @mbg.generated
+     */
+    public String getWarningclassifyid() {
+        return warningclassifyid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.warningClassifyId
+     *
+     * @param warningclassifyid the value for warning2.warningClassifyId
+     *
+     * @mbg.generated
+     */
+    public void setWarningclassifyid(String warningclassifyid) {
+        this.warningclassifyid = warningclassifyid == null ? null : warningclassifyid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.isreset
+     *
+     * @return the value of warning2.isreset
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getIsreset() {
+        return isreset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.isreset
+     *
+     * @param isreset the value for warning2.isreset
+     *
+     * @mbg.generated
+     */
+    public void setIsreset(BigDecimal isreset) {
+        this.isreset = isreset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.standardTime
+     *
+     * @return the value of warning2.standardTime
+     *
+     * @mbg.generated
+     */
+    public BigDecimal getStandardtime() {
+        return standardtime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.standardTime
+     *
+     * @param standardtime the value for warning2.standardTime
+     *
+     * @mbg.generated
+     */
+    public void setStandardtime(BigDecimal standardtime) {
+        this.standardtime = standardtime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warning2.warningtypeid
+     *
+     * @return the value of warning2.warningtypeid
+     *
+     * @mbg.generated
+     */
+    public String getWarningtypeid() {
+        return warningtypeid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warning2.warningtypeid
+     *
+     * @param warningtypeid the value for warning2.warningtypeid
+     *
+     * @mbg.generated
+     */
+    public void setWarningtypeid(String warningtypeid) {
+        this.warningtypeid = warningtypeid == null ? null : warningtypeid.trim();
+    }
+}

File diff suppressed because it is too large
+ 1433 - 0
src/main/java/com/gyee/frame/model/auto/Warning2Example.java


+ 453 - 0
src/main/java/com/gyee/frame/model/auto/WarningRecords.java

@@ -0,0 +1,453 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WarningRecords implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.id
+     *
+     * @mbg.generated
+     */
+    private Integer id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.windPowerStationId
+     *
+     * @mbg.generated
+     */
+    private String windpowerstationid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.windTurbineId
+     *
+     * @mbg.generated
+     */
+    private String windturbineid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.warningId
+     *
+     * @mbg.generated
+     */
+    private String warningid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.warningTime
+     *
+     * @mbg.generated
+     */
+    private Date warningtime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.isConfirm
+     *
+     * @mbg.generated
+     */
+    private Short isconfirm;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.isHandle
+     *
+     * @mbg.generated
+     */
+    private Short ishandle;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.handle
+     *
+     * @mbg.generated
+     */
+    private String handle;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.shutdownEventId
+     *
+     * @mbg.generated
+     */
+    private String shutdowneventid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.levelId
+     *
+     * @mbg.generated
+     */
+    private String levelid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.wtAiId
+     *
+     * @mbg.generated
+     */
+    private String wtaiid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.durationHour
+     *
+     * @mbg.generated
+     */
+    private Double durationhour;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column warningrecords.isFilter
+     *
+     * @mbg.generated
+     */
+    private Short isfilter;
+
+    private String warnDesc;
+
+    public String getWarnDesc() {
+        return warnDesc;
+    }
+
+    public void setWarnDesc(String warnDesc) {
+        this.warnDesc = warnDesc;
+    }
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table warningrecords
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warningrecords.id
+     *
+     * @return the value of warningrecords.id
+     *
+     * @mbg.generated
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.id
+     *
+     * @param id the value for warningrecords.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 warningrecords.windPowerStationId
+     *
+     * @return the value of warningrecords.windPowerStationId
+     *
+     * @mbg.generated
+     */
+    public String getWindpowerstationid() {
+        return windpowerstationid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.windPowerStationId
+     *
+     * @param windpowerstationid the value for warningrecords.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 warningrecords.windTurbineId
+     *
+     * @return the value of warningrecords.windTurbineId
+     *
+     * @mbg.generated
+     */
+    public String getWindturbineid() {
+        return windturbineid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.windTurbineId
+     *
+     * @param windturbineid the value for warningrecords.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 warningrecords.warningId
+     *
+     * @return the value of warningrecords.warningId
+     *
+     * @mbg.generated
+     */
+    public String getWarningid() {
+        return warningid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.warningId
+     *
+     * @param warningid the value for warningrecords.warningId
+     *
+     * @mbg.generated
+     */
+    public void setWarningid(String warningid) {
+        this.warningid = warningid == null ? null : warningid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warningrecords.warningTime
+     *
+     * @return the value of warningrecords.warningTime
+     *
+     * @mbg.generated
+     */
+    public Date getWarningtime() {
+        return warningtime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.warningTime
+     *
+     * @param warningtime the value for warningrecords.warningTime
+     *
+     * @mbg.generated
+     */
+    public void setWarningtime(Date warningtime) {
+        this.warningtime = warningtime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warningrecords.isConfirm
+     *
+     * @return the value of warningrecords.isConfirm
+     *
+     * @mbg.generated
+     */
+    public Short getIsconfirm() {
+        return isconfirm;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.isConfirm
+     *
+     * @param isconfirm the value for warningrecords.isConfirm
+     *
+     * @mbg.generated
+     */
+    public void setIsconfirm(Short isconfirm) {
+        this.isconfirm = isconfirm;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warningrecords.isHandle
+     *
+     * @return the value of warningrecords.isHandle
+     *
+     * @mbg.generated
+     */
+    public Short getIshandle() {
+        return ishandle;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.isHandle
+     *
+     * @param ishandle the value for warningrecords.isHandle
+     *
+     * @mbg.generated
+     */
+    public void setIshandle(Short ishandle) {
+        this.ishandle = ishandle;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warningrecords.handle
+     *
+     * @return the value of warningrecords.handle
+     *
+     * @mbg.generated
+     */
+    public String getHandle() {
+        return handle;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.handle
+     *
+     * @param handle the value for warningrecords.handle
+     *
+     * @mbg.generated
+     */
+    public void setHandle(String handle) {
+        this.handle = handle == null ? null : handle.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warningrecords.shutdownEventId
+     *
+     * @return the value of warningrecords.shutdownEventId
+     *
+     * @mbg.generated
+     */
+    public String getShutdowneventid() {
+        return shutdowneventid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.shutdownEventId
+     *
+     * @param shutdowneventid the value for warningrecords.shutdownEventId
+     *
+     * @mbg.generated
+     */
+    public void setShutdowneventid(String shutdowneventid) {
+        this.shutdowneventid = shutdowneventid == null ? null : shutdowneventid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warningrecords.levelId
+     *
+     * @return the value of warningrecords.levelId
+     *
+     * @mbg.generated
+     */
+    public String getLevelid() {
+        return levelid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.levelId
+     *
+     * @param levelid the value for warningrecords.levelId
+     *
+     * @mbg.generated
+     */
+    public void setLevelid(String levelid) {
+        this.levelid = levelid == null ? null : levelid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warningrecords.wtAiId
+     *
+     * @return the value of warningrecords.wtAiId
+     *
+     * @mbg.generated
+     */
+    public String getWtaiid() {
+        return wtaiid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.wtAiId
+     *
+     * @param wtaiid the value for warningrecords.wtAiId
+     *
+     * @mbg.generated
+     */
+    public void setWtaiid(String wtaiid) {
+        this.wtaiid = wtaiid == null ? null : wtaiid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warningrecords.durationHour
+     *
+     * @return the value of warningrecords.durationHour
+     *
+     * @mbg.generated
+     */
+    public Double getDurationhour() {
+        return durationhour;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.durationHour
+     *
+     * @param durationhour the value for warningrecords.durationHour
+     *
+     * @mbg.generated
+     */
+    public void setDurationhour(Double durationhour) {
+        this.durationhour = durationhour;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column warningrecords.isFilter
+     *
+     * @return the value of warningrecords.isFilter
+     *
+     * @mbg.generated
+     */
+    public Short getIsfilter() {
+        return isfilter;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column warningrecords.isFilter
+     *
+     * @param isfilter the value for warningrecords.isFilter
+     *
+     * @mbg.generated
+     */
+    public void setIsfilter(Short isfilter) {
+        this.isfilter = isfilter;
+    }
+}

File diff suppressed because it is too large
+ 1153 - 0
src/main/java/com/gyee/frame/model/auto/WarningRecordsExample.java


File diff suppressed because it is too large
+ 9914 - 0
src/main/java/com/gyee/frame/model/auto/Windpowerstationthewindinfo.java


File diff suppressed because it is too large
+ 18341 - 0
src/main/java/com/gyee/frame/model/auto/WindpowerstationthewindinfoExample.java


+ 151 - 0
src/main/java/com/gyee/frame/model/custom/ProjectPlanVo.java

@@ -0,0 +1,151 @@
+package com.gyee.frame.model.custom;
+
+public class ProjectPlanVo {
+	private String id;
+	private String projectid;
+	private String generatingcapacity;
+	private Double outagehours;
+	private String year;
+	private String month;
+	private String windpower;
+	private String windpowerName;
+	private String projectName;
+	private String gc01="0";
+	private String gc02="0";
+	private String gc03="0";
+	private String gc04="0";
+	private String gc05="0";
+	private String gc06="0";
+	private String gc07="0";
+	private String gc08="0";
+	private String gc09="0";
+	private String gc10="0";
+	private String gc11="0";
+	private String gc12="0";
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getProjectid() {
+		return projectid;
+	}
+	public void setProjectid(String projectid) {
+		this.projectid = projectid;
+	}
+	public String getGeneratingcapacity() {
+		return generatingcapacity;
+	}
+	public void setGeneratingcapacity(String generatingcapacity) {
+		this.generatingcapacity = generatingcapacity;
+	}
+	public Double getOutagehours() {
+		return outagehours;
+	}
+	public void setOutagehours(Double outagehours) {
+		this.outagehours = outagehours;
+	}
+	public String getYear() {
+		return year;
+	}
+	public void setYear(String year) {
+		this.year = year;
+	}
+	public String getMonth() {
+		return month;
+	}
+	public String getGc01() {
+		return gc01;
+	}
+	public void setGc01(String gc01) {
+		this.gc01 = gc01;
+	}
+	public String getGc02() {
+		return gc02;
+	}
+	public void setGc02(String gc02) {
+		this.gc02 = gc02;
+	}
+	public String getGc03() {
+		return gc03;
+	}
+	public void setGc03(String gc03) {
+		this.gc03 = gc03;
+	}
+	public String getGc04() {
+		return gc04;
+	}
+	public void setGc04(String gc04) {
+		this.gc04 = gc04;
+	}
+	public String getGc05() {
+		return gc05;
+	}
+	public void setGc05(String gc05) {
+		this.gc05 = gc05;
+	}
+	public String getGc06() {
+		return gc06;
+	}
+	public void setGc06(String gc06) {
+		this.gc06 = gc06;
+	}
+	public String getGc07() {
+		return gc07;
+	}
+	public void setGc07(String gc07) {
+		this.gc07 = gc07;
+	}
+	public String getGc08() {
+		return gc08;
+	}
+	public void setGc08(String gc08) {
+		this.gc08 = gc08;
+	}
+	public String getGc09() {
+		return gc09;
+	}
+	public void setGc09(String gc09) {
+		this.gc09 = gc09;
+	}
+	public String getGc10() {
+		return gc10;
+	}
+	public void setGc10(String gc10) {
+		this.gc10 = gc10;
+	}
+	public String getGc11() {
+		return gc11;
+	}
+	public void setGc11(String gc11) {
+		this.gc11 = gc11;
+	}
+	public String getGc12() {
+		return gc12;
+	}
+	public void setGc12(String gc12) {
+		this.gc12 = gc12;
+	}
+	public void setMonth(String month) {
+		this.month = month;
+	}
+	public String getWindpower() {
+		return windpower;
+	}
+	public void setWindpower(String windpower) {
+		this.windpower = windpower;
+	}
+	public String getWindpowerName() {
+		return windpowerName;
+	}
+	public void setWindpowerName(String windpowerName) {
+		this.windpowerName = windpowerName;
+	}
+	public String getProjectName() {
+		return projectName;
+	}
+	public void setProjectName(String projectName) {
+		this.projectName = projectName;
+	}
+}

+ 142 - 0
src/main/java/com/gyee/frame/service/Brownoutsevent2Service.java

@@ -0,0 +1,142 @@
+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.Brownoutsevent2Mapper;
+import com.gyee.frame.model.auto.Brownoutsevent2;
+import com.gyee.frame.model.auto.Brownoutsevent2Example;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+
+@Service
+public class Brownoutsevent2Service implements BaseService<Brownoutsevent2, Brownoutsevent2Example> {
+	@Autowired
+	private Brownoutsevent2Mapper brownoutsevent2Mapper;
+	
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<String> lista=Convert.toListStrArray(ids);
+			Brownoutsevent2Example example=new Brownoutsevent2Example();
+			example.createCriteria().andIdIn(lista);
+			return brownoutsevent2Mapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public Brownoutsevent2 selectByPrimaryKey(String id) {
+				
+			return brownoutsevent2Mapper.selectByPrimaryKey(id);
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(Brownoutsevent2 record) {
+		return brownoutsevent2Mapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(Brownoutsevent2 record) {
+				
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+			
+				
+		return brownoutsevent2Mapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(Brownoutsevent2 record, Brownoutsevent2Example example) {
+		
+		return brownoutsevent2Mapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(Brownoutsevent2 record, Brownoutsevent2Example example) {
+		
+		return brownoutsevent2Mapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<Brownoutsevent2> selectByExample(Brownoutsevent2Example example) {
+		
+		return brownoutsevent2Mapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(Brownoutsevent2Example example) {
+		
+		return brownoutsevent2Mapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(Brownoutsevent2Example example) {
+		
+		return brownoutsevent2Mapper.deleteByExample(example);
+	}
+
+
+	public PageInfo<Brownoutsevent2> getBrownoutsevent2List(Tablepar tablepar, String wtId, String beginDate, String endDate) {
+
+		Brownoutsevent2Example example = new Brownoutsevent2Example();
+
+		if(StringUtils.isNotEmpty(tablepar.getOrderByColumn()))
+		{
+			StringBuilder sb=new StringBuilder();
+			sb.append(" ").append(tablepar.getOrderByColumn());
+			if(StringUtils.isNotEmpty(tablepar.getIsAsc()))
+			{
+				sb.append(" ").append(tablepar.getIsAsc());
+			}else
+			{
+				sb.append(" asc ");
+			}
+			example.setOrderByClause(String.valueOf(sb));
+		}else {
+			example.setOrderByClause("windturbineid ASC");
+		}
+
+
+		PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+
+		Brownoutsevent2Example.Criteria criteria = example.createCriteria();
+		if (StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate)) {
+			Date begin = DateUtils.parseStrtoDate(beginDate);
+			Date end = DateUtils.parseStrtoDate(endDate);;
+			criteria.andStoptimeGreaterThanOrEqualTo(begin).andStoptimeLessThan(end);
+		}
+
+		if (StringUtils.notEmp(wtId)) {
+			criteria.andWindturbineidEqualTo(wtId);
+		}
+
+		List<Brownoutsevent2> list = brownoutsevent2Mapper.selectByExample(example);
+
+		PageInfo<Brownoutsevent2> pageInfo = new PageInfo<Brownoutsevent2>(list);
+
+		return pageInfo;
+	}
+
+}

+ 122 - 0
src/main/java/com/gyee/frame/service/Inputoroutputspeedtotal2Service.java

@@ -0,0 +1,122 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.Inputoroutputspeedtotal2Mapper;
+import com.gyee.frame.model.auto.Inputoroutputspeedtotal2;
+import com.gyee.frame.model.auto.Inputoroutputspeedtotal2Example;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+@Service
+public class Inputoroutputspeedtotal2Service implements BaseService<Inputoroutputspeedtotal2, Inputoroutputspeedtotal2Example> {
+	@Autowired
+	private Inputoroutputspeedtotal2Mapper inputoroutputspeedtotal2Mapper;
+	
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<Integer> lista=Convert.toIntArrayList(ids);
+			Inputoroutputspeedtotal2Example example=new Inputoroutputspeedtotal2Example();
+			example.createCriteria().andIdIn(lista);
+			return inputoroutputspeedtotal2Mapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public Inputoroutputspeedtotal2 selectByPrimaryKey(String id) {
+				
+			return inputoroutputspeedtotal2Mapper.selectByPrimaryKey(Integer.valueOf(id));
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(Inputoroutputspeedtotal2 record) {
+		return inputoroutputspeedtotal2Mapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(Inputoroutputspeedtotal2 record) {
+				
+
+				
+		return inputoroutputspeedtotal2Mapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(Inputoroutputspeedtotal2 record, Inputoroutputspeedtotal2Example example) {
+		
+		return inputoroutputspeedtotal2Mapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(Inputoroutputspeedtotal2 record, Inputoroutputspeedtotal2Example example) {
+		
+		return inputoroutputspeedtotal2Mapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<Inputoroutputspeedtotal2> selectByExample(Inputoroutputspeedtotal2Example example) {
+		
+		return inputoroutputspeedtotal2Mapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(Inputoroutputspeedtotal2Example example) {
+		
+		return inputoroutputspeedtotal2Mapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(Inputoroutputspeedtotal2Example example) {
+		
+		return inputoroutputspeedtotal2Mapper.deleteByExample(example);
+	}
+
+	public List<Inputoroutputspeedtotal2> getInputoroutputspeedtotal2(String wtId,Date recorddate) {
+
+
+		List<Inputoroutputspeedtotal2> list = null;
+
+		if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate)) {
+
+			Inputoroutputspeedtotal2Example example = new Inputoroutputspeedtotal2Example();
+			example.setOrderByClause("windturbineid asc");
+
+			if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate)) {
+
+				Inputoroutputspeedtotal2Example.Criteria criteria =example.createCriteria();
+				example.createCriteria().andWindturbineidEqualTo(wtId);
+
+				list = inputoroutputspeedtotal2Mapper.selectByExample(example);
+				Date endDate= DateUtils.addDays(recorddate,1);
+				criteria.andRecorddateGreaterThanOrEqualTo(recorddate).andRecorddateLessThan(endDate);
+			} else {
+				list = new ArrayList<>();
+			}
+
+		}
+		return list;
+
+	}
+
+}

+ 162 - 0
src/main/java/com/gyee/frame/service/InputoroutputspeedtotalService.java

@@ -0,0 +1,162 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.InputoroutputspeedtotalMapper;
+import com.gyee.frame.model.auto.Inputoroutputspeedtotal;
+import com.gyee.frame.model.auto.InputoroutputspeedtotalExample;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+@Service
+public class InputoroutputspeedtotalService implements BaseService<Inputoroutputspeedtotal, InputoroutputspeedtotalExample> {
+	@Autowired
+	private InputoroutputspeedtotalMapper inputoroutputspeedtotalMapper;
+	
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<Integer> lista=Convert.toIntArrayList(ids);
+			InputoroutputspeedtotalExample example=new InputoroutputspeedtotalExample();
+			example.createCriteria().andIdIn(lista);
+			return inputoroutputspeedtotalMapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public Inputoroutputspeedtotal selectByPrimaryKey(String id) {
+				
+			return inputoroutputspeedtotalMapper.selectByPrimaryKey(Integer.valueOf(id));
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(Inputoroutputspeedtotal record) {
+		return inputoroutputspeedtotalMapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(Inputoroutputspeedtotal record) {
+				
+
+				
+		return inputoroutputspeedtotalMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(Inputoroutputspeedtotal record, InputoroutputspeedtotalExample example) {
+		
+		return inputoroutputspeedtotalMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(Inputoroutputspeedtotal record, InputoroutputspeedtotalExample example) {
+		
+		return inputoroutputspeedtotalMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<Inputoroutputspeedtotal> selectByExample(InputoroutputspeedtotalExample example) {
+		
+		return inputoroutputspeedtotalMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(InputoroutputspeedtotalExample example) {
+		
+		return inputoroutputspeedtotalMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(InputoroutputspeedtotalExample example) {
+		
+		return inputoroutputspeedtotalMapper.deleteByExample(example);
+	}
+
+	public List<Inputoroutputspeedtotal> getInputoroutputspeedtotal(Tablepar tablepar, String wpId, Date recorddate) {
+
+
+		List<Inputoroutputspeedtotal> list = null;
+
+		if (StringUtils.notEmp(wpId) && StringUtils.notEmp(recorddate)) {
+
+			InputoroutputspeedtotalExample example = new InputoroutputspeedtotalExample();
+			if(StringUtils.isNotEmpty(tablepar.getOrderByColumn()))
+			{
+				StringBuilder sb=new StringBuilder();
+				sb.append(" ").append(tablepar.getOrderByColumn());
+				if(StringUtils.isNotEmpty(tablepar.getIsAsc()))
+				{
+					sb.append(" ").append(tablepar.getIsAsc());
+				}else
+				{
+					sb.append(" asc ");
+				}
+				example.setOrderByClause(String.valueOf(sb));
+			}else {
+				example.setOrderByClause("windturbineid ASC");
+			}
+
+			if (StringUtils.notEmp(wpId) && StringUtils.notEmp(recorddate)) {
+
+				InputoroutputspeedtotalExample.Criteria criteria =example.createCriteria();
+				example.createCriteria().andWindpowerstationidEqualTo(wpId);
+
+				list = inputoroutputspeedtotalMapper.selectByExample(example);
+				Date endDate= DateUtils.addDays(recorddate,1);
+				criteria.andRecorddateGreaterThanOrEqualTo(recorddate).andRecorddateLessThan(endDate);
+			} else {
+				list = new ArrayList<>();
+			}
+
+		}
+		return list;
+
+	}
+	public List<Inputoroutputspeedtotal> getInputoroutputspeedtotal(String wtId,Date recorddate) {
+
+
+		List<Inputoroutputspeedtotal> list = null;
+
+		if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate)) {
+
+			InputoroutputspeedtotalExample example = new InputoroutputspeedtotalExample();
+			example.setOrderByClause("windturbineid asc");
+
+			if (StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate)) {
+
+				InputoroutputspeedtotalExample.Criteria criteria =example.createCriteria();
+				example.createCriteria().andWindturbineidEqualTo(wtId);
+
+				list = inputoroutputspeedtotalMapper.selectByExample(example);
+				Date endDate= DateUtils.addDays(recorddate,1);
+				criteria.andRecorddateGreaterThanOrEqualTo(recorddate).andRecorddateLessThan(endDate);
+			} else {
+				list = new ArrayList<>();
+			}
+
+		}
+		return list;
+
+	}
+}

+ 480 - 0
src/main/java/com/gyee/frame/service/ProjectPlanService.java

@@ -0,0 +1,480 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.spring.InitialRunner;
+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.ProjectPlanVo;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+
+@Service
+public class ProjectPlanService implements BaseService<ProjectPlan, ProjectPlanExample> {
+    @Autowired
+    private ProjectPlanMapper projectPlanMapper;
+
+
+    @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);
+    }
+
+    public List<ProjectPlanVo> getProjectPlanVo(String wpId, String pjId, String year) {
+
+
+        List<ProjectPlanVo> list = new ArrayList<>();
+
+
+        ProjectPlanExample example = new ProjectPlanExample();
+        example.setOrderByClause("projectid asc");
+
+        ProjectPlanExample.Criteria criteria = example.createCriteria();
+        if (StringUtils.notEmp(wpId)) {
+            example.createCriteria().andWindpoweridEqualTo(wpId);
+        }
+        if (StringUtils.notEmp(pjId)) {
+            example.createCriteria().andProjectidEqualTo(pjId);
+        }
+        if (StringUtils.notEmp(year)) {
+            example.createCriteria().andYearEqualTo(year);
+        }
+
+		List<ProjectPlan> ls = projectPlanMapper.selectByExample(example);
+
+        if(!list.isEmpty())
+		{
+			for(ProjectPlan pp:ls)
+			{
+				ProjectPlanVo event=new ProjectPlanVo();
+				event.setGeneratingcapacity(pp.getGeneratingcapacity());
+				event.setId(pp.getId());
+				event.setMonth(pp.getMonth());
+				event.setOutagehours(pp.getOutagehours());
+				event.setProjectid(pp.getProjectid());
+				event.setWindpower(pp.getWindpowerid());
+				event.setYear(pp.getYear());
+				event.setProjectName(InitialRunner.pjmap.get(event.getProjectid()).getName());
+				event.setWindpowerName(InitialRunner.wpmap.get(event.getWindpower()).getName());
+			}
+		}
+
+        return list;
+
+    }
+
+	public List<ProjectPlanVo> getProjectPlanVo(List<ProjectPlanVo> list,String year) {
+
+		String currentWindpowerStation="",currentProject="";
+		Map<String,ProjectPlanVo> retValue=new TreeMap<String,ProjectPlanVo>();
+		double[] totalGc=new double[13];
+		double[] windpowerGc=new double[13];
+		for(int i=0;i<list.size();i++){
+			ProjectPlanVo vo=list.get(i);
+			if(StringUtils.empty(currentWindpowerStation)){
+				currentWindpowerStation=vo.getWindpowerName();
+			}
+			if(!currentWindpowerStation.equals(vo.getWindpowerName())){
+				ProjectPlanVo wpGc=new ProjectPlanVo();
+				wpGc.setGc01(String.valueOf(windpowerGc[0]));
+				wpGc.setGc02(String.valueOf(windpowerGc[1]));
+				wpGc.setGc03(String.valueOf(windpowerGc[2]));
+				wpGc.setGc04(String.valueOf(windpowerGc[3]));
+				wpGc.setGc05(String.valueOf(windpowerGc[4]));
+				wpGc.setGc06(String.valueOf(windpowerGc[5]));
+				wpGc.setGc07(String.valueOf(windpowerGc[6]));
+				wpGc.setGc08(String.valueOf(windpowerGc[7]));
+				wpGc.setGc09(String.valueOf(windpowerGc[8]));
+				wpGc.setGc10(String.valueOf(windpowerGc[9]));
+				wpGc.setGc11(String.valueOf(windpowerGc[10]));
+				wpGc.setGc12(String.valueOf(windpowerGc[11]));
+				wpGc.setGeneratingcapacity(String.valueOf(windpowerGc[12]));
+				wpGc.setProjectName(currentWindpowerStation);
+
+				wpGc.setYear(year);
+				retValue.put(currentWindpowerStation, wpGc);
+				currentWindpowerStation=vo.getWindpowerName();
+				for(int j=0;j<13;j++){
+					totalGc[j]+=windpowerGc[j];
+					windpowerGc[j]=0;
+				}
+			}{
+				ProjectPlanVo item=null;
+				if(retValue.containsKey(vo.getProjectName())){
+					item=retValue.get(vo.getProjectName());
+				}
+				else{
+					item=new ProjectPlanVo();
+					item.setProjectName(vo.getProjectName());
+					item.setProjectid(vo.getProjectid());
+					item.setId(vo.getProjectid());
+					item.setYear(vo.getYear());
+					retValue.put(vo.getProjectName(), item);
+				}
+				if(StringUtils.empty(vo.getMonth())){
+					windpowerGc[12]+=Double.parseDouble(vo.getGeneratingcapacity());
+					item.setGeneratingcapacity(vo.getGeneratingcapacity());
+				}
+				else{
+					int index=Integer.parseInt(vo.getMonth());
+					if(!StringUtils.empty(vo.getGeneratingcapacity())){
+						switch(index){
+							case 1:
+								item.setGc01(vo.getGeneratingcapacity());
+								break;
+							case 2:
+								item.setGc02(vo.getGeneratingcapacity());
+								break;
+							case 3:
+								item.setGc03(vo.getGeneratingcapacity());
+								break;
+							case 4:
+								item.setGc04(vo.getGeneratingcapacity());
+								break;
+							case 5:
+								item.setGc05(vo.getGeneratingcapacity());
+								break;
+							case 6:
+								item.setGc06(vo.getGeneratingcapacity());
+								break;
+							case 7:
+								item.setGc07(vo.getGeneratingcapacity());
+								break;
+							case 8:
+								item.setGc08(vo.getGeneratingcapacity());
+								break;
+							case 9:
+								item.setGc09(vo.getGeneratingcapacity());
+								break;
+							case 10:
+								item.setGc10(vo.getGeneratingcapacity());
+								break;
+							case 11:
+								item.setGc11(vo.getGeneratingcapacity());
+								break;
+							case 12:
+								item.setGc12(vo.getGeneratingcapacity());
+								break;
+						}
+						windpowerGc[index-1]+=Double.parseDouble(vo.getGeneratingcapacity());
+					}
+
+				}
+			}
+		}
+
+		ProjectPlanVo vo=list.get(list.size()-1);
+		ProjectPlanVo wpGc=new ProjectPlanVo();
+		wpGc.setGc01(String.valueOf(windpowerGc[0]));
+		wpGc.setGc02(String.valueOf(windpowerGc[1]));
+		wpGc.setGc03(String.valueOf(windpowerGc[2]));
+		wpGc.setGc04(String.valueOf(windpowerGc[3]));
+		wpGc.setGc05(String.valueOf(windpowerGc[4]));
+		wpGc.setGc06(String.valueOf(windpowerGc[5]));
+		wpGc.setGc07(String.valueOf(windpowerGc[6]));
+		wpGc.setGc08(String.valueOf(windpowerGc[7]));
+		wpGc.setGc09(String.valueOf(windpowerGc[8]));
+		wpGc.setGc10(String.valueOf(windpowerGc[9]));
+		wpGc.setGc11(String.valueOf(windpowerGc[10]));
+		wpGc.setGc12(String.valueOf(windpowerGc[11]));
+		wpGc.setGeneratingcapacity(String.valueOf(windpowerGc[12]));
+		wpGc.setProjectName(currentWindpowerStation);
+
+		wpGc.setYear(year);
+		retValue.put(currentWindpowerStation, wpGc);
+		for(int j=0;j<13;j++){
+			totalGc[j]+=windpowerGc[j];
+			windpowerGc[j]=0;
+		}
+		ProjectPlanVo totalVo=new ProjectPlanVo();
+		totalVo.setProjectName("合计");
+		totalVo.setYear(year);
+		totalVo.setGc01(String.valueOf(totalGc[0]));
+		totalVo.setGc02(String.valueOf(totalGc[1]));
+		totalVo.setGc03(String.valueOf(totalGc[2]));
+		totalVo.setGc04(String.valueOf(totalGc[3]));
+		totalVo.setGc05(String.valueOf(totalGc[4]));
+		totalVo.setGc06(String.valueOf(totalGc[5]));
+		totalVo.setGc07(String.valueOf(totalGc[6]));
+		totalVo.setGc08(String.valueOf(totalGc[7]));
+		totalVo.setGc09(String.valueOf(totalGc[8]));
+		totalVo.setGc10(String.valueOf(totalGc[9]));
+		totalVo.setGc11(String.valueOf(totalGc[10]));
+		totalVo.setGc12(String.valueOf(totalGc[11]));
+		totalVo.setGeneratingcapacity(String.valueOf(totalGc[12]));
+
+		List<ProjectPlanVo> result=new ArrayList<ProjectPlanVo>(retValue.values());
+		result.add(totalVo);
+
+    	return result;
+	}
+
+
+
+	public ProjectPlanVo getSingleProjectPlan(String projectid, String year) {
+		List<ProjectPlanVo> list = new ArrayList<>();
+
+
+		ProjectPlanExample example = new ProjectPlanExample();
+		example.setOrderByClause("month asc");
+
+		ProjectPlanExample.Criteria criteria = example.createCriteria();
+
+		if (StringUtils.notEmp(projectid)) {
+			example.createCriteria().andProjectidEqualTo(projectid);
+		}
+
+		if (StringUtils.notEmp(year)) {
+			example.createCriteria().andYearEqualTo(year);
+		}
+
+		List<ProjectPlan> ls = projectPlanMapper.selectByExample(example);
+
+		if(!list.isEmpty())
+		{
+			for(ProjectPlan pp:ls)
+			{
+				ProjectPlanVo event=new ProjectPlanVo();
+				event.setGeneratingcapacity(pp.getGeneratingcapacity());
+				event.setId(pp.getId());
+				event.setMonth(pp.getMonth());
+				event.setOutagehours(pp.getOutagehours());
+				event.setProjectid(pp.getProjectid());
+				event.setWindpower(pp.getWindpowerid());
+				event.setYear(pp.getYear());
+				event.setProjectName(InitialRunner.pjmap.get(event.getProjectid()).getName());
+				event.setWindpowerName(InitialRunner.wpmap.get(event.getWindpower()).getName());
+			}
+		}
+
+		ProjectPlanVo retValue=new ProjectPlanVo();
+		retValue.setProjectid(projectid);
+		for(int i=0;i<list.size();i++){
+			ProjectPlanVo vo=list.get(i);
+			retValue.setYear(vo.getYear());
+			retValue.setWindpower(vo.getWindpower());
+			retValue.setWindpowerName(vo.getWindpowerName());
+			retValue.setProjectName(vo.getProjectName());
+			if(StringUtils.empty(vo.getMonth())){
+				retValue.setGeneratingcapacity(vo.getGeneratingcapacity());
+			}
+			else{
+				int index=Integer.parseInt(vo.getMonth());
+				switch(index){
+					case 1:
+						retValue.setGc01(vo.getGeneratingcapacity());
+						break;
+					case 2:
+						retValue.setGc02(vo.getGeneratingcapacity());
+						break;
+					case 3:
+						retValue.setGc03(vo.getGeneratingcapacity());
+						break;
+					case 4:
+						retValue.setGc04(vo.getGeneratingcapacity());
+						break;
+					case 5:
+						retValue.setGc05(vo.getGeneratingcapacity());
+						break;
+					case 6:
+						retValue.setGc06(vo.getGeneratingcapacity());
+						break;
+					case 7:
+						retValue.setGc07(vo.getGeneratingcapacity());
+						break;
+					case 8:
+						retValue.setGc08(vo.getGeneratingcapacity());
+						break;
+					case 9:
+						retValue.setGc09(vo.getGeneratingcapacity());
+						break;
+					case 10:
+						retValue.setGc10(vo.getGeneratingcapacity());
+						break;
+					case 11:
+						retValue.setGc11(vo.getGeneratingcapacity());
+						break;
+					case 12:
+						retValue.setGc12(vo.getGeneratingcapacity());
+						break;
+				}
+			}
+		}
+		return retValue;
+	}
+
+
+	public int saveData(ProjectPlanVo vo)  {
+
+		ProjectPlanExample example = new ProjectPlanExample();
+		example.setOrderByClause("month asc");
+
+		ProjectPlanExample.Criteria criteria = example.createCriteria();
+
+		if (StringUtils.notEmp(vo.getProjectid())) {
+			example.createCriteria().andProjectidEqualTo(vo.getProjectid());
+		}
+
+		if (StringUtils.notEmp(vo.getYear())) {
+			example.createCriteria().andYearEqualTo(vo.getYear());
+		}
+
+		List<ProjectPlan> ls = projectPlanMapper.selectByExample(example);
+		if(!ls.isEmpty())
+		{
+			for(ProjectPlan pp:ls)
+			{
+				deleteByPrimaryKey(pp.getId());
+			}
+		}
+
+		List<ProjectPlan> list=new ArrayList<ProjectPlan>();
+
+		for(int i=0;i<12;i++)
+		{
+			ProjectPlan po=new ProjectPlan();
+			po.setWindpowerid(vo.getWindpower());
+			po.setYear(vo.getYear());
+			po.setMonth(String.valueOf(++i));
+			list.add(po);
+		}
+
+		ProjectPlan po=new ProjectPlan();
+		po.setWindpowerid(vo.getWindpower());
+		po.setYear(vo.getYear());
+		list.add(po);
+
+		for(ProjectPlan pp:list)
+		{
+			if(StringUtils.empty(vo.getMonth())){
+				pp.setGeneratingcapacity(vo.getGeneratingcapacity());
+			}
+			else{
+				int index=Integer.parseInt(vo.getMonth());
+				switch(index){
+					case 1:
+						pp.setGeneratingcapacity(vo.getGc01());
+						break;
+					case 2:
+						pp.setGeneratingcapacity(vo.getGc02());
+						break;
+					case 3:
+						pp.setGeneratingcapacity(vo.getGc03());
+						break;
+					case 4:
+						pp.setGeneratingcapacity(vo.getGc04());
+						break;
+					case 5:
+						pp.setGeneratingcapacity(vo.getGc05());
+						break;
+					case 6:
+						pp.setGeneratingcapacity(vo.getGc06());
+						break;
+					case 7:
+						pp.setGeneratingcapacity(vo.getGc07());
+						break;
+					case 8:
+						pp.setGeneratingcapacity(vo.getGc08());
+						break;
+					case 9:
+						pp.setGeneratingcapacity(vo.getGc09());
+						break;
+					case 10:
+						pp.setGeneratingcapacity(vo.getGc10());
+						break;
+					case 11:
+						pp.setGeneratingcapacity(vo.getGc11());
+						break;
+					case 12:
+						pp.setGeneratingcapacity(vo.getGc12());
+						break;
+				}
+			}
+		}
+
+		int value=0;
+		for(ProjectPlan pp:ls)
+		{
+			value=insertSelective(pp);
+		}
+		return value;
+	}
+
+}

+ 184 - 0
src/main/java/com/gyee/frame/service/Shutdownevent2Service.java

@@ -0,0 +1,184 @@
+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.spring.InitialRunner;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.Shutdownevent2Mapper;
+import com.gyee.frame.model.auto.*;
+import com.gyee.frame.model.custom.ShutdowneventVo;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+@Service
+public class Shutdownevent2Service implements BaseService<Shutdownevent2, Shutdownevent2Example> {
+	@Autowired
+	private Shutdownevent2Mapper shutdownevent2Mapper;
+	
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<String> lista=Convert.toListStrArray(ids);
+			Shutdownevent2Example example=new Shutdownevent2Example();
+			example.createCriteria().andIdIn(lista);
+			return shutdownevent2Mapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public Shutdownevent2 selectByPrimaryKey(String id) {
+				
+			return shutdownevent2Mapper.selectByPrimaryKey(id);
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(Shutdownevent2 record) {
+		return shutdownevent2Mapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(Shutdownevent2 record) {
+				
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+			
+				
+		return shutdownevent2Mapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(Shutdownevent2 record, Shutdownevent2Example example) {
+		
+		return shutdownevent2Mapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(Shutdownevent2 record, Shutdownevent2Example example) {
+		
+		return shutdownevent2Mapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<Shutdownevent2> selectByExample(Shutdownevent2Example example) {
+		
+		return shutdownevent2Mapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(Shutdownevent2Example example) {
+		
+		return shutdownevent2Mapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(Shutdownevent2Example example) {
+		
+		return shutdownevent2Mapper.deleteByExample(example);
+	}
+
+	public PageInfo<ShutdowneventVo> getShutdowneventList(Tablepar tablepar, String wtId, String beginDate, String endDate) {
+
+		Shutdownevent2Example example = new Shutdownevent2Example();
+
+		if(StringUtils.isNotEmpty(tablepar.getOrderByColumn()))
+		{
+			StringBuilder sb=new StringBuilder();
+			sb.append(" ").append(tablepar.getOrderByColumn());
+			if(StringUtils.isNotEmpty(tablepar.getIsAsc()))
+			{
+				sb.append(" ").append(tablepar.getIsAsc());
+			}else
+			{
+				sb.append(" asc ");
+			}
+			example.setOrderByClause(String.valueOf(sb));
+		}else {
+			example.setOrderByClause("windturbineid ASC");
+		}
+
+
+		PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+
+		Shutdownevent2Example.Criteria criteria = example.createCriteria();
+		if (StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate)) {
+			Date begin = DateUtils.parseStrtoDate(beginDate);
+			Date end = DateUtils.parseStrtoDate(endDate);;
+			criteria.andStoptimeGreaterThanOrEqualTo(begin).andStoptimeLessThan(end);
+		}
+
+		if (StringUtils.notEmp(wtId)) {
+			criteria.andWindturbineidEqualTo(wtId);
+		}
+
+		List<Shutdownevent2> list = shutdownevent2Mapper.selectByExample(example);
+
+		List<ShutdowneventVo> ls=new ArrayList<>();
+		if(!list.isEmpty())
+		{
+			Windturbine wt=InitialRunner.wtmap.get(wtId);
+			Windpowerstation wp=InitialRunner.wpmap.get(wt.getWindpowerstationid());
+			Project pj=InitialRunner.pjmap.get(wt.getProjectid());
+			for(Shutdownevent2 wr:list)
+			{
+				ShutdowneventVo event=new ShutdowneventVo();
+
+				event.setId(wr.getId());
+				event.setWindPowerStationId(wr.getWindpowerstationid());
+				event.setWpName(wp.getName());
+				event.setWindTurbineId(wtId);
+
+				event.setWarningId(wr.getWarningid());
+				if(StringUtils.notEmp(wr.getWarningid()) && InitialRunner.warningmap.containsKey(wr.getWarningid()))
+				{
+					Warning2 warning2=InitialRunner.warningmap.get(wr.getWarningid());
+					event.setWarnDesc(warning2.getChinesetext());
+				}
+				event.setStartTime(wr.getStarttime());
+				event.setStopTime(wr.getStoptime());
+				event.setStopHours(wr.getStophours());
+				event.setStopTypeId(wr.getStoptypeid());
+				event.setStatusCode(wr.getStatuscode());
+//				event.setStopTypeName(CacheContext.stmap.get(rs.getString("stopTypeId")) == null ? "" : CacheContext.stmap.get(rs.getString("stopTypeId")).getName());
+				event.setIsHandle(wr.getIshandle());
+				event.setProjectid(wr.getProjectid());
+				event.setLossPower(wr.getLosspower());
+
+				event.setProjectName(pj.getName());
+				event.setFaultView(wr.getFaultview());
+				event.setHandleWay(wr.getHandleway());
+				event.setModelId(wt.getModelid());
+//				event.setModelCode(CacheContext.mlmap.get(rs.getString("modelId")).getCode());
+
+				ls.add(event);
+			}
+		}
+
+		PageInfo<ShutdowneventVo> pageInfo = new PageInfo<ShutdowneventVo>(ls);
+
+		return pageInfo;
+	}
+
+}

+ 95 - 0
src/main/java/com/gyee/frame/service/Warning2Service.java

@@ -0,0 +1,95 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.Warning2Mapper;
+import com.gyee.frame.model.auto.Warning2;
+import com.gyee.frame.model.auto.Warning2Example;
+import com.gyee.frame.util.SnowflakeIdWorker;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+@Service
+public class Warning2Service implements BaseService<Warning2, Warning2Example> {
+	@Autowired
+	private Warning2Mapper warning2Mapper;
+	
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<String> lista=Convert.toListStrArray(ids);
+			Warning2Example example=new Warning2Example();
+			example.createCriteria().andIdIn(lista);
+			return warning2Mapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public Warning2 selectByPrimaryKey(String id) {
+				
+			return warning2Mapper.selectByPrimaryKey(id);
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(Warning2 record) {
+		return warning2Mapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(Warning2 record) {
+				
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+			
+				
+		return warning2Mapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(Warning2 record, Warning2Example example) {
+		
+		return warning2Mapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(Warning2 record, Warning2Example example) {
+		
+		return warning2Mapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<Warning2> selectByExample(Warning2Example example) {
+		
+		return warning2Mapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(Warning2Example example) {
+		
+		return warning2Mapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(Warning2Example example) {
+		
+		return warning2Mapper.deleteByExample(example);
+	}
+	
+
+}

+ 8 - 8
src/main/java/com/gyee/frame/service/WarningInfoDayService.java

@@ -135,7 +135,7 @@ public class WarningInfoDayService implements BaseService<WarningInfoDay, Warnin
 
 				List<WarningInfoDay> ls=entry.getValue();
 
-				Warning warning= InitialRunner.warningmap.get(entry.getKey());
+				Warning2 warning= InitialRunner.warningmap.get(entry.getKey());
 
 				StatisticalAnalysisWarningTopVo item = new StatisticalAnalysisWarningTopVo();
 				item.setNum(i++);
@@ -181,7 +181,7 @@ public class WarningInfoDayService implements BaseService<WarningInfoDay, Warnin
 		{
 			for(WarningInfoDay ap:wils)
 			{
-				Warning warning=InitialRunner.warningmap.get(ap.getWarningid());
+				Warning2 warning=InitialRunner.warningmap.get(ap.getWarningid());
 				WarningClassify warningClassify=InitialRunner.warningClassifymap.get(warning.getWarningclassifyid());
 				List<WarningInfoDay> items=null;
 
@@ -206,7 +206,7 @@ public class WarningInfoDayService implements BaseService<WarningInfoDay, Warnin
 
 				List<WarningInfoDay> ls=entry.getValue();
 
-				Warning warning= InitialRunner.warningmap.get(entry.getKey());
+				Warning2 warning= InitialRunner.warningmap.get(entry.getKey());
 
 				StatisticalAnalysisWarningTopVo item = new StatisticalAnalysisWarningTopVo();
 				item.setNum(i++);
@@ -372,7 +372,7 @@ public class WarningInfoDayService implements BaseService<WarningInfoDay, Warnin
 
 				List<WarningInfoDay> ls=entry.getValue();
 
-				Warning warning= InitialRunner.warningmap.get(entry.getKey());
+				Warning2 warning= InitialRunner.warningmap.get(entry.getKey());
 
 				StatisticalAnalysisWarningTopVo item = new StatisticalAnalysisWarningTopVo();
 				item.setNum(i++);
@@ -445,7 +445,7 @@ public class WarningInfoDayService implements BaseService<WarningInfoDay, Warnin
 
 				List<WarningInfoDay> ls=entry.getValue();
 
-				Warning warning= InitialRunner.warningmap.get(entry.getKey());
+				Warning2 warning= InitialRunner.warningmap.get(entry.getKey());
 
 				StatisticalAnalysisWarningTopVo item = new StatisticalAnalysisWarningTopVo();
 				item.setNum(i++);
@@ -518,7 +518,7 @@ public class WarningInfoDayService implements BaseService<WarningInfoDay, Warnin
 			int total=wils.stream().mapToInt(WarningInfoDay::getFrequencyday).sum();//总合计
 			for(WarningInfoDay ap:wils)
 			{
-				Warning warning=InitialRunner.warningmap.get(ap.getWarningid());
+				Warning2 warning=InitialRunner.warningmap.get(ap.getWarningid());
 				WarningClassify warningClassify=InitialRunner.warningClassifymap.get(warning.getWarningclassifyid());
 				List<WarningInfoDay> items=null;
 
@@ -543,7 +543,7 @@ public class WarningInfoDayService implements BaseService<WarningInfoDay, Warnin
 
 				List<WarningInfoDay> ls=entry.getValue();
 
-				Warning warning= InitialRunner.warningmap.get(entry.getKey());
+				Warning2 warning= InitialRunner.warningmap.get(entry.getKey());
 
 				StatisticalAnalysisWarningTopVo item = new StatisticalAnalysisWarningTopVo();
 				item.setNum(i++);
@@ -643,7 +643,7 @@ public class WarningInfoDayService implements BaseService<WarningInfoDay, Warnin
 
 				List<WarningInfoDay> ls=entry.getValue();
 
-				Warning warning= InitialRunner.warningmap.get(entry.getKey());
+				Warning2 warning= InitialRunner.warningmap.get(entry.getKey());
 
 				StatisticalAnalysisWarningTopVo item = new StatisticalAnalysisWarningTopVo();
 				item.setNum(i++);

+ 328 - 0
src/main/java/com/gyee/frame/service/WarningRecordsService.java

@@ -0,0 +1,328 @@
+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.spring.InitialRunner;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.WarningRecordsMapper;
+import com.gyee.frame.model.auto.Warning2;
+import com.gyee.frame.model.auto.WarningRecords;
+import com.gyee.frame.model.auto.WarningRecordsExample;
+import com.gyee.frame.model.custom.StatisticalAnalysisWarningTopVo;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+
+@Service
+public class WarningRecordsService implements BaseService<WarningRecords, WarningRecordsExample> {
+	@Autowired
+	private WarningRecordsMapper warningRecordsMapper;
+	
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<Integer> lista=Convert.toIntArrayList(ids);
+			WarningRecordsExample example=new WarningRecordsExample();
+			example.createCriteria().andIdIn(lista);
+			return warningRecordsMapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public WarningRecords selectByPrimaryKey(String id) {
+				
+			return warningRecordsMapper.selectByPrimaryKey(Integer.valueOf(id));
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(WarningRecords record) {
+		return warningRecordsMapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(WarningRecords record) {
+				
+			
+				
+		return warningRecordsMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(WarningRecords record, WarningRecordsExample example) {
+		
+		return warningRecordsMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(WarningRecords record, WarningRecordsExample example) {
+		
+		return warningRecordsMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<WarningRecords> selectByExample(WarningRecordsExample example) {
+		
+		return warningRecordsMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(WarningRecordsExample example) {
+		
+		return warningRecordsMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(WarningRecordsExample example) {
+		
+		return warningRecordsMapper.deleteByExample(example);
+	}
+
+	public PageInfo<WarningRecords> getWarningRecordsList(Tablepar tablepar, String wtId, String beginDate,String endDate) {
+
+		WarningRecordsExample example = new WarningRecordsExample();
+
+		if(StringUtils.isNotEmpty(tablepar.getOrderByColumn()))
+		{
+			StringBuilder sb=new StringBuilder();
+			sb.append(" ").append(tablepar.getOrderByColumn());
+			if(StringUtils.isNotEmpty(tablepar.getIsAsc()))
+			{
+				sb.append(" ").append(tablepar.getIsAsc());
+			}else
+			{
+				sb.append(" asc ");
+			}
+			example.setOrderByClause(String.valueOf(sb));
+		}else {
+			example.setOrderByClause("windturbineid ASC");
+		}
+
+
+		PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+
+		WarningRecordsExample.Criteria criteria = example.createCriteria();
+		if (StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate)) {
+			Date begin = DateUtils.parseStrtoDate(beginDate);
+			Date end = DateUtils.parseStrtoDate(endDate);;
+			criteria.andWarningtimeGreaterThanOrEqualTo(begin).andWarningtimeLessThan(end);
+		}
+
+		if (StringUtils.notEmp(wtId)) {
+			criteria.andWindturbineidEqualTo(wtId);
+		}
+
+		List<WarningRecords> list = warningRecordsMapper.selectByExample(example);
+
+		if(!list.isEmpty())
+		{
+			for(WarningRecords wr:list)
+			{
+				if(StringUtils.notEmp(wr.getWarningid()) && InitialRunner.warningmap.containsKey(wr.getWarningid()))
+				{
+					Warning2 warning2=InitialRunner.warningmap.get(wr.getWarningid());
+					wr.setWarnDesc(warning2.getChinesetext());
+				}
+			}
+		}
+
+		PageInfo<WarningRecords> pageInfo = new PageInfo<WarningRecords>(list);
+
+		return pageInfo;
+	}
+
+
+
+	public List<StatisticalAnalysisWarningTopVo> getWarningRecordsTop5(Tablepar tablepar, String wtId, String beginDate,String endDate) {
+
+		List<StatisticalAnalysisWarningTopVo> sawlist=new ArrayList<>();
+		List<StatisticalAnalysisWarningTopVo> templist=new ArrayList<>();
+		WarningRecordsExample example = new WarningRecordsExample();
+
+		WarningRecordsExample.Criteria criteria = example.createCriteria();
+		if (StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate)) {
+			Date begin = DateUtils.parseStrtoDate(beginDate);
+			Date end = DateUtils.parseStrtoDate(endDate);;
+			criteria.andWarningtimeGreaterThanOrEqualTo(begin).andWarningtimeLessThan(end);
+		}
+
+		if (StringUtils.notEmp(wtId)) {
+			criteria.andWindturbineidEqualTo(wtId);
+		}
+
+		List<WarningRecords> list = warningRecordsMapper.selectByExample(example);
+		Map<String, List<WarningRecords>> lsMap = new LinkedHashMap<>();
+		if(!list.isEmpty())
+		{
+			for(WarningRecords wr:list)
+			{
+
+				List<WarningRecords> items=null;
+				if (lsMap.containsKey(wr.getWarningid())) {
+					items = lsMap.get(wr.getWarningid());
+					items.add(wr);
+					lsMap.put(wr.getWarningid(), items);
+				} else {
+					items = new ArrayList<>();
+					items.add(wr);
+					lsMap.put(wr.getWarningid(), items);
+				}
+
+			}
+
+			Set<Map.Entry<String, List<WarningRecords>>> set = lsMap.entrySet();
+			int i=0;
+			for (Iterator<Map.Entry<String, List<WarningRecords>>> it = set.iterator(); it.hasNext();) {
+				Map.Entry<String, List<WarningRecords>> entry = (Map.Entry<String, List<WarningRecords>>) it.next();
+//				System.out.println(entry.getKey() + "--->" + entry.getValue());
+
+				List<WarningRecords> ls=entry.getValue();
+
+				Warning2 warning= InitialRunner.warningmap.get(entry.getKey());
+
+				StatisticalAnalysisWarningTopVo item = new StatisticalAnalysisWarningTopVo();
+				item.setNum(i++);
+				item.setName(warning.getChinesetext());
+				item.setFrequency(ls.size());
+
+				templist.add(item);
+			}
+
+
+			Collections.sort(templist, new Comparator<StatisticalAnalysisWarningTopVo>() {
+				// 升序排序
+				public int compare(StatisticalAnalysisWarningTopVo o1, StatisticalAnalysisWarningTopVo o2) {
+					return o2.getFrequency().compareTo(o1.getFrequency());
+				}
+
+			});
+
+			i=0;
+			for(StatisticalAnalysisWarningTopVo vo:templist)
+			{
+				if(i<5)
+				{
+					sawlist.add(vo);
+				}
+				i++;
+			}
+
+			sawlist=sortStatisticalAnalysisWarningTopVoList(tablepar,sawlist);
+		}
+
+		return sawlist;
+	}
+	public  List<StatisticalAnalysisWarningTopVo> sortStatisticalAnalysisWarningTopVoList(Tablepar tablepar,List<StatisticalAnalysisWarningTopVo> ls)
+	{
+
+		if (null !=tablepar && StringUtils.notEmp(tablepar.getOrderByColumn())) {
+
+			switch (tablepar.getOrderByColumn()) {
+				case "name":
+					if (tablepar.getIsAsc().equals("asc")) {
+
+						Collections.sort(ls, new Comparator<StatisticalAnalysisWarningTopVo>() {
+							// 升序排序
+							public int compare(StatisticalAnalysisWarningTopVo o1, StatisticalAnalysisWarningTopVo o2) {
+								return o1.getName().compareTo(o2.getName());
+							}
+
+						});
+					} else   {
+						Collections.sort(ls, new Comparator<StatisticalAnalysisWarningTopVo>() {
+							// 升序排序
+							public int compare(StatisticalAnalysisWarningTopVo o1, StatisticalAnalysisWarningTopVo o2) {
+								return o2.getName().compareTo(o1.getName());
+							}
+
+						});
+					}
+					break;
+				case "frequency":
+					if (tablepar.getIsAsc().equals("asc")) {
+
+						Collections.sort(ls, new Comparator<StatisticalAnalysisWarningTopVo>() {
+							// 升序排序
+							public int compare(StatisticalAnalysisWarningTopVo o1, StatisticalAnalysisWarningTopVo o2) {
+								return o1.getFrequency().compareTo(o2.getFrequency());
+							}
+
+						});
+					} else   {
+						Collections.sort(ls, new Comparator<StatisticalAnalysisWarningTopVo>() {
+							// 升序排序
+							public int compare(StatisticalAnalysisWarningTopVo o1, StatisticalAnalysisWarningTopVo o2) {
+								return o2.getFrequency().compareTo(o1.getFrequency());
+							}
+
+						});
+					}
+					break;
+				case "frequencyday":
+					if (tablepar.getIsAsc().equals("asc")) {
+
+						Collections.sort(ls, new Comparator<StatisticalAnalysisWarningTopVo>() {
+							// 升序排序
+							public int compare(StatisticalAnalysisWarningTopVo o1, StatisticalAnalysisWarningTopVo o2) {
+								return o1.getFrequencyday().compareTo(o2.getFrequencyday());
+							}
+
+						});
+					} else   {
+						Collections.sort(ls, new Comparator<StatisticalAnalysisWarningTopVo>() {
+							// 升序排序
+							public int compare(StatisticalAnalysisWarningTopVo o1, StatisticalAnalysisWarningTopVo o2) {
+								return o2.getFrequencyday().compareTo(o1.getFrequencyday());
+							}
+
+						});
+					}
+					break;
+				case "totalhours":
+					if (tablepar.getIsAsc().equals("asc")) {
+
+						Collections.sort(ls, new Comparator<StatisticalAnalysisWarningTopVo>() {
+							// 升序排序
+							public int compare(StatisticalAnalysisWarningTopVo o1, StatisticalAnalysisWarningTopVo o2) {
+								return o1.getTotalhours().compareTo(o2.getTotalhours());
+							}
+
+						});
+					} else   {
+						Collections.sort(ls, new Comparator<StatisticalAnalysisWarningTopVo>() {
+							// 升序排序
+							public int compare(StatisticalAnalysisWarningTopVo o1, StatisticalAnalysisWarningTopVo o2) {
+								return o2.getTotalhours().compareTo(o1.getTotalhours());
+							}
+
+						});
+					}
+					break;
+				default:
+
+					break;
+			}
+
+		}
+		return ls;
+	}
+
+}

+ 122 - 0
src/main/java/com/gyee/frame/service/WindpowerstationthewindinfoService.java

@@ -0,0 +1,122 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.WindpowerstationthewindinfoMapper;
+import com.gyee.frame.model.auto.Windpowerstationthewindinfo;
+import com.gyee.frame.model.auto.WindpowerstationthewindinfoExample;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+@Service
+public class WindpowerstationthewindinfoService implements BaseService<Windpowerstationthewindinfo, WindpowerstationthewindinfoExample> {
+	@Autowired
+	private WindpowerstationthewindinfoMapper windpowerstationthewindinfoMapper;
+	
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<Integer> lista=Convert.toIntArrayList(ids);
+			WindpowerstationthewindinfoExample example=new WindpowerstationthewindinfoExample();
+			example.createCriteria().andIdIn(lista);
+			return windpowerstationthewindinfoMapper.deleteByExample(example);
+			
+				
+	}
+	
+
+	@Override
+	public Windpowerstationthewindinfo selectByPrimaryKey(String id) {
+
+			return windpowerstationthewindinfoMapper.selectByPrimaryKey(Integer.valueOf(id));
+
+	}
+
+
+	@Override
+	public int updateByPrimaryKeySelective(Windpowerstationthewindinfo record) {
+		return windpowerstationthewindinfoMapper.updateByPrimaryKeySelective(record);
+	}
+
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(Windpowerstationthewindinfo record) {
+				
+
+				
+		return windpowerstationthewindinfoMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(Windpowerstationthewindinfo record, WindpowerstationthewindinfoExample example) {
+		
+		return windpowerstationthewindinfoMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(Windpowerstationthewindinfo record, WindpowerstationthewindinfoExample example) {
+		
+		return windpowerstationthewindinfoMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<Windpowerstationthewindinfo> selectByExample(WindpowerstationthewindinfoExample example) {
+		
+		return windpowerstationthewindinfoMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(WindpowerstationthewindinfoExample example) {
+		
+		return windpowerstationthewindinfoMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(WindpowerstationthewindinfoExample example) {
+		
+		return windpowerstationthewindinfoMapper.deleteByExample(example);
+	}
+
+	public List<Windpowerstationthewindinfo> getWindpowerstationthewindinfo(String wpId,Date recorddate) {
+
+
+		List<Windpowerstationthewindinfo> list = null;
+
+		if (StringUtils.notEmp(wpId) && StringUtils.notEmp(recorddate)) {
+
+			WindpowerstationthewindinfoExample example = new WindpowerstationthewindinfoExample();
+			example.setOrderByClause("windpowerstationid asc");
+
+			if (StringUtils.notEmp(wpId) && StringUtils.notEmp(recorddate)) {
+
+				WindpowerstationthewindinfoExample.Criteria criteria =example.createCriteria();
+				example.createCriteria().andWindpowerstationidEqualTo(wpId);
+
+				list = windpowerstationthewindinfoMapper.selectByExample(example);
+				Date endDate= DateUtils.addDays(recorddate,1);
+				criteria.andRecorddateGreaterThanOrEqualTo(recorddate).andRecorddateLessThan(endDate);
+			} else {
+				list = new ArrayList<>();
+			}
+
+		}
+		return list;
+
+	}
+
+}

+ 89 - 0
src/main/java/com/gyee/frame/service/WindturbinecurvefittingService.java

@@ -1,11 +1,15 @@
 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.WindturbinecurvefittingMapper;
 import com.gyee.frame.model.auto.Windturbinecurvefitting;
 import com.gyee.frame.model.auto.WindturbinecurvefittingExample;
+import com.gyee.frame.model.custom.Tablepar;
 import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -121,6 +125,91 @@ public class WindturbinecurvefittingService implements BaseService<Windturbinecu
 
 	}
 
+	public List<Windturbinecurvefitting> getWindturbinecurvefitting(String windturbineid)  {
+
+
+		List<Windturbinecurvefitting> list =new ArrayList<>();
+
+		WindturbinecurvefittingExample example=new WindturbinecurvefittingExample();
+		example.setOrderByClause("speed ASC");
+
+		WindturbinecurvefittingExample.Criteria criteria =example.createCriteria();
+
+
+		criteria.andWindturbineidEqualTo(windturbineid);
+
+		list= windturbinecurvefittingMapper.selectByExample(example);
+		return list;
+
+	}
+
+	public PageInfo<Windturbinecurvefitting>  getWindturbinecurvefitting(Tablepar tablepar, String wtId)  {
+
+
+		List<Windturbinecurvefitting> list =new ArrayList<>();
+
+		WindturbinecurvefittingExample example=new WindturbinecurvefittingExample();
+		if(StringUtils.isNotEmpty(tablepar.getOrderByColumn()))
+		{
+			StringBuilder sb=new StringBuilder();
+			sb.append(" ").append(tablepar.getOrderByColumn());
+			if(StringUtils.isNotEmpty(tablepar.getIsAsc()))
+			{
+				sb.append(" ").append(tablepar.getIsAsc());
+			}else
+			{
+				sb.append(" asc ");
+			}
+			example.setOrderByClause(String.valueOf(sb));
+		}else {
+			example.setOrderByClause("windturbineid ASC");
+		}
+		PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+
+		WindturbinecurvefittingExample.Criteria criteria =example.createCriteria();
+		criteria.andWindturbineidEqualTo(wtId);
+		list= windturbinecurvefittingMapper.selectByExample(example);
+
+		PageInfo<Windturbinecurvefitting> pageInfo = new PageInfo<Windturbinecurvefitting>(list);
+		return pageInfo;
+
+	}
+
+	public PageInfo<Windturbinecurvefitting> comparechatAjax(Tablepar tablepar, String wtId, Date date)  {
+
+
+		List<Windturbinecurvefitting> list =new ArrayList<>();
+
+		WindturbinecurvefittingExample example=new WindturbinecurvefittingExample();
+		if(StringUtils.isNotEmpty(tablepar.getOrderByColumn()))
+		{
+			StringBuilder sb=new StringBuilder();
+			sb.append(" ").append(tablepar.getOrderByColumn());
+			if(StringUtils.isNotEmpty(tablepar.getIsAsc()))
+			{
+				sb.append(" ").append(tablepar.getIsAsc());
+			}else
+			{
+				sb.append(" asc ");
+			}
+			example.setOrderByClause(String.valueOf(sb));
+		}else {
+			example.setOrderByClause("windturbineid ASC");
+		}
+		PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+
+		WindturbinecurvefittingExample.Criteria criteria =example.createCriteria();
+
+		criteria.andWindturbineidEqualTo(wtId);
+		Date endDate= DateUtils.addDays(date,1);
+		criteria.andRecorddateGreaterThanOrEqualTo(date).andRecorddateLessThan(endDate);
+
+		list= windturbinecurvefittingMapper.selectByExample(example);
+		PageInfo<Windturbinecurvefitting> pageInfo = new PageInfo<Windturbinecurvefitting>(list);
+
+		return pageInfo;
+
+	}
 	public List<Windturbinecurvefitting> comparechatAjax(List<String> wtIds, Date date)  {
 
 

+ 42 - 0
src/main/java/com/gyee/frame/service/WindturbinecurvefittingmonthService.java

@@ -1,10 +1,14 @@
 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.WindturbinecurvefittingmonthMapper;
 import com.gyee.frame.model.auto.Windturbinecurvefittingmonth;
 import com.gyee.frame.model.auto.WindturbinecurvefittingmonthExample;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -199,4 +203,42 @@ public class WindturbinecurvefittingmonthService implements BaseService<Windturb
 		return list;
 
 	}
+
+	public PageInfo<Windturbinecurvefittingmonth> getWindturbinecurvefittingmonthList(Tablepar tablepar, String windturbineid, String year, String month)  {
+
+
+		List<Windturbinecurvefittingmonth> list =new ArrayList<>();
+
+		WindturbinecurvefittingmonthExample example=new WindturbinecurvefittingmonthExample();
+
+		if(StringUtils.isNotEmpty(tablepar.getOrderByColumn()))
+		{
+			StringBuilder sb=new StringBuilder();
+			sb.append(" ").append(tablepar.getOrderByColumn());
+			if(StringUtils.isNotEmpty(tablepar.getIsAsc()))
+			{
+				sb.append(" ").append(tablepar.getIsAsc());
+			}else
+			{
+				sb.append(" asc ");
+			}
+			example.setOrderByClause(String.valueOf(sb));
+		}else {
+			example.setOrderByClause("windturbineid ASC");
+		}
+		PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+
+		WindturbinecurvefittingmonthExample.Criteria criteria =example.createCriteria();
+
+		criteria.andWindturbineidEqualTo(windturbineid);
+		criteria.andYearEqualTo(year);
+		criteria.andMonthEqualTo(month);
+
+		list= windturbinecurvefittingmonthMapper.selectByExample(example);
+
+		PageInfo<Windturbinecurvefittingmonth> pageInfo = new PageInfo<Windturbinecurvefittingmonth>(list);
+
+		return pageInfo;
+
+	}
 }

+ 31 - 4
src/main/java/com/gyee/frame/service/WindturbineinfodayService.java

@@ -6,12 +6,10 @@ import com.gyee.frame.common.base.BaseService;
 import com.gyee.frame.common.spring.InitialRunner;
 import com.gyee.frame.common.support.Convert;
 import com.gyee.frame.mapper.auto.WindTurbineInfoDayMapper;
-import com.gyee.frame.model.auto.WindTurbineInfoDay;
-import com.gyee.frame.model.auto.WindTurbineInfoDayExample;
-import com.gyee.frame.model.auto.Windpowerstation;
-import com.gyee.frame.model.auto.Windturbine;
+import com.gyee.frame.model.auto.*;
 import com.gyee.frame.model.custom.StatisticalAnalysisTopVo;
 import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.StringUtils;
 import org.springframework.stereotype.Service;
 
@@ -224,4 +222,33 @@ public class WindturbineinfodayService implements BaseService<WindTurbineInfoDay
 
 	}
 
+
+	public List<WindTurbineInfoDay> getWindturbineinfo(String wtId,Date recorddate) {
+
+
+		List<com.gyee.frame.model.auto.WindTurbineInfoDay> list=null;
+
+		if (StringUtils.notEmp(wtId) ) {
+
+			WindTurbineInfoDayExample example=new WindTurbineInfoDayExample();
+			example.setOrderByClause("recorddate DESC");
+
+			if(StringUtils.notEmp(recorddate)){
+
+				WindTurbineInfoDayExample.Criteria criteria =example.createCriteria();
+
+				Date endDate= DateUtils.addDays(recorddate,1);
+				criteria.andRecorddateGreaterThanOrEqualTo(recorddate).andRecorddateLessThan(endDate);
+
+				criteria.andWindturbineidEqualTo(wtId);
+				list= windTurbineInfoDayMapper.selectByExample(example);
+			}else
+			{
+				list=new ArrayList<>();
+			}
+
+		}
+		return list;
+
+	}
 }

+ 1 - 0
src/main/java/com/gyee/frame/service/Windturbineinfodaytop3Service.java

@@ -200,6 +200,7 @@ public class Windturbineinfodaytop3Service implements BaseService<Windturbineinf
 		{
 			list=new ArrayList<>();
 		}
+
 		PageInfo<Windturbineinfodaytop3> pageInfo = new PageInfo<Windturbineinfodaytop3>(list);
 
 		return pageInfo;

+ 634 - 16
src/main/java/com/gyee/frame/service/goodness/WindturbinegoodnessService.java

@@ -1,16 +1,28 @@
 package com.gyee.frame.service.goodness;
 
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.gyee.frame.common.dao.IRealTimeDataBaseUtil;
+import com.gyee.frame.common.dao.golden.EdosUtil;
+import com.gyee.frame.common.spring.Constant;
+import com.gyee.frame.common.spring.InitialRunner;
 import com.gyee.frame.mapper.auto.WindturbinegoodnessMapper;
+import com.gyee.frame.model.auto.WindTurbineTestingPointAi2;
 import com.gyee.frame.model.auto.Windturbinegoodness;
 import com.gyee.frame.model.auto.WindturbinegoodnessExample;
+import com.gyee.frame.model.custom.DataVo;
+import com.gyee.frame.model.custom.PointData;
+import com.gyee.frame.model.custom.Tablepar;
 import com.gyee.frame.util.DateUtils;
 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;
+import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * @ClassName : WindturbinegoodnessService
@@ -23,24 +35,630 @@ public class WindturbinegoodnessService {
     @Resource
     private WindturbinegoodnessMapper windturbinegoodnessMapper;
 
-
-    public List<Windturbinegoodness> windturbinegoodnessList(String theday, String wpid) {
+    IRealTimeDataBaseUtil realApiUtil = new EdosUtil();
+    
+    public PageInfo<Windturbinegoodness> windturbinegoodnessList(Tablepar tablepar, String wpId, String recorddate) {
 
         WindturbinegoodnessExample example = new WindturbinegoodnessExample();
-        WindturbinegoodnessExample.Criteria criteria = example.createCriteria();
-        if (StringUtils.notEmp(theday) && !theday.equals("undefined")) {
-            Date date = DateUtils.parseStrtoDate(theday);
-            criteria.andRecorddateEqualTo(date);
+
+        if(StringUtils.isNotEmpty(tablepar.getOrderByColumn()))
+        {
+            StringBuilder sb=new StringBuilder();
+            sb.append(" ").append(tablepar.getOrderByColumn());
+            if(StringUtils.isNotEmpty(tablepar.getIsAsc()))
+            {
+                sb.append(" ").append(tablepar.getIsAsc());
+            }else
+            {
+                sb.append(" asc ");
+            }
+            example.setOrderByClause(String.valueOf(sb));
         }else {
-            Calendar cal= Calendar.getInstance();
-            cal.add(Calendar.DATE,-1);
-            Date d=cal.getTime();
-            criteria.andRecorddateEqualTo(d);
+            example.setOrderByClause("windturbineid ASC");
+        }
+
+
+        PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+
+        WindturbinegoodnessExample.Criteria criteria = example.createCriteria();
+        if (StringUtils.notEmp(recorddate) && !recorddate.equals("undefined")) {
+            Date date = DateUtils.parseStrtoDate(recorddate);
+            Date endDate = DateUtils.addDays(date, 1);
+            criteria.andRecorddateGreaterThanOrEqualTo(date).andRecorddateLessThan(endDate);
         }
-        if (StringUtils.notEmp(wpid) && !wpid.equals("undefined")) {
-            criteria.andWindtpowerstationidEqualTo(wpid);
+        if (StringUtils.notEmp(wpId) && !wpId.equals("undefined")) {
+            criteria.andWindtpowerstationidEqualTo(wpId);
         }
         List<Windturbinegoodness> list = windturbinegoodnessMapper.selectByExample(example);
-        return list;
+
+        PageInfo<Windturbinegoodness> pageInfo = new PageInfo<Windturbinegoodness>(list);
+
+        return pageInfo;
+    }
+
+
+    public String getplotBands(String wtId, Date recorddate, HttpServletRequest request) throws Exception {
+
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        SimpleDateFormat sdfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<Long> from = new ArrayList<Long>();
+        List<Long> to = new ArrayList<Long>();
+        List<Integer> ztls = new ArrayList<Integer>();
+        Date endDate = sdfs.parse(sdf.format(DateUtils.addDays(recorddate, 1)) + " 00:06:00");
+        Date beginDate = sdfs.parse(sdf.format(recorddate) + " 01:00:00");
+
+        int length = 230;
+        String plotBands = null;
+        StringBuilder sb = new StringBuilder("");
+        Map<String, WindTurbineTestingPointAi2> map = InitialRunner.wtpAimap.get(wtId);
+
+        WindTurbineTestingPointAi2 fjzt = map.get(Constant.FJZT);
+        Map<String, Map<String, Double>> plotBandMap = new HashMap<String, Map<String, Double>>();
+        try {
+
+            if (null != fjzt) {
+                List<PointData> fjztls = realApiUtil.getHistoryDatasSnap(fjzt, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 360L);
+
+
+                for (int i = 0; i < fjztls.size(); i++) {
+                    if (i < fjztls.size() ) {
+                        from.add(fjztls.get(i).getPointTime() * 1000);
+                        ztls.add(Double.valueOf(fjztls.get(i).getPointValueInDouble()).intValue());
+                    }
+
+                    to.add(fjztls.get(i).getPointTime() * 1000);
+
+                }
+
+            }
+
+            Integer state = ztls.get(0);
+            double begin = -1;
+            double end = 0.1;
+            int beginnum = 0;
+            int endnum = 1;
+            StringBuilder temp = new StringBuilder();
+
+            for (int i = 0; i < length; i++) {
+
+                Integer zt = ztls.get(i);
+                if (i < length - 1) {
+                    zt = ztls.get(i + 1);
+                }
+
+                if (StringUtils.notEmp(zt)) {
+                    if (zt != state) {
+                        sb.append("{");
+                        sb.append("id: '").append(i).append("',");
+                        sb.append(getColor(temp, state));
+                        state = zt;
+                        sb.append("from: ").append(begin).append(",");
+                        Date begindate = new Date(from.get(beginnum));
+                        if (i != 0) {
+                            begin = end;
+                            beginnum = endnum;
+                            end = end + 0.1;
+                            endnum++;
+                        } else {
+                            begin = 0.0;
+                        }
+                        sb.append("to: ").append(end);
+                        sb.append(", events: { click: function (e) {plotBandAjax(" + i + ");}}},");
+
+                        Date enddate = new Date(to.get(endnum));
+
+                        plotBandMap.put(String.valueOf(i), getPlotBand(map, begindate, enddate));
+
+                    } else {
+                        end = end + 0.1;
+                        endnum++;
+                    }
+
+                }
+
+            }
+            sb.append("{");
+            sb.append("id: '230' ,");
+            sb.append(getColor(temp, state));
+            sb.append("from: ").append(begin).append(",");
+            sb.append("to: ").append(end);
+            sb.append(", events: { click: function (e) {plotBandAjax(230); }}},");
+            Date begindate = new Date(from.get(beginnum));
+            Date enddate = new Date(to.get(229));
+            plotBandMap.put(String.valueOf(230), getPlotBand(map, begindate, enddate));
+            // ////////////////////////////////////////////////
+
+            if (sb.length() >= 1) {
+                plotBands = sb.substring(0, sb.length() - 1);
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+        }
+        request.getSession().setAttribute("plotBandMap", plotBandMap);
+
+        // sb.append("]");
+        // plotBands = String.valueOf(sb);
+        return plotBands;
+    }
+
+    public Map<String, Double> getPlotBand(Map<String, WindTurbineTestingPointAi2> map, Date begindate, Date enddate) throws Exception {
+        WindTurbineTestingPointAi2 fdlAi = map.get(Constant.TPOINT_WT_RFDL);
+        WindTurbineTestingPointAi2 fsAi = map.get(Constant.TPOINT_WT_FJSSFS);
+        WindTurbineTestingPointAi2 llfdlAi = map.get(Constant.TPOINT_WT_RFDLBZ);
+        WindTurbineTestingPointAi2 glAi = map.get(Constant.TPOINT_WT_FJGL);
+        WindTurbineTestingPointAi2 fjztAi = map.get(Constant.FJZT);
+
+        Map<String, Double> tempmap = new HashMap<String, Double>();
+
+        // 发电量
+        double beginfdl = 0.0;
+        double endfdl = 0.0;
+        double fdl = 0.0;
+        List<PointData> beginfdlls = realApiUtil.getHistoryDatasSnap(fdlAi,
+                begindate.getTime() / 1000, begindate.getTime() / 1000,
+                (long) 1, 3600L);
+        if (!beginfdlls.isEmpty()) {
+            beginfdl = beginfdlls.get(0).getPointValueInDouble();
+        }
+        List<PointData> endfdlls = realApiUtil.getHistoryDatasSnap(fdlAi,
+                enddate.getTime() / 1000, enddate.getTime() / 1000, (long) 1,
+                3600L);
+        if (!endfdlls.isEmpty()) {
+            endfdl = endfdlls.get(0).getPointValueInDouble();
+        }
+        fdl = endfdl - beginfdl;
+
+        tempmap.put("fdl", StringUtils.round(fdl, 2));
+        // 理论电量
+        double beginllfdl = 0.0;
+        double endllfdl = 0.0;
+        double llfdl = 0.0;
+        List<PointData> beginllfdls = realApiUtil.getHistoryDatasSnap(llfdlAi,
+                begindate.getTime() / 1000, begindate.getTime() / 1000,
+                (long) 1, 3600L);
+        if (!beginllfdls.isEmpty()) {
+            beginllfdl = beginllfdls.get(0).getPointValueInDouble();
+        }
+        List<PointData> endllfdls = realApiUtil.getHistoryDatasSnap(llfdlAi,
+                enddate.getTime() / 1000, enddate.getTime() / 1000, (long) 1,
+                3600L);
+        if (!endllfdls.isEmpty()) {
+            endllfdl = endllfdls.get(0).getPointValueInDouble();
+        }
+        llfdl = endllfdl - beginllfdl;
+        // llfdl=new BigDecimal(llfdl).multiply(new
+        // BigDecimal(10000)).doubleValue();
+
+        tempmap.put("llfdl", StringUtils.round(llfdl, 2));
+
+        // 风机状态
+        double fjzt = 0.0;
+        List<PointData> fjztls = realApiUtil.getHistoryDatasSnap(fjztAi,
+                begindate.getTime() / 1000, enddate.getTime() / 1000, (long) 1,
+                3600L);
+        if (!fjztls.isEmpty()) {
+            fjzt = fjztls.get(0).getPointValueInDouble();
+            tempmap.put("fjzt", fjzt);
+
+        }
+
+        // 风速
+        double fs = 0.0;
+        Double time1 = new BigDecimal(DateUtils.minutesDiff(begindate, enddate))
+                .divide(new BigDecimal(60), 2, RoundingMode.HALF_EVEN)
+                .doubleValue();
+
+        List<PointData> fsls = realApiUtil.getHistoryDatasSnap(fsAi,
+                begindate.getTime() / 1000, enddate.getTime() / 1000,
+                (long) time1.longValue(), 3600L);
+        if (!fsls.isEmpty()) {
+            for (PointData po : fsls) {
+                fs = fs + po.getPointValueInDouble();
+            }
+            if (time1 == 0) {
+                time1 = 1.0;
+            }
+            double fstemp = new BigDecimal(fs).divide(
+                    new BigDecimal(time1.doubleValue()), 2,
+                    RoundingMode.HALF_EVEN).doubleValue();
+            tempmap.put("fs", StringUtils.round(fstemp, 2));
+        }
+        // 功率
+        double gl = 0.0;
+        Double time2 = new BigDecimal(DateUtils.minutesDiff(begindate, enddate))
+                .divide(new BigDecimal(60), 2, RoundingMode.HALF_EVEN)
+                .doubleValue();
+        List<PointData> glls = realApiUtil.getHistoryDatasSnap(glAi,
+                begindate.getTime() / 1000, enddate.getTime() / 1000,
+                (long) time2.longValue(), 3600L);
+        if (!glls.isEmpty()) {
+            for (PointData po : glls) {
+                gl = gl + po.getPointValueInDouble();
+            }
+            if (time2 == 0) {
+                time2 = 1.0;
+            }
+            double gltemp = new BigDecimal(gl).divide(
+                    new BigDecimal(time2.doubleValue()), 2,
+                    RoundingMode.HALF_EVEN).doubleValue();
+            tempmap.put("gl", StringUtils.round(gltemp, 2));
+        }
+        // 时长
+        tempmap.put("sc", StringUtils.round(DateUtils.hoursDiff2(begindate, enddate), 2));
+
+        // 损失电量
+
+        if (fjzt != 1) {
+            fdl = 0.0;
+            tempmap.put("fdl", 0.0);
+            tempmap.put("gl", 0.0);
+        }
+        tempmap.put("ssdl", StringUtils.round(llfdl - fdl, 2));
+        tempmap.put("ks", Double.valueOf(begindate.getTime()));
+        tempmap.put("js", Double.valueOf(enddate.getTime()));
+        return tempmap;
+    }
+
+    private String getColor(StringBuilder temp, Integer zt) {
+        if (StringUtils.notEmp(zt)) {
+            switch (zt) {
+                case 0:
+                    temp.setLength(0);
+                    temp.append("color: '#BFFFDF',");
+                    break;
+                case 1:
+                    temp.setLength(0);
+                    temp.append("color: '#E7FFFF',");
+                    break;
+                case 2:
+                    temp.setLength(0);
+                    temp.append("color: '#FFBFBF',");
+                    break;
+                case 3:
+                    temp.setLength(0);
+                    temp.append("color: '#DDDDDD',");
+                    break;
+                case 4:
+                    temp.setLength(0);
+                    temp.append("color: '#FFDFBF',");
+                    break;
+                case 5:
+                    temp.setLength(0);
+                    temp.append("color: '#FFDFFF',");
+                    break;
+                case 6:
+                    temp.setLength(0);
+                    temp.append("color: '#FFDFFF',");
+                    break;
+                default:
+                    break;
+            }
+        }
+        return String.valueOf(temp);
+    }
+
+    public List<DataVo> findRealPowerCharBy24(String wtId, Date recorddate) throws Exception {
+        List<DataVo> vos = new ArrayList<DataVo>();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        SimpleDateFormat sdfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        Date endDate = sdfs.parse(sdf.format(DateUtils.addDays(recorddate, 1)) + " 00:0:00");
+        Date beginDate = sdfs.parse(sdf.format(recorddate) + " 00:00:00");
+
+        int length = 24;
+        for (int i = 0; i < length; i++) {
+            DataVo vo = new DataVo();
+
+            vo.setValue1(0.0);// scada发电量
+            vo.setValue2(0.0);// 维护损失
+            vo.setValue3(0.0);// 故障损失
+            vo.setValue4(0.0);// 限电损失
+            vo.setValue5(0.0);// 欠发损失
+            vo.setValue6(0.0);// 风速
+
+            vos.add(vo);
+        }
+
+        Map<String, WindTurbineTestingPointAi2> map = InitialRunner.wtpAimap.get(wtId);
+
+        WindTurbineTestingPointAi2 fdl = map.get(Constant.TPOINT_WT_RFDL);
+        WindTurbineTestingPointAi2 whss = map.get(Constant.RJXSSDL);
+        WindTurbineTestingPointAi2 gzss = map.get(Constant.RGZSSDL);
+        WindTurbineTestingPointAi2 xdss = map.get(Constant.RXDSSDL);
+        WindTurbineTestingPointAi2 qfss = map.get(Constant.RQFSSDL);
+        WindTurbineTestingPointAi2 fs = map.get(Constant.TPOINT_WT_FJSSFS);
+
+        try {
+            if (null != fdl) {
+                List<PointData> fdlls = realApiUtil.getHistoryDatasSnap(fdl, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
+
+                int count = 0;
+                double temp1 = 0;
+                for (int i = 0; i < length; i++) {
+
+                    if (i < fdlls.size() && StringUtils.notEmp(fdlls.get(i + 1).getPointTime())) {
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        vos.get(i).setTime(fdlls.get(i + 1).getPointTime() * 1000);
+                        if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
+
+                            if (i != 0) {
+                                temp1 = fdlls.get(i + 1).getPointValueInDouble();
+                                double temp2 = fdlls.get(i).getPointValueInDouble();
+                                temp1 = temp1 - temp2;
+                                vos.get(i).setValue1(StringUtils.round(temp1, 2));// 发电量
+
+                            } else {
+                                temp1 = fdlls.get(i + 1).getPointValueInDouble();
+                                vos.get(i).setValue1(StringUtils.round(temp1, 2));// 发电量
+                            }
+                            // temp1 = new BigDecimal(temp1).divide(new
+                            // BigDecimal(10000), 2,
+                            // RoundingMode.HALF_EVEN).doubleValue();
+
+                            // temp1 = new BigDecimal(temp1).divide(
+                            // new BigDecimal(100000), 2,
+                            // RoundingMode.HALF_EVEN).multiply(
+                            // new BigDecimal(100)).doubleValue();
+
+                            count++;
+                        } else {
+                            vos.get(i).setTime(fdlls.get(i).getPointTime() * 1000);
+                            vos.get(i).setValue1(0d);// 发电量
+                        }
+
+                    }
+                }
+            }
+        } catch (Exception e) {
+            // TODO: handle exception
+        }
+        /*
+         * 维护损失
+         */
+        try {
+            if (null != whss) {
+                List<PointData> whssls = realApiUtil.getHistoryDatasSnap(whss, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
+
+                int count = 0;
+                double temp1 = 0;
+                for (int i = 0; i < length; i++) {
+
+                    if (i < whssls.size() && StringUtils.notEmp(whssls.get(i + 1).getPointTime())) {
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        vos.get(i).setTime(whssls.get(i + 1).getPointTime() * 1000);
+                        if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
+                            if (i != 0) {
+                                temp1 = whssls.get(i + 1).getPointValueInDouble();
+                                double temp2 = whssls.get(i).getPointValueInDouble();
+                                temp1 = temp1 - temp2;
+
+                                // temp1 = new BigDecimal(temp1).divide(new
+                                // BigDecimal(10000), 2,
+                                // RoundingMode.HALF_EVEN).doubleValue();
+                                vos.get(i).setValue2(StringUtils.round(temp1, 2));// 维护损失电量
+
+                                count++;
+
+                            } else {
+                                temp1 = whssls.get(i + 1).getPointValueInDouble();
+                                vos.get(i).setValue2(StringUtils.round(temp1, 2));// 维护损失电量
+                            }
+
+                            // temp1 = new BigDecimal(temp1).divide(
+                            // new BigDecimal(100000), 2,
+                            // RoundingMode.HALF_EVEN).multiply(
+                            // new BigDecimal(100)).doubleValue();
+
+                        } else {
+                            // vos.get(i-1).setTime(whssls.get(i).getPointTime()*1000);
+                            vos.get(i).setValue2(0d);// 维护损失电量
+                        }
+
+                    }
+                }
+            }
+        } catch (Exception e) {
+            // TODO: handle exception
+        }
+        /*
+         * 故障损失
+         */
+        try {
+            if (null != gzss) {
+                List<PointData> gzssls = realApiUtil.getHistoryDatasSnap(gzss, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
+
+                int count = 0;
+                double temp1 = 0;
+                for (int i = 0; i < length; i++) {
+
+                    if (i < gzssls.size() && StringUtils.notEmp(gzssls.get(i + 1).getPointTime())) {
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        vos.get(i).setTime(gzssls.get(i + 1).getPointTime() * 1000);
+                        if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
+                            if (i != 0) {
+                                temp1 = gzssls.get(i + 1).getPointValueInDouble();
+                                double temp2 = gzssls.get(i).getPointValueInDouble();
+                                temp1 = temp1 - temp2;
+
+                                // temp1 = new BigDecimal(temp1).divide(new
+                                // BigDecimal(10000), 2,
+                                // RoundingMode.HALF_EVEN).doubleValue();
+
+                                // temp1 = new BigDecimal(temp1).divide(
+                                // new BigDecimal(100000), 2,
+                                // RoundingMode.HALF_EVEN).multiply(
+                                // new BigDecimal(100)).doubleValue();
+
+                                vos.get(i).setValue3(StringUtils.round(temp1, 2));// 维护损失电量
+
+                                count++;
+
+                            } else {
+                                temp1 = gzssls.get(i + 1).getPointValueInDouble();
+                                vos.get(i).setValue3(StringUtils.round(temp1, 2));// 维护损失电量
+                            }
+
+                        } else {
+                            // vos.get(i-1).setTime(gzssls.get(i).getPointTime()*1000);
+                            vos.get(i).setValue3(0d);// 维护损失电量
+                        }
+
+                    }
+                }
+            }
+        } catch (Exception e) {
+            // TODO: handle exception
+        }
+        /*
+         * 限电损失
+         */
+        try {
+            if (null != xdss) {
+                List<PointData> xdssls = realApiUtil.getHistoryDatasSnap(xdss, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
+
+                int count = 0;
+                double temp1 = 0;
+                for (int i = 0; i < length; i++) {
+
+                    if (i < xdssls.size() && StringUtils.notEmp(xdssls.get(i + 1).getPointTime())) {
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        vos.get(i).setTime(xdssls.get(i + 1).getPointTime() * 1000);
+                        if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
+                            if (i != 0) {
+                                temp1 = xdssls.get(i + 1).getPointValueInDouble();
+                                double temp2 = xdssls.get(i).getPointValueInDouble();
+                                temp1 = temp1 - temp2;
+
+                                // temp1 = new BigDecimal(temp1).divide(new
+                                // BigDecimal(10000), 2,
+                                // RoundingMode.HALF_EVEN).doubleValue();
+
+                                // temp1 = new BigDecimal(temp1).divide(
+                                // new BigDecimal(100000), 2,
+                                // RoundingMode.HALF_EVEN).multiply(
+                                // new BigDecimal(100)).doubleValue();
+
+                                vos.get(i).setValue4(StringUtils.round(temp1, 2));// 限电损失电量
+
+                                count++;
+
+                            } else {
+                                temp1 = xdssls.get(i + 1).getPointValueInDouble();
+                                vos.get(i).setValue4(StringUtils.round(temp1, 2));// 限电损失电量
+                            }
+
+                        } else {
+                            // vos.get(i).setTime(xdssls.get(i).getPointTime()*1000);
+                            vos.get(i).setValue4(0d);// 限电损失电量
+                        }
+
+                    }
+                }
+            }
+        } catch (Exception e) {
+            // TODO: handle exception
+        }
+        /*
+         * 欠发损失
+         */
+        try {
+            if (null != qfss) {
+                List<PointData> qfssls = realApiUtil.getHistoryDatasSnap(qfss, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
+
+                int count = 0;
+                double temp1 = 0;
+                for (int i = 0; i < length; i++) {
+
+                    if (i < qfssls.size() && StringUtils.notEmp(qfssls.get(i + 1).getPointTime())) {
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        vos.get(i).setTime(qfssls.get(i + 1).getPointTime() * 1000);
+                        if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
+                            if (i != 0) {
+                                temp1 = qfssls.get(i + 1).getPointValueInDouble();
+                                double temp2 = qfssls.get(i).getPointValueInDouble();
+                                temp1 = temp1 - temp2;
+
+                                // temp1 = new BigDecimal(temp1).divide(new
+                                // BigDecimal(10000), 2,
+                                // RoundingMode.HALF_EVEN).doubleValue();
+
+                                // temp1 = new BigDecimal(temp1).divide(
+                                // new BigDecimal(100000), 2,
+                                // RoundingMode.HALF_EVEN).multiply(
+                                // new BigDecimal(100)).doubleValue();
+
+                                vos.get(i).setValue5(StringUtils.round(temp1, 2));// 欠发损失电量
+
+                                count++;
+
+                            } else {
+                                temp1 = qfssls.get(i + 1).getPointValueInDouble();
+                                vos.get(i).setValue5(StringUtils.round(temp1, 2));// 欠发损失电量
+                            }
+
+                        } else {
+                            // vos.get(i-1).setTime(qfssls.get(i).getPointTime()*1000);
+                            vos.get(i).setValue5(0d);// 欠发损失电量
+                        }
+
+                    }
+                }
+            }
+        } catch (Exception e) {
+            // TODO: handle exception
+        }
+        /*
+         * 风速
+         */
+        try {
+            if (null != fs) {
+                List<PointData> fsls = realApiUtil.getHistoryDatasSnap(fs, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) length, 3600L);
+
+                int count = 0;
+                double temp1 = 0;
+                for (int i = 0; i < 24; i++) {
+
+                    if (i < fsls.size() && StringUtils.notEmp(fsls.get(i + 1).getPointTime())) {
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        vos.get(i).setTime(fsls.get(i + 1).getPointTime() * 1000);
+                        if (vos.get(i).getTime() <= DateUtils.now().getTime()) {
+
+                            temp1 = fsls.get(i + 1).getPointValueInDouble();
+                            // double temp2
+                            // =fsls.get(i-1).getPointValueInDouble();
+                            // temp1=temp1-temp2;
+
+                            // temp1 = new BigDecimal(temp1).divide(new
+                            // BigDecimal(1), 2,
+                            // RoundingMode.HALF_EVEN).doubleValue();
+
+                            // temp1 = new BigDecimal(temp1).divide(
+                            // new BigDecimal(100000), 2,
+                            // RoundingMode.HALF_EVEN).multiply(
+                            // new BigDecimal(100)).doubleValue();
+
+                            vos.get(i).setValue6(StringUtils.round(temp1, 2));// 风速
+                            count++;
+
+                            // else
+                            // {
+                            // temp1 = qfssls.get(i).getPointValueInDouble();
+                            // }
+
+                        } else {
+                            // vos.get(i-1).setTime(qfssls.get(i).getPointTime()*1000);
+                            vos.get(i).setValue6(0d);// 风速
+                        }
+
+                    }
+                }
+            }
+        } catch (Exception e) {
+            // TODO: handle exception
+        }
+        // ////////////////////////////////////////////////
+
+        return vos;
     }
 }

+ 39 - 0
src/main/java/com/gyee/frame/util/DateUtils.java

@@ -210,4 +210,43 @@ public class DateUtils  extends org.apache.commons.lang3.time.DateUtils {
         }
         return dateTime;
     }
+
+    public static double hoursDiff1(Date d1, Date d2) {
+        return Math.floor(Math.abs((d1.getTime() - d2.getTime())) / (double) (60 * 60 * 1000));
+    }
+
+    public static double hoursDiff2(Date d1, Date d2) {
+        return Math.abs((d1.getTime() - d2.getTime())) / (double) (60 * 60 * 1000);
+    }
+
+    /**
+     * 计算两个时间之间差的分钟数(取整后)
+     *
+     * @param d1
+     * @param d2
+     * @return
+     */
+    public static int minutesDiff(Date d1, Date d2) {
+        return (int) Math.floor(Math.abs((d1.getTime() - d2.getTime())) / (60 * 1000));
+    }
+
+    /**
+     * 计算两个时间之间差的分钟数(取整后)
+     *
+     * @param d1
+     * @param d2
+     * @return
+     */
+    public static double minutesDiff2(Date d1, Date d2) {
+        return Math.floor(Math.abs((d1.getTime() - d2.getTime())) / (60 * 1000));
+    }
+
+    /**
+     * 获取系统时间
+     *
+     * @return
+     */
+    public static Date now() {
+        return new Date();
+    }
 }

+ 210 - 0
src/main/java/com/gyee/frame/util/IRealTimeDataBaseUtil.java

@@ -0,0 +1,210 @@
+package com.gyee.frame.util;
+
+
+import com.gyee.frame.model.auto.WindPowerStationTestingPoint2;
+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 IRealTimeDataBaseUtil {
+    /**
+     * 通过风场测点获得测点实时数据
+     * @param point 只是用了code字段,作为唯一标识
+     * @returns
+     * @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 nameList 测点名称列表集合
+     * @param tTime  时间点(秒级)
+     * @return
+     * @throws Exception
+     */
+    public DNAVal[] getHistMatrix(String[] nameList, int tTime) throws Exception;
+}

+ 73 - 0
src/main/java/com/gyee/frame/util/JedisPoolUtil.java

@@ -0,0 +1,73 @@
+package com.gyee.frame.util;
+
+import com.gyee.frame.model.custom.PointData;
+import org.apache.commons.collections.map.LinkedMap;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+import redis.clients.jedis.Jedis;
+import redis.clients.jedis.JedisPool;
+import redis.clients.jedis.Pipeline;
+import redis.clients.jedis.Response;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * ClassName:JedisPool <br/>
+ *
+ * @author 石林
+ * @see
+ * @since JDK 1.8
+ */
+@Component
+public class JedisPoolUtil {
+
+    @Resource
+    @Qualifier("cacheRedis")
+    private JedisPool jedisPool;// 非切片连接池
+
+
+    /**
+     * 释放jedis资源
+     *
+     * @param jedis
+     */
+    public static void returnResource(final Jedis jedis) {
+        if (jedis != null) {
+            jedis.close();
+        }
+    }
+
+    public PointData getRealData(String code) throws IOException {
+
+        PointData po = new PointData();
+
+
+
+        Map<String, Response<String>> resmap = new LinkedMap();
+
+        Jedis jedis = jedisPool.getResource();
+
+        Pipeline pipelined = jedis.pipelined();
+
+
+        resmap.put(code, pipelined.get(code));
+
+        pipelined.sync();
+
+        String result = resmap.get(code).get();
+
+
+
+
+
+
+        returnResource(jedis);
+
+        return po;
+
+
+    }
+
+}

+ 21 - 0
src/main/java/com/gyee/frame/util/RealTimeDataBaseFactory.java

@@ -0,0 +1,21 @@
+package com.gyee.frame.util;
+
+
+import com.gyee.frame.common.conf.V2Config;
+import com.gyee.frame.util.golden.EdosUtil;
+
+public class RealTimeDataBaseFactory {
+
+
+    public static IRealTimeDataBaseUtil createRealTimeDataBase() {
+
+
+        switch (V2Config.getRealtimedataBase()) {
+
+            case "golden":
+                return new EdosUtil();
+            default:
+                return new EdosUtil();
+        }
+    }
+}

+ 48 - 0
src/main/java/com/gyee/frame/util/golden/ApiGolden.java

@@ -0,0 +1,48 @@
+/** 
+ * Project Name:nxfd2 
+ * File Name:ApiEdos.java 
+ * Package Name:com.gyee.frame.util
+ * Date:2016-7-25下午12:26:14 
+ * Copyright (c) 2016, chenzhou1025@126.com All Rights Reserved. 
+ * 
+ */
+
+package com.gyee.frame.util.golden;
+
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * ClassName:ApiEdos <br/>
+ * Function: TODO ADD FUNCTION. <br/>
+ * Reason: TODO ADD REASON. <br/>
+ * Date: 2016-7-25 下午12:26:14 <br/>
+ * 
+ * @author 石林
+ * @version
+ * @since JDK 1.6
+ * @see
+ */
+public class ApiGolden {
+
+    private static RestTemplate restTemplate = null;
+
+  
+    private ApiGolden() {
+
+    }
+
+    public static RestTemplate getInstance() {
+    	
+    	
+
+        if (restTemplate == null) {
+        	
+        	restTemplate = new RestTemplate();
+
+        }
+
+        return restTemplate;
+
+    }
+
+}

File diff suppressed because it is too large
+ 1262 - 0
src/main/java/com/gyee/frame/util/golden/EdosUtil.java


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

@@ -0,0 +1,279 @@
+package com.gyee.frame.util.golden;/*
+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;
+    
+}
+*/

+ 34 - 0
src/main/java/com/gyee/frame/util/golden/StringUtil.java

@@ -0,0 +1,34 @@
+package com.gyee.frame.util.golden;
+
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * String辅助类
+ * 
+ */
+public class StringUtil extends StringUtils {
+	
+	/**
+	 * 非空判断
+	 * 
+	 * @param obj
+	 * @return
+	 */
+	public static boolean isNotBlank(Object obj) {
+		return !isBlank(obj);
+	}
+
+	/**
+	 * 为空判断
+	 * 
+	 * @param obj
+	 * @return
+	 */
+	public static boolean isBlank(Object obj) {
+		if (obj == null || StringUtils.isBlank(obj.toString())) {
+			return true;
+		}
+		return false;
+	}
+
+}

+ 28 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/BaseTsQuery.java

@@ -0,0 +1,28 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import lombok.Data;
+
+@Data
+public class BaseTsQuery implements TsQuery {
+
+    private final TsPoint tsPoint;
+    private final long startTs;
+    private final long endTs;
+    private final int interval;
+    private final int limit;
+    private final Interpolation interpolation;
+
+    public BaseTsQuery(TsPoint tsPoint, long startTs, long endTs, int interval, int limit, Interpolation interpolation) {
+        this.tsPoint = tsPoint;
+        this.startTs = startTs;
+        this.endTs = endTs;
+        this.interval = interval;
+        this.limit = limit;
+        this.interpolation = interpolation;
+    }
+
+    public BaseTsQuery(TsPoint tsPoint, long startTs, long endTs) {
+        this(tsPoint, startTs, endTs, 1, 1, Interpolation.RAW);
+    }
+
+}

+ 38 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/BasicTsData.java

@@ -0,0 +1,38 @@
+package com.gyee.frame.util.golden.timeseries;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public abstract class BasicTsData implements TsData, Comparable<BasicTsData> {
+
+    private final long ts;
+
+    private final short status;
+
+    public BasicTsData(long ts, short status) {
+        this.ts = ts;
+        this.status = status;
+    }
+
+    public long getTs() {
+        return ts;
+    }
+
+    public short getStatus() {
+        return status;
+    }
+
+    @Override
+    public int compareTo(BasicTsData o) {
+        return Long.compare(ts, o.ts);
+    }
+
+    @Override
+    public String toString() {
+        return "BasicTsData{ts='" + ts +
+                "', status='" + this.getStatus() +
+                "'}";
+    }
+
+}
+

+ 29 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/BasicTsPoint.java

@@ -0,0 +1,29 @@
+package com.gyee.frame.util.golden.timeseries;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public class BasicTsPoint implements TsPoint{
+
+    private final String id;
+
+    private final TsDataType tsDataType;
+
+    public BasicTsPoint(String id, TsDataType tsDataType) {
+        this.id = id;
+        this.tsDataType = tsDataType;
+    }
+
+    public String getId() { return id; }
+
+    public TsDataType getTsDataType() {return tsDataType; }
+
+    @Override
+    public String toString() {
+        return "BasicTsPoint{id='" + id +
+                "', dataType='" + this.getTsDataType() +
+                "'}";
+    }
+
+}
+

+ 24 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/BlobTsData.java

@@ -0,0 +1,24 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import java.util.Base64;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public class BlobTsData extends BasicTsData {
+
+    private final byte[] blob;
+
+    public BlobTsData(long ts, short status, byte[] blob) {
+        super(ts, status);
+        this.blob = blob;
+    }
+
+    //public byte[] getBlob() { return  blob ;}
+
+    public String getBlobValue() {
+        return Base64.getEncoder().encodeToString(blob);
+    }
+
+}
+

+ 22 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/BlobWriteTsData.java

@@ -0,0 +1,22 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import lombok.Data;
+
+import java.util.Base64;
+
+/**
+ * @descrition:
+ * @author:Wanghs
+ * @date:2018-05-04
+ */
+@Data
+public class BlobWriteTsData {
+    private String tagName;
+    private long ts;
+    private  byte[]blob;
+
+    public String getValue() {
+        return Base64.getEncoder().encodeToString(blob);
+    }
+
+}

+ 24 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/BooleanTsData.java

@@ -0,0 +1,24 @@
+package com.gyee.frame.util.golden.timeseries;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public class BooleanTsData extends BasicTsData {
+
+    private final boolean actualValue;
+
+    public BooleanTsData(long ts, short status, boolean actualValue) {
+        super(ts, status);
+        this.actualValue = actualValue;
+    }
+
+//    public boolean getActualValue() {
+//        return actualValue;
+//    }
+
+    public String getBooleanValue() {
+        return Boolean.toString(actualValue);
+    }
+
+}
+

+ 19 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/BooleanWriteTsData.java

@@ -0,0 +1,19 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import lombok.Data;
+
+/**
+ * @descrition:
+ * @author:Wanghs
+ * @date:2018-05-04
+ */
+@Data
+public class BooleanWriteTsData  {
+    private String tagName;
+    private long ts;
+    private boolean actualValue;
+
+    public boolean getValue() {
+        return this.actualValue;
+    }
+}

+ 18 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/Coordinate.java

@@ -0,0 +1,18 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+@Data
+@AllArgsConstructor
+public class Coordinate {
+
+    private double latitude;
+
+    private double longitude;
+
+}
+

+ 26 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/CoordinateTsData.java

@@ -0,0 +1,26 @@
+package com.gyee.frame.util.golden.timeseries;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public class CoordinateTsData extends BasicTsData {
+
+    private final Coordinate coordinate;
+
+    public CoordinateTsData(long ts, short status, double latitude, double longitude) {
+        super(ts, status);
+        this.coordinate = new Coordinate(latitude, longitude);
+    }
+
+    public CoordinateTsData(long ts, short status, Coordinate coordinate) {
+        super(ts, status);
+        this.coordinate = coordinate;
+    }
+
+    public Coordinate getCoordinateValue() {
+        return coordinate;
+        //return String.format("{\"longitude\":%f,\"latitude\":\"%f\"}", longitude, latitude);
+    }
+
+}
+

+ 21 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/CoordinateWriteTsData.java

@@ -0,0 +1,21 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import lombok.Data;
+
+/**
+ * @descrition:
+ * @author:Wanghs
+ * @date:2018-05-04
+ */
+@Data
+public class CoordinateWriteTsData  {
+
+    private String tagName;
+    private long ts;
+    private  double latitude;
+    private  double longitude;
+
+    public double getLatitude() { return  latitude ;}
+    public double getLongitude() {return  longitude; }
+
+}

+ 30 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/DoubleStatData.java

@@ -0,0 +1,30 @@
+package com.gyee.frame.util.golden.timeseries;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public class DoubleStatData {
+
+    private DoubleTsData avg;
+    private DoubleTsData max;
+    private DoubleTsData min;
+
+    public DoubleStatData(DoubleTsData avg, DoubleTsData max, DoubleTsData min) {
+        this.avg = avg;
+        this.max = max;
+        this.min = min;
+    }
+
+    public DoubleTsData getAvg() {
+        return avg;
+    }
+
+    public DoubleTsData getMax() {
+        return max;
+    }
+
+    public DoubleTsData getMin() {
+        return min;
+    }
+}
+

+ 25 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/DoubleTsData.java

@@ -0,0 +1,25 @@
+package com.gyee.frame.util.golden.timeseries;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public class DoubleTsData extends BasicTsData {
+
+    private final double actualValue;
+
+    public DoubleTsData(long ts, short status, double actualValue) {
+        super(ts, status);
+        this.actualValue = actualValue;
+    }
+
+
+    public double getDoubleValue() {
+        return actualValue;
+    }
+
+//    public String getValue() {
+//        return Double.toString(actualValue);
+//    }
+
+}
+

+ 19 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/DoubleWriteTsData.java

@@ -0,0 +1,19 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import lombok.Data;
+
+/**
+ * @descrition:
+ * @author:Wanghs
+ * @date:2018-05-04
+ */
+@Data
+public class DoubleWriteTsData  {
+    private String tagName;
+    private long ts;
+    private double actualValue;
+
+    public double getValue() {
+        return this.actualValue;
+    }
+}

+ 38 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/ErrorRequest.java

@@ -0,0 +1,38 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import com.gyee.frame.model.custom.PointData;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @descrition:接口请求失败返回操作类
+ * @author:Wanghs
+ * @date:2018-05-21
+ */
+public class ErrorRequest {
+
+    public static List<PointData> RequestListError(String pointId) {
+        List<PointData> dataList = new ArrayList<>();
+        return dataList;
+    }
+
+    public static List<PointData> RequestListError(String... pointId) {
+        List<PointData> dataList = new ArrayList<>();
+        return dataList;
+    }
+
+    public static PointData RequestError(String pointId) {
+        PointData data = new PointData();
+        data.setPointValueInDouble(0);
+        data.setPointName("0");
+        return data;
+    }
+
+    public static Map<String, Double> RequestMapError() {
+        Map<String, Double> resultMap = new HashMap();
+        return resultMap;
+    }
+}

+ 27 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/GeneralTsData.java

@@ -0,0 +1,27 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Optional;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class GeneralTsData implements TsData {
+
+    private long ts;
+    private short status;
+    private Optional<Double> doubleValue;
+    private Optional<Long> longValue;
+    private Optional<Boolean> booleanValue;
+    private Optional<String> stringValue;
+    private Optional<String> blobValue;
+    private Optional<Coordinate> coordinateValue;
+
+}
+

+ 8 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/Interpolation.java

@@ -0,0 +1,8 @@
+
+package com.gyee.frame.util.golden.timeseries;
+
+public enum Interpolation {
+    SNAP,   // 历史快照数据
+    INTERPOLATION, //插值
+    RAW    //原始数据
+}

+ 230 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/JsonObjectHelper.java

@@ -0,0 +1,230 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.frame.model.custom.DNAStatVal;
+import com.gyee.frame.model.custom.DNAVal;
+import com.gyee.frame.model.custom.PointData;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+
+/**
+ * @descrition:JSONObject转实体辅助类
+ * @author:Wanghs
+ * @date:2018-05-10
+ */
+public class JsonObjectHelper {
+    public static List<PointData> phrasePointData(JSONArray jsonArray, String tagName) {
+        List<PointData> result = new ArrayList<>();
+
+        for (int i = 0; i < jsonArray.size(); i++) {
+            JSONObject tsData = jsonArray.getJSONObject(i);
+
+            Long ts = tsData.getLong("ts");
+            String pointValue = null;
+            if (tsData.containsKey("doubleValue")) {
+                pointValue = tsData.getString("doubleValue");
+            } else if (tsData.containsKey("booleanValue")) {
+                pointValue = tsData.getString("booleanValue");
+            } else if (tsData.containsKey("longValue")) {
+                pointValue = tsData.getString("longValue");
+            } else if (tsData.containsKey("stringValue")) {
+                pointValue = tsData.getString("stringValue");
+            }
+            PointData pointData = new PointData();
+            pointData.setEdnaId(tagName);
+            pointData.setPointName("1");
+            pointData.setPointTime(ts / 1000);
+            pointData.setPointValue(pointValue);
+            pointData.setPointValueInDouble(Double.parseDouble(pointValue));
+            ////System.out.println("key= " + tagName + ", ts = " + ts + ", value = " + pointValue);
+            result.add(pointData);
+        }
+        return result;
+    }
+//
+//    public static List<PointData> phrasePointData(JSONArray jsonArray,String...tagName) {
+//        List<PointData> result = new ArrayList<>();
+//
+//        for (int i = 0; i < jsonArray.size(); i++) {
+//            JSONObject jsonData = jsonArray.getJSONObject(i);
+//            JSONObject tsData = jsonData.getJSONObject("tsData");
+//            Long ts = tsData.getLong("ts");
+//            String pointValue = null;
+//            if (tsData.containsKey("doubleValue")) {
+//                pointValue = tsData.getString("doubleValue");
+//            } else if (tsData.containsKey("booleanValue")) {
+//                pointValue = tsData.getString("booleanValue");
+//            } else if (tsData.containsKey("longValue")) {
+//                pointValue = tsData.getString("longValue");
+//            } else if (jsonData.containsKey("stringValue")) {
+//                pointValue = tsData.getString("stringValue");
+//            }
+//            PointData pointData = new PointData();
+//            pointData.setPointName("1");
+//            pointData.setEdnaId(tagName[i]);
+//            pointData.setPointTime(ts / 1000);
+//            pointData.setPointValue(pointValue);
+//            pointData.setPointValueInDouble(Double.parseDouble(pointValue));
+//         //   //System.out.println("key= " + tagName + ", ts = " + ts + ", value = " + pointValue);
+//            result.add(pointData);
+//        }
+//        return result;
+//    }
+
+    public static List<PointData> phrasePointData(JSONObject jsonObject) {
+        List<PointData> result = new ArrayList<>();
+        Iterator<String> sIterator = jsonObject.keySet().iterator();
+        while (sIterator.hasNext()) {
+            // 获得key
+            String key = sIterator.next();
+            // 根据key获得value, value也可以是JSONObject,JSONArray,使用对应的参数接收即可
+            JSONObject jsonData = jsonObject.getJSONObject(key);
+            Long ts = jsonData.getLong("ts");
+            String pointValue = null;
+            if (jsonData.containsKey("doubleValue")) {
+                pointValue = jsonData.getString("doubleValue");
+            } else if (jsonData.containsKey("booleanValue")) {
+                pointValue = jsonData.getString("booleanValue");
+            } else if (jsonData.containsKey("longValue")) {
+                pointValue = jsonData.getString("longValue");
+            } else if (jsonData.containsKey("stringValue")) {
+                pointValue = jsonData.getString("stringValue");
+            }
+
+            PointData pointData = new PointData();
+            pointData.setEdnaId(key);
+            pointData.setPointName("1");
+            pointData.setPointValue(pointValue);
+            pointData.setPointTime(ts/1000);
+            if(pointValue.equals("false")  )
+            {
+            	pointData.setPointValueInDouble(0.0);
+            }else  if(pointValue.equals("true") )
+            {
+            	pointData.setPointValueInDouble(1.0);
+            }else
+            {
+                pointData.setPointValueInDouble(Double.parseDouble(pointValue));
+            }
+
+         //  //System.out.println("key= " + key + ", ts = " + ts + ", value = " + pointValue);
+            result.add(pointData);
+        }
+        return result;
+    }
+    /**
+     * @param arry    DoubleStatData集合
+     * @param tagName 标签点名
+     * @param type    0、最大值。1、最小值。2、平均值
+     */
+    public static List<PointData> GeneralTsDataToPointDataByStat(JSONArray arry, String tagName, int type) {
+        List<PointData> result = new ArrayList<>();
+        for (int i = 0; i < arry.size(); i++) {
+            JSONObject jsonData = arry.getJSONObject(i);
+            PointData data = new PointData();
+            data.setEdnaId(tagName);
+            data.setPointName("1");
+            JSONObject avgData = null;
+            JSONObject maxData = null;
+            JSONObject minData = null;
+            if (jsonData.containsKey("avg")) {
+                avgData = jsonData.getJSONObject("avg");
+            }
+            if (jsonData.containsKey("max")) {
+                maxData = jsonData.getJSONObject("max");
+            }
+            if (jsonData.containsKey("min")) {
+                minData = jsonData.getJSONObject("min");
+            }
+            switch (type) {
+                case 0:
+                    data.setPointValue(String.valueOf(maxData.getString("doubleValue")));
+                    data.setPointValueInDouble(Double.valueOf(maxData.getString("doubleValue")));
+                    data.setPointTime(Long.valueOf(maxData.getString("ts")) / 1000);
+                    break;
+                case 1:
+                    data.setPointValue(String.valueOf(minData.getString("doubleValue")));
+                    data.setPointValueInDouble(Double.valueOf(minData.getString("doubleValue")));
+                    data.setPointTime(Long.valueOf(minData.getString("ts")) / 1000);
+                    break;
+                case 2:
+                    data.setPointValue(String.valueOf(avgData.getString("doubleValue")));
+                    data.setPointValueInDouble(Double.valueOf(avgData.getString("doubleValue")));
+                    data.setPointTime(Long.valueOf(avgData.getString("ts")) / 1000);
+                    break;
+                default:
+                    break;
+            }
+            result.add(data);
+        }
+        return result;
+    }
+
+    public static DNAVal[] phraseDNAVal(JSONObject jsonObject, String[] tagName) {
+        DNAVal[] arr = new DNAVal[jsonObject.size()];
+        List<DNAVal> list = new ArrayList<>();
+        Iterator<String> sIterator = jsonObject.keySet().iterator();
+
+        for (int i = 0; i < tagName.length; i++) {
+            // 获得key
+            String key = tagName[i];
+            // 根据key获得value, value也可以是JSONObject,JSONArray,使用对应的参数接收即可
+            JSONObject jsonData = jsonObject.getJSONObject(key);
+            DNAVal data = new DNAVal();
+            data.Time = Integer.parseInt(String.valueOf(Long.valueOf(jsonData.getString("ts")) / 1000));
+            data.Status = (short) jsonData.getShortValue("status");
+            data.DValue = (Double.valueOf(jsonData.getDoubleValue("doubleValue")));
+            list.add(data);
+        }
+
+        return list.toArray(arr);
+    }
+
+    public static DNAStatVal[] phraseDNAVal(JSONArray jsonArray) {
+
+        DNAStatVal[] arr = new DNAStatVal[jsonArray.size()];
+        List<DNAStatVal> list = new ArrayList<>();
+        for (int i = 0; i < jsonArray.size(); i++) {
+            JSONObject jsonData = jsonArray.getJSONObject(i);
+            JSONObject avgData = null;
+            JSONObject maxData = null;
+            JSONObject minData = null;
+            if (jsonData.containsKey("avg")) {
+                avgData = jsonData.getJSONObject("avg");
+            }
+            if (jsonData.containsKey("max")) {
+                maxData = jsonData.getJSONObject("max");
+            }
+            if (jsonData.containsKey("min")) {
+                minData = jsonData.getJSONObject("min");
+            }
+            DNAStatVal statVal = new DNAStatVal();
+
+            DNAVal avgVal = new DNAVal();
+            DNAVal maxVal = new DNAVal();
+            DNAVal minVal = new DNAVal();
+
+            avgVal.Time = Integer.valueOf(String.valueOf(Long.valueOf(avgData.getString("ts")) / 1000));
+            avgVal.DValue = Double.valueOf(avgData.getString("doubleValue"));
+
+            maxVal.Time =  Integer.valueOf(String.valueOf(Long.valueOf(maxData.getString("ts")) / 1000));
+            maxVal.DValue = Double.valueOf(maxData.getString("doubleValue"));
+
+            minVal.Time =  Integer.valueOf(String.valueOf(Long.valueOf(minData.getString("ts")) / 1000));
+            minVal.DValue = Double.valueOf(minData.getString("doubleValue"));
+
+            statVal.max = maxVal;
+            statVal.min = minVal;
+            statVal.avg = avgVal;
+
+            list.add(statVal);
+        }
+
+        return list.toArray(arr);
+    }
+
+}

+ 24 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/LongTsData.java

@@ -0,0 +1,24 @@
+package com.gyee.frame.util.golden.timeseries;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public class LongTsData extends BasicTsData {
+
+    private final long actualValue;
+
+    public LongTsData(long ts, short status, long actualValue) {
+        super(ts, status);
+        this.actualValue = actualValue;
+    }
+
+    public long getLongValue() {
+        return actualValue;
+    }
+
+//    public String getValue() {
+//        return Long.toString(actualValue);
+//    }
+
+}
+

+ 20 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/LongWriteTsData.java

@@ -0,0 +1,20 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import lombok.Data;
+
+/**
+ * @descrition:
+ * @author:Wanghs
+ * @date:2018-05-04
+ */
+@Data
+public class LongWriteTsData  {
+
+    private String tagName;
+    private long ts;
+    private long actualValue;
+
+    public long getValue() {
+        return this.actualValue;
+    }
+}

+ 24 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/StringTsData.java

@@ -0,0 +1,24 @@
+package com.gyee.frame.util.golden.timeseries;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public class StringTsData extends BasicTsData {
+
+    private final String actualValue;
+
+    public StringTsData(long ts, short status, String actualValue) {
+        super(ts, status);
+        this.actualValue = actualValue;
+    }
+
+//    public String getActualValue() {
+//        return actualValue;
+//    }
+
+    public String getStringValue() {
+        return actualValue;
+    }
+
+}
+

+ 34 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/StringUtil.java

@@ -0,0 +1,34 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * String辅助类
+ * 
+ */
+public class StringUtil extends StringUtils {
+	
+	/**
+	 * 非空判断
+	 * 
+	 * @param obj
+	 * @return
+	 */
+	public static boolean isNotBlank(Object obj) {
+		return !isBlank(obj);
+	}
+
+	/**
+	 * 为空判断
+	 * 
+	 * @param obj
+	 * @return
+	 */
+	public static boolean isBlank(Object obj) {
+		if (obj == null || StringUtils.isBlank(obj.toString())) {
+			return true;
+		}
+		return false;
+	}
+
+}

+ 20 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/StringWriteTsData.java

@@ -0,0 +1,20 @@
+package com.gyee.frame.util.golden.timeseries;
+
+import lombok.Data;
+
+/**
+ * @descrition:String类型写入实体类
+ * @author:Wanghs
+ * @date:2018-05-04
+ */
+@Data
+public class StringWriteTsData  {
+    private String tagName;
+    private long ts;
+    private String actualValue;
+
+    public String getValue() {
+        return this.actualValue;
+    }
+
+}

+ 15 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/TsData.java

@@ -0,0 +1,15 @@
+package com.gyee.frame.util.golden.timeseries;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public interface TsData {
+
+    long getTs();
+
+    short getStatus();
+
+    //double getValue();
+
+}
+

+ 15 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/TsDataType.java

@@ -0,0 +1,15 @@
+package com.gyee.frame.util.golden.timeseries;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public enum TsDataType {
+    LONG,
+    DOUBLE,
+    BOOLEAN,
+    STRING,
+    BLOB,
+    COORDINATE
+
+}
+

+ 12 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/TsPoint.java

@@ -0,0 +1,12 @@
+package com.gyee.frame.util.golden.timeseries;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+public interface TsPoint {
+
+    String getId();
+
+    TsDataType getTsDataType();
+}
+

+ 36 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/TsPointData.java

@@ -0,0 +1,36 @@
+package com.gyee.frame.util.golden.timeseries;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TsPointData {
+
+    private String tagName;
+    private GeneralTsData tsData;
+
+    public TsDataType findDataType() {
+        if (tsData.getDoubleValue().isPresent())
+            return TsDataType.DOUBLE;
+        else if (tsData.getBooleanValue().isPresent())
+            return TsDataType.BOOLEAN;
+        else if (tsData.getLongValue().isPresent())
+            return TsDataType.LONG;
+        else if (tsData.getStringValue().isPresent())
+            return TsDataType.STRING;
+        else if (tsData.getBlobValue().isPresent())
+            return TsDataType.BLOB;
+        else if (tsData.getCoordinateValue().isPresent())
+            return TsDataType.COORDINATE;
+
+        return TsDataType.DOUBLE;
+    }
+}
+

+ 23 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/TsPointDataList.java

@@ -0,0 +1,23 @@
+package com.gyee.frame.util.golden.timeseries;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @author songwb<songwb@aliyun.com>
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TsPointDataList {
+
+    private String tagName;
+
+    private List<GeneralTsData> tsDataList;
+
+}
+

+ 17 - 0
src/main/java/com/gyee/frame/util/golden/timeseries/TsQuery.java

@@ -0,0 +1,17 @@
+package com.gyee.frame.util.golden.timeseries;
+
+public interface TsQuery {
+
+    TsPoint getTsPoint();
+
+    long getStartTs();
+
+    long getEndTs();
+
+    int getInterval();
+
+    int getLimit();
+
+    Interpolation getInterpolation();
+
+}

+ 4 - 2
src/main/resources/application.yml

@@ -25,8 +25,7 @@ gyee:
   demoEnabled: false
   #漂亮得拖动验证码 默认false普通验证码、true滚动验证码
   rollVerification: true
-
-golden :
+  #实时数据库Url
   baseurl: http://10.155.32.4:8011/ts
 #tomcat config
 server :
@@ -93,6 +92,9 @@ spring :
 #  #该配置项就是指将带有下划线的表字段映射为驼峰格式的实体类属性。
 #  configuration :
 #    map-underscore-to-camel-case : true
+redis :
+  redis_ip: 117.78.18.24
+  redis_port: 6379
 mybatis:
   configuration :
     cache-enabled: true

+ 1 - 1
src/main/resources/mybatis-generator.xml

@@ -101,7 +101,7 @@
             <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
         </table>-->
 
-        <table tableName='ModelPower' domainObjectName='ModelPower'/>
+        <table tableName='ProjectPlan' domainObjectName='ProjectPlan'/>
 
     </context>
 </generatorConfiguration>

+ 478 - 0
src/main/resources/mybatis/auto/Brownoutsevent2Mapper.xml

@@ -0,0 +1,478 @@
+<?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.Brownoutsevent2Mapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.Brownoutsevent2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="windPowerStationId" jdbcType="VARCHAR" property="windpowerstationid" />
+    <result column="windTurbineId" jdbcType="VARCHAR" property="windturbineid" />
+    <result column="stopTime" jdbcType="TIMESTAMP" property="stoptime" />
+    <result column="startTime" jdbcType="TIMESTAMP" property="starttime" />
+    <result column="stopHours" jdbcType="DECIMAL" property="stophours" />
+    <result column="lossPower" jdbcType="DECIMAL" property="losspower" />
+    <result column="stopTypeId" jdbcType="VARCHAR" property="stoptypeid" />
+    <result column="isHandle" jdbcType="SMALLINT" property="ishandle" />
+    <result column="shutdownEventId" jdbcType="VARCHAR" property="shutdowneventid" />
+    <result column="projectId" jdbcType="VARCHAR" property="projectid" />
+    <result column="mainId" jdbcType="VARCHAR" property="mainid" />
+    <result column="limitload" jdbcType="DECIMAL" property="limitload" />
+    <result column="BrownoutsDirective" jdbcType="VARCHAR" property="brownoutsdirective" />
+    <result column="windspeed" jdbcType="DECIMAL" property="windspeed" />
+    <result column="thisload" jdbcType="DECIMAL" property="thisload" />
+    <result column="stopReason" jdbcType="VARCHAR" property="stopreason" />
+    <result column="lineId" jdbcType="VARCHAR" property="lineid" />
+  </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, windPowerStationId, windTurbineId, stopTime, startTime, stopHours, lossPower, 
+    stopTypeId, isHandle, shutdownEventId, projectId, mainId, limitload, BrownoutsDirective, 
+    windspeed, thisload, stopReason, lineId
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.Brownoutsevent2Example" 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 brownoutsevent2
+    <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.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from brownoutsevent2
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from brownoutsevent2
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.Brownoutsevent2Example">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from brownoutsevent2
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.Brownoutsevent2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into brownoutsevent2 (id, windPowerStationId, windTurbineId, 
+      stopTime, startTime, stopHours, 
+      lossPower, stopTypeId, isHandle, 
+      shutdownEventId, projectId, mainId, 
+      limitload, BrownoutsDirective, windspeed, 
+      thisload, stopReason, lineId
+      )
+    values (#{id,jdbcType=VARCHAR}, #{windpowerstationid,jdbcType=VARCHAR}, #{windturbineid,jdbcType=VARCHAR}, 
+      #{stoptime,jdbcType=TIMESTAMP}, #{starttime,jdbcType=TIMESTAMP}, #{stophours,jdbcType=DECIMAL}, 
+      #{losspower,jdbcType=DECIMAL}, #{stoptypeid,jdbcType=VARCHAR}, #{ishandle,jdbcType=SMALLINT}, 
+      #{shutdowneventid,jdbcType=VARCHAR}, #{projectid,jdbcType=VARCHAR}, #{mainid,jdbcType=VARCHAR}, 
+      #{limitload,jdbcType=DECIMAL}, #{brownoutsdirective,jdbcType=VARCHAR}, #{windspeed,jdbcType=DECIMAL}, 
+      #{thisload,jdbcType=DECIMAL}, #{stopreason,jdbcType=VARCHAR}, #{lineid,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.Brownoutsevent2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into brownoutsevent2
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="windpowerstationid != null">
+        windPowerStationId,
+      </if>
+      <if test="windturbineid != null">
+        windTurbineId,
+      </if>
+      <if test="stoptime != null">
+        stopTime,
+      </if>
+      <if test="starttime != null">
+        startTime,
+      </if>
+      <if test="stophours != null">
+        stopHours,
+      </if>
+      <if test="losspower != null">
+        lossPower,
+      </if>
+      <if test="stoptypeid != null">
+        stopTypeId,
+      </if>
+      <if test="ishandle != null">
+        isHandle,
+      </if>
+      <if test="shutdowneventid != null">
+        shutdownEventId,
+      </if>
+      <if test="projectid != null">
+        projectId,
+      </if>
+      <if test="mainid != null">
+        mainId,
+      </if>
+      <if test="limitload != null">
+        limitload,
+      </if>
+      <if test="brownoutsdirective != null">
+        BrownoutsDirective,
+      </if>
+      <if test="windspeed != null">
+        windspeed,
+      </if>
+      <if test="thisload != null">
+        thisload,
+      </if>
+      <if test="stopreason != null">
+        stopReason,
+      </if>
+      <if test="lineid != null">
+        lineId,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="windpowerstationid != null">
+        #{windpowerstationid,jdbcType=VARCHAR},
+      </if>
+      <if test="windturbineid != null">
+        #{windturbineid,jdbcType=VARCHAR},
+      </if>
+      <if test="stoptime != null">
+        #{stoptime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="starttime != null">
+        #{starttime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="stophours != null">
+        #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="losspower != null">
+        #{losspower,jdbcType=DECIMAL},
+      </if>
+      <if test="stoptypeid != null">
+        #{stoptypeid,jdbcType=VARCHAR},
+      </if>
+      <if test="ishandle != null">
+        #{ishandle,jdbcType=SMALLINT},
+      </if>
+      <if test="shutdowneventid != null">
+        #{shutdowneventid,jdbcType=VARCHAR},
+      </if>
+      <if test="projectid != null">
+        #{projectid,jdbcType=VARCHAR},
+      </if>
+      <if test="mainid != null">
+        #{mainid,jdbcType=VARCHAR},
+      </if>
+      <if test="limitload != null">
+        #{limitload,jdbcType=DECIMAL},
+      </if>
+      <if test="brownoutsdirective != null">
+        #{brownoutsdirective,jdbcType=VARCHAR},
+      </if>
+      <if test="windspeed != null">
+        #{windspeed,jdbcType=DECIMAL},
+      </if>
+      <if test="thisload != null">
+        #{thisload,jdbcType=DECIMAL},
+      </if>
+      <if test="stopreason != null">
+        #{stopreason,jdbcType=VARCHAR},
+      </if>
+      <if test="lineid != null">
+        #{lineid,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.Brownoutsevent2Example" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from brownoutsevent2
+    <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 brownoutsevent2
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.windpowerstationid != null">
+        windPowerStationId = #{record.windpowerstationid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.windturbineid != null">
+        windTurbineId = #{record.windturbineid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.stoptime != null">
+        stopTime = #{record.stoptime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.starttime != null">
+        startTime = #{record.starttime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.stophours != null">
+        stopHours = #{record.stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="record.losspower != null">
+        lossPower = #{record.losspower,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stoptypeid != null">
+        stopTypeId = #{record.stoptypeid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.ishandle != null">
+        isHandle = #{record.ishandle,jdbcType=SMALLINT},
+      </if>
+      <if test="record.shutdowneventid != null">
+        shutdownEventId = #{record.shutdowneventid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.projectid != null">
+        projectId = #{record.projectid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.mainid != null">
+        mainId = #{record.mainid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.limitload != null">
+        limitload = #{record.limitload,jdbcType=DECIMAL},
+      </if>
+      <if test="record.brownoutsdirective != null">
+        BrownoutsDirective = #{record.brownoutsdirective,jdbcType=VARCHAR},
+      </if>
+      <if test="record.windspeed != null">
+        windspeed = #{record.windspeed,jdbcType=DECIMAL},
+      </if>
+      <if test="record.thisload != null">
+        thisload = #{record.thisload,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stopreason != null">
+        stopReason = #{record.stopreason,jdbcType=VARCHAR},
+      </if>
+      <if test="record.lineid != null">
+        lineId = #{record.lineid,jdbcType=VARCHAR},
+      </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 brownoutsevent2
+    set id = #{record.id,jdbcType=VARCHAR},
+      windPowerStationId = #{record.windpowerstationid,jdbcType=VARCHAR},
+      windTurbineId = #{record.windturbineid,jdbcType=VARCHAR},
+      stopTime = #{record.stoptime,jdbcType=TIMESTAMP},
+      startTime = #{record.starttime,jdbcType=TIMESTAMP},
+      stopHours = #{record.stophours,jdbcType=DECIMAL},
+      lossPower = #{record.losspower,jdbcType=DECIMAL},
+      stopTypeId = #{record.stoptypeid,jdbcType=VARCHAR},
+      isHandle = #{record.ishandle,jdbcType=SMALLINT},
+      shutdownEventId = #{record.shutdowneventid,jdbcType=VARCHAR},
+      projectId = #{record.projectid,jdbcType=VARCHAR},
+      mainId = #{record.mainid,jdbcType=VARCHAR},
+      limitload = #{record.limitload,jdbcType=DECIMAL},
+      BrownoutsDirective = #{record.brownoutsdirective,jdbcType=VARCHAR},
+      windspeed = #{record.windspeed,jdbcType=DECIMAL},
+      thisload = #{record.thisload,jdbcType=DECIMAL},
+      stopReason = #{record.stopreason,jdbcType=VARCHAR},
+      lineId = #{record.lineid,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.Brownoutsevent2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update brownoutsevent2
+    <set>
+      <if test="windpowerstationid != null">
+        windPowerStationId = #{windpowerstationid,jdbcType=VARCHAR},
+      </if>
+      <if test="windturbineid != null">
+        windTurbineId = #{windturbineid,jdbcType=VARCHAR},
+      </if>
+      <if test="stoptime != null">
+        stopTime = #{stoptime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="starttime != null">
+        startTime = #{starttime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="stophours != null">
+        stopHours = #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="losspower != null">
+        lossPower = #{losspower,jdbcType=DECIMAL},
+      </if>
+      <if test="stoptypeid != null">
+        stopTypeId = #{stoptypeid,jdbcType=VARCHAR},
+      </if>
+      <if test="ishandle != null">
+        isHandle = #{ishandle,jdbcType=SMALLINT},
+      </if>
+      <if test="shutdowneventid != null">
+        shutdownEventId = #{shutdowneventid,jdbcType=VARCHAR},
+      </if>
+      <if test="projectid != null">
+        projectId = #{projectid,jdbcType=VARCHAR},
+      </if>
+      <if test="mainid != null">
+        mainId = #{mainid,jdbcType=VARCHAR},
+      </if>
+      <if test="limitload != null">
+        limitload = #{limitload,jdbcType=DECIMAL},
+      </if>
+      <if test="brownoutsdirective != null">
+        BrownoutsDirective = #{brownoutsdirective,jdbcType=VARCHAR},
+      </if>
+      <if test="windspeed != null">
+        windspeed = #{windspeed,jdbcType=DECIMAL},
+      </if>
+      <if test="thisload != null">
+        thisload = #{thisload,jdbcType=DECIMAL},
+      </if>
+      <if test="stopreason != null">
+        stopReason = #{stopreason,jdbcType=VARCHAR},
+      </if>
+      <if test="lineid != null">
+        lineId = #{lineid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.Brownoutsevent2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update brownoutsevent2
+    set windPowerStationId = #{windpowerstationid,jdbcType=VARCHAR},
+      windTurbineId = #{windturbineid,jdbcType=VARCHAR},
+      stopTime = #{stoptime,jdbcType=TIMESTAMP},
+      startTime = #{starttime,jdbcType=TIMESTAMP},
+      stopHours = #{stophours,jdbcType=DECIMAL},
+      lossPower = #{losspower,jdbcType=DECIMAL},
+      stopTypeId = #{stoptypeid,jdbcType=VARCHAR},
+      isHandle = #{ishandle,jdbcType=SMALLINT},
+      shutdownEventId = #{shutdowneventid,jdbcType=VARCHAR},
+      projectId = #{projectid,jdbcType=VARCHAR},
+      mainId = #{mainid,jdbcType=VARCHAR},
+      limitload = #{limitload,jdbcType=DECIMAL},
+      BrownoutsDirective = #{brownoutsdirective,jdbcType=VARCHAR},
+      windspeed = #{windspeed,jdbcType=DECIMAL},
+      thisload = #{thisload,jdbcType=DECIMAL},
+      stopReason = #{stopreason,jdbcType=VARCHAR},
+      lineId = #{lineid,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

File diff suppressed because it is too large
+ 1628 - 0
src/main/resources/mybatis/auto/Inputoroutputspeedtotal2Mapper.xml


File diff suppressed because it is too large
+ 1305 - 0
src/main/resources/mybatis/auto/InputoroutputspeedtotalMapper.xml


+ 303 - 0
src/main/resources/mybatis/auto/ProjectPlanMapper.xml

@@ -0,0 +1,303 @@
+<?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.ProjectPlanMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.ProjectPlan">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="projectId" jdbcType="VARCHAR" property="projectid" />
+    <result column="generatingCapacity" jdbcType="VARCHAR" property="generatingcapacity" />
+    <result column="outageHours" jdbcType="DECIMAL" property="outagehours" />
+    <result column="year" jdbcType="VARCHAR" property="year" />
+    <result column="month" jdbcType="VARCHAR" property="month" />
+    <result column="windpowerId" jdbcType="VARCHAR" property="windpowerid" />
+  </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, projectId, generatingCapacity, outageHours, year, month, windpowerId
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.ProjectPlanExample" 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 projectplan
+    <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.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from projectplan
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from projectplan
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.ProjectPlanExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from projectplan
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.ProjectPlan">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into projectplan (id, projectId, generatingCapacity, 
+      outageHours, year, month, 
+      windpowerId)
+    values (#{id,jdbcType=VARCHAR}, #{projectid,jdbcType=VARCHAR}, #{generatingcapacity,jdbcType=VARCHAR}, 
+      #{outagehours,jdbcType=DECIMAL}, #{year,jdbcType=VARCHAR}, #{month,jdbcType=VARCHAR}, 
+      #{windpowerid,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.ProjectPlan">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into projectplan
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="projectid != null">
+        projectId,
+      </if>
+      <if test="generatingcapacity != null">
+        generatingCapacity,
+      </if>
+      <if test="outagehours != null">
+        outageHours,
+      </if>
+      <if test="year != null">
+        year,
+      </if>
+      <if test="month != null">
+        month,
+      </if>
+      <if test="windpowerid != null">
+        windpowerId,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="projectid != null">
+        #{projectid,jdbcType=VARCHAR},
+      </if>
+      <if test="generatingcapacity != null">
+        #{generatingcapacity,jdbcType=VARCHAR},
+      </if>
+      <if test="outagehours != null">
+        #{outagehours,jdbcType=DECIMAL},
+      </if>
+      <if test="year != null">
+        #{year,jdbcType=VARCHAR},
+      </if>
+      <if test="month != null">
+        #{month,jdbcType=VARCHAR},
+      </if>
+      <if test="windpowerid != null">
+        #{windpowerid,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.ProjectPlanExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from projectplan
+    <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 projectplan
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.projectid != null">
+        projectId = #{record.projectid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.generatingcapacity != null">
+        generatingCapacity = #{record.generatingcapacity,jdbcType=VARCHAR},
+      </if>
+      <if test="record.outagehours != null">
+        outageHours = #{record.outagehours,jdbcType=DECIMAL},
+      </if>
+      <if test="record.year != null">
+        year = #{record.year,jdbcType=VARCHAR},
+      </if>
+      <if test="record.month != null">
+        month = #{record.month,jdbcType=VARCHAR},
+      </if>
+      <if test="record.windpowerid != null">
+        windpowerId = #{record.windpowerid,jdbcType=VARCHAR},
+      </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 projectplan
+    set id = #{record.id,jdbcType=VARCHAR},
+      projectId = #{record.projectid,jdbcType=VARCHAR},
+      generatingCapacity = #{record.generatingcapacity,jdbcType=VARCHAR},
+      outageHours = #{record.outagehours,jdbcType=DECIMAL},
+      year = #{record.year,jdbcType=VARCHAR},
+      month = #{record.month,jdbcType=VARCHAR},
+      windpowerId = #{record.windpowerid,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.ProjectPlan">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update projectplan
+    <set>
+      <if test="projectid != null">
+        projectId = #{projectid,jdbcType=VARCHAR},
+      </if>
+      <if test="generatingcapacity != null">
+        generatingCapacity = #{generatingcapacity,jdbcType=VARCHAR},
+      </if>
+      <if test="outagehours != null">
+        outageHours = #{outagehours,jdbcType=DECIMAL},
+      </if>
+      <if test="year != null">
+        year = #{year,jdbcType=VARCHAR},
+      </if>
+      <if test="month != null">
+        month = #{month,jdbcType=VARCHAR},
+      </if>
+      <if test="windpowerid != null">
+        windpowerId = #{windpowerid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.ProjectPlan">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update projectplan
+    set projectId = #{projectid,jdbcType=VARCHAR},
+      generatingCapacity = #{generatingcapacity,jdbcType=VARCHAR},
+      outageHours = #{outagehours,jdbcType=DECIMAL},
+      year = #{year,jdbcType=VARCHAR},
+      month = #{month,jdbcType=VARCHAR},
+      windpowerId = #{windpowerid,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 493 - 0
src/main/resources/mybatis/auto/Shutdownevent2Mapper.xml

@@ -0,0 +1,493 @@
+<?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.Shutdownevent2Mapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.Shutdownevent2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="windPowerStationId" jdbcType="VARCHAR" property="windpowerstationid" />
+    <result column="windTurbineId" jdbcType="VARCHAR" property="windturbineid" />
+    <result column="stopTime" jdbcType="TIMESTAMP" property="stoptime" />
+    <result column="startTime" jdbcType="TIMESTAMP" property="starttime" />
+    <result column="stopHours" jdbcType="DECIMAL" property="stophours" />
+    <result column="lossPower" jdbcType="DECIMAL" property="losspower" />
+    <result column="stopTypeId" jdbcType="VARCHAR" property="stoptypeid" />
+    <result column="isHandle" jdbcType="SMALLINT" property="ishandle" />
+    <result column="warningId" jdbcType="VARCHAR" property="warningid" />
+    <result column="projectId" jdbcType="VARCHAR" property="projectid" />
+    <result column="handleWay" jdbcType="VARCHAR" property="handleway" />
+    <result column="faultView" jdbcType="VARCHAR" property="faultview" />
+    <result column="statusCode" jdbcType="INTEGER" property="statuscode" />
+    <result column="mainId" jdbcType="VARCHAR" property="mainid" />
+    <result column="resetRate" jdbcType="VARCHAR" property="resetrate" />
+    <result column="stateRate" jdbcType="VARCHAR" property="staterate" />
+    <result column="failRate" jdbcType="VARCHAR" property="failrate" />
+    <result column="warningRecordsId" jdbcType="INTEGER" property="warningrecordsid" />
+  </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, windPowerStationId, windTurbineId, stopTime, startTime, stopHours, lossPower, 
+    stopTypeId, isHandle, warningId, projectId, handleWay, faultView, statusCode, mainId, 
+    resetRate, stateRate, failRate, warningRecordsId
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.Shutdownevent2Example" 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 shutdownevent2
+    <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.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from shutdownevent2
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from shutdownevent2
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.Shutdownevent2Example">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from shutdownevent2
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.Shutdownevent2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into shutdownevent2 (id, windPowerStationId, windTurbineId, 
+      stopTime, startTime, stopHours, 
+      lossPower, stopTypeId, isHandle, 
+      warningId, projectId, handleWay, 
+      faultView, statusCode, mainId, 
+      resetRate, stateRate, failRate, 
+      warningRecordsId)
+    values (#{id,jdbcType=VARCHAR}, #{windpowerstationid,jdbcType=VARCHAR}, #{windturbineid,jdbcType=VARCHAR}, 
+      #{stoptime,jdbcType=TIMESTAMP}, #{starttime,jdbcType=TIMESTAMP}, #{stophours,jdbcType=DECIMAL}, 
+      #{losspower,jdbcType=DECIMAL}, #{stoptypeid,jdbcType=VARCHAR}, #{ishandle,jdbcType=SMALLINT}, 
+      #{warningid,jdbcType=VARCHAR}, #{projectid,jdbcType=VARCHAR}, #{handleway,jdbcType=VARCHAR}, 
+      #{faultview,jdbcType=VARCHAR}, #{statuscode,jdbcType=INTEGER}, #{mainid,jdbcType=VARCHAR}, 
+      #{resetrate,jdbcType=VARCHAR}, #{staterate,jdbcType=VARCHAR}, #{failrate,jdbcType=VARCHAR}, 
+      #{warningrecordsid,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.Shutdownevent2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into shutdownevent2
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="windpowerstationid != null">
+        windPowerStationId,
+      </if>
+      <if test="windturbineid != null">
+        windTurbineId,
+      </if>
+      <if test="stoptime != null">
+        stopTime,
+      </if>
+      <if test="starttime != null">
+        startTime,
+      </if>
+      <if test="stophours != null">
+        stopHours,
+      </if>
+      <if test="losspower != null">
+        lossPower,
+      </if>
+      <if test="stoptypeid != null">
+        stopTypeId,
+      </if>
+      <if test="ishandle != null">
+        isHandle,
+      </if>
+      <if test="warningid != null">
+        warningId,
+      </if>
+      <if test="projectid != null">
+        projectId,
+      </if>
+      <if test="handleway != null">
+        handleWay,
+      </if>
+      <if test="faultview != null">
+        faultView,
+      </if>
+      <if test="statuscode != null">
+        statusCode,
+      </if>
+      <if test="mainid != null">
+        mainId,
+      </if>
+      <if test="resetrate != null">
+        resetRate,
+      </if>
+      <if test="staterate != null">
+        stateRate,
+      </if>
+      <if test="failrate != null">
+        failRate,
+      </if>
+      <if test="warningrecordsid != null">
+        warningRecordsId,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="windpowerstationid != null">
+        #{windpowerstationid,jdbcType=VARCHAR},
+      </if>
+      <if test="windturbineid != null">
+        #{windturbineid,jdbcType=VARCHAR},
+      </if>
+      <if test="stoptime != null">
+        #{stoptime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="starttime != null">
+        #{starttime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="stophours != null">
+        #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="losspower != null">
+        #{losspower,jdbcType=DECIMAL},
+      </if>
+      <if test="stoptypeid != null">
+        #{stoptypeid,jdbcType=VARCHAR},
+      </if>
+      <if test="ishandle != null">
+        #{ishandle,jdbcType=SMALLINT},
+      </if>
+      <if test="warningid != null">
+        #{warningid,jdbcType=VARCHAR},
+      </if>
+      <if test="projectid != null">
+        #{projectid,jdbcType=VARCHAR},
+      </if>
+      <if test="handleway != null">
+        #{handleway,jdbcType=VARCHAR},
+      </if>
+      <if test="faultview != null">
+        #{faultview,jdbcType=VARCHAR},
+      </if>
+      <if test="statuscode != null">
+        #{statuscode,jdbcType=INTEGER},
+      </if>
+      <if test="mainid != null">
+        #{mainid,jdbcType=VARCHAR},
+      </if>
+      <if test="resetrate != null">
+        #{resetrate,jdbcType=VARCHAR},
+      </if>
+      <if test="staterate != null">
+        #{staterate,jdbcType=VARCHAR},
+      </if>
+      <if test="failrate != null">
+        #{failrate,jdbcType=VARCHAR},
+      </if>
+      <if test="warningrecordsid != null">
+        #{warningrecordsid,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.Shutdownevent2Example" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from shutdownevent2
+    <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 shutdownevent2
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.windpowerstationid != null">
+        windPowerStationId = #{record.windpowerstationid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.windturbineid != null">
+        windTurbineId = #{record.windturbineid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.stoptime != null">
+        stopTime = #{record.stoptime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.starttime != null">
+        startTime = #{record.starttime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.stophours != null">
+        stopHours = #{record.stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="record.losspower != null">
+        lossPower = #{record.losspower,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stoptypeid != null">
+        stopTypeId = #{record.stoptypeid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.ishandle != null">
+        isHandle = #{record.ishandle,jdbcType=SMALLINT},
+      </if>
+      <if test="record.warningid != null">
+        warningId = #{record.warningid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.projectid != null">
+        projectId = #{record.projectid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.handleway != null">
+        handleWay = #{record.handleway,jdbcType=VARCHAR},
+      </if>
+      <if test="record.faultview != null">
+        faultView = #{record.faultview,jdbcType=VARCHAR},
+      </if>
+      <if test="record.statuscode != null">
+        statusCode = #{record.statuscode,jdbcType=INTEGER},
+      </if>
+      <if test="record.mainid != null">
+        mainId = #{record.mainid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.resetrate != null">
+        resetRate = #{record.resetrate,jdbcType=VARCHAR},
+      </if>
+      <if test="record.staterate != null">
+        stateRate = #{record.staterate,jdbcType=VARCHAR},
+      </if>
+      <if test="record.failrate != null">
+        failRate = #{record.failrate,jdbcType=VARCHAR},
+      </if>
+      <if test="record.warningrecordsid != null">
+        warningRecordsId = #{record.warningrecordsid,jdbcType=INTEGER},
+      </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 shutdownevent2
+    set id = #{record.id,jdbcType=VARCHAR},
+      windPowerStationId = #{record.windpowerstationid,jdbcType=VARCHAR},
+      windTurbineId = #{record.windturbineid,jdbcType=VARCHAR},
+      stopTime = #{record.stoptime,jdbcType=TIMESTAMP},
+      startTime = #{record.starttime,jdbcType=TIMESTAMP},
+      stopHours = #{record.stophours,jdbcType=DECIMAL},
+      lossPower = #{record.losspower,jdbcType=DECIMAL},
+      stopTypeId = #{record.stoptypeid,jdbcType=VARCHAR},
+      isHandle = #{record.ishandle,jdbcType=SMALLINT},
+      warningId = #{record.warningid,jdbcType=VARCHAR},
+      projectId = #{record.projectid,jdbcType=VARCHAR},
+      handleWay = #{record.handleway,jdbcType=VARCHAR},
+      faultView = #{record.faultview,jdbcType=VARCHAR},
+      statusCode = #{record.statuscode,jdbcType=INTEGER},
+      mainId = #{record.mainid,jdbcType=VARCHAR},
+      resetRate = #{record.resetrate,jdbcType=VARCHAR},
+      stateRate = #{record.staterate,jdbcType=VARCHAR},
+      failRate = #{record.failrate,jdbcType=VARCHAR},
+      warningRecordsId = #{record.warningrecordsid,jdbcType=INTEGER}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.Shutdownevent2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update shutdownevent2
+    <set>
+      <if test="windpowerstationid != null">
+        windPowerStationId = #{windpowerstationid,jdbcType=VARCHAR},
+      </if>
+      <if test="windturbineid != null">
+        windTurbineId = #{windturbineid,jdbcType=VARCHAR},
+      </if>
+      <if test="stoptime != null">
+        stopTime = #{stoptime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="starttime != null">
+        startTime = #{starttime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="stophours != null">
+        stopHours = #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="losspower != null">
+        lossPower = #{losspower,jdbcType=DECIMAL},
+      </if>
+      <if test="stoptypeid != null">
+        stopTypeId = #{stoptypeid,jdbcType=VARCHAR},
+      </if>
+      <if test="ishandle != null">
+        isHandle = #{ishandle,jdbcType=SMALLINT},
+      </if>
+      <if test="warningid != null">
+        warningId = #{warningid,jdbcType=VARCHAR},
+      </if>
+      <if test="projectid != null">
+        projectId = #{projectid,jdbcType=VARCHAR},
+      </if>
+      <if test="handleway != null">
+        handleWay = #{handleway,jdbcType=VARCHAR},
+      </if>
+      <if test="faultview != null">
+        faultView = #{faultview,jdbcType=VARCHAR},
+      </if>
+      <if test="statuscode != null">
+        statusCode = #{statuscode,jdbcType=INTEGER},
+      </if>
+      <if test="mainid != null">
+        mainId = #{mainid,jdbcType=VARCHAR},
+      </if>
+      <if test="resetrate != null">
+        resetRate = #{resetrate,jdbcType=VARCHAR},
+      </if>
+      <if test="staterate != null">
+        stateRate = #{staterate,jdbcType=VARCHAR},
+      </if>
+      <if test="failrate != null">
+        failRate = #{failrate,jdbcType=VARCHAR},
+      </if>
+      <if test="warningrecordsid != null">
+        warningRecordsId = #{warningrecordsid,jdbcType=INTEGER},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.Shutdownevent2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update shutdownevent2
+    set windPowerStationId = #{windpowerstationid,jdbcType=VARCHAR},
+      windTurbineId = #{windturbineid,jdbcType=VARCHAR},
+      stopTime = #{stoptime,jdbcType=TIMESTAMP},
+      startTime = #{starttime,jdbcType=TIMESTAMP},
+      stopHours = #{stophours,jdbcType=DECIMAL},
+      lossPower = #{losspower,jdbcType=DECIMAL},
+      stopTypeId = #{stoptypeid,jdbcType=VARCHAR},
+      isHandle = #{ishandle,jdbcType=SMALLINT},
+      warningId = #{warningid,jdbcType=VARCHAR},
+      projectId = #{projectid,jdbcType=VARCHAR},
+      handleWay = #{handleway,jdbcType=VARCHAR},
+      faultView = #{faultview,jdbcType=VARCHAR},
+      statusCode = #{statuscode,jdbcType=INTEGER},
+      mainId = #{mainid,jdbcType=VARCHAR},
+      resetRate = #{resetrate,jdbcType=VARCHAR},
+      stateRate = #{staterate,jdbcType=VARCHAR},
+      failRate = #{failrate,jdbcType=VARCHAR},
+      warningRecordsId = #{warningrecordsid,jdbcType=INTEGER}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 461 - 0
src/main/resources/mybatis/auto/Warning2Mapper.xml

@@ -0,0 +1,461 @@
+<?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.Warning2Mapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.Warning2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="levelId" jdbcType="VARCHAR" property="levelid" />
+    <result column="manufacturerCode" jdbcType="VARCHAR" property="manufacturercode" />
+    <result column="englishText" jdbcType="VARCHAR" property="englishtext" />
+    <result column="chineseText" jdbcType="VARCHAR" property="chinesetext" />
+    <result column="parentId" jdbcType="VARCHAR" property="parentid" />
+    <result column="isLeaf" jdbcType="SMALLINT" property="isleaf" />
+    <result column="sequenceNumber" jdbcType="INTEGER" property="sequencenumber" />
+    <result column="characteristic" jdbcType="VARCHAR" property="characteristic" />
+    <result column="modelId" jdbcType="VARCHAR" property="modelid" />
+    <result column="codeName" jdbcType="VARCHAR" property="codename" />
+    <result column="ednaValue" jdbcType="INTEGER" property="ednavalue" />
+    <result column="display" jdbcType="INTEGER" property="display" />
+    <result column="warningClassifyId" jdbcType="VARCHAR" property="warningclassifyid" />
+    <result column="isreset" jdbcType="DECIMAL" property="isreset" />
+    <result column="standardTime" jdbcType="DECIMAL" property="standardtime" />
+    <result column="warningtypeid" jdbcType="VARCHAR" property="warningtypeid" />
+  </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, levelId, manufacturerCode, englishText, chineseText, parentId, isLeaf, sequenceNumber, 
+    characteristic, modelId, codeName, ednaValue, display, warningClassifyId, isreset, 
+    standardTime, warningtypeid
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.Warning2Example" 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 warning2
+    <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.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from warning2
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from warning2
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.Warning2Example">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from warning2
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.Warning2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into warning2 (id, levelId, manufacturerCode, 
+      englishText, chineseText, parentId, 
+      isLeaf, sequenceNumber, characteristic, 
+      modelId, codeName, ednaValue, 
+      display, warningClassifyId, isreset, 
+      standardTime, warningtypeid)
+    values (#{id,jdbcType=VARCHAR}, #{levelid,jdbcType=VARCHAR}, #{manufacturercode,jdbcType=VARCHAR}, 
+      #{englishtext,jdbcType=VARCHAR}, #{chinesetext,jdbcType=VARCHAR}, #{parentid,jdbcType=VARCHAR}, 
+      #{isleaf,jdbcType=SMALLINT}, #{sequencenumber,jdbcType=INTEGER}, #{characteristic,jdbcType=VARCHAR}, 
+      #{modelid,jdbcType=VARCHAR}, #{codename,jdbcType=VARCHAR}, #{ednavalue,jdbcType=INTEGER}, 
+      #{display,jdbcType=INTEGER}, #{warningclassifyid,jdbcType=VARCHAR}, #{isreset,jdbcType=DECIMAL}, 
+      #{standardtime,jdbcType=DECIMAL}, #{warningtypeid,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.Warning2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into warning2
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="levelid != null">
+        levelId,
+      </if>
+      <if test="manufacturercode != null">
+        manufacturerCode,
+      </if>
+      <if test="englishtext != null">
+        englishText,
+      </if>
+      <if test="chinesetext != null">
+        chineseText,
+      </if>
+      <if test="parentid != null">
+        parentId,
+      </if>
+      <if test="isleaf != null">
+        isLeaf,
+      </if>
+      <if test="sequencenumber != null">
+        sequenceNumber,
+      </if>
+      <if test="characteristic != null">
+        characteristic,
+      </if>
+      <if test="modelid != null">
+        modelId,
+      </if>
+      <if test="codename != null">
+        codeName,
+      </if>
+      <if test="ednavalue != null">
+        ednaValue,
+      </if>
+      <if test="display != null">
+        display,
+      </if>
+      <if test="warningclassifyid != null">
+        warningClassifyId,
+      </if>
+      <if test="isreset != null">
+        isreset,
+      </if>
+      <if test="standardtime != null">
+        standardTime,
+      </if>
+      <if test="warningtypeid != null">
+        warningtypeid,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="levelid != null">
+        #{levelid,jdbcType=VARCHAR},
+      </if>
+      <if test="manufacturercode != null">
+        #{manufacturercode,jdbcType=VARCHAR},
+      </if>
+      <if test="englishtext != null">
+        #{englishtext,jdbcType=VARCHAR},
+      </if>
+      <if test="chinesetext != null">
+        #{chinesetext,jdbcType=VARCHAR},
+      </if>
+      <if test="parentid != null">
+        #{parentid,jdbcType=VARCHAR},
+      </if>
+      <if test="isleaf != null">
+        #{isleaf,jdbcType=SMALLINT},
+      </if>
+      <if test="sequencenumber != null">
+        #{sequencenumber,jdbcType=INTEGER},
+      </if>
+      <if test="characteristic != null">
+        #{characteristic,jdbcType=VARCHAR},
+      </if>
+      <if test="modelid != null">
+        #{modelid,jdbcType=VARCHAR},
+      </if>
+      <if test="codename != null">
+        #{codename,jdbcType=VARCHAR},
+      </if>
+      <if test="ednavalue != null">
+        #{ednavalue,jdbcType=INTEGER},
+      </if>
+      <if test="display != null">
+        #{display,jdbcType=INTEGER},
+      </if>
+      <if test="warningclassifyid != null">
+        #{warningclassifyid,jdbcType=VARCHAR},
+      </if>
+      <if test="isreset != null">
+        #{isreset,jdbcType=DECIMAL},
+      </if>
+      <if test="standardtime != null">
+        #{standardtime,jdbcType=DECIMAL},
+      </if>
+      <if test="warningtypeid != null">
+        #{warningtypeid,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.Warning2Example" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from warning2
+    <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 warning2
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.levelid != null">
+        levelId = #{record.levelid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.manufacturercode != null">
+        manufacturerCode = #{record.manufacturercode,jdbcType=VARCHAR},
+      </if>
+      <if test="record.englishtext != null">
+        englishText = #{record.englishtext,jdbcType=VARCHAR},
+      </if>
+      <if test="record.chinesetext != null">
+        chineseText = #{record.chinesetext,jdbcType=VARCHAR},
+      </if>
+      <if test="record.parentid != null">
+        parentId = #{record.parentid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.isleaf != null">
+        isLeaf = #{record.isleaf,jdbcType=SMALLINT},
+      </if>
+      <if test="record.sequencenumber != null">
+        sequenceNumber = #{record.sequencenumber,jdbcType=INTEGER},
+      </if>
+      <if test="record.characteristic != null">
+        characteristic = #{record.characteristic,jdbcType=VARCHAR},
+      </if>
+      <if test="record.modelid != null">
+        modelId = #{record.modelid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.codename != null">
+        codeName = #{record.codename,jdbcType=VARCHAR},
+      </if>
+      <if test="record.ednavalue != null">
+        ednaValue = #{record.ednavalue,jdbcType=INTEGER},
+      </if>
+      <if test="record.display != null">
+        display = #{record.display,jdbcType=INTEGER},
+      </if>
+      <if test="record.warningclassifyid != null">
+        warningClassifyId = #{record.warningclassifyid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.isreset != null">
+        isreset = #{record.isreset,jdbcType=DECIMAL},
+      </if>
+      <if test="record.standardtime != null">
+        standardTime = #{record.standardtime,jdbcType=DECIMAL},
+      </if>
+      <if test="record.warningtypeid != null">
+        warningtypeid = #{record.warningtypeid,jdbcType=VARCHAR},
+      </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 warning2
+    set id = #{record.id,jdbcType=VARCHAR},
+      levelId = #{record.levelid,jdbcType=VARCHAR},
+      manufacturerCode = #{record.manufacturercode,jdbcType=VARCHAR},
+      englishText = #{record.englishtext,jdbcType=VARCHAR},
+      chineseText = #{record.chinesetext,jdbcType=VARCHAR},
+      parentId = #{record.parentid,jdbcType=VARCHAR},
+      isLeaf = #{record.isleaf,jdbcType=SMALLINT},
+      sequenceNumber = #{record.sequencenumber,jdbcType=INTEGER},
+      characteristic = #{record.characteristic,jdbcType=VARCHAR},
+      modelId = #{record.modelid,jdbcType=VARCHAR},
+      codeName = #{record.codename,jdbcType=VARCHAR},
+      ednaValue = #{record.ednavalue,jdbcType=INTEGER},
+      display = #{record.display,jdbcType=INTEGER},
+      warningClassifyId = #{record.warningclassifyid,jdbcType=VARCHAR},
+      isreset = #{record.isreset,jdbcType=DECIMAL},
+      standardTime = #{record.standardtime,jdbcType=DECIMAL},
+      warningtypeid = #{record.warningtypeid,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.Warning2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update warning2
+    <set>
+      <if test="levelid != null">
+        levelId = #{levelid,jdbcType=VARCHAR},
+      </if>
+      <if test="manufacturercode != null">
+        manufacturerCode = #{manufacturercode,jdbcType=VARCHAR},
+      </if>
+      <if test="englishtext != null">
+        englishText = #{englishtext,jdbcType=VARCHAR},
+      </if>
+      <if test="chinesetext != null">
+        chineseText = #{chinesetext,jdbcType=VARCHAR},
+      </if>
+      <if test="parentid != null">
+        parentId = #{parentid,jdbcType=VARCHAR},
+      </if>
+      <if test="isleaf != null">
+        isLeaf = #{isleaf,jdbcType=SMALLINT},
+      </if>
+      <if test="sequencenumber != null">
+        sequenceNumber = #{sequencenumber,jdbcType=INTEGER},
+      </if>
+      <if test="characteristic != null">
+        characteristic = #{characteristic,jdbcType=VARCHAR},
+      </if>
+      <if test="modelid != null">
+        modelId = #{modelid,jdbcType=VARCHAR},
+      </if>
+      <if test="codename != null">
+        codeName = #{codename,jdbcType=VARCHAR},
+      </if>
+      <if test="ednavalue != null">
+        ednaValue = #{ednavalue,jdbcType=INTEGER},
+      </if>
+      <if test="display != null">
+        display = #{display,jdbcType=INTEGER},
+      </if>
+      <if test="warningclassifyid != null">
+        warningClassifyId = #{warningclassifyid,jdbcType=VARCHAR},
+      </if>
+      <if test="isreset != null">
+        isreset = #{isreset,jdbcType=DECIMAL},
+      </if>
+      <if test="standardtime != null">
+        standardTime = #{standardtime,jdbcType=DECIMAL},
+      </if>
+      <if test="warningtypeid != null">
+        warningtypeid = #{warningtypeid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.Warning2">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update warning2
+    set levelId = #{levelid,jdbcType=VARCHAR},
+      manufacturerCode = #{manufacturercode,jdbcType=VARCHAR},
+      englishText = #{englishtext,jdbcType=VARCHAR},
+      chineseText = #{chinesetext,jdbcType=VARCHAR},
+      parentId = #{parentid,jdbcType=VARCHAR},
+      isLeaf = #{isleaf,jdbcType=SMALLINT},
+      sequenceNumber = #{sequencenumber,jdbcType=INTEGER},
+      characteristic = #{characteristic,jdbcType=VARCHAR},
+      modelId = #{modelid,jdbcType=VARCHAR},
+      codeName = #{codename,jdbcType=VARCHAR},
+      ednaValue = #{ednavalue,jdbcType=INTEGER},
+      display = #{display,jdbcType=INTEGER},
+      warningClassifyId = #{warningclassifyid,jdbcType=VARCHAR},
+      isreset = #{isreset,jdbcType=DECIMAL},
+      standardTime = #{standardtime,jdbcType=DECIMAL},
+      warningtypeid = #{warningtypeid,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 0 - 0
src/main/resources/mybatis/auto/WarningRecordsMapper.xml


Some files were not shown because too many files changed in this diff