Browse Source

单机信息总览线路明细功率曲线接口

shilin 4 years ago
parent
commit
b531f53888
81 changed files with 19006 additions and 3196 deletions
  1. 5 5
      pom.xml
  2. 418 0
      src/main/java/com/gyee/frame/common/cache/AppRedisCacheManager.java
  3. 383 0
      src/main/java/com/gyee/frame/common/cache/IGlobalCache.java
  4. 72 72
      src/main/java/com/gyee/frame/common/cache/MybatisRedisCache.java
  5. 60 33
      src/main/java/com/gyee/frame/common/cache/RedisConfig.java
  6. 0 210
      src/main/java/com/gyee/frame/common/dao/IRealTimeDataBaseUtil.java
  7. 0 48
      src/main/java/com/gyee/frame/common/dao/golden/ApiGolden.java
  8. 0 1262
      src/main/java/com/gyee/frame/common/dao/golden/EdosUtil.java
  9. 0 279
      src/main/java/com/gyee/frame/common/dao/golden/IEdosUtil.java
  10. 0 34
      src/main/java/com/gyee/frame/common/dao/golden/StringUtil.java
  11. 0 28
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/BaseTsQuery.java
  12. 0 38
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/BasicTsData.java
  13. 0 29
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/BasicTsPoint.java
  14. 0 24
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/BlobTsData.java
  15. 0 22
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/BlobWriteTsData.java
  16. 0 24
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/BooleanTsData.java
  17. 0 19
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/BooleanWriteTsData.java
  18. 0 18
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/Coordinate.java
  19. 0 26
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/CoordinateTsData.java
  20. 0 21
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/CoordinateWriteTsData.java
  21. 0 30
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/DoubleStatData.java
  22. 0 25
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/DoubleTsData.java
  23. 0 19
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/DoubleWriteTsData.java
  24. 0 38
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/ErrorRequest.java
  25. 0 27
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/GeneralTsData.java
  26. 0 8
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/Interpolation.java
  27. 0 230
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/JsonObjectHelper.java
  28. 0 24
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/LongTsData.java
  29. 0 20
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/LongWriteTsData.java
  30. 0 24
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/StringTsData.java
  31. 0 34
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/StringUtil.java
  32. 0 20
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/StringWriteTsData.java
  33. 0 15
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/TsData.java
  34. 0 15
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/TsDataType.java
  35. 0 12
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/TsPoint.java
  36. 0 36
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/TsPointData.java
  37. 0 23
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/TsPointDataList.java
  38. 0 17
      src/main/java/com/gyee/frame/common/dao/golden/timeseries/TsQuery.java
  39. 1 2
      src/main/java/com/gyee/frame/common/quartz/task/BraceletPushTask.java
  40. 70 0
      src/main/java/com/gyee/frame/common/websocket/ClientInboundChannelInterceptor.java
  41. 52 61
      src/main/java/com/gyee/frame/common/websocket/WebSocketCache.java
  42. 21 0
      src/main/java/com/gyee/frame/common/websocket/WebSocketConfig.java
  43. 2 6
      src/main/java/com/gyee/frame/common/websocket/WebsocketMessageService.java
  44. 19 13
      src/main/java/com/gyee/frame/controller/benchmarking/BenchmarkingController.java
  45. 87 0
      src/main/java/com/gyee/frame/controller/report/WtHealthReportController.java
  46. 2 2
      src/main/java/com/gyee/frame/controller/scatter/ScatterController.java
  47. 97 0
      src/main/java/com/gyee/frame/mapper/auto/Windturbineinfodaytop2Mapper.java
  48. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WtReportMainMapper.java
  49. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WtReportSubMapper.java
  50. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WtTragetReportChartMapper.java
  51. 2357 0
      src/main/java/com/gyee/frame/model/auto/Windturbineinfodaytop2.java
  52. 4613 0
      src/main/java/com/gyee/frame/model/auto/Windturbineinfodaytop2Example.java
  53. 839 0
      src/main/java/com/gyee/frame/model/auto/WtReportMain.java
  54. 1980 0
      src/main/java/com/gyee/frame/model/auto/WtReportMainExample.java
  55. 641 0
      src/main/java/com/gyee/frame/model/auto/WtReportSub.java
  56. 1510 0
      src/main/java/com/gyee/frame/model/auto/WtReportSubExample.java
  57. 311 0
      src/main/java/com/gyee/frame/model/auto/WtTragetReportChart.java
  58. 920 0
      src/main/java/com/gyee/frame/model/auto/WtTragetReportChartExample.java
  59. 394 0
      src/main/java/com/gyee/frame/service/Windturbineinfodaytop2Service.java
  60. 119 0
      src/main/java/com/gyee/frame/service/WtReportMainService.java
  61. 116 0
      src/main/java/com/gyee/frame/service/WtReportSubService.java
  62. 113 0
      src/main/java/com/gyee/frame/service/WtTragetReportChartService.java
  63. 6 3
      src/main/java/com/gyee/frame/service/goodness/WindturbinegoodnessService.java
  64. 86 0
      src/main/java/com/gyee/frame/service/report/WtHealthReportService.java
  65. 244 2
      src/main/java/com/gyee/frame/service/websocket/BraceletService.java
  66. 1 1
      src/main/java/com/gyee/frame/shiro/config/ShiroConfig.java
  67. 2 1
      src/main/java/com/gyee/frame/util/IRealTimeDataBaseUtil.java
  68. 260 238
      src/main/java/com/gyee/frame/util/golden/EdosUtil.java
  69. 7 7
      src/main/resources/application-dev.yml
  70. 1 1
      src/main/resources/application.yml
  71. 2 1
      src/main/resources/mybatis-generator.xml
  72. 1313 0
      src/main/resources/mybatis/auto/Windturbineinfodaytop2Mapper.xml
  73. 587 0
      src/main/resources/mybatis/auto/WtReportMainMapper.xml
  74. 492 0
      src/main/resources/mybatis/auto/WtReportSubMapper.xml
  75. 335 0
      src/main/resources/mybatis/auto/WtTragetReportChartMapper.xml
  76. 27 0
      src/test/java/test/BraceletServiceTest.java
  77. 28 0
      src/test/java/test/FirstAppByGuiApplicationTests.java
  78. 2 2
      src/test/java/test/GoldenTest.java
  79. 33 33
      src/test/java/test/PowercompareTest.java
  80. 10 14
      src/test/java/test/ProjectPlanTest.java
  81. 80 0
      src/test/java/test/WtHealthReportTest.java

+ 5 - 5
pom.xml

@@ -249,11 +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>-->
+		<dependency>
+			<groupId>redis.clients</groupId>
+			<artifactId>jedis</artifactId>
+			<version>3.2.0</version>
+		</dependency>
 
 		<dependency>
 			<groupId>org.springframework.boot</groupId>

+ 418 - 0
src/main/java/com/gyee/frame/common/cache/AppRedisCacheManager.java

@@ -0,0 +1,418 @@
+package com.gyee.frame.common.cache;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @description: 移动端Redis缓存实现类
+ * @author: YuXD
+ * @create: 2021-01-05 10:40
+ **/
+@Getter
+@AllArgsConstructor
+public final class AppRedisCacheManager implements IGlobalCache {
+
+    private RedisTemplate<String, Object> redisTemplate;
+
+    @Override
+    public boolean expire(String key, long time) {
+        try {
+            if (time > 0) {
+                redisTemplate.expire(key, time, TimeUnit.SECONDS);
+            }
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public long getExpire(String key) {
+        return redisTemplate.getExpire(key, TimeUnit.SECONDS);
+    }
+
+    @Override
+    public boolean hasKey(String key) {
+        try {
+            return redisTemplate.hasKey(key);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void del(String... key) {
+        if (key != null && key.length > 0) {
+            if (key.length == 1) {
+                redisTemplate.delete(key[0]);
+            } else {
+                redisTemplate.delete(CollectionUtils.arrayToList(key));
+            }
+        }
+    }
+
+    @Override
+    public Object get(String key) {
+        return key == null ? null : redisTemplate.opsForValue().get(key);
+    }
+
+    @Override
+    public boolean set(String key, Object value) {
+        try {
+            redisTemplate.opsForValue().set(key, value);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public boolean set(String key, Object value, long time) {
+        try {
+            if (time > 0) {
+                redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
+            } else {
+                set(key, value);
+            }
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public long incr(String key, long delta) {
+        if (delta < 0) {
+            throw new RuntimeException("递增因子必须大于0");
+        }
+        return redisTemplate.opsForValue().increment(key, delta);
+    }
+
+    @Override
+    public long decr(String key, long delta) {
+        if (delta < 0) {
+            throw new RuntimeException("递减因子必须大于0");
+        }
+        return redisTemplate.opsForValue().increment(key, -delta);
+    }
+
+    @Override
+    public Object hget(String key, String item) {
+        return redisTemplate.opsForHash().get(key, item);
+    }
+
+    @Override
+    public Map<Object, Object> hmget(String key) {
+        return redisTemplate.opsForHash().entries(key);
+    }
+
+    @Override
+    public boolean hmset(String key, Map<String, Object> map) {
+        try {
+            redisTemplate.opsForHash().putAll(key, map);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public boolean hmset(String key, Map<String, Object> map, long time) {
+        try {
+            redisTemplate.opsForHash().putAll(key, map);
+            if (time > 0) {
+                expire(key, time);
+            }
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public boolean hset(String key, String item, Object value) {
+        try {
+            redisTemplate.opsForHash().put(key, item, value);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public boolean hset(String key, String item, Object value, long time) {
+        try {
+            redisTemplate.opsForHash().put(key, item, value);
+            if (time > 0) {
+                expire(key, time);
+            }
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public void hdel(String key, Object... item) {
+        redisTemplate.opsForHash().delete(key, item);
+    }
+
+    @Override
+    public boolean hHasKey(String key, String item) {
+        return redisTemplate.opsForHash().hasKey(key, item);
+    }
+
+    @Override
+    public double hincr(String key, String item, double by) {
+        return redisTemplate.opsForHash().increment(key, item, by);
+    }
+
+    @Override
+    public double hdecr(String key, String item, double by) {
+        return redisTemplate.opsForHash().increment(key, item, -by);
+    }
+
+    @Override
+    public Set<Object> sGet(String key) {
+        try {
+            return redisTemplate.opsForSet().members(key);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    @Override
+    public boolean sHasKey(String key, Object value) {
+        try {
+            return redisTemplate.opsForSet().isMember(key, value);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public long sSet(String key, Object... values) {
+        try {
+            return redisTemplate.opsForSet().add(key, values);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return 0;
+        }
+    }
+
+    @Override
+    public long sSetAndTime(String key, long time, Object... values) {
+        try {
+            Long count = redisTemplate.opsForSet().add(key, values);
+            if (time > 0) {
+                expire(key, time);
+            }
+            return count;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return 0;
+        }
+    }
+
+    @Override
+    public long sGetSetSize(String key) {
+        try {
+            return redisTemplate.opsForSet().size(key);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return 0;
+        }
+    }
+
+    @Override
+    public long setRemove(String key, Object... values) {
+        try {
+            Long count = redisTemplate.opsForSet().remove(key, values);
+            return count;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return 0;
+        }
+    }
+
+    @Override
+    public List<Object> lGet(String key, long start, long end) {
+        try {
+            return redisTemplate.opsForList().range(key, start, end);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    @Override
+    public long lGetListSize(String key) {
+        try {
+            return redisTemplate.opsForList().size(key);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return 0;
+        }
+    }
+
+    @Override
+    public Object lGetIndex(String key, long index) {
+        try {
+            return redisTemplate.opsForList().index(key, index);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    @Override
+    public boolean lSetAll(String key, List<Object> value) {
+        try {
+            redisTemplate.opsForList().leftPushAll(key, value);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public boolean lSet(String key, Object value) {
+        try {
+            redisTemplate.opsForList().leftPushIfPresent(key, value);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public boolean lSet(String key, Object value, long time) {
+        try {
+            redisTemplate.opsForList().leftPush(key, value);
+            if (time > 0) {
+                expire(key, time);
+            }
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+
+    }
+
+    @Override
+    public boolean lSetAll(String key, List<Object> value, long time) {
+        try {
+            redisTemplate.opsForList().leftPushAll(key, value);
+            if (time > 0)
+                expire(key, time);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public boolean rSet(String key, Object value) {
+        try {
+            redisTemplate.opsForList().rightPush(key, value);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public boolean rSet(String key, Object value, long time) {
+        try {
+            redisTemplate.opsForList().rightPush(key, value);
+            if (time > 0) {
+                expire(key, time);
+            }
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+
+    }
+
+    @Override
+    public boolean rSetAll(String key, List<Object> value) {
+        try {
+            redisTemplate.opsForList().rightPushAll(key, value);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+
+    }
+
+    @Override
+    public boolean rSetAll(String key, List<Object> value, long time) {
+        try {
+            redisTemplate.opsForList().rightPushAll(key, value);
+            if (time > 0)
+                expire(key, time);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public boolean lUpdateIndex(String key, long index, Object value) {
+        try {
+            redisTemplate.opsForList().set(key, index, value);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    @Override
+    public long lRemove(String key, long count, Object value) {
+        try {
+            Long remove = redisTemplate.opsForList().remove(key, count, value);
+            return remove;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return 0;
+        }
+    }
+
+    @Override
+    public void rangeRemove(String key, Long stard, Long end) {
+        try {
+            redisTemplate.opsForList().trim(key, stard, end);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}

+ 383 - 0
src/main/java/com/gyee/frame/common/cache/IGlobalCache.java

@@ -0,0 +1,383 @@
+package com.gyee.frame.common.cache;
+
+import org.springframework.data.redis.core.RedisTemplate;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * 系统全局Cache接口,具体缓存方式需要实现该接口
+ *
+ * @author YuXD
+ * @date 2021-01-05 10:38
+ * @since v1.0
+ */
+public interface IGlobalCache {
+
+    /**
+     * 指定缓存失效时间
+     *
+     * @param key  键
+     * @param time 时间(秒)
+     * @return
+     */
+    boolean expire(String key, long time);
+
+    /**
+     * @param key 键 不能为null
+     * @return 时间(秒) 返回0代表为永久有效
+     */
+    long getExpire(String key);
+
+    /**
+     * 判断key是否存在
+     *
+     * @param key 键
+     * @return true 存在 false不存在
+     */
+    boolean hasKey(String key);
+
+    /**
+     * 删除缓存
+     *
+     * @param key 可以传一个值 或多个
+     */
+    void del(String... key);
+// ============================String=============================
+
+    /**
+     * 普通缓存获取
+     *
+     * @param key 键
+     * @return 值
+     */
+    Object get(String key);
+
+    /**
+     * 普通缓存放入
+     *
+     * @param key   键
+     * @param value 值
+     * @return true成功 false失败
+     */
+    boolean set(String key, Object value);
+
+    /**
+     * 普通缓存放入并设置时间
+     *
+     * @param key   键
+     * @param value 值
+     * @param time  时间(秒) time要大于0 如果time小于等于0 将设置无限期
+     * @return true成功 false 失败
+     */
+    boolean set(String key, Object value, long time);
+
+    /**
+     * 递增
+     *
+     * @param key   键
+     * @param delta 要增加几(大于0)
+     * @return
+     */
+    long incr(String key, long delta);
+
+    /**
+     * 递减
+     *
+     * @param key   键
+     * @param delta 要减少几(小于0)
+     * @return
+     */
+    long decr(String key, long delta);
+
+    /**
+     * HashGet
+     *
+     * @param key  键 不能为null
+     * @param item 项 不能为null
+     * @return 值
+     */
+    Object hget(String key, String item);
+
+    /**
+     * 获取hashKey对应的所有键值
+     *
+     * @param key 键
+     * @return 对应的多个键值
+     */
+    Map<Object, Object> hmget(String key);
+
+    /**
+     * HashSet
+     *
+     * @param key 键
+     * @param map 对应多个键值
+     * @return true 成功 false 失败
+     */
+    boolean hmset(String key, Map<String, Object> map);
+
+    /**
+     * HashSet 并设置时间
+     *
+     * @param key  键
+     * @param map  对应多个键值
+     * @param time 时间(秒)
+     * @return true成功 false失败
+     */
+    boolean hmset(String key, Map<String, Object> map, long time);
+
+    /**
+     * 向一张hash表中放入数据,如果不存在将创建
+     *
+     * @param key   键
+     * @param item  项
+     * @param value 值
+     * @return true 成功 false失败
+     */
+    boolean hset(String key, String item, Object value);
+
+    /**
+     * 向一张hash表中放入数据,如果不存在将创建
+     *
+     * @param key   键
+     * @param item  项
+     * @param value 值
+     * @param time  时间(秒) 注意:如果已存在的hash表有时间,这里将会替换原有的时间
+     * @return true 成功 false失败
+     */
+    boolean hset(String key, String item, Object value, long time);
+
+    /**
+     * 删除hash表中的值
+     *
+     * @param key  键 不能为null
+     * @param item 项 可以使多个 不能为null
+     */
+    void hdel(String key, Object... item);
+
+    /**
+     * 判断hash表中是否有该项的值
+     *
+     * @param key  键 不能为null
+     * @param item 项 不能为null
+     * @return true 存在 false不存在
+     */
+    boolean hHasKey(String key, String item);
+
+    /**
+     * hash递增 如果不存在,就会创建一个 并把新增后的值返回
+     *
+     * @param key  键
+     * @param item 项
+     * @param by   要增加几(大于0)
+     * @return
+     */
+    double hincr(String key, String item, double by);
+
+    /**
+     * hash递减
+     *
+     * @param key  键
+     * @param item 项
+     * @param by   要减少记(小于0)
+     * @return
+     */
+    double hdecr(String key, String item, double by);
+
+    /**
+     * 根据key获取Set中的所有值
+     *
+     * @param key 键
+     * @return
+     */
+    Set<Object> sGet(String key);
+
+    /**
+     * 根据value从一个set中查询,是否存在
+     *
+     * @param key   键
+     * @param value 值
+     * @return true 存在 false不存在
+     */
+    boolean sHasKey(String key, Object value);
+
+    /**
+     * 将数据放入set缓存
+     *
+     * @param key    键
+     * @param values 值 可以是多个
+     * @return 成功个数
+     */
+    long sSet(String key, Object... values);
+
+    /**
+     * 将set数据放入缓存
+     *
+     * @param key    键
+     * @param time   时间(秒)
+     * @param values 值 可以是多个
+     * @return 成功个数
+     */
+    long sSetAndTime(String key, long time, Object... values);
+
+
+    /**
+     * 获取set缓存的长度
+     *
+     * @param key 键
+     * @return
+     */
+    long sGetSetSize(String key);
+
+    /**
+     * 移除值为value的
+     *
+     * @param key    键
+     * @param values 值 可以是多个
+     * @return 移除的个数
+     */
+    long setRemove(String key, Object... values);
+
+    /**
+     * 获取list缓存的内容
+     *
+     * @param key   键
+     * @param start 开始
+     * @param end   结束 0 到 -1代表所有值
+     * @return
+     */
+    List<Object> lGet(String key, long start, long end);
+
+    /**
+     * 获取list缓存的长度
+     *
+     * @param key 键
+     * @return
+     */
+    long lGetListSize(String key);
+
+    /**
+     * 通过索引 获取list中的值
+     *
+     * @param key   键
+     * @param index 索引 index>=0时, 0 表头,1 第二个元素,依次类推;index<0时,-1,表尾,-2倒数第二个元素,依次类推
+     * @return
+     */
+    Object lGetIndex(String key, long index);
+
+    /**
+     * 将list放入缓存
+     *
+     * @param key   键
+     * @param value 值
+     * @return
+     */
+    boolean lSet(String key, Object value);
+
+    /**
+     * 将list放入缓存
+     *
+     * @param key   键
+     * @param value 值
+     * @return
+     */
+    boolean lSet(String key, Object value, long time);
+
+    /**
+     * 将list放入缓存
+     *
+     * @param key   键
+     * @param value 值
+     * @return
+     */
+    boolean lSetAll(String key, List<Object> value);
+
+
+    /**
+     * 将list放入缓存
+     *
+     * @param key   键
+     * @param value 值
+     * @param time  时间(秒)
+     * @return
+     */
+    boolean lSetAll(String key, List<Object> value, long time);
+
+    /**
+     * 将list放入缓存
+     *
+     * @param key   键
+     * @param value 值
+     * @return
+     */
+
+    boolean rSet(String key, Object value);
+
+    /**
+     * 将list放入缓存
+     *
+     * @param key   键
+     * @param value 值
+     * @param time  时间(秒)
+     * @return
+     */
+
+    boolean rSet(String key, Object value, long time);
+
+    /**
+     * 将list放入缓存
+     *
+     * @param key   键
+     * @param value 值
+     * @return
+     */
+    boolean rSetAll(String key, List<Object> value);
+
+    /**
+     * 将list放入缓存
+     *
+     * @param key   键
+     * @param value 值
+     * @param time  时间(秒)
+     * @return
+     */
+    boolean rSetAll(String key, List<Object> value, long time);
+
+    /**
+     * 根据索引修改list中的某条数据
+     *
+     * @param key   键
+     * @param index 索引
+     * @param value 值
+     * @return
+     */
+    boolean lUpdateIndex(String key, long index, Object value);
+
+    /**
+     * 移除N个值为value
+     *
+     * @param key   键
+     * @param count 移除多少个
+     * @param value 值
+     * @return 移除的个数
+     */
+    long lRemove(String key, long count, Object value);
+
+    /**
+     * 从redis集合中移除[start,end]之间的元素
+     *
+     * @param key
+     * @param stard
+     * @param end
+     * @return
+     */
+    void rangeRemove(String key, Long stard, Long end);
+
+    /**
+     * 返回当前redisTemplate
+     *
+     * @return
+     */
+    RedisTemplate getRedisTemplate();
+}

+ 72 - 72
src/main/java/com/gyee/frame/common/cache/MybatisRedisCache.java

@@ -1,72 +1,72 @@
-package com.gyee.frame.common.cache;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.apache.ibatis.cache.Cache;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-public class MybatisRedisCache implements Cache {
-    private static final Logger log = LoggerFactory.getLogger(MybatisRedisCache.class);
-    private String id;
-    private final ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
-    //private static final long EXPIRE_TIME_IN_MINUTES = 30; // redis过期时间
-
-
-    public MybatisRedisCache(String id) {
-        this.id = id;
-    }
-
-    private RedisTemplate<Object, Object> getRedisTemplate(){
-        return ApplicationContextHolder.getBean("redisTemplate");
-    }
-
-    @Override
-    public String getId() {
-        return id;
-    }
-
-    @Override
-    public void putObject(Object key, Object value) {
-        RedisTemplate redisTemplate = getRedisTemplate();
-        redisTemplate.boundHashOps(getId()).put(key, value);
-        log.info("[结果放入到缓存中: " + key + "=" + value+" ]");
-
-    }
-
-    @Override
-    public Object getObject(Object key) {
-        RedisTemplate redisTemplate = getRedisTemplate();
-        Object value = redisTemplate.boundHashOps(getId()).get(key);
-        log.info("[从缓存中获取了: " + key + "=" + value+" ]");
-        return value;
-    }
-
-    @Override
-    public Object removeObject(Object key) {
-        RedisTemplate redisTemplate = getRedisTemplate();
-        Object value = redisTemplate.boundHashOps(getId()).delete(key);
-        log.info("[从缓存删除了: " + key + "=" + value+" ]");
-        return value;
-    }
-
-    @Override
-    public void clear() {
-        RedisTemplate redisTemplate = getRedisTemplate();
-        redisTemplate.delete(getId());
-        log.info("清空缓存!!!");
-    }
-
-    @Override
-    public int getSize() {
-        RedisTemplate redisTemplate = getRedisTemplate();
-        Long size = redisTemplate.boundHashOps(getId()).size();
-        return size == null ? 0 : size.intValue();
-    }
-
-    @Override
-    public ReadWriteLock getReadWriteLock() {
-        return readWriteLock;
-    }
-}
+//package com.gyee.frame.common.cache;
+//
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//import org.springframework.data.redis.core.RedisTemplate;
+//import org.apache.ibatis.cache.Cache;
+//import java.util.concurrent.locks.ReadWriteLock;
+//import java.util.concurrent.locks.ReentrantReadWriteLock;
+//
+//public class MybatisRedisCache implements Cache {
+//    private static final Logger log = LoggerFactory.getLogger(MybatisRedisCache.class);
+//    private String id;
+//    private final ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
+//    //private static final long EXPIRE_TIME_IN_MINUTES = 30; // redis过期时间
+//
+//
+//    public MybatisRedisCache(String id) {
+//        this.id = id;
+//    }
+//
+//    private RedisTemplate<Object, Object> getRedisTemplate(){
+//        return ApplicationContextHolder.getBean("redisTemplate");
+//    }
+//
+//    @Override
+//    public String getId() {
+//        return id;
+//    }
+//
+//    @Override
+//    public void putObject(Object key, Object value) {
+//        RedisTemplate redisTemplate = getRedisTemplate();
+//        redisTemplate.boundHashOps(getId()).put(key, value);
+//        log.info("[结果放入到缓存中: " + key + "=" + value+" ]");
+//
+//    }
+//
+//    @Override
+//    public Object getObject(Object key) {
+//        RedisTemplate redisTemplate = getRedisTemplate();
+//        Object value = redisTemplate.boundHashOps(getId()).get(key);
+//        log.info("[从缓存中获取了: " + key + "=" + value+" ]");
+//        return value;
+//    }
+//
+//    @Override
+//    public Object removeObject(Object key) {
+//        RedisTemplate redisTemplate = getRedisTemplate();
+//        Object value = redisTemplate.boundHashOps(getId()).delete(key);
+//        log.info("[从缓存删除了: " + key + "=" + value+" ]");
+//        return value;
+//    }
+//
+//    @Override
+//    public void clear() {
+//        RedisTemplate redisTemplate = getRedisTemplate();
+//        redisTemplate.delete(getId());
+//        log.info("清空缓存!!!");
+//    }
+//
+//    @Override
+//    public int getSize() {
+//        RedisTemplate redisTemplate = getRedisTemplate();
+//        Long size = redisTemplate.boundHashOps(getId()).size();
+//        return size == null ? 0 : size.intValue();
+//    }
+//
+//    @Override
+//    public ReadWriteLock getReadWriteLock() {
+//        return readWriteLock;
+//    }
+//}

+ 60 - 33
src/main/java/com/gyee/frame/common/cache/RedisConfig.java

@@ -1,52 +1,79 @@
 package com.gyee.frame.common.cache;
 
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.cache.annotation.EnableCaching;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
+import org.springframework.context.annotation.Primary;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
+import org.springframework.data.redis.connection.jedis.JedisClientConfiguration;
+import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
 import org.springframework.data.redis.serializer.StringRedisSerializer;
+import redis.clients.jedis.JedisPoolConfig;
 
+@EnableCaching
 @Configuration
 public class RedisConfig {
 
-    @Autowired
-    private LettuceConnectionFactory connectionFactory;
+    @Value("${spring.redis.host}")
+    private String host;
+    @Value("${spring.redis.database}")
+    private Integer database;
+    @Value("${spring.redis.port}")
+    private Integer port;
+    @Value("${spring.redis.password}")
+    private String pwd;
+
+    @Primary
+    @Bean(name = "jedisPoolConfig")
+    @ConfigurationProperties(prefix = "spring.redis.pool")
+    public JedisPoolConfig jedisPoolConfig() {
+        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
+        jedisPoolConfig.setMaxWaitMillis(10000);
+        return jedisPoolConfig;
+    }
 
     @Bean
-    public RedisTemplate<String,Object> redisTemplate() {
-        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
-        initDomainRedisTemplate(redisTemplate, connectionFactory);
-        return redisTemplate;
+    public RedisConnectionFactory redisConnectionFactory(JedisPoolConfig jedisPoolConfig) {
+        RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration();
+        redisStandaloneConfiguration.setHostName(host);
+        redisStandaloneConfiguration.setDatabase(database);
+        redisStandaloneConfiguration.setPassword(pwd);
+        redisStandaloneConfiguration.setPort(port);
+        JedisClientConfiguration.JedisPoolingClientConfigurationBuilder jpcb = (JedisClientConfiguration.JedisPoolingClientConfigurationBuilder) JedisClientConfiguration.builder();
+        jpcb.poolConfig(jedisPoolConfig);
+        JedisClientConfiguration jedisClientConfiguration = jpcb.build();
+        return new JedisConnectionFactory(redisStandaloneConfiguration, jedisClientConfiguration);
     }
 
     /**
-     * 设置数据存入 redis 的序列化方式
-     * @param template
-     * @param factory
+     * 配置redisTemplate针对不同key和value场景下不同序列化的方式
+     *
+     * @param factory Redis连接工厂
+     * @return
      */
-    private void initDomainRedisTemplate(RedisTemplate<String, Object> template, LettuceConnectionFactory factory) {
-        // 定义 key 的序列化方式为 string
-        // 需要注意这里Key使用了 StringRedisSerializer,那么Key只能是String类型的,不能为Long,Integer,否则会报错抛异常。
-        StringRedisSerializer redisSerializer = new StringRedisSerializer();
-        template.setKeySerializer(redisSerializer);
-        // 定义 value 的序列化方式为 json
-        @SuppressWarnings({"rawtypes", "unchecked"})
-        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
-        ObjectMapper om = new ObjectMapper();
-        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
-        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
-        jackson2JsonRedisSerializer.setObjectMapper(om);
-        template.setValueSerializer(jackson2JsonRedisSerializer);
-
-        //hash结构的key和value序列化方式
-        template.setHashKeySerializer(jackson2JsonRedisSerializer);
-        template.setHashValueSerializer(jackson2JsonRedisSerializer);
-        template.setEnableTransactionSupport(true);
+    @Primary
+    @Bean(name = "redisTemplate")
+    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
+        RedisTemplate<String, Object> template = new RedisTemplate<>();
         template.setConnectionFactory(factory);
+        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
+        template.setKeySerializer(stringRedisSerializer);
+        template.setHashKeySerializer(stringRedisSerializer);
+        Jackson2JsonRedisSerializer redisSerializer = new Jackson2JsonRedisSerializer(Object.class);
+        template.setValueSerializer(redisSerializer);
+        template.setHashValueSerializer(redisSerializer);
+        template.afterPropertiesSet();
+        return template;
     }
-}
+
+    @Bean(name = "globalCache")
+    IGlobalCache cache(RedisTemplate redisTemplate) {
+        return new AppRedisCacheManager(redisTemplate);
+    }
+
+}

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

@@ -1,210 +0,0 @@
-package com.gyee.frame.common.dao;
-
-
-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, long tTime) throws Exception;
-}

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

@@ -1,48 +0,0 @@
-/** 
- * 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.common.dao.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
+ 0 - 1262
src/main/java/com/gyee/frame/common/dao/golden/EdosUtil.java


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

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

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

@@ -1,34 +0,0 @@
-package com.gyee.frame.common.dao.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;
-	}
-
-}

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

@@ -1,28 +0,0 @@
-package com.gyee.frame.common.dao.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);
-    }
-
-}

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

@@ -1,38 +0,0 @@
-package com.gyee.frame.common.dao.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() +
-                "'}";
-    }
-
-}
-

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

@@ -1,29 +0,0 @@
-package com.gyee.frame.common.dao.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() +
-                "'}";
-    }
-
-}
-

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

@@ -1,24 +0,0 @@
-package com.gyee.frame.common.dao.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);
-    }
-
-}
-

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

@@ -1,22 +0,0 @@
-package com.gyee.frame.common.dao.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);
-    }
-
-}

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

@@ -1,24 +0,0 @@
-package com.gyee.frame.common.dao.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);
-    }
-
-}
-

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

@@ -1,19 +0,0 @@
-package com.gyee.frame.common.dao.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;
-    }
-}

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

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

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

@@ -1,26 +0,0 @@
-package com.gyee.frame.common.dao.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);
-    }
-
-}
-

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

@@ -1,21 +0,0 @@
-package com.gyee.frame.common.dao.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; }
-
-}

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

@@ -1,30 +0,0 @@
-package com.gyee.frame.common.dao.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;
-    }
-}
-

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

@@ -1,25 +0,0 @@
-package com.gyee.frame.common.dao.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);
-//    }
-
-}
-

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

@@ -1,19 +0,0 @@
-package com.gyee.frame.common.dao.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;
-    }
-}

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

@@ -1,38 +0,0 @@
-package com.gyee.frame.common.dao.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;
-    }
-}

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

@@ -1,27 +0,0 @@
-package com.gyee.frame.common.dao.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;
-
-}
-

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

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

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

@@ -1,230 +0,0 @@
-package com.gyee.frame.common.dao.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);
-    }
-
-}

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

@@ -1,24 +0,0 @@
-package com.gyee.frame.common.dao.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);
-//    }
-
-}
-

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

@@ -1,20 +0,0 @@
-package com.gyee.frame.common.dao.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;
-    }
-}

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

@@ -1,24 +0,0 @@
-package com.gyee.frame.common.dao.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;
-    }
-
-}
-

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

@@ -1,34 +0,0 @@
-package com.gyee.frame.common.dao.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;
-	}
-
-}

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

@@ -1,20 +0,0 @@
-package com.gyee.frame.common.dao.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;
-    }
-
-}

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

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

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

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

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

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

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

@@ -1,36 +0,0 @@
-package com.gyee.frame.common.dao.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;
-    }
-}
-

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

@@ -1,23 +0,0 @@
-package com.gyee.frame.common.dao.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;
-
-}
-

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

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

+ 1 - 2
src/main/java/com/gyee/frame/common/quartz/task/BraceletPushTask.java

@@ -11,9 +11,8 @@ public class BraceletPushTask {
     private BraceletService braceletService;
 
 
+    public void braceletPushTask(String destination) throws Exception {
 
-    public void braceletPushTask(String destination)
-    {
         braceletService.braceletPushTask(destination);
     }
 }

+ 70 - 0
src/main/java/com/gyee/frame/common/websocket/ClientInboundChannelInterceptor.java

@@ -0,0 +1,70 @@
+package com.gyee.frame.common.websocket;
+
+import com.gyee.frame.common.quartz.task.SocketTaskUtil;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.messaging.Message;
+import org.springframework.messaging.MessageChannel;
+import org.springframework.messaging.simp.SimpMessageHeaderAccessor;
+import org.springframework.messaging.simp.stomp.StompCommand;
+import org.springframework.messaging.simp.stomp.StompHeaderAccessor;
+import org.springframework.messaging.support.ChannelInterceptor;
+import org.springframework.messaging.support.MessageHeaderAccessor;
+import org.springframework.stereotype.Component;
+
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.concurrent.CopyOnWriteArraySet;
+
+/**
+ * websocket建立链接的时候获取headeri里认证的参数拦截器。
+ */
+@Component
+public class ClientInboundChannelInterceptor extends SocketTaskUtil implements ChannelInterceptor {
+
+    @Override
+    public Message<?> preSend(Message<?> message, MessageChannel channel) {
+        StompHeaderAccessor accessor = MessageHeaderAccessor.getAccessor(message, StompHeaderAccessor.class);
+        if (StompCommand.CONNECT.equals(accessor.getCommand())) {
+            Object raw = message.getHeaders().get(SimpMessageHeaderAccessor.NATIVE_HEADERS);
+
+            String topic=null;
+            if (raw instanceof Map) {
+                Object name = ((Map) raw).get("topic");
+                LinkedList<String> temp=(LinkedList<String>) name;
+                topic=temp.get(0);
+            }
+            String sessionId =String.valueOf(message.getHeaders().get(SimpMessageHeaderAccessor.SESSION_ID_HEADER));
+
+            if(StringUtils.notEmp(topic) && !topic.equals("undefined")) {
+                if (WebSocketConfig.websocketcacheMap.containsKey(topic)) {
+                    CopyOnWriteArraySet<String> set = WebSocketConfig.websocketcacheMap.get(topic);
+                    set.add(sessionId);
+                    WebSocketConfig.websocketcacheMap.put(topic, set);
+                } else {
+                    CopyOnWriteArraySet<String> set = new CopyOnWriteArraySet<String>();
+                    set.add(sessionId);
+                    WebSocketConfig.websocketcacheMap.put(topic, set);
+                }
+
+
+                if (StringUtils.notEmp(sessionId)) {
+                    if (WebSocketConfig.sessioncacheMap.containsKey(sessionId)) {
+                        CopyOnWriteArraySet<String> set = WebSocketConfig.websocketcacheMap.get(sessionId);
+                        set.add(topic);
+                        WebSocketConfig.sessioncacheMap.put(sessionId, set);
+                    } else {
+                        CopyOnWriteArraySet<String> set = new CopyOnWriteArraySet<String>();
+                        set.add(topic);
+                        WebSocketConfig.sessioncacheMap.put(sessionId, set);
+                    }
+
+
+                }
+
+                this.restartJob(topic);
+            }
+
+        }
+        return message;
+    }
+}

+ 52 - 61
src/main/java/com/gyee/frame/common/websocket/WebSocketCache.java

@@ -1,62 +1,55 @@
 package com.gyee.frame.common.websocket;
 
 import com.gyee.frame.common.quartz.task.SocketTaskUtil;
-
-
-import com.gyee.frame.common.spring.InitialRunner;
-import com.gyee.frame.util.StringUtils;
 import org.springframework.context.event.EventListener;
 import org.springframework.messaging.simp.stomp.StompHeaderAccessor;
 import org.springframework.stereotype.Component;
-import org.springframework.web.socket.messaging.SessionConnectEvent;
-import org.springframework.web.socket.messaging.SessionConnectedEvent;
 import org.springframework.web.socket.messaging.SessionDisconnectEvent;
 
-import java.util.List;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArraySet;
 
 @Component
 public class WebSocketCache  extends SocketTaskUtil {
 
-    public static ConcurrentHashMap<String, CopyOnWriteArraySet<String>> websocketcacheMap = new ConcurrentHashMap();
-
-    @EventListener(SessionConnectEvent.class)
-    public void onSessionConnectEvent(SessionConnectEvent event) {
-
-        //获取Session连接信息
-        StompHeaderAccessor sha = StompHeaderAccessor.wrap(event.getMessage());
-
-        List<String> topics=sha.getNativeHeader("topic");
-        //获取SessionId
-        String sessionId = sha.getSessionId();
-
-       if(StringUtils.isNotEmpty(topics))
-       {
-
-           String topic=topics.get(0);
-
-           if(websocketcacheMap.containsKey(topic))
-           {
-               CopyOnWriteArraySet<String> set=websocketcacheMap.get(topic);
-               set.add(sessionId);
-               websocketcacheMap.put(topic,set);
-           }else
-           {
-               CopyOnWriteArraySet<String> set= new CopyOnWriteArraySet<String>();
-               set.add(sessionId);
-               websocketcacheMap.put(topic,set);
-           }
-           if(InitialRunner.jobsmap.containsKey(topic))
-           {
-               this.restartJob(topic);
-           }
-       }
-
-
-    }
-
-
+//    public static ConcurrentHashMap<String, CopyOnWriteArraySet<String>> websocketcacheMap = new ConcurrentHashMap();
+//
+//    @EventListener(SessionConnectEvent.class)
+//    public void onSessionConnectEvent(SessionConnectEvent event) {
+//
+//        //获取Session连接信息
+//        StompHeaderAccessor sha = StompHeaderAccessor.wrap(event.getMessage());
+//
+//        sha
+//        List<String> topics=sha.getNativeHeader("topic");
+//        //获取SessionId
+//        String sessionId = sha.getSessionId();
+//
+//       if(StringUtils.isNotEmpty(topics))
+//       {
+//
+//           String topic=topics.get(0);
+//
+//           if(websocketcacheMap.containsKey(topic))
+//           {
+//               CopyOnWriteArraySet<String> set=websocketcacheMap.get(topic);
+//               set.add(sessionId);
+//               websocketcacheMap.put(topic,set);
+//           }else
+//           {
+//               CopyOnWriteArraySet<String> set= new CopyOnWriteArraySet<String>();
+//               set.add(sessionId);
+//               websocketcacheMap.put(topic,set);
+//           }
+//           if(InitialRunner.jobsmap.containsKey(topic))
+//           {
+//               this.restartJob(topic);
+//           }
+//       }
+//
+//
+//    }
+//
+//
     @EventListener(SessionDisconnectEvent.class)
     public void onDisconnectEvent(SessionDisconnectEvent event) {
         //获取Session连接信息
@@ -65,31 +58,29 @@ public class WebSocketCache  extends SocketTaskUtil {
         String sessionId = sha.getSessionId();
 
 
-        String topic= String.valueOf(sha.getNativeHeader("topic"));
-
-        if(StringUtils.isNotEmpty(topic))
+        if(WebSocketConfig.sessioncacheMap.containsKey(sessionId))
         {
-            if(websocketcacheMap.containsKey(topic))
+            CopyOnWriteArraySet<String> sessionIdset=WebSocketConfig.sessioncacheMap.get(sessionId);
+
+            for(String topic:sessionIdset)
             {
-                CopyOnWriteArraySet<String> set=websocketcacheMap.get(topic);
-                if(set.contains(sessionId))
+                if(WebSocketConfig.websocketcacheMap.containsKey(topic))
                 {
+                    CopyOnWriteArraySet<String> set=WebSocketConfig.websocketcacheMap.get(topic);
                     set.remove(sessionId);
-                }
-                if(set.size()==0)
-                {
-                    websocketcacheMap.remove(topic);
-                }else {
-                    websocketcacheMap.put(topic,set);
-                    if(InitialRunner.jobsmap.containsKey(topic))
+                    WebSocketConfig.websocketcacheMap.put(topic,set);
+
+                    if(set.size()==0)
                     {
-                        this.restartJob(topic);
+                        this.deleteJob(topic);
                     }
                 }
-
+                sessionIdset.remove(topic);
             }
+            WebSocketConfig.sessioncacheMap.remove(sessionId);
         }
 
+
     }
 
 }

+ 21 - 0
src/main/java/com/gyee/frame/common/websocket/WebSocketConfig.java

@@ -1,11 +1,16 @@
 package com.gyee.frame.common.websocket;
 
 import org.springframework.context.annotation.Configuration;
+import org.springframework.messaging.simp.config.ChannelRegistration;
 import org.springframework.messaging.simp.config.MessageBrokerRegistry;
 import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
 import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
 import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
 
+import javax.annotation.Resource;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArraySet;
+
 /**
  * @descrition: 前台测试代码在 test/resources/websockettest.html
  */
@@ -14,6 +19,12 @@ import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerCo
 @EnableWebSocketMessageBroker
 public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
 
+    public static ConcurrentHashMap<String, CopyOnWriteArraySet<String>> websocketcacheMap = new ConcurrentHashMap();
+    public static ConcurrentHashMap<String, CopyOnWriteArraySet<String>> sessioncacheMap = new ConcurrentHashMap();
+    //
+    @Resource
+    private ClientInboundChannelInterceptor clientInboundChannelInterceptor;
+
     /**
      * 注册stomp端点,主要是起到连接作用
      *
@@ -29,6 +40,16 @@ public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
      //  .withSockJS(); //使用sockJS1启用该行代码,使用VUE注释该行代码
 
     }
+    /**
+     * 采用自定义拦截器,获取connect时候传递的参数
+     *
+     * @param registration
+     */
+    @Override
+    public void configureClientInboundChannel(ChannelRegistration registration) {
+        registration.interceptors(clientInboundChannelInterceptor);
+    }
+
 
     /**
      * 注册相关服务

+ 2 - 6
src/main/java/com/gyee/frame/common/websocket/WebsocketMessageService.java

@@ -5,11 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.messaging.simp.SimpMessagingTemplate;
 import org.springframework.stereotype.Component;
 
-/**
- * @descrition:
- * @author:Wanghs
- * @date:2020-08-05
- */
+
 @Component
 public class WebsocketMessageService
 {
@@ -18,7 +14,7 @@ public class WebsocketMessageService
     private SimpMessagingTemplate simpMessagingTemplate;
 
 
-    public void SendAlertToAll(String destination, String sendData)
+    public void SendAlertToAll(String destination, Object sendData)
     {
         String s = JSON.toJSONString(sendData);
         System.out.println(s);

+ 19 - 13
src/main/java/com/gyee/frame/controller/benchmarking/BenchmarkingController.java

@@ -3,10 +3,10 @@ package com.gyee.frame.controller.benchmarking;
 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.Windturbineinfodaytop3;
+import com.gyee.frame.model.auto.Windturbineinfodaytop2;
 import com.gyee.frame.model.custom.Tablepar;
 import com.gyee.frame.model.custom.ValueVo;
-import com.gyee.frame.service.Windturbineinfodaytop3Service;
+import com.gyee.frame.service.Windturbineinfodaytop2Service;
 import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,13 +16,19 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 @Controller
 @RequestMapping("/benchmarking")
 public class BenchmarkingController {
+//    @Autowired
+//    private Windturbineinfodaytop3Service windturbineinfodaytop2Service;
     @Autowired
-    private Windturbineinfodaytop3Service windturbineinfodaytop3Service;
+    private Windturbineinfodaytop2Service windturbineinfodaytop2Service;
+    
 
     /**查询等级评估日所有信息**/
     @GetMapping("/gadaylist")
@@ -34,7 +40,7 @@ public class BenchmarkingController {
         {
             tempDate=DateUtils.parseDate(recorddate);
         }
-        List<Windturbineinfodaytop3> ls=windturbineinfodaytop3Service.gadaylist(wpId,tempDate);
+        List<Windturbineinfodaytop2> ls=windturbineinfodaytop2Service.gadaylist(wpId,tempDate);
 
         if(ls !=null && !ls.isEmpty())
         {
@@ -55,7 +61,7 @@ public class BenchmarkingController {
         {
             tempDate=DateUtils.parseDate(recorddate);
         }
-        PageInfo<Windturbineinfodaytop3> ls=windturbineinfodaytop3Service.gadaylistByPage(tablepar,wpId,tempDate);
+        PageInfo<Windturbineinfodaytop2> ls=windturbineinfodaytop2Service.gadaylistByPage(tablepar,wpId,tempDate);
 
 
         return	AjaxResult.successData(AjaxStatus.success.code,ls);
@@ -67,7 +73,7 @@ public class BenchmarkingController {
     public AjaxResult gamonthlistByPage(Tablepar tablepar,String wpId, String year,String month) {
 
 
-        PageInfo<Windturbineinfodaytop3> ls=windturbineinfodaytop3Service.gamonthlistByPage(tablepar,wpId,year,month);
+        PageInfo<Windturbineinfodaytop2> ls=windturbineinfodaytop2Service.gamonthlistByPage(tablepar,wpId,year,month);
 
         return	AjaxResult.successData(AjaxStatus.success.code,ls);
 
@@ -78,7 +84,7 @@ public class BenchmarkingController {
     public AjaxResult gayearlistByPage(Tablepar tablepar,String wpId, String year) {
 
 
-        PageInfo<Windturbineinfodaytop3> ls=windturbineinfodaytop3Service.gayearlistByPage(tablepar,wpId,year);
+        PageInfo<Windturbineinfodaytop2> ls=windturbineinfodaytop2Service.gayearlistByPage(tablepar,wpId,year);
 
         return	AjaxResult.successData(AjaxStatus.success.code,ls);
 
@@ -91,8 +97,8 @@ public class BenchmarkingController {
 
         if (StringUtils.isNotEmpty(gaid1) && StringUtils.isNotEmpty(gaid2))
         {
-            List<ValueVo> ls1=windturbineinfodaytop3Service.wtchart(gaid1);
-            List<ValueVo> ls2=windturbineinfodaytop3Service.wtchart(gaid2);
+            List<ValueVo> ls1=windturbineinfodaytop2Service.wtchart(gaid1);
+            List<ValueVo> ls2=windturbineinfodaytop2Service.wtchart(gaid2);
 
             Map<String,List<ValueVo>> map=new HashMap();
 
@@ -113,10 +119,10 @@ public class BenchmarkingController {
 
         if (StringUtils.isNotEmpty(gaid1) && StringUtils.isNotEmpty(gaid2))
         {
-            Map<String,Windturbineinfodaytop3> map=new HashMap();
+            Map<String,Windturbineinfodaytop2> map=new HashMap();
 
-            Windturbineinfodaytop3 wtd1=windturbineinfodaytop3Service.selectByPrimaryKey(gaid1);
-            Windturbineinfodaytop3 wtd2=windturbineinfodaytop3Service.selectByPrimaryKey(gaid2);
+            Windturbineinfodaytop2 wtd1=windturbineinfodaytop2Service.selectByPrimaryKey(gaid1);
+            Windturbineinfodaytop2 wtd2=windturbineinfodaytop2Service.selectByPrimaryKey(gaid2);
 
             map.put("gaid1",wtd1);
             map.put("gaid2",wtd2);

+ 87 - 0
src/main/java/com/gyee/frame/controller/report/WtHealthReportController.java

@@ -0,0 +1,87 @@
+package com.gyee.frame.controller.report;
+
+import com.gyee.frame.common.base.BaseController;
+import com.gyee.frame.common.conf.AjaxStatus;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.model.auto.WtTragetReportChart;
+import com.gyee.frame.service.report.WtHealthReportService;
+import com.gyee.frame.util.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+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.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+@Controller
+@RequestMapping("/report")
+public class WtHealthReportController extends BaseController {
+	private static Logger logger = LoggerFactory.getLogger(WtHealthReportController.class);
+
+	@Resource
+	private WtHealthReportService wtHealthReportService;
+
+	/**
+	 * 查询健康报告主表和子表数据
+	 * @param wtId
+	 * @param recorddate
+	 * @return
+	 * @throws Exception
+	 */
+	@PostMapping("/healthReport")
+	@ResponseBody
+	public AjaxResult healthReport(String wtId, String recorddate) throws Exception {
+
+		Map<String,Object> map=new HashMap<>();
+
+		if(StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate))
+		{
+
+			map=wtHealthReportService.healthReport(wtId, recorddate);
+		}
+
+		return AjaxResult.successData(AjaxStatus.success.code, map);
+
+	}
+
+	/**
+	 * 查询健康包括部件健康指数的历史图表
+	 * @param wtId
+	 * @param partId
+	 * zk	主控
+	 * clx	齿轮箱
+	 * fdj	发电机
+	 * bj	变桨
+	 * @param recorddate
+	 * @return
+	 */
+	@PostMapping("/healthReportChart")
+	@ResponseBody
+	public AjaxResult healthReportChart(String wtId,String partId, String recorddate)  {
+
+		List<WtTragetReportChart> vos=new ArrayList<>();
+
+		if(StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate))
+		{
+			vos=wtHealthReportService.healthReportChart(wtId,partId, recorddate);
+		}
+
+
+
+		if (null!=vos) {
+			return AjaxResult.successData(AjaxStatus.success.code, vos);
+		} else {
+			return AjaxResult.successData(AjaxStatus.emptyresultset.code, vos);
+		}
+
+
+	}
+
+}

+ 2 - 2
src/main/java/com/gyee/frame/controller/scatter/ScatterController.java

@@ -1,8 +1,6 @@
 package com.gyee.frame.controller.scatter;
 
 import com.gyee.frame.common.conf.AjaxStatus;
-import com.gyee.frame.common.dao.IRealTimeDataBaseUtil;
-import com.gyee.frame.common.dao.golden.EdosUtil;
 import com.gyee.frame.common.domain.AjaxResult;
 import com.gyee.frame.common.spring.Constant;
 import com.gyee.frame.model.auto.WindPowerStationTestingPoint2;
@@ -13,7 +11,9 @@ import com.gyee.frame.service.WindPowerstationTestingPointService;
 import com.gyee.frame.service.WindTurbineTestingPointAiService;
 import com.gyee.frame.service.WindturbinecurvefittingmonthService;
 import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.IRealTimeDataBaseUtil;
 import com.gyee.frame.util.StringUtils;
+import com.gyee.frame.util.golden.EdosUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.PostMapping;

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

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

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

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

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

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

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

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

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


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


+ 839 - 0
src/main/java/com/gyee/frame/model/auto/WtReportMain.java

@@ -0,0 +1,839 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WtReportMain implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    private Date recodedate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.WTID
+     *
+     * @mbg.generated
+     */
+    private String wtid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.MAINREASON
+     *
+     * @mbg.generated
+     */
+    private String mainreason;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.MAINDATE
+     *
+     * @mbg.generated
+     */
+    private Date maindate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.SPEED
+     *
+     * @mbg.generated
+     */
+    private Double speed;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.MAINMETHOD
+     *
+     * @mbg.generated
+     */
+    private String mainmethod;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.APPROACH
+     *
+     * @mbg.generated
+     */
+    private String approach;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.TOOLS
+     *
+     * @mbg.generated
+     */
+    private String tools;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.MAINHOUR
+     *
+     * @mbg.generated
+     */
+    private Double mainhour;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.GZTOP1
+     *
+     * @mbg.generated
+     */
+    private Long gztop1;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.GZTOP1NAME
+     *
+     * @mbg.generated
+     */
+    private String gztop1name;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.GZTOP2
+     *
+     * @mbg.generated
+     */
+    private Long gztop2;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.GZTOP2NAME
+     *
+     * @mbg.generated
+     */
+    private String gztop2name;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.GZTOP3
+     *
+     * @mbg.generated
+     */
+    private Long gztop3;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.GZTOP3NAME
+     *
+     * @mbg.generated
+     */
+    private String gztop3name;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.YJTOP1
+     *
+     * @mbg.generated
+     */
+    private Long yjtop1;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.YJTOP1NAME
+     *
+     * @mbg.generated
+     */
+    private String yjtop1name;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.YJTOP2
+     *
+     * @mbg.generated
+     */
+    private Long yjtop2;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.YJTOP2NAME
+     *
+     * @mbg.generated
+     */
+    private String yjtop2name;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.YJTOP3
+     *
+     * @mbg.generated
+     */
+    private Long yjtop3;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.YJTOP3NAME
+     *
+     * @mbg.generated
+     */
+    private String yjtop3name;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.TOP1TYPE
+     *
+     * @mbg.generated
+     */
+    private String top1type;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.TOP2TYPE
+     *
+     * @mbg.generated
+     */
+    private String top2type;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportmain.TOP3TYPE
+     *
+     * @mbg.generated
+     */
+    private String top3type;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wtreportmain
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.ID
+     *
+     * @return the value of wtreportmain.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.ID
+     *
+     * @param id the value for wtreportmain.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 wtreportmain.RECODEDATE
+     *
+     * @return the value of wtreportmain.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    public Date getRecodedate() {
+        return recodedate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.RECODEDATE
+     *
+     * @param recodedate the value for wtreportmain.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    public void setRecodedate(Date recodedate) {
+        this.recodedate = recodedate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.WTID
+     *
+     * @return the value of wtreportmain.WTID
+     *
+     * @mbg.generated
+     */
+    public String getWtid() {
+        return wtid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.WTID
+     *
+     * @param wtid the value for wtreportmain.WTID
+     *
+     * @mbg.generated
+     */
+    public void setWtid(String wtid) {
+        this.wtid = wtid == null ? null : wtid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.MAINREASON
+     *
+     * @return the value of wtreportmain.MAINREASON
+     *
+     * @mbg.generated
+     */
+    public String getMainreason() {
+        return mainreason;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.MAINREASON
+     *
+     * @param mainreason the value for wtreportmain.MAINREASON
+     *
+     * @mbg.generated
+     */
+    public void setMainreason(String mainreason) {
+        this.mainreason = mainreason == null ? null : mainreason.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.MAINDATE
+     *
+     * @return the value of wtreportmain.MAINDATE
+     *
+     * @mbg.generated
+     */
+    public Date getMaindate() {
+        return maindate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.MAINDATE
+     *
+     * @param maindate the value for wtreportmain.MAINDATE
+     *
+     * @mbg.generated
+     */
+    public void setMaindate(Date maindate) {
+        this.maindate = maindate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.SPEED
+     *
+     * @return the value of wtreportmain.SPEED
+     *
+     * @mbg.generated
+     */
+    public Double getSpeed() {
+        return speed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.SPEED
+     *
+     * @param speed the value for wtreportmain.SPEED
+     *
+     * @mbg.generated
+     */
+    public void setSpeed(Double speed) {
+        this.speed = speed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.MAINMETHOD
+     *
+     * @return the value of wtreportmain.MAINMETHOD
+     *
+     * @mbg.generated
+     */
+    public String getMainmethod() {
+        return mainmethod;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.MAINMETHOD
+     *
+     * @param mainmethod the value for wtreportmain.MAINMETHOD
+     *
+     * @mbg.generated
+     */
+    public void setMainmethod(String mainmethod) {
+        this.mainmethod = mainmethod == null ? null : mainmethod.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.APPROACH
+     *
+     * @return the value of wtreportmain.APPROACH
+     *
+     * @mbg.generated
+     */
+    public String getApproach() {
+        return approach;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.APPROACH
+     *
+     * @param approach the value for wtreportmain.APPROACH
+     *
+     * @mbg.generated
+     */
+    public void setApproach(String approach) {
+        this.approach = approach == null ? null : approach.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.TOOLS
+     *
+     * @return the value of wtreportmain.TOOLS
+     *
+     * @mbg.generated
+     */
+    public String getTools() {
+        return tools;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.TOOLS
+     *
+     * @param tools the value for wtreportmain.TOOLS
+     *
+     * @mbg.generated
+     */
+    public void setTools(String tools) {
+        this.tools = tools == null ? null : tools.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.MAINHOUR
+     *
+     * @return the value of wtreportmain.MAINHOUR
+     *
+     * @mbg.generated
+     */
+    public Double getMainhour() {
+        return mainhour;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.MAINHOUR
+     *
+     * @param mainhour the value for wtreportmain.MAINHOUR
+     *
+     * @mbg.generated
+     */
+    public void setMainhour(Double mainhour) {
+        this.mainhour = mainhour;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.GZTOP1
+     *
+     * @return the value of wtreportmain.GZTOP1
+     *
+     * @mbg.generated
+     */
+    public Long getGztop1() {
+        return gztop1;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.GZTOP1
+     *
+     * @param gztop1 the value for wtreportmain.GZTOP1
+     *
+     * @mbg.generated
+     */
+    public void setGztop1(Long gztop1) {
+        this.gztop1 = gztop1;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.GZTOP1NAME
+     *
+     * @return the value of wtreportmain.GZTOP1NAME
+     *
+     * @mbg.generated
+     */
+    public String getGztop1name() {
+        return gztop1name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.GZTOP1NAME
+     *
+     * @param gztop1name the value for wtreportmain.GZTOP1NAME
+     *
+     * @mbg.generated
+     */
+    public void setGztop1name(String gztop1name) {
+        this.gztop1name = gztop1name == null ? null : gztop1name.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.GZTOP2
+     *
+     * @return the value of wtreportmain.GZTOP2
+     *
+     * @mbg.generated
+     */
+    public Long getGztop2() {
+        return gztop2;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.GZTOP2
+     *
+     * @param gztop2 the value for wtreportmain.GZTOP2
+     *
+     * @mbg.generated
+     */
+    public void setGztop2(Long gztop2) {
+        this.gztop2 = gztop2;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.GZTOP2NAME
+     *
+     * @return the value of wtreportmain.GZTOP2NAME
+     *
+     * @mbg.generated
+     */
+    public String getGztop2name() {
+        return gztop2name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.GZTOP2NAME
+     *
+     * @param gztop2name the value for wtreportmain.GZTOP2NAME
+     *
+     * @mbg.generated
+     */
+    public void setGztop2name(String gztop2name) {
+        this.gztop2name = gztop2name == null ? null : gztop2name.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.GZTOP3
+     *
+     * @return the value of wtreportmain.GZTOP3
+     *
+     * @mbg.generated
+     */
+    public Long getGztop3() {
+        return gztop3;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.GZTOP3
+     *
+     * @param gztop3 the value for wtreportmain.GZTOP3
+     *
+     * @mbg.generated
+     */
+    public void setGztop3(Long gztop3) {
+        this.gztop3 = gztop3;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.GZTOP3NAME
+     *
+     * @return the value of wtreportmain.GZTOP3NAME
+     *
+     * @mbg.generated
+     */
+    public String getGztop3name() {
+        return gztop3name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.GZTOP3NAME
+     *
+     * @param gztop3name the value for wtreportmain.GZTOP3NAME
+     *
+     * @mbg.generated
+     */
+    public void setGztop3name(String gztop3name) {
+        this.gztop3name = gztop3name == null ? null : gztop3name.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.YJTOP1
+     *
+     * @return the value of wtreportmain.YJTOP1
+     *
+     * @mbg.generated
+     */
+    public Long getYjtop1() {
+        return yjtop1;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.YJTOP1
+     *
+     * @param yjtop1 the value for wtreportmain.YJTOP1
+     *
+     * @mbg.generated
+     */
+    public void setYjtop1(Long yjtop1) {
+        this.yjtop1 = yjtop1;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.YJTOP1NAME
+     *
+     * @return the value of wtreportmain.YJTOP1NAME
+     *
+     * @mbg.generated
+     */
+    public String getYjtop1name() {
+        return yjtop1name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.YJTOP1NAME
+     *
+     * @param yjtop1name the value for wtreportmain.YJTOP1NAME
+     *
+     * @mbg.generated
+     */
+    public void setYjtop1name(String yjtop1name) {
+        this.yjtop1name = yjtop1name == null ? null : yjtop1name.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.YJTOP2
+     *
+     * @return the value of wtreportmain.YJTOP2
+     *
+     * @mbg.generated
+     */
+    public Long getYjtop2() {
+        return yjtop2;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.YJTOP2
+     *
+     * @param yjtop2 the value for wtreportmain.YJTOP2
+     *
+     * @mbg.generated
+     */
+    public void setYjtop2(Long yjtop2) {
+        this.yjtop2 = yjtop2;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.YJTOP2NAME
+     *
+     * @return the value of wtreportmain.YJTOP2NAME
+     *
+     * @mbg.generated
+     */
+    public String getYjtop2name() {
+        return yjtop2name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.YJTOP2NAME
+     *
+     * @param yjtop2name the value for wtreportmain.YJTOP2NAME
+     *
+     * @mbg.generated
+     */
+    public void setYjtop2name(String yjtop2name) {
+        this.yjtop2name = yjtop2name == null ? null : yjtop2name.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.YJTOP3
+     *
+     * @return the value of wtreportmain.YJTOP3
+     *
+     * @mbg.generated
+     */
+    public Long getYjtop3() {
+        return yjtop3;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.YJTOP3
+     *
+     * @param yjtop3 the value for wtreportmain.YJTOP3
+     *
+     * @mbg.generated
+     */
+    public void setYjtop3(Long yjtop3) {
+        this.yjtop3 = yjtop3;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.YJTOP3NAME
+     *
+     * @return the value of wtreportmain.YJTOP3NAME
+     *
+     * @mbg.generated
+     */
+    public String getYjtop3name() {
+        return yjtop3name;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.YJTOP3NAME
+     *
+     * @param yjtop3name the value for wtreportmain.YJTOP3NAME
+     *
+     * @mbg.generated
+     */
+    public void setYjtop3name(String yjtop3name) {
+        this.yjtop3name = yjtop3name == null ? null : yjtop3name.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.TOP1TYPE
+     *
+     * @return the value of wtreportmain.TOP1TYPE
+     *
+     * @mbg.generated
+     */
+    public String getTop1type() {
+        return top1type;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.TOP1TYPE
+     *
+     * @param top1type the value for wtreportmain.TOP1TYPE
+     *
+     * @mbg.generated
+     */
+    public void setTop1type(String top1type) {
+        this.top1type = top1type == null ? null : top1type.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.TOP2TYPE
+     *
+     * @return the value of wtreportmain.TOP2TYPE
+     *
+     * @mbg.generated
+     */
+    public String getTop2type() {
+        return top2type;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.TOP2TYPE
+     *
+     * @param top2type the value for wtreportmain.TOP2TYPE
+     *
+     * @mbg.generated
+     */
+    public void setTop2type(String top2type) {
+        this.top2type = top2type == null ? null : top2type.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportmain.TOP3TYPE
+     *
+     * @return the value of wtreportmain.TOP3TYPE
+     *
+     * @mbg.generated
+     */
+    public String getTop3type() {
+        return top3type;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportmain.TOP3TYPE
+     *
+     * @param top3type the value for wtreportmain.TOP3TYPE
+     *
+     * @mbg.generated
+     */
+    public void setTop3type(String top3type) {
+        this.top3type = top3type == null ? null : top3type.trim();
+    }
+}

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


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

@@ -0,0 +1,641 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WtReportSub implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.TID
+     *
+     * @mbg.generated
+     */
+    private String tid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.WTID
+     *
+     * @mbg.generated
+     */
+    private String wtid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    private Date recodedate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.FDL
+     *
+     * @mbg.generated
+     */
+    private Double fdl;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.SBKLYL
+     *
+     * @mbg.generated
+     */
+    private Double sbklyl;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.FNLYL
+     *
+     * @mbg.generated
+     */
+    private Double fnlyl;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.GZSS
+     *
+     * @mbg.generated
+     */
+    private Double gzss;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.WHSS
+     *
+     * @mbg.generated
+     */
+    private Double whss;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.XDSS
+     *
+     * @mbg.generated
+     */
+    private Double xdss;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.XNSS
+     *
+     * @mbg.generated
+     */
+    private Double xnss;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.SLSS
+     *
+     * @mbg.generated
+     */
+    private Double slss;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.QXPCL
+     *
+     * @mbg.generated
+     */
+    private Double qxpcl;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.QXPCLJZZ
+     *
+     * @mbg.generated
+     */
+    private Double qxpcljzz;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.XNSSL
+     *
+     * @mbg.generated
+     */
+    private Double xnssl;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.XNSSLJZZ
+     *
+     * @mbg.generated
+     */
+    private Double xnssljzz;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.DJPGJB
+     *
+     * @mbg.generated
+     */
+    private String djpgjb;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    private Double stophours;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wtreportsub.STOPTIMES
+     *
+     * @mbg.generated
+     */
+    private Long stoptimes;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wtreportsub
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.ID
+     *
+     * @return the value of wtreportsub.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.ID
+     *
+     * @param id the value for wtreportsub.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 wtreportsub.TID
+     *
+     * @return the value of wtreportsub.TID
+     *
+     * @mbg.generated
+     */
+    public String getTid() {
+        return tid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.TID
+     *
+     * @param tid the value for wtreportsub.TID
+     *
+     * @mbg.generated
+     */
+    public void setTid(String tid) {
+        this.tid = tid == null ? null : tid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.WTID
+     *
+     * @return the value of wtreportsub.WTID
+     *
+     * @mbg.generated
+     */
+    public String getWtid() {
+        return wtid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.WTID
+     *
+     * @param wtid the value for wtreportsub.WTID
+     *
+     * @mbg.generated
+     */
+    public void setWtid(String wtid) {
+        this.wtid = wtid == null ? null : wtid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.RECODEDATE
+     *
+     * @return the value of wtreportsub.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    public Date getRecodedate() {
+        return recodedate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.RECODEDATE
+     *
+     * @param recodedate the value for wtreportsub.RECODEDATE
+     *
+     * @mbg.generated
+     */
+    public void setRecodedate(Date recodedate) {
+        this.recodedate = recodedate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.FDL
+     *
+     * @return the value of wtreportsub.FDL
+     *
+     * @mbg.generated
+     */
+    public Double getFdl() {
+        return fdl;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.FDL
+     *
+     * @param fdl the value for wtreportsub.FDL
+     *
+     * @mbg.generated
+     */
+    public void setFdl(Double fdl) {
+        this.fdl = fdl;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.SBKLYL
+     *
+     * @return the value of wtreportsub.SBKLYL
+     *
+     * @mbg.generated
+     */
+    public Double getSbklyl() {
+        return sbklyl;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.SBKLYL
+     *
+     * @param sbklyl the value for wtreportsub.SBKLYL
+     *
+     * @mbg.generated
+     */
+    public void setSbklyl(Double sbklyl) {
+        this.sbklyl = sbklyl;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.FNLYL
+     *
+     * @return the value of wtreportsub.FNLYL
+     *
+     * @mbg.generated
+     */
+    public Double getFnlyl() {
+        return fnlyl;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.FNLYL
+     *
+     * @param fnlyl the value for wtreportsub.FNLYL
+     *
+     * @mbg.generated
+     */
+    public void setFnlyl(Double fnlyl) {
+        this.fnlyl = fnlyl;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.GZSS
+     *
+     * @return the value of wtreportsub.GZSS
+     *
+     * @mbg.generated
+     */
+    public Double getGzss() {
+        return gzss;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.GZSS
+     *
+     * @param gzss the value for wtreportsub.GZSS
+     *
+     * @mbg.generated
+     */
+    public void setGzss(Double gzss) {
+        this.gzss = gzss;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.WHSS
+     *
+     * @return the value of wtreportsub.WHSS
+     *
+     * @mbg.generated
+     */
+    public Double getWhss() {
+        return whss;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.WHSS
+     *
+     * @param whss the value for wtreportsub.WHSS
+     *
+     * @mbg.generated
+     */
+    public void setWhss(Double whss) {
+        this.whss = whss;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.XDSS
+     *
+     * @return the value of wtreportsub.XDSS
+     *
+     * @mbg.generated
+     */
+    public Double getXdss() {
+        return xdss;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.XDSS
+     *
+     * @param xdss the value for wtreportsub.XDSS
+     *
+     * @mbg.generated
+     */
+    public void setXdss(Double xdss) {
+        this.xdss = xdss;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.XNSS
+     *
+     * @return the value of wtreportsub.XNSS
+     *
+     * @mbg.generated
+     */
+    public Double getXnss() {
+        return xnss;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.XNSS
+     *
+     * @param xnss the value for wtreportsub.XNSS
+     *
+     * @mbg.generated
+     */
+    public void setXnss(Double xnss) {
+        this.xnss = xnss;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.SLSS
+     *
+     * @return the value of wtreportsub.SLSS
+     *
+     * @mbg.generated
+     */
+    public Double getSlss() {
+        return slss;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.SLSS
+     *
+     * @param slss the value for wtreportsub.SLSS
+     *
+     * @mbg.generated
+     */
+    public void setSlss(Double slss) {
+        this.slss = slss;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.QXPCL
+     *
+     * @return the value of wtreportsub.QXPCL
+     *
+     * @mbg.generated
+     */
+    public Double getQxpcl() {
+        return qxpcl;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.QXPCL
+     *
+     * @param qxpcl the value for wtreportsub.QXPCL
+     *
+     * @mbg.generated
+     */
+    public void setQxpcl(Double qxpcl) {
+        this.qxpcl = qxpcl;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.QXPCLJZZ
+     *
+     * @return the value of wtreportsub.QXPCLJZZ
+     *
+     * @mbg.generated
+     */
+    public Double getQxpcljzz() {
+        return qxpcljzz;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.QXPCLJZZ
+     *
+     * @param qxpcljzz the value for wtreportsub.QXPCLJZZ
+     *
+     * @mbg.generated
+     */
+    public void setQxpcljzz(Double qxpcljzz) {
+        this.qxpcljzz = qxpcljzz;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.XNSSL
+     *
+     * @return the value of wtreportsub.XNSSL
+     *
+     * @mbg.generated
+     */
+    public Double getXnssl() {
+        return xnssl;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.XNSSL
+     *
+     * @param xnssl the value for wtreportsub.XNSSL
+     *
+     * @mbg.generated
+     */
+    public void setXnssl(Double xnssl) {
+        this.xnssl = xnssl;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.XNSSLJZZ
+     *
+     * @return the value of wtreportsub.XNSSLJZZ
+     *
+     * @mbg.generated
+     */
+    public Double getXnssljzz() {
+        return xnssljzz;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.XNSSLJZZ
+     *
+     * @param xnssljzz the value for wtreportsub.XNSSLJZZ
+     *
+     * @mbg.generated
+     */
+    public void setXnssljzz(Double xnssljzz) {
+        this.xnssljzz = xnssljzz;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.DJPGJB
+     *
+     * @return the value of wtreportsub.DJPGJB
+     *
+     * @mbg.generated
+     */
+    public String getDjpgjb() {
+        return djpgjb;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.DJPGJB
+     *
+     * @param djpgjb the value for wtreportsub.DJPGJB
+     *
+     * @mbg.generated
+     */
+    public void setDjpgjb(String djpgjb) {
+        this.djpgjb = djpgjb == null ? null : djpgjb.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wtreportsub.STOPHOURS
+     *
+     * @return the value of wtreportsub.STOPHOURS
+     *
+     * @mbg.generated
+     */
+    public Double getStophours() {
+        return stophours;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.STOPHOURS
+     *
+     * @param stophours the value for wtreportsub.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 wtreportsub.STOPTIMES
+     *
+     * @return the value of wtreportsub.STOPTIMES
+     *
+     * @mbg.generated
+     */
+    public Long getStoptimes() {
+        return stoptimes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wtreportsub.STOPTIMES
+     *
+     * @param stoptimes the value for wtreportsub.STOPTIMES
+     *
+     * @mbg.generated
+     */
+    public void setStoptimes(Long stoptimes) {
+        this.stoptimes = stoptimes;
+    }
+}

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


+ 311 - 0
src/main/java/com/gyee/frame/model/auto/WtTragetReportChart.java

@@ -0,0 +1,311 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WtTragetReportChart implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wttragetreportchart.ID
+     *
+     * @mbg.generated
+     */
+    private Integer id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wttragetreportchart.TID
+     *
+     * @mbg.generated
+     */
+    private Integer tid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wttragetreportchart.PARTID
+     *
+     * @mbg.generated
+     */
+    private String partid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wttragetreportchart.PARTNAME
+     *
+     * @mbg.generated
+     */
+    private String partname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wttragetreportchart.RECORDDATE
+     *
+     * @mbg.generated
+     */
+    private Date recorddate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wttragetreportchart.VALUE
+     *
+     * @mbg.generated
+     */
+    private Double value;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wttragetreportchart.PARENTID
+     *
+     * @mbg.generated
+     */
+    private String parentid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wttragetreportchart.WTID
+     *
+     * @mbg.generated
+     */
+    private String wtid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wttragetreportchart.WTNAME
+     *
+     * @mbg.generated
+     */
+    private String wtname;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wttragetreportchart
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wttragetreportchart.ID
+     *
+     * @return the value of wttragetreportchart.ID
+     *
+     * @mbg.generated
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wttragetreportchart.ID
+     *
+     * @param id the value for wttragetreportchart.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 wttragetreportchart.TID
+     *
+     * @return the value of wttragetreportchart.TID
+     *
+     * @mbg.generated
+     */
+    public Integer getTid() {
+        return tid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wttragetreportchart.TID
+     *
+     * @param tid the value for wttragetreportchart.TID
+     *
+     * @mbg.generated
+     */
+    public void setTid(Integer tid) {
+        this.tid = tid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wttragetreportchart.PARTID
+     *
+     * @return the value of wttragetreportchart.PARTID
+     *
+     * @mbg.generated
+     */
+    public String getPartid() {
+        return partid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wttragetreportchart.PARTID
+     *
+     * @param partid the value for wttragetreportchart.PARTID
+     *
+     * @mbg.generated
+     */
+    public void setPartid(String partid) {
+        this.partid = partid == null ? null : partid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wttragetreportchart.PARTNAME
+     *
+     * @return the value of wttragetreportchart.PARTNAME
+     *
+     * @mbg.generated
+     */
+    public String getPartname() {
+        return partname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wttragetreportchart.PARTNAME
+     *
+     * @param partname the value for wttragetreportchart.PARTNAME
+     *
+     * @mbg.generated
+     */
+    public void setPartname(String partname) {
+        this.partname = partname == null ? null : partname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wttragetreportchart.RECORDDATE
+     *
+     * @return the value of wttragetreportchart.RECORDDATE
+     *
+     * @mbg.generated
+     */
+    public Date getRecorddate() {
+        return recorddate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wttragetreportchart.RECORDDATE
+     *
+     * @param recorddate the value for wttragetreportchart.RECORDDATE
+     *
+     * @mbg.generated
+     */
+    public void setRecorddate(Date recorddate) {
+        this.recorddate = recorddate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wttragetreportchart.VALUE
+     *
+     * @return the value of wttragetreportchart.VALUE
+     *
+     * @mbg.generated
+     */
+    public Double getValue() {
+        return value;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wttragetreportchart.VALUE
+     *
+     * @param value the value for wttragetreportchart.VALUE
+     *
+     * @mbg.generated
+     */
+    public void setValue(Double value) {
+        this.value = value;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wttragetreportchart.PARENTID
+     *
+     * @return the value of wttragetreportchart.PARENTID
+     *
+     * @mbg.generated
+     */
+    public String getParentid() {
+        return parentid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wttragetreportchart.PARENTID
+     *
+     * @param parentid the value for wttragetreportchart.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 wttragetreportchart.WTID
+     *
+     * @return the value of wttragetreportchart.WTID
+     *
+     * @mbg.generated
+     */
+    public String getWtid() {
+        return wtid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wttragetreportchart.WTID
+     *
+     * @param wtid the value for wttragetreportchart.WTID
+     *
+     * @mbg.generated
+     */
+    public void setWtid(String wtid) {
+        this.wtid = wtid == null ? null : wtid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wttragetreportchart.WTNAME
+     *
+     * @return the value of wttragetreportchart.WTNAME
+     *
+     * @mbg.generated
+     */
+    public String getWtname() {
+        return wtname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wttragetreportchart.WTNAME
+     *
+     * @param wtname the value for wttragetreportchart.WTNAME
+     *
+     * @mbg.generated
+     */
+    public void setWtname(String wtname) {
+        this.wtname = wtname == null ? null : wtname.trim();
+    }
+}

+ 920 - 0
src/main/java/com/gyee/frame/model/auto/WtTragetReportChartExample.java

@@ -0,0 +1,920 @@
+package com.gyee.frame.model.auto;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+public class WtTragetReportChartExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wttragetreportchart
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wttragetreportchart
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wttragetreportchart
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wttragetreportchart
+     *
+     * @mbg.generated
+     */
+    public WtTragetReportChartExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wttragetreportchart
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wttragetreportchart
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wttragetreportchart
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wttragetreportchart
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wttragetreportchart
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wttragetreportchart
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wttragetreportchart
+     *
+     * @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 wttragetreportchart
+     *
+     * @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 wttragetreportchart
+     *
+     * @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 wttragetreportchart
+     *
+     * @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 wttragetreportchart
+     *
+     * @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));
+        }
+
+        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            addCriterion(condition, new java.sql.Date(value.getTime()), property);
+        }
+
+        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
+            if (values == null || values.size() == 0) {
+                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
+            }
+            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
+            Iterator<Date> iter = values.iterator();
+            while (iter.hasNext()) {
+                dateList.add(new java.sql.Date(iter.next().getTime()));
+            }
+            addCriterion(condition, dateList, property);
+        }
+
+        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Integer value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Integer value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Integer value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Integer value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Integer value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Integer> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Integer> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Integer value1, Integer value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Integer value1, Integer value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidIsNull() {
+            addCriterion("TID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidIsNotNull() {
+            addCriterion("TID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidEqualTo(Integer value) {
+            addCriterion("TID =", value, "tid");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidNotEqualTo(Integer value) {
+            addCriterion("TID <>", value, "tid");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidGreaterThan(Integer value) {
+            addCriterion("TID >", value, "tid");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidGreaterThanOrEqualTo(Integer value) {
+            addCriterion("TID >=", value, "tid");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidLessThan(Integer value) {
+            addCriterion("TID <", value, "tid");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidLessThanOrEqualTo(Integer value) {
+            addCriterion("TID <=", value, "tid");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidIn(List<Integer> values) {
+            addCriterion("TID in", values, "tid");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidNotIn(List<Integer> values) {
+            addCriterion("TID not in", values, "tid");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidBetween(Integer value1, Integer value2) {
+            addCriterion("TID between", value1, value2, "tid");
+            return (Criteria) this;
+        }
+
+        public Criteria andTidNotBetween(Integer value1, Integer value2) {
+            addCriterion("TID not between", value1, value2, "tid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidIsNull() {
+            addCriterion("PARTID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidIsNotNull() {
+            addCriterion("PARTID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidEqualTo(String value) {
+            addCriterion("PARTID =", value, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidNotEqualTo(String value) {
+            addCriterion("PARTID <>", value, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidGreaterThan(String value) {
+            addCriterion("PARTID >", value, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidGreaterThanOrEqualTo(String value) {
+            addCriterion("PARTID >=", value, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidLessThan(String value) {
+            addCriterion("PARTID <", value, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidLessThanOrEqualTo(String value) {
+            addCriterion("PARTID <=", value, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidLike(String value) {
+            addCriterion("PARTID like", value, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidNotLike(String value) {
+            addCriterion("PARTID not like", value, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidIn(List<String> values) {
+            addCriterion("PARTID in", values, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidNotIn(List<String> values) {
+            addCriterion("PARTID not in", values, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidBetween(String value1, String value2) {
+            addCriterion("PARTID between", value1, value2, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartidNotBetween(String value1, String value2) {
+            addCriterion("PARTID not between", value1, value2, "partid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameIsNull() {
+            addCriterion("PARTNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameIsNotNull() {
+            addCriterion("PARTNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameEqualTo(String value) {
+            addCriterion("PARTNAME =", value, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameNotEqualTo(String value) {
+            addCriterion("PARTNAME <>", value, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameGreaterThan(String value) {
+            addCriterion("PARTNAME >", value, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameGreaterThanOrEqualTo(String value) {
+            addCriterion("PARTNAME >=", value, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameLessThan(String value) {
+            addCriterion("PARTNAME <", value, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameLessThanOrEqualTo(String value) {
+            addCriterion("PARTNAME <=", value, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameLike(String value) {
+            addCriterion("PARTNAME like", value, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameNotLike(String value) {
+            addCriterion("PARTNAME not like", value, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameIn(List<String> values) {
+            addCriterion("PARTNAME in", values, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameNotIn(List<String> values) {
+            addCriterion("PARTNAME not in", values, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameBetween(String value1, String value2) {
+            addCriterion("PARTNAME between", value1, value2, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPartnameNotBetween(String value1, String value2) {
+            addCriterion("PARTNAME not between", value1, value2, "partname");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateIsNull() {
+            addCriterion("RECORDDATE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateIsNotNull() {
+            addCriterion("RECORDDATE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateEqualTo(Date value) {
+            addCriterionForJDBCDate("RECORDDATE =", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateNotEqualTo(Date value) {
+            addCriterionForJDBCDate("RECORDDATE <>", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateGreaterThan(Date value) {
+            addCriterionForJDBCDate("RECORDDATE >", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateGreaterThanOrEqualTo(Date value) {
+            addCriterionForJDBCDate("RECORDDATE >=", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateLessThan(Date value) {
+            addCriterionForJDBCDate("RECORDDATE <", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateLessThanOrEqualTo(Date value) {
+            addCriterionForJDBCDate("RECORDDATE <=", value, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateIn(List<Date> values) {
+            addCriterionForJDBCDate("RECORDDATE in", values, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateNotIn(List<Date> values) {
+            addCriterionForJDBCDate("RECORDDATE not in", values, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateBetween(Date value1, Date value2) {
+            addCriterionForJDBCDate("RECORDDATE between", value1, value2, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecorddateNotBetween(Date value1, Date value2) {
+            addCriterionForJDBCDate("RECORDDATE not between", value1, value2, "recorddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueIsNull() {
+            addCriterion("VALUE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueIsNotNull() {
+            addCriterion("VALUE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueEqualTo(Double value) {
+            addCriterion("VALUE =", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotEqualTo(Double value) {
+            addCriterion("VALUE <>", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueGreaterThan(Double value) {
+            addCriterion("VALUE >", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueGreaterThanOrEqualTo(Double value) {
+            addCriterion("VALUE >=", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueLessThan(Double value) {
+            addCriterion("VALUE <", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueLessThanOrEqualTo(Double value) {
+            addCriterion("VALUE <=", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueIn(List<Double> values) {
+            addCriterion("VALUE in", values, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotIn(List<Double> values) {
+            addCriterion("VALUE not in", values, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueBetween(Double value1, Double value2) {
+            addCriterion("VALUE between", value1, value2, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotBetween(Double value1, Double value2) {
+            addCriterion("VALUE not between", value1, value2, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidIsNull() {
+            addCriterion("PARENTID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidIsNotNull() {
+            addCriterion("PARENTID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidEqualTo(String value) {
+            addCriterion("PARENTID =", value, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidNotEqualTo(String value) {
+            addCriterion("PARENTID <>", value, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidGreaterThan(String value) {
+            addCriterion("PARENTID >", value, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidGreaterThanOrEqualTo(String value) {
+            addCriterion("PARENTID >=", value, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidLessThan(String value) {
+            addCriterion("PARENTID <", value, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidLessThanOrEqualTo(String value) {
+            addCriterion("PARENTID <=", value, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidLike(String value) {
+            addCriterion("PARENTID like", value, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidNotLike(String value) {
+            addCriterion("PARENTID not like", value, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidIn(List<String> values) {
+            addCriterion("PARENTID in", values, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidNotIn(List<String> values) {
+            addCriterion("PARENTID not in", values, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidBetween(String value1, String value2) {
+            addCriterion("PARENTID between", value1, value2, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentidNotBetween(String value1, String value2) {
+            addCriterion("PARENTID not between", value1, value2, "parentid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIsNull() {
+            addCriterion("WTID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIsNotNull() {
+            addCriterion("WTID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidEqualTo(String value) {
+            addCriterion("WTID =", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotEqualTo(String value) {
+            addCriterion("WTID <>", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidGreaterThan(String value) {
+            addCriterion("WTID >", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidGreaterThanOrEqualTo(String value) {
+            addCriterion("WTID >=", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLessThan(String value) {
+            addCriterion("WTID <", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLessThanOrEqualTo(String value) {
+            addCriterion("WTID <=", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidLike(String value) {
+            addCriterion("WTID like", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotLike(String value) {
+            addCriterion("WTID not like", value, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidIn(List<String> values) {
+            addCriterion("WTID in", values, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotIn(List<String> values) {
+            addCriterion("WTID not in", values, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidBetween(String value1, String value2) {
+            addCriterion("WTID between", value1, value2, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtidNotBetween(String value1, String value2) {
+            addCriterion("WTID not between", value1, value2, "wtid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameIsNull() {
+            addCriterion("WTNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameIsNotNull() {
+            addCriterion("WTNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameEqualTo(String value) {
+            addCriterion("WTNAME =", value, "wtname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameNotEqualTo(String value) {
+            addCriterion("WTNAME <>", value, "wtname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameGreaterThan(String value) {
+            addCriterion("WTNAME >", value, "wtname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameGreaterThanOrEqualTo(String value) {
+            addCriterion("WTNAME >=", value, "wtname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameLessThan(String value) {
+            addCriterion("WTNAME <", value, "wtname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameLessThanOrEqualTo(String value) {
+            addCriterion("WTNAME <=", value, "wtname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameLike(String value) {
+            addCriterion("WTNAME like", value, "wtname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameNotLike(String value) {
+            addCriterion("WTNAME not like", value, "wtname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameIn(List<String> values) {
+            addCriterion("WTNAME in", values, "wtname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameNotIn(List<String> values) {
+            addCriterion("WTNAME not in", values, "wtname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameBetween(String value1, String value2) {
+            addCriterion("WTNAME between", value1, value2, "wtname");
+            return (Criteria) this;
+        }
+
+        public Criteria andWtnameNotBetween(String value1, String value2) {
+            addCriterion("WTNAME not between", value1, value2, "wtname");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table wttragetreportchart
+     *
+     * @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 wttragetreportchart
+     *
+     * @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);
+        }
+    }
+}

+ 394 - 0
src/main/java/com/gyee/frame/service/Windturbineinfodaytop2Service.java

@@ -0,0 +1,394 @@
+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.Windturbineinfodaytop2Mapper;
+import com.gyee.frame.model.auto.Windturbineinfodaytop2;
+import com.gyee.frame.model.auto.Windturbineinfodaytop2Example;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.model.custom.ValueVo;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 风机信息表 Windturbineinfodaytop2Service
+ * @Title: Windturbineinfodaytop2Service.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2019-12-30 17:00:04  
+ **/
+@Service
+public class Windturbineinfodaytop2Service implements BaseService<Windturbineinfodaytop2, Windturbineinfodaytop2Example> {
+	@Resource
+	private Windturbineinfodaytop2Mapper windturbineinfodaytop2Mapper;
+
+
+	/**
+	 * 分页查询
+	 * @param tablepar
+	 * @param name
+	 * @return
+	 */
+	 public PageInfo<Windturbineinfodaytop2> list(Tablepar tablepar, String name){
+	        Windturbineinfodaytop2Example testExample=new Windturbineinfodaytop2Example();
+	        testExample.setOrderByClause("id ASC");
+	        if(name!=null&&!"".equals(name)){
+//	        	testExample.createCriteria().and.andCodeLike("%"+name+"%");
+	        }
+
+	        PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+	        List<Windturbineinfodaytop2> list= windturbineinfodaytop2Mapper.selectByExample(testExample);
+	        PageInfo<Windturbineinfodaytop2> pageInfo = new PageInfo<Windturbineinfodaytop2>(list);
+	        return  pageInfo;
+	 }
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+
+			List<Integer> lista=Convert.toIntArrayList(ids);
+			Windturbineinfodaytop2Example example=new Windturbineinfodaytop2Example();
+			example.createCriteria().andIdIn(lista);
+			return windturbineinfodaytop2Mapper.deleteByExample(example);
+
+
+	}
+
+
+	@Override
+	public Windturbineinfodaytop2 selectByPrimaryKey(String id) {
+
+	 	if(StringUtils.isNotEmpty(id))
+		{
+			return windturbineinfodaytop2Mapper.selectByPrimaryKey(Integer.valueOf(id));
+
+		}
+	 	return new Windturbineinfodaytop2();
+
+	}
+
+
+	@Override
+	public int updateByPrimaryKeySelective(Windturbineinfodaytop2 record) {
+		return windturbineinfodaytop2Mapper.updateByPrimaryKeySelective(record);
+	}
+
+
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(Windturbineinfodaytop2 record) {
+
+//		//添加雪花主键id
+//		record.setId(SnowflakeIdWorker.getUUID());
+
+
+		return windturbineinfodaytop2Mapper.insertSelective(record);
+	}
+
+
+	@Override
+	public int updateByExampleSelective(Windturbineinfodaytop2 record, Windturbineinfodaytop2Example example) {
+
+		return windturbineinfodaytop2Mapper.updateByExampleSelective(record, example);
+	}
+
+
+	@Override
+	public int updateByExample(Windturbineinfodaytop2 record, Windturbineinfodaytop2Example example) {
+
+		return windturbineinfodaytop2Mapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<Windturbineinfodaytop2> selectByExample(Windturbineinfodaytop2Example example) {
+
+		return windturbineinfodaytop2Mapper.selectByExample(example);
+	}
+
+
+	@Override
+	public long countByExample(Windturbineinfodaytop2Example example) {
+
+		return windturbineinfodaytop2Mapper.countByExample(example);
+	}
+
+
+	@Override
+	public int deleteByExample(Windturbineinfodaytop2Example example) {
+
+		return windturbineinfodaytop2Mapper.deleteByExample(example);
+	}
+
+
+	public PageInfo<Windturbineinfodaytop2> gadaylistByPage(Tablepar tablepar,String wpId, Date recorddate)  {
+		List<Windturbineinfodaytop2> list=null;
+
+		Windturbineinfodaytop2Example example=new Windturbineinfodaytop2Example();
+
+		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());
+
+		if(recorddate!=null &&  StringUtils.isNotEmpty(wpId)){
+
+
+			example.createCriteria().andWindpowerstationidEqualTo(wpId).andTypeEqualTo(1).andRecorddateGreaterThanOrEqualTo(recorddate).andRecorddateLessThan(DateUtils.addDays(recorddate,1));
+			list= windturbineinfodaytop2Mapper.selectByExample(example);
+		}else
+		{
+			list=new ArrayList<>();
+		}
+		PageInfo<Windturbineinfodaytop2> pageInfo = new PageInfo<Windturbineinfodaytop2>(list);
+
+		return pageInfo;
+	}
+
+
+	public PageInfo<Windturbineinfodaytop2> gamonthlistByPage(Tablepar tablepar,String wpId, String year,String month)  {
+		List<Windturbineinfodaytop2> list=null;
+
+		Windturbineinfodaytop2Example example=new Windturbineinfodaytop2Example();
+		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());
+
+		if(StringUtils.isNotEmpty(year) && StringUtils.isNotEmpty(month) &&  StringUtils.isNotEmpty(wpId)){
+
+
+			example.createCriteria().andWindpowerstationidEqualTo(wpId).andTypeEqualTo(2).andYearEqualTo(Integer.valueOf(year)).andMonthEqualTo(Integer.valueOf(month));
+			list= windturbineinfodaytop2Mapper.selectByExample(example);
+		}else
+		{
+			list=new ArrayList<>();
+		}
+
+		PageInfo<Windturbineinfodaytop2> pageInfo = new PageInfo<Windturbineinfodaytop2>(list);
+
+		return pageInfo;
+	}
+
+
+	public PageInfo<Windturbineinfodaytop2> gayearlistByPage(Tablepar tablepar,String wpId,String year)  {
+		List<Windturbineinfodaytop2> list=null;
+
+		Windturbineinfodaytop2Example example=new Windturbineinfodaytop2Example();
+		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());
+
+		if(StringUtils.isNotEmpty(wpId) &&  StringUtils.isNotEmpty(year)){
+
+
+			example.createCriteria().andWindpowerstationidEqualTo(wpId).andTypeEqualTo(3).andYearEqualTo(Integer.valueOf(year));
+			list= windturbineinfodaytop2Mapper.selectByExample(example);
+		}else
+		{
+			list=new ArrayList<>();
+		}
+		PageInfo<Windturbineinfodaytop2> pageInfo = new PageInfo<Windturbineinfodaytop2>(list);
+
+		return pageInfo;
+	}
+	/******************************************************************************************************************/
+	public List<Windturbineinfodaytop2> gadaylist(String wpId, Date recorddate)  {
+		List<Windturbineinfodaytop2> list=null;
+
+		Windturbineinfodaytop2Example example=new Windturbineinfodaytop2Example();
+		example.setOrderByClause("windturbineid ASC");
+
+		if(recorddate!=null &&  StringUtils.isNotEmpty(wpId)){
+
+
+			example.createCriteria().andWindpowerstationidEqualTo(wpId).andTypeEqualTo(1).andRecorddateGreaterThanOrEqualTo(recorddate).andRecorddateLessThan(DateUtils.addDays(recorddate,1));
+			list= windturbineinfodaytop2Mapper.selectByExample(example);
+		}else
+		{
+			list=new ArrayList<>();
+		}
+
+
+		return list;
+	}
+
+	public List<Windturbineinfodaytop2> gamonthlist(String wpId, String year,String month)  {
+		List<Windturbineinfodaytop2> list=null;
+
+		Windturbineinfodaytop2Example example=new Windturbineinfodaytop2Example();
+		example.setOrderByClause("windturbineid ASC");
+
+		if(StringUtils.isNotEmpty(year) && StringUtils.isNotEmpty(month) &&  StringUtils.isNotEmpty(wpId)){
+
+
+			example.createCriteria().andWindpowerstationidEqualTo(wpId).andTypeEqualTo(2).andYearEqualTo(Integer.valueOf(year)).andMonthEqualTo(Integer.valueOf(month));
+			list= windturbineinfodaytop2Mapper.selectByExample(example);
+		}else
+		{
+			list=new ArrayList<>();
+		}
+
+
+		return list;
+	}
+
+	public List<Windturbineinfodaytop2> gayearlist(String wpId, String year)  {
+		List<Windturbineinfodaytop2> list=null;
+
+		Windturbineinfodaytop2Example example=new Windturbineinfodaytop2Example();
+		example.setOrderByClause("windturbineid ASC");
+
+		if(StringUtils.isNotEmpty(wpId) &&  StringUtils.isNotEmpty(year)){
+
+
+			example.createCriteria().andWindpowerstationidEqualTo(wpId).andTypeEqualTo(3).andYearEqualTo(Integer.valueOf(year));
+			list= windturbineinfodaytop2Mapper.selectByExample(example);
+		}else
+		{
+			list=new ArrayList<>();
+		}
+
+
+		return list;
+	}
+	/******************************************************************************************************************/
+	public List<ValueVo> wtchart(String gaid) {
+
+
+		if (StringUtils.isNotEmpty(gaid)) {
+			List<ValueVo> vos = new ArrayList<ValueVo>();
+
+			Windturbineinfodaytop2 wtd = windturbineinfodaytop2Mapper.selectByPrimaryKey(Integer.valueOf(gaid));
+
+			for (int i = 0; i < 10; i++) {
+				ValueVo vo = new ValueVo();
+
+				switch (i) {
+					case 0:
+						// vo.setName("N("+winfo.getN4()+"/"+winfo.getN()+")");
+						vo.setName("平均切入风速");
+						// vo.setData1(wtd.getMonthxfqr());
+						vo.setData1(wtd.getYearxfqr());
+						break;
+					case 1:
+						// vo.setName("NNE("+winfo.getNne4()+"/"+winfo.getNne()+")");
+						vo.setName("性能损失电量");
+						// vo.setData1(wtd.getMonthxnssdl());
+						vo.setData1(wtd.getYearxnssdl());
+						break;
+					case 2:
+						// vo.setName("NE("+winfo.getNe4()+"/"+winfo.getNe()+")");
+						vo.setName("拟合优度");
+						// vo.setData1(wtd.getMonthnhyd());
+						vo.setData1(wtd.getYearnhyd());
+						break;
+					case 3:
+						// vo.setName("ENE("+winfo.getEne4()+"/"+winfo.getEne()+")");
+						vo.setName("功率一致性系数");
+						// vo.setData1(wtd.getMonthglyzxxs());
+						vo.setData1(wtd.getYearglyzxxs());
+						break;
+					case 4:
+						// vo.setName("E("+winfo.getE4()+"/"+winfo.getE()+")");
+						vo.setName("利用小时");
+						// vo.setData1(wtd.getMonthlyxs());
+						vo.setData1(wtd.getYearlyxs());
+						break;
+					case 5:
+						// vo.setName("ESE("+winfo.getEse()+"/"+winfo.getEse()+")");
+						vo.setName("设备可利用率");
+						// vo.setData1(wtd.getMonthsbklyl());
+						vo.setData1(wtd.getYearsbklyl());
+						break;
+					case 6:
+						// vo.setName("ESE("+winfo.getEse()+"/"+winfo.getEse()+")");
+						vo.setName("等效可利用系数");
+						// vo.setData1(wtd.getMonthdxkyxs());
+						vo.setData1(wtd.getYeardxkyxs());
+						break;
+					case 7:
+						// vo.setName("ESE("+winfo.getEse()+"/"+winfo.getEse()+")");
+						vo.setName("有效风时数");
+						// vo.setData1(wtd.getMonthyxfss());
+						vo.setData1(wtd.getYearyxfss());
+						break;
+					case 8:
+						// vo.setName("ESE("+winfo.getEse()+"/"+winfo.getEse()+")");
+						vo.setName("平均风速");
+						// vo.setData1(wtd.getMonthdxkyxs());
+						vo.setData1(wtd.getYeardxkyxs());
+						break;
+					case 9:
+						// vo.setName("ESE("+winfo.getEse()+"/"+winfo.getEse()+")");
+						vo.setName("静风频率");
+						// vo.setData1(wtd.getMonthdxkyxs());
+						vo.setData1(wtd.getYeardxkyxs());
+						break;
+					default:
+						break;
+				}
+
+				vos.add(vo);
+
+			}
+
+		return	vos;
+
+		}
+
+		return new ArrayList<>();
+	}
+
+	
+}

+ 119 - 0
src/main/java/com/gyee/frame/service/WtReportMainService.java

@@ -0,0 +1,119 @@
+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.WtReportMainMapper;
+import com.gyee.frame.model.auto.WtReportMain;
+import com.gyee.frame.model.auto.WtReportMainExample;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.SnowflakeIdWorker;
+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 WtReportMainService implements BaseService<WtReportMain, WtReportMainExample> {
+	@Autowired
+	private WtReportMainMapper wtReportMainMapper;
+
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+
+			List<String> lista=Convert.toListStrArray(ids);
+			WtReportMainExample example=new WtReportMainExample();
+			example.createCriteria().andIdIn(lista);
+			return wtReportMainMapper.deleteByExample(example);
+
+
+	}
+
+
+	@Override
+	public WtReportMain selectByPrimaryKey(String id) {
+
+			return wtReportMainMapper.selectByPrimaryKey(id);
+
+	}
+
+
+	@Override
+	public int updateByPrimaryKeySelective(WtReportMain record) {
+		return wtReportMainMapper.updateByPrimaryKeySelective(record);
+	}
+
+
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(WtReportMain record) {
+
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+
+
+		return wtReportMainMapper.insertSelective(record);
+	}
+
+
+	@Override
+	public int updateByExampleSelective(WtReportMain record, WtReportMainExample example) {
+
+		return wtReportMainMapper.updateByExampleSelective(record, example);
+	}
+
+
+	@Override
+	public int updateByExample(WtReportMain record, WtReportMainExample example) {
+
+		return wtReportMainMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<WtReportMain> selectByExample(WtReportMainExample example) {
+
+		return wtReportMainMapper.selectByExample(example);
+	}
+
+
+	@Override
+	public long countByExample(WtReportMainExample example) {
+
+		return wtReportMainMapper.countByExample(example);
+	}
+
+
+	@Override
+	public int deleteByExample(WtReportMainExample example) {
+
+		return wtReportMainMapper.deleteByExample(example);
+	}
+
+	public List<WtReportMain> healthReport(String wtId, Date recorddate) {
+
+
+		List<WtReportMain> list=new ArrayList<>();
+
+		WtReportMainExample example=new WtReportMainExample();
+		example.setOrderByClause("recodedate asc");
+
+		WtReportMainExample.Criteria criteria =example.createCriteria();
+
+		criteria.andWtidEqualTo(wtId);
+
+		Date endDate= DateUtils.addDays(recorddate,1);
+		criteria.andRecodedateGreaterThanOrEqualTo(recorddate).andRecodedateLessThan(endDate);
+
+
+		list= wtReportMainMapper.selectByExample(example);
+
+		return list;
+
+	}
+
+}

+ 116 - 0
src/main/java/com/gyee/frame/service/WtReportSubService.java

@@ -0,0 +1,116 @@
+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.WtReportSubMapper;
+import com.gyee.frame.model.auto.WtReportSub;
+import com.gyee.frame.model.auto.WtReportSubExample;
+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;
+
+
+@Service
+public class WtReportSubService implements BaseService<WtReportSub, WtReportSubExample> {
+	@Autowired
+	private WtReportSubMapper wtReportSubMapper;
+
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+
+			List<String> lista=Convert.toListStrArray(ids);
+			WtReportSubExample example=new WtReportSubExample();
+			example.createCriteria().andIdIn(lista);
+			return wtReportSubMapper.deleteByExample(example);
+
+
+	}
+
+
+	@Override
+	public WtReportSub selectByPrimaryKey(String id) {
+
+			return wtReportSubMapper.selectByPrimaryKey(id);
+
+	}
+
+
+	@Override
+	public int updateByPrimaryKeySelective(WtReportSub record) {
+		return wtReportSubMapper.updateByPrimaryKeySelective(record);
+	}
+
+
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(WtReportSub record) {
+
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+
+
+		return wtReportSubMapper.insertSelective(record);
+	}
+
+
+	@Override
+	public int updateByExampleSelective(WtReportSub record, WtReportSubExample example) {
+
+		return wtReportSubMapper.updateByExampleSelective(record, example);
+	}
+
+
+	@Override
+	public int updateByExample(WtReportSub record, WtReportSubExample example) {
+
+		return wtReportSubMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<WtReportSub> selectByExample(WtReportSubExample example) {
+
+		return wtReportSubMapper.selectByExample(example);
+	}
+
+
+	@Override
+	public long countByExample(WtReportSubExample example) {
+
+		return wtReportSubMapper.countByExample(example);
+	}
+
+
+	@Override
+	public int deleteByExample(WtReportSubExample example) {
+
+		return wtReportSubMapper.deleteByExample(example);
+	}
+
+	public List<WtReportSub> healthReportsub(String tid) {
+
+
+		List<WtReportSub> list=new ArrayList<>();
+
+		if(StringUtils.notEmp(tid))
+		{
+			WtReportSubExample example=new WtReportSubExample();
+			example.setOrderByClause("recodedate asc");
+
+			WtReportSubExample.Criteria criteria =example.createCriteria();
+
+			criteria.andTidEqualTo(tid);
+
+			list= wtReportSubMapper.selectByExample(example);
+		}
+
+		return list;
+
+	}
+}

+ 113 - 0
src/main/java/com/gyee/frame/service/WtTragetReportChartService.java

@@ -0,0 +1,113 @@
+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.WtTragetReportChartMapper;
+import com.gyee.frame.model.auto.WtTragetReportChart;
+import com.gyee.frame.model.auto.WtTragetReportChartExample;
+import com.gyee.frame.util.DateUtils;
+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 WtTragetReportChartService implements BaseService<WtTragetReportChart, WtTragetReportChartExample> {
+	@Autowired
+	private WtTragetReportChartMapper wtTragetReportChartMapper;
+
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+
+			List<Integer> lista=Convert.toIntArrayList(ids);
+			WtTragetReportChartExample example=new WtTragetReportChartExample();
+			example.createCriteria().andIdIn(lista);
+			return wtTragetReportChartMapper.deleteByExample(example);
+	}
+
+
+	@Override
+	public WtTragetReportChart selectByPrimaryKey(String id) {
+
+			return wtTragetReportChartMapper.selectByPrimaryKey(Integer.valueOf(id));
+
+	}
+
+
+	@Override
+	public int updateByPrimaryKeySelective(WtTragetReportChart record) {
+		return wtTragetReportChartMapper.updateByPrimaryKeySelective(record);
+	}
+
+
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(WtTragetReportChart record) {
+
+
+		return wtTragetReportChartMapper.insertSelective(record);
+	}
+
+
+	@Override
+	public int updateByExampleSelective(WtTragetReportChart record, WtTragetReportChartExample example) {
+
+		return wtTragetReportChartMapper.updateByExampleSelective(record, example);
+	}
+
+
+	@Override
+	public int updateByExample(WtTragetReportChart record, WtTragetReportChartExample example) {
+
+		return wtTragetReportChartMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<WtTragetReportChart> selectByExample(WtTragetReportChartExample example) {
+
+		return wtTragetReportChartMapper.selectByExample(example);
+	}
+
+
+	@Override
+	public long countByExample(WtTragetReportChartExample example) {
+
+		return wtTragetReportChartMapper.countByExample(example);
+	}
+
+
+	@Override
+	public int deleteByExample(WtTragetReportChartExample example) {
+
+		return wtTragetReportChartMapper.deleteByExample(example);
+	}
+
+	public List<WtTragetReportChart> healthReportChart(String wtId,String partId, Date recorddate) {
+
+
+		List<WtTragetReportChart> list=new ArrayList<>();
+
+		WtTragetReportChartExample example=new WtTragetReportChartExample();
+		example.setOrderByClause("recorddate asc");
+
+		WtTragetReportChartExample.Criteria criteria =example.createCriteria();
+
+		criteria.andWtidEqualTo(wtId);
+		criteria.andPartidEqualTo(partId);
+		Date endDate=recorddate;
+		Date begin= DateUtils.addDays(recorddate,-7);
+		criteria.andRecorddateGreaterThanOrEqualTo(begin).andRecorddateLessThan(endDate);
+
+		criteria.andParentidEqualTo("null");
+		list= wtTragetReportChartMapper.selectByExample(example);
+
+		return list;
+
+	}
+}

+ 6 - 3
src/main/java/com/gyee/frame/service/goodness/WindturbinegoodnessService.java

@@ -2,17 +2,20 @@ 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.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.*;
+import com.gyee.frame.model.custom.DataVo;
+import com.gyee.frame.model.custom.EchartDataVo;
+import com.gyee.frame.model.custom.PointData;
+import com.gyee.frame.model.custom.Tablepar;
 import com.gyee.frame.service.WindTurbineTestingPointAiService;
 import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.IRealTimeDataBaseUtil;
 import com.gyee.frame.util.StringUtils;
+import com.gyee.frame.util.golden.EdosUtil;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;

+ 86 - 0
src/main/java/com/gyee/frame/service/report/WtHealthReportService.java

@@ -0,0 +1,86 @@
+package com.gyee.frame.service.report;
+
+import com.gyee.frame.model.auto.WtReportMain;
+import com.gyee.frame.model.auto.WtReportSub;
+import com.gyee.frame.model.auto.WtTragetReportChart;
+import com.gyee.frame.service.WtReportMainService;
+import com.gyee.frame.service.WtReportSubService;
+import com.gyee.frame.service.WtTragetReportChartService;
+import com.gyee.frame.util.DateUtils;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+/**
+ * 线路 LineService
+ * @Title: LineService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2019-12-31 14:58:09  
+ **/
+@Service
+public class WtHealthReportService{
+	@Resource
+	private WtReportMainService wtReportMainService;
+	@Resource
+	private WtReportSubService wtReportSubService;
+	@Resource
+	private WtTragetReportChartService wtTragetReportChartService;
+
+
+	/**
+	 * 查询健康报告主表和子表数据
+	 * @param wtId
+	 * @param recorddate
+	 * @return
+	 */
+	public Map<String,Object> healthReport(String wtId, String recorddate) {
+
+		Map<String,Object> map=new HashMap<>();
+
+		if(StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate))
+		{
+			Date date= DateUtils.parseStrtoDate(recorddate);
+
+			List<WtReportMain> wtrmls=wtReportMainService.healthReport(wtId,date);
+
+			if(!wtrmls.isEmpty())
+			{
+				WtReportMain wtrm=wtrmls.get(0);
+				map.put("main",wtrm);
+				List<WtReportSub>  wtrmsubls=wtReportSubService.healthReportsub(wtrm.getId());
+
+				map.put("sub",wtrmsubls);
+
+			}
+		}
+
+		return map;
+	}
+
+	/**
+	 * 查询健康包括部件健康指数的历史图表
+	 * @param wtId
+	 * @param partId
+	 * @param recorddate
+	 * @return
+	 */
+	public List<WtTragetReportChart> healthReportChart(String wtId,String partId, String recorddate)  {
+
+		List<WtTragetReportChart> vos=new ArrayList<>();
+
+		if(StringUtils.notEmp(wtId) && StringUtils.notEmp(recorddate))
+		{
+			Date date= DateUtils.parseStrtoDate(recorddate);
+
+			vos=wtTragetReportChartService.healthReportChart(wtId,partId,date);
+		}
+
+		return vos;
+	}
+
+
+}

+ 244 - 2
src/main/java/com/gyee/frame/service/websocket/BraceletService.java

@@ -2,19 +2,261 @@ package com.gyee.frame.service.websocket;
 
 
 import com.gyee.frame.common.websocket.WebsocketMessageService;
+import com.gyee.frame.model.custom.PointData;
+import com.gyee.frame.util.IRealTimeDataBaseUtil;
+import com.gyee.frame.util.golden.EdosUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class BraceletService  {
 
     @Autowired
     private WebsocketMessageService websocketMessageService;
 
-    public void braceletPushTask(String destination){
+    IRealTimeDataBaseUtil realApiUtil = new EdosUtil();
+
+    public void braceletPushTask(String destination) throws Exception {
+
+
+        List<String> pointids=new ArrayList<>();
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0002");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0133");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0009");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0012");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0013");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0001");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0014");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0130");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0131");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0132");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0133");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0134");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0135");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0009");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0011");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0003");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0005");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0013");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0001");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0007");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0165");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0169");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0167");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0173");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0163");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0161");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0171");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0175");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0325");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0321");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0323");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0076");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0077");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0073");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0562");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0080");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0146");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0149");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0147");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0150");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0148");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0151");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0971");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0976");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1035");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1040");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1163");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1168");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1227");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1232");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1355");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1360");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0329");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0332");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0333");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0361");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0364");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0365");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0313");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0316");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0317");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0281");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0284");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0285");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0265");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0268");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0002");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0133");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0009");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0012");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0013");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0001");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0014");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0130");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0131");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0132");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0133");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0134");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0135");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0009");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0011");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0003");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0005");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0013");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0001");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0007");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0165");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0169");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0167");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0173");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0163");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0161");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0171");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0175");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0325");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0321");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0323");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0076");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0077");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0073");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0562");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0080");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0146");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0149");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0147");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0150");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0148");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0151");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0971");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0976");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1035");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1040");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1163");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1168");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1227");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1232");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1355");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1360");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0329");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0332");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0333");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0361");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0364");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0365");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0313");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0316");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0317");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0281");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0284");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0285");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0265");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0268");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0269");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2310");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1358");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1230");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1166");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1038");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0974");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0292");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1678");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1486");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1614");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1678");
+        pointids.add("SBQXLDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2310");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2544");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2608");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2672");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI3046");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI3280");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI3344");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI3408");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI3472");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0034");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0037");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0041");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0044");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0045");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0033");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0046");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0108");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0109");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0105");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0563");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0441");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0444");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0445");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0425");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0428");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0429");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0393");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0396");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0397");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0377");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0380");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0381");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0588");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0589");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0585");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0564");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0578");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0579");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0580");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0581");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0582");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0583");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0665");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0668");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0669");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0633");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0636");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0637");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0649");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0652");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_AI0653");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0085");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0083");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0087");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0081");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0091");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0089");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0093");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0145");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0243");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0241");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0249");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0247");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0251");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0253");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0255");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1670");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1678");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1478");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1414");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1680");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1616");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1488");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI1424");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI0515");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2263");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2261");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2259");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2267");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2265");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2269");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2273");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2697");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2633");
+        pointids.add("SBQNWDQ.NX_GD_SBQF_DQ_P1_L1_001_DI2569");
 
-        websocketMessageService.SendAlertToAll(destination,"测试stomp!");
+        List<PointData> ls= realApiUtil.getRealData(pointids);
 
+        websocketMessageService.SendAlertToAll(destination,ls);
+//        websocketMessageService.SendAlertToAll(destination,"testy");
     }
 
 }

+ 1 - 1
src/main/java/com/gyee/frame/shiro/config/ShiroConfig.java

@@ -111,7 +111,7 @@ public class ShiroConfig {
 	 * @return
 	 */
 	@Bean
-	public CacheManager cacheManager() {
+	public CacheManager cacheManagers() {
 		MemoryConstrainedCacheManager cacheManager=new MemoryConstrainedCacheManager();//使用内存缓存
 		return cacheManager;
 	}

+ 2 - 1
src/main/java/com/gyee/frame/util/IRealTimeDataBaseUtil.java

@@ -1,6 +1,7 @@
 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;
@@ -206,5 +207,5 @@ public interface IRealTimeDataBaseUtil {
      * @return
      * @throws Exception
      */
-    public DNAVal[] getHistMatrix(String[] nameList, int tTime) throws Exception;
+    public DNAVal[] getHistMatrix(String[] nameList, long tTime) throws Exception;
 }

+ 260 - 238
src/main/java/com/gyee/frame/util/golden/EdosUtil.java

@@ -24,12 +24,12 @@ import java.util.*;
  */
 public class EdosUtil implements IRealTimeDataBaseUtil {
 
-	
-	
+
+
 
     private RestTemplate restTemplate =new RestTemplate();
-    
-     String baseURL = V2Config.getBaseurl();
+
+    static String baseURL = V2Config.getBaseurl();
 
     @Override
     public PointData getRealData(WindPowerStationTestingPoint2 point) throws Exception {
@@ -51,7 +51,7 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
 
             ResponseEntity<JSONObject> resp = restTemplate.getForEntity(url, JSONObject.class);
             JSONObject jsonArray = resp.getBody();
-             if (StringUtils.isNotEmpty(jsonArray)){
+            if (StringUtils.isNotEmpty(jsonArray)){
                 List<PointData> list = JsonObjectHelper.phrasePointData(jsonArray);
                 if (list.size() > 0)
                     return list.get(0);
@@ -114,63 +114,63 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
             if (jsonArray != null) {
                 List<PointData> snapList = JsonObjectHelper.phrasePointData(jsonArray, point.getCode());
                 List<PointData> resultList = new ArrayList<>();
-                
+
                 if(snapList.isEmpty())
                 {
-                	
-                	getHistsnapSameTiem(point.getCode(), beginDate, pried, resultList);
+
+                    getHistsnapSameTiem(point.getCode(), beginDate, pried, resultList);
                 }else
                 {
-                	 for (PointData snapItem : snapList) {
-
-                         long subTime = snapItem.getPointTime() - pried;
-                         //查询时间区间的截面值(截面值为传入时间节点的上一个最近值,返回时间为值的真实时间),
-                         // 再进行比较,若截面值的时间戳在以快照时间节点前推一个单位的时间区间中,
-                         // 则代表该时间节点快照有效,否则为0
-                         String rawUrl = baseURL + "/history/section?null=0&tagNames=" + point.getCode() + "&ts=" + snapItem.getPointTime() + "000";
-                         ResponseEntity<JSONObject> sectionResp = restTemplate.getForEntity(rawUrl, JSONObject.class);
-                         JSONObject jsonObjectSection = sectionResp.getBody();
-
-                         if (jsonObjectSection != null) {
-                             List<PointData> sectionlist = JsonObjectHelper.phrasePointData(jsonObjectSection);
-                             if (sectionlist.size() > 0) {
-                                 if(sectionlist.get(0).getPointTime()>=subTime&&sectionlist.get(0).getPointTime()<=snapItem.getPointTime()){
-                                     resultList.add(snapItem);
-                                 }
-                                 else{
-                                     PointData data = new PointData();
-                                     data.setEdnaId(point.getCode());
-                                     data.setPointTime(snapItem.getPointTime());
-                                     data.setPointValue("0");
-                                     data.setPointName("1");
-                                     data.setPointValueInDouble(0.0);
-                                     resultList.add(data);
-                                 }
-                             } else {
-                                 PointData data = new PointData();
-                                 data.setEdnaId(point.getCode());
-                                 data.setPointTime(snapItem.getPointTime());
-                                 data.setPointValue("0");
-                                 data.setPointName("1");
-                                 data.setPointValueInDouble(0.0);
-                                 resultList.add(data);
-                             }
-                         } else {
-                             PointData data = new PointData();
-                             data.setEdnaId(point.getCode());
-                             data.setPointTime(snapItem.getPointTime());
-                             data.setPointValue("0");
-                             data.setPointName("1");
-                             data.setPointValueInDouble(0.0);
-                             resultList.add(data);
-                         }
-                     }
+                    for (PointData snapItem : snapList) {
+
+                        long subTime = snapItem.getPointTime() - pried;
+                        //查询时间区间的截面值(截面值为传入时间节点的上一个最近值,返回时间为值的真实时间),
+                        // 再进行比较,若截面值的时间戳在以快照时间节点前推一个单位的时间区间中,
+                        // 则代表该时间节点快照有效,否则为0
+                        String rawUrl = baseURL + "/history/section?null=0&tagNames=" + point.getCode() + "&ts=" + snapItem.getPointTime() + "000";
+                        ResponseEntity<JSONObject> sectionResp = restTemplate.getForEntity(rawUrl, JSONObject.class);
+                        JSONObject jsonObjectSection = sectionResp.getBody();
+
+                        if (jsonObjectSection != null) {
+                            List<PointData> sectionlist = JsonObjectHelper.phrasePointData(jsonObjectSection);
+                            if (sectionlist.size() > 0) {
+                                if(sectionlist.get(0).getPointTime()>=subTime&&sectionlist.get(0).getPointTime()<=snapItem.getPointTime()){
+                                    resultList.add(snapItem);
+                                }
+                                else{
+                                    PointData data = new PointData();
+                                    data.setEdnaId(point.getCode());
+                                    data.setPointTime(snapItem.getPointTime());
+                                    data.setPointValue("0");
+                                    data.setPointName("1");
+                                    data.setPointValueInDouble(0.0);
+                                    resultList.add(data);
+                                }
+                            } else {
+                                PointData data = new PointData();
+                                data.setEdnaId(point.getCode());
+                                data.setPointTime(snapItem.getPointTime());
+                                data.setPointValue("0");
+                                data.setPointName("1");
+                                data.setPointValueInDouble(0.0);
+                                resultList.add(data);
+                            }
+                        } else {
+                            PointData data = new PointData();
+                            data.setEdnaId(point.getCode());
+                            data.setPointTime(snapItem.getPointTime());
+                            data.setPointValue("0");
+                            data.setPointName("1");
+                            data.setPointValueInDouble(0.0);
+                            resultList.add(data);
+                        }
+                    }
                 }
-               
+
 
                 return resultList;
 
-               
+
             } else {
                 return ErrorRequest.RequestListError(point.getCode());
             }
@@ -187,47 +187,47 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
     }
 
 
-	private void getHistsnapSameTiem(String pointid, Long beginDate, Long pried,
+    private void getHistsnapSameTiem(String pointid, Long beginDate, Long pried,
                                      List<PointData> resultList) {
-		long subTime =beginDate - pried;
-		  String rawUrl = baseURL + "/history/section?null=0&tagNames=" + pointid + "&ts=" + beginDate + "000";
-		  ResponseEntity<JSONObject> sectionResp = restTemplate.getForEntity(rawUrl, JSONObject.class);
-		  JSONObject jsonObjectSection = sectionResp.getBody();
-		  if (jsonObjectSection != null) {
-		      List<PointData> sectionlist = JsonObjectHelper.phrasePointData(jsonObjectSection);
-		      if (sectionlist.size() > 0) {
-		          if(sectionlist.get(0).getPointTime()>=subTime&&sectionlist.get(0).getPointTime()<=beginDate){
-		              resultList.add(sectionlist.get(0));
-		          }
-		          else{
-		              PointData data = new PointData();
-		              data.setEdnaId(pointid);
-		              data.setPointTime(sectionlist.get(0).getPointTime());
-		              data.setPointValue("0");
-		              data.setPointName("1");
-		              data.setPointValueInDouble(0.0);
-		              resultList.add(data);
-		          }
-		      } else {
-		          PointData data = new PointData();
-		          data.setEdnaId(pointid);
-		          data.setPointTime(sectionlist.get(0).getPointTime());
-		          data.setPointValue("0");
-		          data.setPointName("1");
-		          data.setPointValueInDouble(0.0);
-		          resultList.add(data);
-		      }
-		  } else {
-		      PointData data = new PointData();
-		      data.setEdnaId(pointid);
-		      data.setPointTime(beginDate);
-		      data.setPointValue("0");
-		      data.setPointName("1");
-		      data.setPointValueInDouble(0.0);
-		      resultList.add(data);
-		  }
-	}
-	
+        long subTime =beginDate - pried;
+        String rawUrl = baseURL + "/history/section?null=0&tagNames=" + pointid + "&ts=" + beginDate + "000";
+        ResponseEntity<JSONObject> sectionResp = restTemplate.getForEntity(rawUrl, JSONObject.class);
+        JSONObject jsonObjectSection = sectionResp.getBody();
+        if (jsonObjectSection != null) {
+            List<PointData> sectionlist = JsonObjectHelper.phrasePointData(jsonObjectSection);
+            if (sectionlist.size() > 0) {
+                if(sectionlist.get(0).getPointTime()>=subTime&&sectionlist.get(0).getPointTime()<=beginDate){
+                    resultList.add(sectionlist.get(0));
+                }
+                else{
+                    PointData data = new PointData();
+                    data.setEdnaId(pointid);
+                    data.setPointTime(sectionlist.get(0).getPointTime());
+                    data.setPointValue("0");
+                    data.setPointName("1");
+                    data.setPointValueInDouble(0.0);
+                    resultList.add(data);
+                }
+            } else {
+                PointData data = new PointData();
+                data.setEdnaId(pointid);
+                data.setPointTime(sectionlist.get(0).getPointTime());
+                data.setPointValue("0");
+                data.setPointName("1");
+                data.setPointValueInDouble(0.0);
+                resultList.add(data);
+            }
+        } else {
+            PointData data = new PointData();
+            data.setEdnaId(pointid);
+            data.setPointTime(beginDate);
+            data.setPointValue("0");
+            data.setPointName("1");
+            data.setPointValueInDouble(0.0);
+            resultList.add(data);
+        }
+    }
+
 
     @Override
     public List<PointData> getHistoryDatasRaw(WindPowerStationTestingPoint2 point, Long beginDate, Long endDate) throws Exception {
@@ -297,7 +297,7 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
             }
             ResponseEntity<JSONObject> resp = restTemplate.getForEntity(url, JSONObject.class);
             JSONObject jsonArray = resp.getBody();
-             if (StringUtils.isNotEmpty(jsonArray)){
+            if (StringUtils.isNotEmpty(jsonArray)){
                 List<PointData> list = JsonObjectHelper.phrasePointData(jsonArray);
                 if (list.size() > 0)
                     return list.get(0);
@@ -360,14 +360,14 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
             if (jsonArray != null) {
                 List<PointData> snapList = JsonObjectHelper.phrasePointData(jsonArray, point.getId());
                 List<PointData> resultList = new ArrayList<>();
-                
+
                 if(snapList.isEmpty())
                 {
-                	
-                	getHistsnapSameTiem(point.getId(), beginDate, pried, resultList);
+
+                    getHistsnapSameTiem(point.getId(), beginDate, pried, resultList);
                 }else
                 {
-                	for (PointData snapItem : snapList) {
+                    for (PointData snapItem : snapList) {
                         long subTime = snapItem.getPointTime() - pried;
                         //查询时间区间的截面值(截面值为传入时间节点的上一个最近值,返回时间为值的真实时间),
                         // 再进行比较,若截面值的时间戳在以快照时间节点前推一个单位的时间区间中,
@@ -411,7 +411,7 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
                         }
                     }
                 }
-                
+
 
                 return resultList;
             } else {
@@ -426,7 +426,7 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
             }
         }
     }
-		
+
 
     @Override
     public List<PointData> getHistoryDatasRaw(WindTurbineTestingPointAi2 point, Long beginDate, Long endDate) throws Exception {
@@ -484,7 +484,7 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
 
             ResponseEntity<JSONObject> resp = restTemplate.getForEntity(url, JSONObject.class);
             JSONObject jsonArray = resp.getBody();
-             if (StringUtils.isNotEmpty(jsonArray)){
+            if (StringUtils.isNotEmpty(jsonArray)){
                 List<PointData> list = JsonObjectHelper.phrasePointData(jsonArray);
                 if (list.size() > 0)
                     return list.get(0);
@@ -557,9 +557,21 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
                     } else if (jsonData.containsKey("stringValue")) {
                         pointValue = jsonData.getString("stringValue");
                     }
+//                    pointData.setPointValue(pointValue);
+//                    pointData.setPointValueInDouble(Double.parseDouble(pointValue));
+
+                    if(pointValue.equals("true"))
+                    {
+                        pointData.setPointValueInDouble(1.0);
+                    }else if(pointValue.equals("false"))
+                    {
+                        pointData.setPointValueInDouble(0.0);
+                    }else
+                    {
+                        pointData.setPointValueInDouble(Double.parseDouble(pointValue));
+                    }
                     pointData.setPointValue(pointValue);
-                    pointData.setPointValueInDouble(Double.parseDouble(pointValue));
-                   // //System.out.println("key= " + key + ", ts = " + ts + ", value = " + pointValue);
+                    // //System.out.println("key= " + key + ", ts = " + ts + ", value = " + pointValue);
                 }
                 return result;
 
@@ -634,9 +646,19 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
                     } else if (jsonData.containsKey("stringValue")) {
                         pointValue = jsonData.getString("stringValue");
                     }
+                    if(pointValue.equals("true"))
+                    {
+                        pointData.setPointValueInDouble(1.0);
+                    }else if(pointValue.equals("false"))
+                    {
+                        pointData.setPointValueInDouble(0.0);
+                    }else
+                    {
+                        pointData.setPointValueInDouble(Double.parseDouble(pointValue));
+                    }
                     pointData.setPointValue(pointValue);
-                    pointData.setPointValueInDouble(Double.parseDouble(pointValue));
-                  //  //System.out.println("key= " + key + ", ts = " + ts + ", value = " + pointValue);
+
+                    //  //System.out.println("key= " + key + ", ts = " + ts + ", value = " + pointValue);
                 }
                 return result;
 
@@ -668,7 +690,7 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
                 return null;
             ResponseEntity<JSONObject> resp = restTemplate.getForEntity(url, JSONObject.class);
             JSONObject jsonArray = resp.getBody();
-             if (StringUtils.isNotEmpty(jsonArray)){
+            if (StringUtils.isNotEmpty(jsonArray)){
                 Iterator<String> sIterator = jsonArray.keySet().iterator();
                 Map<String, Double> resultMap = new HashMap();
                 while (sIterator.hasNext()) {
@@ -704,108 +726,108 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
     }
 
 
-	  @Override
-	    public List<PointData> getHistoryDatasSnap(String pointid, Long beginDate, Long endDate, Long count, Long pried) throws Exception {
-	        Optional<String> tagName = Optional.ofNullable(pointid);
-	        Optional<Long> startTs = Optional.ofNullable(beginDate * 1000);
-	        Optional<Long> endTs = Optional.ofNullable(endDate * 1000);
-
-	        //通过时间区间和时间间隔获取点数
-	        Long finalInterval;
-	        if (pried != null)
-	            finalInterval = pried;
-	        else if (count != null)
-	            finalInterval = (endDate - beginDate) / count;
-	        else
-	            return ErrorRequest.RequestListError(pointid);
-	        Optional<Integer> interval = Optional.ofNullable(Integer.parseInt(finalInterval.toString()));
-
-	        try {
-	            String url = baseURL + "/history/snap?null=0";
-	            //tagName 或thingType,thingId,uniformCode可以确定一个标签点
-	            if (tagName.isPresent())
-	                url = url + "&tagName=" + tagName.get();
-
-	            if (startTs.isPresent())
-	                url = url + "&startTs=" + startTs.get();
-	            if (endTs.isPresent())
-	                url = url + "&endTs=" + endTs.get();
-	            if (interval.isPresent())
-	                url = url + "&interval=" + interval.get();
-
-	            ResponseEntity<JSONArray> resp = restTemplate.getForEntity(url, JSONArray.class);
-	            JSONArray jsonArray = resp.getBody();
-	            if (jsonArray != null) {
-	                List<PointData> list = JsonObjectHelper.phrasePointData(jsonArray,tagName.get());
-	                List<PointData> resultList = new ArrayList<>();
-	                
-	                if(list.isEmpty())
-	                {
-	                	
-	                	getHistsnapSameTiem(pointid, beginDate, pried, resultList);
-	                }else
-	                {
-	                	 for (PointData snapItem : list) {
-	 	                    long subTime = snapItem.getPointTime() - pried;
-	 	                    //查询时间区间的截面值(截面值为传入时间节点的上一个最近值,返回时间为值的真实时间),
-	 	                    // 再进行比较,若截面值的时间戳在以快照时间节点前推一个单位的时间区间中,
-	 	                    // 则代表该时间节点快照有效,否则为0
-	 	                    String rawUrl = baseURL + "/history/section?null=0&tagNames=" +pointid+ "&ts=" + snapItem.getPointTime() + "000";
-	 	                    ResponseEntity<JSONObject> sectionResp = restTemplate.getForEntity(rawUrl, JSONObject.class);
-	 	                    JSONObject jsonObjectSection = sectionResp.getBody();
-
-	 	                    if (jsonObjectSection != null) {
-	 	                        List<PointData> sectionlist = JsonObjectHelper.phrasePointData(jsonObjectSection);
-	 	                        if (sectionlist.size() > 0) {
-	 	                            if(sectionlist.get(0).getPointTime()>=subTime&&sectionlist.get(0).getPointTime()<=snapItem.getPointTime()){
-	 	                                resultList.add(snapItem);
-	 	                            }
-	 	                            else{
-	 	                                PointData data = new PointData();
-	 	                                data.setEdnaId(pointid);
-	 	                                data.setPointTime(snapItem.getPointTime());
-	 	                                data.setPointValue("0");
-	 	                                data.setPointName("1");
-	 	                                data.setPointValueInDouble(0.0);
-	 	                                resultList.add(data);
-	 	                            }
-	 	                        } else {
-	 	                            PointData data = new PointData();
-	 	                            data.setEdnaId(pointid);
-	 	                            data.setPointTime(snapItem.getPointTime());
-	 	                            data.setPointValue("0");
-	 	                            data.setPointName("1");
-	 	                            data.setPointValueInDouble(0.0);
-	 	                            resultList.add(data);
-	 	                        }
-	 	                    } else {
-	 	                        PointData data = new PointData();
-	 	                        data.setEdnaId(pointid);
-	 	                        data.setPointTime(snapItem.getPointTime());
-	 	                        data.setPointValue("0");
-	 	                        data.setPointName("1");
-	 	                        data.setPointValueInDouble(0.0);
-	 	                        resultList.add(data);
-	 	                    }
-	 	                }
-	                }
-	               
-	                return resultList;
-	            } else {
-	                return ErrorRequest.RequestListError(pointid);
-	            }
-
-	        } catch (HttpClientErrorException exception) {
-	            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
-	                //System.out.println("404请求错误");
-	                return ErrorRequest.RequestListError(pointid);
-	            } else {
-	                throw exception;
-	            }
-	        }
-
-	    }
-		
+    @Override
+    public List<PointData> getHistoryDatasSnap(String pointid, Long beginDate, Long endDate, Long count, Long pried) throws Exception {
+        Optional<String> tagName = Optional.ofNullable(pointid);
+        Optional<Long> startTs = Optional.ofNullable(beginDate * 1000);
+        Optional<Long> endTs = Optional.ofNullable(endDate * 1000);
+
+        //通过时间区间和时间间隔获取点数
+        Long finalInterval;
+        if (pried != null)
+            finalInterval = pried;
+        else if (count != null)
+            finalInterval = (endDate - beginDate) / count;
+        else
+            return ErrorRequest.RequestListError(pointid);
+        Optional<Integer> interval = Optional.ofNullable(Integer.parseInt(finalInterval.toString()));
+
+        try {
+            String url = baseURL + "/history/snap?null=0";
+            //tagName 或thingType,thingId,uniformCode可以确定一个标签点
+            if (tagName.isPresent())
+                url = url + "&tagName=" + tagName.get();
+
+            if (startTs.isPresent())
+                url = url + "&startTs=" + startTs.get();
+            if (endTs.isPresent())
+                url = url + "&endTs=" + endTs.get();
+            if (interval.isPresent())
+                url = url + "&interval=" + interval.get();
+
+            ResponseEntity<JSONArray> resp = restTemplate.getForEntity(url, JSONArray.class);
+            JSONArray jsonArray = resp.getBody();
+            if (jsonArray != null) {
+                List<PointData> list = JsonObjectHelper.phrasePointData(jsonArray,tagName.get());
+                List<PointData> resultList = new ArrayList<>();
+
+                if(list.isEmpty())
+                {
+
+                    getHistsnapSameTiem(pointid, beginDate, pried, resultList);
+                }else
+                {
+                    for (PointData snapItem : list) {
+                        long subTime = snapItem.getPointTime() - pried;
+                        //查询时间区间的截面值(截面值为传入时间节点的上一个最近值,返回时间为值的真实时间),
+                        // 再进行比较,若截面值的时间戳在以快照时间节点前推一个单位的时间区间中,
+                        // 则代表该时间节点快照有效,否则为0
+                        String rawUrl = baseURL + "/history/section?null=0&tagNames=" +pointid+ "&ts=" + snapItem.getPointTime() + "000";
+                        ResponseEntity<JSONObject> sectionResp = restTemplate.getForEntity(rawUrl, JSONObject.class);
+                        JSONObject jsonObjectSection = sectionResp.getBody();
+
+                        if (jsonObjectSection != null) {
+                            List<PointData> sectionlist = JsonObjectHelper.phrasePointData(jsonObjectSection);
+                            if (sectionlist.size() > 0) {
+                                if(sectionlist.get(0).getPointTime()>=subTime&&sectionlist.get(0).getPointTime()<=snapItem.getPointTime()){
+                                    resultList.add(snapItem);
+                                }
+                                else{
+                                    PointData data = new PointData();
+                                    data.setEdnaId(pointid);
+                                    data.setPointTime(snapItem.getPointTime());
+                                    data.setPointValue("0");
+                                    data.setPointName("1");
+                                    data.setPointValueInDouble(0.0);
+                                    resultList.add(data);
+                                }
+                            } else {
+                                PointData data = new PointData();
+                                data.setEdnaId(pointid);
+                                data.setPointTime(snapItem.getPointTime());
+                                data.setPointValue("0");
+                                data.setPointName("1");
+                                data.setPointValueInDouble(0.0);
+                                resultList.add(data);
+                            }
+                        } else {
+                            PointData data = new PointData();
+                            data.setEdnaId(pointid);
+                            data.setPointTime(snapItem.getPointTime());
+                            data.setPointValue("0");
+                            data.setPointName("1");
+                            data.setPointValueInDouble(0.0);
+                            resultList.add(data);
+                        }
+                    }
+                }
+
+                return resultList;
+            } else {
+                return ErrorRequest.RequestListError(pointid);
+            }
+
+        } catch (HttpClientErrorException exception) {
+            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
+                //System.out.println("404请求错误");
+                return ErrorRequest.RequestListError(pointid);
+            } else {
+                throw exception;
+            }
+        }
+
+    }
+
 
     @Override
     public List<PointData> getHistoryDatasRaw(String pointid, Long beginDate, Long endDate) throws Exception {
@@ -849,13 +871,13 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
         Optional<String> uniformCode = Optional.ofNullable(point.getUniformcode());
         Optional<Long> startTs = Optional.ofNullable(beginDate * 1000);
         Optional<Long> endTs = Optional.ofNullable(endDate * 1000);
-        
+
 //        Calendar cal = Calendar.getInstance();
-//        cal.setTime(new Date(startTs.get()));       
-//        cal.add(Calendar.SECOND, -pried.intValue());        
+//        cal.setTime(new Date(startTs.get()));
+//        cal.add(Calendar.SECOND, -pried.intValue());
 //        startTs= Optional.ofNullable(cal.getTime().getTime());
 //        count++;
-        
+
         //通过时间区间和时间间隔获取点数
         Long finalInterval;
         if (pried != null)
@@ -1111,14 +1133,14 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
             if (StringUtils.isNotEmpty(jsonObject) && !jsonObject.isEmpty()){
                 return JsonObjectHelper.phraseDNAVal(jsonObject,tagNames);
             } else {
-            	  DNAVal[] errorResult = new DNAVal[tagNames.length];
-                  for(int i=0;i<tagNames.length;i++)
-                  {
-                  	 DNAVal val = new DNAVal();
-                       val.Status = 0;
-                       errorResult[i] = val;
-                  }
-                  return errorResult;
+                DNAVal[] errorResult = new DNAVal[tagNames.length];
+                for(int i=0;i<tagNames.length;i++)
+                {
+                    DNAVal val = new DNAVal();
+                    val.Status = 0;
+                    errorResult[i] = val;
+                }
+                return errorResult;
             }
 
         } catch (HttpClientErrorException exception) {
@@ -1127,9 +1149,9 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
                 DNAVal[] errorResult = new DNAVal[tagNames.length];
                 for(int i=0;i<tagNames.length;i++)
                 {
-                	 DNAVal val = new DNAVal();
-                     val.Status = 0;
-                     errorResult[i] = val;
+                    DNAVal val = new DNAVal();
+                    val.Status = 0;
+                    errorResult[i] = val;
                 }
                 return errorResult;
             } else {
@@ -1223,7 +1245,7 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
 
     //多点切面数据
     @Override
-    public DNAVal[] getHistMatrix(String[] nameList, int tTime) throws Exception {
+    public DNAVal[] getHistMatrix(String[] nameList, long tTime) throws Exception {
         String tagNameString = StringUtil.join(nameList, ",");
         Long time = Long.valueOf(tTime);
         Optional<String> tagName = Optional.ofNullable(tagNameString);
@@ -1234,27 +1256,27 @@ public class EdosUtil implements IRealTimeDataBaseUtil {
             JSONObject jsonObject = resp.getBody();
             if (StringUtils.isNotEmpty(jsonObject) && !jsonObject.isEmpty())
             {
-            	 return JsonObjectHelper.phraseDNAVal(jsonObject,nameList);
-            }              
+                return JsonObjectHelper.phraseDNAVal(jsonObject,nameList);
+            }
             else {
                 DNAVal[] errorResult = new DNAVal[nameList.length];
                 for(int i=0;i<nameList.length;i++)
                 {
-                	 DNAVal val = new DNAVal();
-                     val.Status = 0;
-                     errorResult[i] = val;
+                    DNAVal val = new DNAVal();
+                    val.Status = 0;
+                    errorResult[i] = val;
                 }
                 return errorResult;
             }
         } catch (Exception e) {
-        	  DNAVal[] errorResult = new DNAVal[nameList.length];
-              for(int i=0;i<nameList.length;i++)
-              {
-              	 DNAVal val = new DNAVal();
-                   val.Status = 0;
-                   errorResult[i] = val;
-              }
-              return errorResult;
+            DNAVal[] errorResult = new DNAVal[nameList.length];
+            for(int i=0;i<nameList.length;i++)
+            {
+                DNAVal val = new DNAVal();
+                val.Status = 0;
+                errorResult[i] = val;
+            }
+            return errorResult;
         }
     }
 

+ 7 - 7
src/main/resources/application-dev.yml

@@ -7,14 +7,14 @@ spring:
     druid:
      #主库数据源
      master:
-#        url: jdbc:mysql://localhost:3306/springbootv2?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=UTC&zeroDateTimeBehavior=convertToNull
-#        username: root
-#        password: 123456
+        url: jdbc:mysql://localhost:3306/springbootv2?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=UTC&zeroDateTimeBehavior=convertToNull
+        username: root
+        password: 123456
 
-        url: jdbc:oracle:thin:@192.168.1.105:1521:gdnxfd
-        username: nxfdprod
-        password: gdnxfd123
-        driver-class-name: oracle.jdbc.driver.OracleDriver
+#        url: jdbc:oracle:thin:@192.168.1.105:1521:gdnxfd
+#        username: nxfdprod
+#        password: gdnxfd123
+#        driver-class-name: oracle.jdbc.driver.OracleDriver
 
      #备数据源 #关闭
      slave:

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

@@ -109,7 +109,7 @@ spring :
 #    cache-enabled: false
 #pagehelper分页插件
 pagehelper:
-    helperDialect: oracle
+    helperDialect: mysql
     reasonable: true
     supportMethodsArguments: true
     params: count=countSql

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

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

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


+ 587 - 0
src/main/resources/mybatis/auto/WtReportMainMapper.xml

@@ -0,0 +1,587 @@
+<?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.WtReportMainMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.WtReportMain">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="VARCHAR" property="id" />
+    <result column="RECODEDATE" jdbcType="DATE" property="recodedate" />
+    <result column="WTID" jdbcType="VARCHAR" property="wtid" />
+    <result column="MAINREASON" jdbcType="VARCHAR" property="mainreason" />
+    <result column="MAINDATE" jdbcType="DATE" property="maindate" />
+    <result column="SPEED" jdbcType="DECIMAL" property="speed" />
+    <result column="MAINMETHOD" jdbcType="VARCHAR" property="mainmethod" />
+    <result column="APPROACH" jdbcType="VARCHAR" property="approach" />
+    <result column="TOOLS" jdbcType="VARCHAR" property="tools" />
+    <result column="MAINHOUR" jdbcType="DECIMAL" property="mainhour" />
+    <result column="GZTOP1" jdbcType="DECIMAL" property="gztop1" />
+    <result column="GZTOP1NAME" jdbcType="VARCHAR" property="gztop1name" />
+    <result column="GZTOP2" jdbcType="DECIMAL" property="gztop2" />
+    <result column="GZTOP2NAME" jdbcType="VARCHAR" property="gztop2name" />
+    <result column="GZTOP3" jdbcType="DECIMAL" property="gztop3" />
+    <result column="GZTOP3NAME" jdbcType="VARCHAR" property="gztop3name" />
+    <result column="YJTOP1" jdbcType="DECIMAL" property="yjtop1" />
+    <result column="YJTOP1NAME" jdbcType="VARCHAR" property="yjtop1name" />
+    <result column="YJTOP2" jdbcType="DECIMAL" property="yjtop2" />
+    <result column="YJTOP2NAME" jdbcType="VARCHAR" property="yjtop2name" />
+    <result column="YJTOP3" jdbcType="DECIMAL" property="yjtop3" />
+    <result column="YJTOP3NAME" jdbcType="VARCHAR" property="yjtop3name" />
+    <result column="TOP1TYPE" jdbcType="VARCHAR" property="top1type" />
+    <result column="TOP2TYPE" jdbcType="VARCHAR" property="top2type" />
+    <result column="TOP3TYPE" jdbcType="VARCHAR" property="top3type" />
+  </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, RECODEDATE, WTID, MAINREASON, MAINDATE, SPEED, MAINMETHOD, APPROACH, TOOLS, MAINHOUR, 
+    GZTOP1, GZTOP1NAME, GZTOP2, GZTOP2NAME, GZTOP3, GZTOP3NAME, YJTOP1, YJTOP1NAME, YJTOP2, 
+    YJTOP2NAME, YJTOP3, YJTOP3NAME, TOP1TYPE, TOP2TYPE, TOP3TYPE
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.WtReportMainExample" 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 wtreportmain
+    <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 wtreportmain
+    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 wtreportmain
+    where ID = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.WtReportMainExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from wtreportmain
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.WtReportMain">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into wtreportmain (ID, RECODEDATE, WTID, 
+      MAINREASON, MAINDATE, SPEED, 
+      MAINMETHOD, APPROACH, TOOLS, 
+      MAINHOUR, GZTOP1, GZTOP1NAME, 
+      GZTOP2, GZTOP2NAME, GZTOP3, 
+      GZTOP3NAME, YJTOP1, YJTOP1NAME, 
+      YJTOP2, YJTOP2NAME, YJTOP3, 
+      YJTOP3NAME, TOP1TYPE, TOP2TYPE, 
+      TOP3TYPE)
+    values (#{id,jdbcType=VARCHAR}, #{recodedate,jdbcType=DATE}, #{wtid,jdbcType=VARCHAR}, 
+      #{mainreason,jdbcType=VARCHAR}, #{maindate,jdbcType=DATE}, #{speed,jdbcType=DECIMAL}, 
+      #{mainmethod,jdbcType=VARCHAR}, #{approach,jdbcType=VARCHAR}, #{tools,jdbcType=VARCHAR}, 
+      #{mainhour,jdbcType=DECIMAL}, #{gztop1,jdbcType=DECIMAL}, #{gztop1name,jdbcType=VARCHAR}, 
+      #{gztop2,jdbcType=DECIMAL}, #{gztop2name,jdbcType=VARCHAR}, #{gztop3,jdbcType=DECIMAL}, 
+      #{gztop3name,jdbcType=VARCHAR}, #{yjtop1,jdbcType=DECIMAL}, #{yjtop1name,jdbcType=VARCHAR}, 
+      #{yjtop2,jdbcType=DECIMAL}, #{yjtop2name,jdbcType=VARCHAR}, #{yjtop3,jdbcType=DECIMAL}, 
+      #{yjtop3name,jdbcType=VARCHAR}, #{top1type,jdbcType=VARCHAR}, #{top2type,jdbcType=VARCHAR}, 
+      #{top3type,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.WtReportMain">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into wtreportmain
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="recodedate != null">
+        RECODEDATE,
+      </if>
+      <if test="wtid != null">
+        WTID,
+      </if>
+      <if test="mainreason != null">
+        MAINREASON,
+      </if>
+      <if test="maindate != null">
+        MAINDATE,
+      </if>
+      <if test="speed != null">
+        SPEED,
+      </if>
+      <if test="mainmethod != null">
+        MAINMETHOD,
+      </if>
+      <if test="approach != null">
+        APPROACH,
+      </if>
+      <if test="tools != null">
+        TOOLS,
+      </if>
+      <if test="mainhour != null">
+        MAINHOUR,
+      </if>
+      <if test="gztop1 != null">
+        GZTOP1,
+      </if>
+      <if test="gztop1name != null">
+        GZTOP1NAME,
+      </if>
+      <if test="gztop2 != null">
+        GZTOP2,
+      </if>
+      <if test="gztop2name != null">
+        GZTOP2NAME,
+      </if>
+      <if test="gztop3 != null">
+        GZTOP3,
+      </if>
+      <if test="gztop3name != null">
+        GZTOP3NAME,
+      </if>
+      <if test="yjtop1 != null">
+        YJTOP1,
+      </if>
+      <if test="yjtop1name != null">
+        YJTOP1NAME,
+      </if>
+      <if test="yjtop2 != null">
+        YJTOP2,
+      </if>
+      <if test="yjtop2name != null">
+        YJTOP2NAME,
+      </if>
+      <if test="yjtop3 != null">
+        YJTOP3,
+      </if>
+      <if test="yjtop3name != null">
+        YJTOP3NAME,
+      </if>
+      <if test="top1type != null">
+        TOP1TYPE,
+      </if>
+      <if test="top2type != null">
+        TOP2TYPE,
+      </if>
+      <if test="top3type != null">
+        TOP3TYPE,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="recodedate != null">
+        #{recodedate,jdbcType=DATE},
+      </if>
+      <if test="wtid != null">
+        #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="mainreason != null">
+        #{mainreason,jdbcType=VARCHAR},
+      </if>
+      <if test="maindate != null">
+        #{maindate,jdbcType=DATE},
+      </if>
+      <if test="speed != null">
+        #{speed,jdbcType=DECIMAL},
+      </if>
+      <if test="mainmethod != null">
+        #{mainmethod,jdbcType=VARCHAR},
+      </if>
+      <if test="approach != null">
+        #{approach,jdbcType=VARCHAR},
+      </if>
+      <if test="tools != null">
+        #{tools,jdbcType=VARCHAR},
+      </if>
+      <if test="mainhour != null">
+        #{mainhour,jdbcType=DECIMAL},
+      </if>
+      <if test="gztop1 != null">
+        #{gztop1,jdbcType=DECIMAL},
+      </if>
+      <if test="gztop1name != null">
+        #{gztop1name,jdbcType=VARCHAR},
+      </if>
+      <if test="gztop2 != null">
+        #{gztop2,jdbcType=DECIMAL},
+      </if>
+      <if test="gztop2name != null">
+        #{gztop2name,jdbcType=VARCHAR},
+      </if>
+      <if test="gztop3 != null">
+        #{gztop3,jdbcType=DECIMAL},
+      </if>
+      <if test="gztop3name != null">
+        #{gztop3name,jdbcType=VARCHAR},
+      </if>
+      <if test="yjtop1 != null">
+        #{yjtop1,jdbcType=DECIMAL},
+      </if>
+      <if test="yjtop1name != null">
+        #{yjtop1name,jdbcType=VARCHAR},
+      </if>
+      <if test="yjtop2 != null">
+        #{yjtop2,jdbcType=DECIMAL},
+      </if>
+      <if test="yjtop2name != null">
+        #{yjtop2name,jdbcType=VARCHAR},
+      </if>
+      <if test="yjtop3 != null">
+        #{yjtop3,jdbcType=DECIMAL},
+      </if>
+      <if test="yjtop3name != null">
+        #{yjtop3name,jdbcType=VARCHAR},
+      </if>
+      <if test="top1type != null">
+        #{top1type,jdbcType=VARCHAR},
+      </if>
+      <if test="top2type != null">
+        #{top2type,jdbcType=VARCHAR},
+      </if>
+      <if test="top3type != null">
+        #{top3type,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.WtReportMainExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from wtreportmain
+    <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 wtreportmain
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.recodedate != null">
+        RECODEDATE = #{record.recodedate,jdbcType=DATE},
+      </if>
+      <if test="record.wtid != null">
+        WTID = #{record.wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.mainreason != null">
+        MAINREASON = #{record.mainreason,jdbcType=VARCHAR},
+      </if>
+      <if test="record.maindate != null">
+        MAINDATE = #{record.maindate,jdbcType=DATE},
+      </if>
+      <if test="record.speed != null">
+        SPEED = #{record.speed,jdbcType=DECIMAL},
+      </if>
+      <if test="record.mainmethod != null">
+        MAINMETHOD = #{record.mainmethod,jdbcType=VARCHAR},
+      </if>
+      <if test="record.approach != null">
+        APPROACH = #{record.approach,jdbcType=VARCHAR},
+      </if>
+      <if test="record.tools != null">
+        TOOLS = #{record.tools,jdbcType=VARCHAR},
+      </if>
+      <if test="record.mainhour != null">
+        MAINHOUR = #{record.mainhour,jdbcType=DECIMAL},
+      </if>
+      <if test="record.gztop1 != null">
+        GZTOP1 = #{record.gztop1,jdbcType=DECIMAL},
+      </if>
+      <if test="record.gztop1name != null">
+        GZTOP1NAME = #{record.gztop1name,jdbcType=VARCHAR},
+      </if>
+      <if test="record.gztop2 != null">
+        GZTOP2 = #{record.gztop2,jdbcType=DECIMAL},
+      </if>
+      <if test="record.gztop2name != null">
+        GZTOP2NAME = #{record.gztop2name,jdbcType=VARCHAR},
+      </if>
+      <if test="record.gztop3 != null">
+        GZTOP3 = #{record.gztop3,jdbcType=DECIMAL},
+      </if>
+      <if test="record.gztop3name != null">
+        GZTOP3NAME = #{record.gztop3name,jdbcType=VARCHAR},
+      </if>
+      <if test="record.yjtop1 != null">
+        YJTOP1 = #{record.yjtop1,jdbcType=DECIMAL},
+      </if>
+      <if test="record.yjtop1name != null">
+        YJTOP1NAME = #{record.yjtop1name,jdbcType=VARCHAR},
+      </if>
+      <if test="record.yjtop2 != null">
+        YJTOP2 = #{record.yjtop2,jdbcType=DECIMAL},
+      </if>
+      <if test="record.yjtop2name != null">
+        YJTOP2NAME = #{record.yjtop2name,jdbcType=VARCHAR},
+      </if>
+      <if test="record.yjtop3 != null">
+        YJTOP3 = #{record.yjtop3,jdbcType=DECIMAL},
+      </if>
+      <if test="record.yjtop3name != null">
+        YJTOP3NAME = #{record.yjtop3name,jdbcType=VARCHAR},
+      </if>
+      <if test="record.top1type != null">
+        TOP1TYPE = #{record.top1type,jdbcType=VARCHAR},
+      </if>
+      <if test="record.top2type != null">
+        TOP2TYPE = #{record.top2type,jdbcType=VARCHAR},
+      </if>
+      <if test="record.top3type != null">
+        TOP3TYPE = #{record.top3type,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 wtreportmain
+    set ID = #{record.id,jdbcType=VARCHAR},
+      RECODEDATE = #{record.recodedate,jdbcType=DATE},
+      WTID = #{record.wtid,jdbcType=VARCHAR},
+      MAINREASON = #{record.mainreason,jdbcType=VARCHAR},
+      MAINDATE = #{record.maindate,jdbcType=DATE},
+      SPEED = #{record.speed,jdbcType=DECIMAL},
+      MAINMETHOD = #{record.mainmethod,jdbcType=VARCHAR},
+      APPROACH = #{record.approach,jdbcType=VARCHAR},
+      TOOLS = #{record.tools,jdbcType=VARCHAR},
+      MAINHOUR = #{record.mainhour,jdbcType=DECIMAL},
+      GZTOP1 = #{record.gztop1,jdbcType=DECIMAL},
+      GZTOP1NAME = #{record.gztop1name,jdbcType=VARCHAR},
+      GZTOP2 = #{record.gztop2,jdbcType=DECIMAL},
+      GZTOP2NAME = #{record.gztop2name,jdbcType=VARCHAR},
+      GZTOP3 = #{record.gztop3,jdbcType=DECIMAL},
+      GZTOP3NAME = #{record.gztop3name,jdbcType=VARCHAR},
+      YJTOP1 = #{record.yjtop1,jdbcType=DECIMAL},
+      YJTOP1NAME = #{record.yjtop1name,jdbcType=VARCHAR},
+      YJTOP2 = #{record.yjtop2,jdbcType=DECIMAL},
+      YJTOP2NAME = #{record.yjtop2name,jdbcType=VARCHAR},
+      YJTOP3 = #{record.yjtop3,jdbcType=DECIMAL},
+      YJTOP3NAME = #{record.yjtop3name,jdbcType=VARCHAR},
+      TOP1TYPE = #{record.top1type,jdbcType=VARCHAR},
+      TOP2TYPE = #{record.top2type,jdbcType=VARCHAR},
+      TOP3TYPE = #{record.top3type,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.WtReportMain">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update wtreportmain
+    <set>
+      <if test="recodedate != null">
+        RECODEDATE = #{recodedate,jdbcType=DATE},
+      </if>
+      <if test="wtid != null">
+        WTID = #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="mainreason != null">
+        MAINREASON = #{mainreason,jdbcType=VARCHAR},
+      </if>
+      <if test="maindate != null">
+        MAINDATE = #{maindate,jdbcType=DATE},
+      </if>
+      <if test="speed != null">
+        SPEED = #{speed,jdbcType=DECIMAL},
+      </if>
+      <if test="mainmethod != null">
+        MAINMETHOD = #{mainmethod,jdbcType=VARCHAR},
+      </if>
+      <if test="approach != null">
+        APPROACH = #{approach,jdbcType=VARCHAR},
+      </if>
+      <if test="tools != null">
+        TOOLS = #{tools,jdbcType=VARCHAR},
+      </if>
+      <if test="mainhour != null">
+        MAINHOUR = #{mainhour,jdbcType=DECIMAL},
+      </if>
+      <if test="gztop1 != null">
+        GZTOP1 = #{gztop1,jdbcType=DECIMAL},
+      </if>
+      <if test="gztop1name != null">
+        GZTOP1NAME = #{gztop1name,jdbcType=VARCHAR},
+      </if>
+      <if test="gztop2 != null">
+        GZTOP2 = #{gztop2,jdbcType=DECIMAL},
+      </if>
+      <if test="gztop2name != null">
+        GZTOP2NAME = #{gztop2name,jdbcType=VARCHAR},
+      </if>
+      <if test="gztop3 != null">
+        GZTOP3 = #{gztop3,jdbcType=DECIMAL},
+      </if>
+      <if test="gztop3name != null">
+        GZTOP3NAME = #{gztop3name,jdbcType=VARCHAR},
+      </if>
+      <if test="yjtop1 != null">
+        YJTOP1 = #{yjtop1,jdbcType=DECIMAL},
+      </if>
+      <if test="yjtop1name != null">
+        YJTOP1NAME = #{yjtop1name,jdbcType=VARCHAR},
+      </if>
+      <if test="yjtop2 != null">
+        YJTOP2 = #{yjtop2,jdbcType=DECIMAL},
+      </if>
+      <if test="yjtop2name != null">
+        YJTOP2NAME = #{yjtop2name,jdbcType=VARCHAR},
+      </if>
+      <if test="yjtop3 != null">
+        YJTOP3 = #{yjtop3,jdbcType=DECIMAL},
+      </if>
+      <if test="yjtop3name != null">
+        YJTOP3NAME = #{yjtop3name,jdbcType=VARCHAR},
+      </if>
+      <if test="top1type != null">
+        TOP1TYPE = #{top1type,jdbcType=VARCHAR},
+      </if>
+      <if test="top2type != null">
+        TOP2TYPE = #{top2type,jdbcType=VARCHAR},
+      </if>
+      <if test="top3type != null">
+        TOP3TYPE = #{top3type,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.WtReportMain">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update wtreportmain
+    set RECODEDATE = #{recodedate,jdbcType=DATE},
+      WTID = #{wtid,jdbcType=VARCHAR},
+      MAINREASON = #{mainreason,jdbcType=VARCHAR},
+      MAINDATE = #{maindate,jdbcType=DATE},
+      SPEED = #{speed,jdbcType=DECIMAL},
+      MAINMETHOD = #{mainmethod,jdbcType=VARCHAR},
+      APPROACH = #{approach,jdbcType=VARCHAR},
+      TOOLS = #{tools,jdbcType=VARCHAR},
+      MAINHOUR = #{mainhour,jdbcType=DECIMAL},
+      GZTOP1 = #{gztop1,jdbcType=DECIMAL},
+      GZTOP1NAME = #{gztop1name,jdbcType=VARCHAR},
+      GZTOP2 = #{gztop2,jdbcType=DECIMAL},
+      GZTOP2NAME = #{gztop2name,jdbcType=VARCHAR},
+      GZTOP3 = #{gztop3,jdbcType=DECIMAL},
+      GZTOP3NAME = #{gztop3name,jdbcType=VARCHAR},
+      YJTOP1 = #{yjtop1,jdbcType=DECIMAL},
+      YJTOP1NAME = #{yjtop1name,jdbcType=VARCHAR},
+      YJTOP2 = #{yjtop2,jdbcType=DECIMAL},
+      YJTOP2NAME = #{yjtop2name,jdbcType=VARCHAR},
+      YJTOP3 = #{yjtop3,jdbcType=DECIMAL},
+      YJTOP3NAME = #{yjtop3name,jdbcType=VARCHAR},
+      TOP1TYPE = #{top1type,jdbcType=VARCHAR},
+      TOP2TYPE = #{top2type,jdbcType=VARCHAR},
+      TOP3TYPE = #{top3type,jdbcType=VARCHAR}
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 492 - 0
src/main/resources/mybatis/auto/WtReportSubMapper.xml

@@ -0,0 +1,492 @@
+<?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.WtReportSubMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.WtReportSub">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="VARCHAR" property="id" />
+    <result column="TID" jdbcType="VARCHAR" property="tid" />
+    <result column="WTID" jdbcType="VARCHAR" property="wtid" />
+    <result column="RECODEDATE" jdbcType="DATE" property="recodedate" />
+    <result column="FDL" jdbcType="DECIMAL" property="fdl" />
+    <result column="SBKLYL" jdbcType="DECIMAL" property="sbklyl" />
+    <result column="FNLYL" jdbcType="DECIMAL" property="fnlyl" />
+    <result column="GZSS" jdbcType="DECIMAL" property="gzss" />
+    <result column="WHSS" jdbcType="DECIMAL" property="whss" />
+    <result column="XDSS" jdbcType="DECIMAL" property="xdss" />
+    <result column="XNSS" jdbcType="DECIMAL" property="xnss" />
+    <result column="SLSS" jdbcType="DECIMAL" property="slss" />
+    <result column="QXPCL" jdbcType="DECIMAL" property="qxpcl" />
+    <result column="QXPCLJZZ" jdbcType="DECIMAL" property="qxpcljzz" />
+    <result column="XNSSL" jdbcType="DECIMAL" property="xnssl" />
+    <result column="XNSSLJZZ" jdbcType="DECIMAL" property="xnssljzz" />
+    <result column="DJPGJB" jdbcType="VARCHAR" property="djpgjb" />
+    <result column="STOPHOURS" jdbcType="DECIMAL" property="stophours" />
+    <result column="STOPTIMES" jdbcType="DECIMAL" property="stoptimes" />
+  </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, TID, WTID, RECODEDATE, FDL, SBKLYL, FNLYL, GZSS, WHSS, XDSS, XNSS, SLSS, QXPCL, 
+    QXPCLJZZ, XNSSL, XNSSLJZZ, DJPGJB, STOPHOURS, STOPTIMES
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.WtReportSubExample" 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 wtreportsub
+    <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 wtreportsub
+    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 wtreportsub
+    where ID = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.WtReportSubExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from wtreportsub
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.WtReportSub">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into wtreportsub (ID, TID, WTID, 
+      RECODEDATE, FDL, SBKLYL, 
+      FNLYL, GZSS, WHSS, 
+      XDSS, XNSS, SLSS, QXPCL, 
+      QXPCLJZZ, XNSSL, XNSSLJZZ, 
+      DJPGJB, STOPHOURS, STOPTIMES
+      )
+    values (#{id,jdbcType=VARCHAR}, #{tid,jdbcType=VARCHAR}, #{wtid,jdbcType=VARCHAR}, 
+      #{recodedate,jdbcType=DATE}, #{fdl,jdbcType=DECIMAL}, #{sbklyl,jdbcType=DECIMAL}, 
+      #{fnlyl,jdbcType=DECIMAL}, #{gzss,jdbcType=DECIMAL}, #{whss,jdbcType=DECIMAL}, 
+      #{xdss,jdbcType=DECIMAL}, #{xnss,jdbcType=DECIMAL}, #{slss,jdbcType=DECIMAL}, #{qxpcl,jdbcType=DECIMAL}, 
+      #{qxpcljzz,jdbcType=DECIMAL}, #{xnssl,jdbcType=DECIMAL}, #{xnssljzz,jdbcType=DECIMAL}, 
+      #{djpgjb,jdbcType=VARCHAR}, #{stophours,jdbcType=DECIMAL}, #{stoptimes,jdbcType=DECIMAL}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.WtReportSub">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into wtreportsub
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="tid != null">
+        TID,
+      </if>
+      <if test="wtid != null">
+        WTID,
+      </if>
+      <if test="recodedate != null">
+        RECODEDATE,
+      </if>
+      <if test="fdl != null">
+        FDL,
+      </if>
+      <if test="sbklyl != null">
+        SBKLYL,
+      </if>
+      <if test="fnlyl != null">
+        FNLYL,
+      </if>
+      <if test="gzss != null">
+        GZSS,
+      </if>
+      <if test="whss != null">
+        WHSS,
+      </if>
+      <if test="xdss != null">
+        XDSS,
+      </if>
+      <if test="xnss != null">
+        XNSS,
+      </if>
+      <if test="slss != null">
+        SLSS,
+      </if>
+      <if test="qxpcl != null">
+        QXPCL,
+      </if>
+      <if test="qxpcljzz != null">
+        QXPCLJZZ,
+      </if>
+      <if test="xnssl != null">
+        XNSSL,
+      </if>
+      <if test="xnssljzz != null">
+        XNSSLJZZ,
+      </if>
+      <if test="djpgjb != null">
+        DJPGJB,
+      </if>
+      <if test="stophours != null">
+        STOPHOURS,
+      </if>
+      <if test="stoptimes != null">
+        STOPTIMES,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="tid != null">
+        #{tid,jdbcType=VARCHAR},
+      </if>
+      <if test="wtid != null">
+        #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="recodedate != null">
+        #{recodedate,jdbcType=DATE},
+      </if>
+      <if test="fdl != null">
+        #{fdl,jdbcType=DECIMAL},
+      </if>
+      <if test="sbklyl != null">
+        #{sbklyl,jdbcType=DECIMAL},
+      </if>
+      <if test="fnlyl != null">
+        #{fnlyl,jdbcType=DECIMAL},
+      </if>
+      <if test="gzss != null">
+        #{gzss,jdbcType=DECIMAL},
+      </if>
+      <if test="whss != null">
+        #{whss,jdbcType=DECIMAL},
+      </if>
+      <if test="xdss != null">
+        #{xdss,jdbcType=DECIMAL},
+      </if>
+      <if test="xnss != null">
+        #{xnss,jdbcType=DECIMAL},
+      </if>
+      <if test="slss != null">
+        #{slss,jdbcType=DECIMAL},
+      </if>
+      <if test="qxpcl != null">
+        #{qxpcl,jdbcType=DECIMAL},
+      </if>
+      <if test="qxpcljzz != null">
+        #{qxpcljzz,jdbcType=DECIMAL},
+      </if>
+      <if test="xnssl != null">
+        #{xnssl,jdbcType=DECIMAL},
+      </if>
+      <if test="xnssljzz != null">
+        #{xnssljzz,jdbcType=DECIMAL},
+      </if>
+      <if test="djpgjb != null">
+        #{djpgjb,jdbcType=VARCHAR},
+      </if>
+      <if test="stophours != null">
+        #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoptimes != null">
+        #{stoptimes,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.WtReportSubExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from wtreportsub
+    <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 wtreportsub
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.tid != null">
+        TID = #{record.tid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wtid != null">
+        WTID = #{record.wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.recodedate != null">
+        RECODEDATE = #{record.recodedate,jdbcType=DATE},
+      </if>
+      <if test="record.fdl != null">
+        FDL = #{record.fdl,jdbcType=DECIMAL},
+      </if>
+      <if test="record.sbklyl != null">
+        SBKLYL = #{record.sbklyl,jdbcType=DECIMAL},
+      </if>
+      <if test="record.fnlyl != null">
+        FNLYL = #{record.fnlyl,jdbcType=DECIMAL},
+      </if>
+      <if test="record.gzss != null">
+        GZSS = #{record.gzss,jdbcType=DECIMAL},
+      </if>
+      <if test="record.whss != null">
+        WHSS = #{record.whss,jdbcType=DECIMAL},
+      </if>
+      <if test="record.xdss != null">
+        XDSS = #{record.xdss,jdbcType=DECIMAL},
+      </if>
+      <if test="record.xnss != null">
+        XNSS = #{record.xnss,jdbcType=DECIMAL},
+      </if>
+      <if test="record.slss != null">
+        SLSS = #{record.slss,jdbcType=DECIMAL},
+      </if>
+      <if test="record.qxpcl != null">
+        QXPCL = #{record.qxpcl,jdbcType=DECIMAL},
+      </if>
+      <if test="record.qxpcljzz != null">
+        QXPCLJZZ = #{record.qxpcljzz,jdbcType=DECIMAL},
+      </if>
+      <if test="record.xnssl != null">
+        XNSSL = #{record.xnssl,jdbcType=DECIMAL},
+      </if>
+      <if test="record.xnssljzz != null">
+        XNSSLJZZ = #{record.xnssljzz,jdbcType=DECIMAL},
+      </if>
+      <if test="record.djpgjb != null">
+        DJPGJB = #{record.djpgjb,jdbcType=VARCHAR},
+      </if>
+      <if test="record.stophours != null">
+        STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="record.stoptimes != null">
+        STOPTIMES = #{record.stoptimes,jdbcType=DECIMAL},
+      </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 wtreportsub
+    set ID = #{record.id,jdbcType=VARCHAR},
+      TID = #{record.tid,jdbcType=VARCHAR},
+      WTID = #{record.wtid,jdbcType=VARCHAR},
+      RECODEDATE = #{record.recodedate,jdbcType=DATE},
+      FDL = #{record.fdl,jdbcType=DECIMAL},
+      SBKLYL = #{record.sbklyl,jdbcType=DECIMAL},
+      FNLYL = #{record.fnlyl,jdbcType=DECIMAL},
+      GZSS = #{record.gzss,jdbcType=DECIMAL},
+      WHSS = #{record.whss,jdbcType=DECIMAL},
+      XDSS = #{record.xdss,jdbcType=DECIMAL},
+      XNSS = #{record.xnss,jdbcType=DECIMAL},
+      SLSS = #{record.slss,jdbcType=DECIMAL},
+      QXPCL = #{record.qxpcl,jdbcType=DECIMAL},
+      QXPCLJZZ = #{record.qxpcljzz,jdbcType=DECIMAL},
+      XNSSL = #{record.xnssl,jdbcType=DECIMAL},
+      XNSSLJZZ = #{record.xnssljzz,jdbcType=DECIMAL},
+      DJPGJB = #{record.djpgjb,jdbcType=VARCHAR},
+      STOPHOURS = #{record.stophours,jdbcType=DECIMAL},
+      STOPTIMES = #{record.stoptimes,jdbcType=DECIMAL}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.WtReportSub">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update wtreportsub
+    <set>
+      <if test="tid != null">
+        TID = #{tid,jdbcType=VARCHAR},
+      </if>
+      <if test="wtid != null">
+        WTID = #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="recodedate != null">
+        RECODEDATE = #{recodedate,jdbcType=DATE},
+      </if>
+      <if test="fdl != null">
+        FDL = #{fdl,jdbcType=DECIMAL},
+      </if>
+      <if test="sbklyl != null">
+        SBKLYL = #{sbklyl,jdbcType=DECIMAL},
+      </if>
+      <if test="fnlyl != null">
+        FNLYL = #{fnlyl,jdbcType=DECIMAL},
+      </if>
+      <if test="gzss != null">
+        GZSS = #{gzss,jdbcType=DECIMAL},
+      </if>
+      <if test="whss != null">
+        WHSS = #{whss,jdbcType=DECIMAL},
+      </if>
+      <if test="xdss != null">
+        XDSS = #{xdss,jdbcType=DECIMAL},
+      </if>
+      <if test="xnss != null">
+        XNSS = #{xnss,jdbcType=DECIMAL},
+      </if>
+      <if test="slss != null">
+        SLSS = #{slss,jdbcType=DECIMAL},
+      </if>
+      <if test="qxpcl != null">
+        QXPCL = #{qxpcl,jdbcType=DECIMAL},
+      </if>
+      <if test="qxpcljzz != null">
+        QXPCLJZZ = #{qxpcljzz,jdbcType=DECIMAL},
+      </if>
+      <if test="xnssl != null">
+        XNSSL = #{xnssl,jdbcType=DECIMAL},
+      </if>
+      <if test="xnssljzz != null">
+        XNSSLJZZ = #{xnssljzz,jdbcType=DECIMAL},
+      </if>
+      <if test="djpgjb != null">
+        DJPGJB = #{djpgjb,jdbcType=VARCHAR},
+      </if>
+      <if test="stophours != null">
+        STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      </if>
+      <if test="stoptimes != null">
+        STOPTIMES = #{stoptimes,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.WtReportSub">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update wtreportsub
+    set TID = #{tid,jdbcType=VARCHAR},
+      WTID = #{wtid,jdbcType=VARCHAR},
+      RECODEDATE = #{recodedate,jdbcType=DATE},
+      FDL = #{fdl,jdbcType=DECIMAL},
+      SBKLYL = #{sbklyl,jdbcType=DECIMAL},
+      FNLYL = #{fnlyl,jdbcType=DECIMAL},
+      GZSS = #{gzss,jdbcType=DECIMAL},
+      WHSS = #{whss,jdbcType=DECIMAL},
+      XDSS = #{xdss,jdbcType=DECIMAL},
+      XNSS = #{xnss,jdbcType=DECIMAL},
+      SLSS = #{slss,jdbcType=DECIMAL},
+      QXPCL = #{qxpcl,jdbcType=DECIMAL},
+      QXPCLJZZ = #{qxpcljzz,jdbcType=DECIMAL},
+      XNSSL = #{xnssl,jdbcType=DECIMAL},
+      XNSSLJZZ = #{xnssljzz,jdbcType=DECIMAL},
+      DJPGJB = #{djpgjb,jdbcType=VARCHAR},
+      STOPHOURS = #{stophours,jdbcType=DECIMAL},
+      STOPTIMES = #{stoptimes,jdbcType=DECIMAL}
+    where ID = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 335 - 0
src/main/resources/mybatis/auto/WtTragetReportChartMapper.xml

@@ -0,0 +1,335 @@
+<?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.WtTragetReportChartMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.WtTragetReportChart">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="INTEGER" property="id" />
+    <result column="TID" jdbcType="INTEGER" property="tid" />
+    <result column="PARTID" jdbcType="VARCHAR" property="partid" />
+    <result column="PARTNAME" jdbcType="VARCHAR" property="partname" />
+    <result column="RECORDDATE" jdbcType="DATE" property="recorddate" />
+    <result column="VALUE" jdbcType="DECIMAL" property="value" />
+    <result column="PARENTID" jdbcType="VARCHAR" property="parentid" />
+    <result column="WTID" jdbcType="VARCHAR" property="wtid" />
+    <result column="WTNAME" jdbcType="VARCHAR" property="wtname" />
+  </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, TID, PARTID, PARTNAME, RECORDDATE, VALUE, PARENTID, WTID, WTNAME
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.WtTragetReportChartExample" 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 wttragetreportchart
+    <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.Integer" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from wttragetreportchart
+    where ID = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from wttragetreportchart
+    where ID = #{id,jdbcType=INTEGER}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.WtTragetReportChartExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from wttragetreportchart
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.WtTragetReportChart">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into wttragetreportchart (ID, TID, PARTID, 
+      PARTNAME, RECORDDATE, VALUE, 
+      PARENTID, WTID, WTNAME
+      )
+    values (#{id,jdbcType=INTEGER}, #{tid,jdbcType=INTEGER}, #{partid,jdbcType=VARCHAR}, 
+      #{partname,jdbcType=VARCHAR}, #{recorddate,jdbcType=DATE}, #{value,jdbcType=DECIMAL}, 
+      #{parentid,jdbcType=VARCHAR}, #{wtid,jdbcType=VARCHAR}, #{wtname,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.WtTragetReportChart">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into wttragetreportchart
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="tid != null">
+        TID,
+      </if>
+      <if test="partid != null">
+        PARTID,
+      </if>
+      <if test="partname != null">
+        PARTNAME,
+      </if>
+      <if test="recorddate != null">
+        RECORDDATE,
+      </if>
+      <if test="value != null">
+        VALUE,
+      </if>
+      <if test="parentid != null">
+        PARENTID,
+      </if>
+      <if test="wtid != null">
+        WTID,
+      </if>
+      <if test="wtname != null">
+        WTNAME,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=INTEGER},
+      </if>
+      <if test="tid != null">
+        #{tid,jdbcType=INTEGER},
+      </if>
+      <if test="partid != null">
+        #{partid,jdbcType=VARCHAR},
+      </if>
+      <if test="partname != null">
+        #{partname,jdbcType=VARCHAR},
+      </if>
+      <if test="recorddate != null">
+        #{recorddate,jdbcType=DATE},
+      </if>
+      <if test="value != null">
+        #{value,jdbcType=DECIMAL},
+      </if>
+      <if test="parentid != null">
+        #{parentid,jdbcType=VARCHAR},
+      </if>
+      <if test="wtid != null">
+        #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="wtname != null">
+        #{wtname,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.WtTragetReportChartExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from wttragetreportchart
+    <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 wttragetreportchart
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=INTEGER},
+      </if>
+      <if test="record.tid != null">
+        TID = #{record.tid,jdbcType=INTEGER},
+      </if>
+      <if test="record.partid != null">
+        PARTID = #{record.partid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.partname != null">
+        PARTNAME = #{record.partname,jdbcType=VARCHAR},
+      </if>
+      <if test="record.recorddate != null">
+        RECORDDATE = #{record.recorddate,jdbcType=DATE},
+      </if>
+      <if test="record.value != null">
+        VALUE = #{record.value,jdbcType=DECIMAL},
+      </if>
+      <if test="record.parentid != null">
+        PARENTID = #{record.parentid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wtid != null">
+        WTID = #{record.wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.wtname != null">
+        WTNAME = #{record.wtname,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 wttragetreportchart
+    set ID = #{record.id,jdbcType=INTEGER},
+      TID = #{record.tid,jdbcType=INTEGER},
+      PARTID = #{record.partid,jdbcType=VARCHAR},
+      PARTNAME = #{record.partname,jdbcType=VARCHAR},
+      RECORDDATE = #{record.recorddate,jdbcType=DATE},
+      VALUE = #{record.value,jdbcType=DECIMAL},
+      PARENTID = #{record.parentid,jdbcType=VARCHAR},
+      WTID = #{record.wtid,jdbcType=VARCHAR},
+      WTNAME = #{record.wtname,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.WtTragetReportChart">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update wttragetreportchart
+    <set>
+      <if test="tid != null">
+        TID = #{tid,jdbcType=INTEGER},
+      </if>
+      <if test="partid != null">
+        PARTID = #{partid,jdbcType=VARCHAR},
+      </if>
+      <if test="partname != null">
+        PARTNAME = #{partname,jdbcType=VARCHAR},
+      </if>
+      <if test="recorddate != null">
+        RECORDDATE = #{recorddate,jdbcType=DATE},
+      </if>
+      <if test="value != null">
+        VALUE = #{value,jdbcType=DECIMAL},
+      </if>
+      <if test="parentid != null">
+        PARENTID = #{parentid,jdbcType=VARCHAR},
+      </if>
+      <if test="wtid != null">
+        WTID = #{wtid,jdbcType=VARCHAR},
+      </if>
+      <if test="wtname != null">
+        WTNAME = #{wtname,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.WtTragetReportChart">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update wttragetreportchart
+    set TID = #{tid,jdbcType=INTEGER},
+      PARTID = #{partid,jdbcType=VARCHAR},
+      PARTNAME = #{partname,jdbcType=VARCHAR},
+      RECORDDATE = #{recorddate,jdbcType=DATE},
+      VALUE = #{value,jdbcType=DECIMAL},
+      PARENTID = #{parentid,jdbcType=VARCHAR},
+      WTID = #{wtid,jdbcType=VARCHAR},
+      WTNAME = #{wtname,jdbcType=VARCHAR}
+    where ID = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>

+ 27 - 0
src/test/java/test/BraceletServiceTest.java

@@ -0,0 +1,27 @@
+package test;
+
+import com.gyee.SpringbootStart;
+import com.gyee.frame.common.spring.SpringUtils;
+import com.gyee.frame.service.websocket.BraceletService;
+import lombok.SneakyThrows;
+import org.springframework.boot.SpringApplication;
+
+public class BraceletServiceTest {
+
+    @SneakyThrows
+    public static void main(String[] args) {
+
+        SpringApplication.run(SpringbootStart.class, args);
+
+
+        BraceletService braceletService= SpringUtils.getBean("braceletService");
+
+
+        braceletService.braceletPushTask("/topic/popup");
+
+
+    }
+
+
+
+}

+ 28 - 0
src/test/java/test/FirstAppByGuiApplicationTests.java

@@ -0,0 +1,28 @@
+package test;
+
+
+import com.gyee.SpringbootStart;
+import com.gyee.frame.common.cache.IGlobalCache;
+import com.gyee.frame.common.spring.SpringUtils;
+import lombok.SneakyThrows;
+import org.springframework.boot.SpringApplication;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public class FirstAppByGuiApplicationTests {
+
+
+    @SneakyThrows
+    public static void main(String[] args) {
+
+        SpringApplication.run(SpringbootStart.class, args);
+        IGlobalCache globalCache= SpringUtils.getBean("globalCache");
+        globalCache.set("key2", "value3");
+        globalCache.lSetAll("list", Arrays.asList("hello", "redis"));
+        List<Object> list = globalCache.lGet("list", 0, -1);
+        System.out.println(globalCache.get("key2"));
+    }
+
+}

+ 2 - 2
src/test/java/test/GoldenTest.java

@@ -1,8 +1,8 @@
 package test;
 
 import com.gyee.SpringbootStart;
-import com.gyee.frame.common.dao.IRealTimeDataBaseUtil;
-import com.gyee.frame.common.dao.golden.EdosUtil;
+import com.gyee.frame.util.IRealTimeDataBaseUtil;
+import com.gyee.frame.util.golden.EdosUtil;
 import lombok.SneakyThrows;
 import org.springframework.boot.SpringApplication;
 

+ 33 - 33
src/test/java/test/PowercompareTest.java

@@ -4,7 +4,7 @@ import com.gyee.SpringbootStart;
 import com.gyee.frame.common.domain.AjaxResult;
 import com.gyee.frame.common.spring.SpringUtils;
 import com.gyee.frame.controller.powercompare.PowerCompareController;
-import com.gyee.frame.model.custom.StopTypeTreeVo;
+import com.gyee.frame.model.auto.Windpowerinfoday3;
 import com.gyee.frame.model.custom.Tablepar;
 import lombok.SneakyThrows;
 import org.springframework.boot.SpringApplication;
@@ -43,13 +43,13 @@ public class PowercompareTest {
         tablepar.setPageSize(10);
 
 
-//        AjaxResult ajaxResult = powerCompareController.powerAjaxAll("MHS_FDC","2021-01-01","2021-01-03","xl",null,null);
-//
-//        List<Windpowerinfoday3> test=(List<Windpowerinfoday3>)ajaxResult.get("data");
-//        for(Windpowerinfoday3 wtd:test)
-//        {
-//            System.out.println(wtd.getLineid()+"----------------"+wtd.getLocation());
-//        }
+        AjaxResult ajaxResult = powerCompareController.powerAjaxAll("MHS_FDC","2021-01-01","2021-01-03","xl",null,null);
+
+        List<Windpowerinfoday3> test=(List<Windpowerinfoday3>)ajaxResult.get("data");
+        for(Windpowerinfoday3 wtd:test)
+        {
+            System.out.println(wtd.getLineid()+"----------------"+wtd.getLocation());
+        }
 //        System.out.println(test);
 //
 //        AjaxResult ajaxResult3 = powerCompareController.windfarmAjax();
@@ -76,31 +76,31 @@ public class PowercompareTest {
 //            System.out.println(wtd.getId()+"----------------"+wtd.getName());
 //        }
 
-        AjaxResult ajaxResult = powerCompareController.windfarmAllAjax();
-        List<StopTypeTreeVo> test=(List<StopTypeTreeVo>)ajaxResult.get("data");
-        for(StopTypeTreeVo wtd:test)
-        {
-            System.out.println(wtd.getId()+"----------------"+wtd.getName());
-        }
-        AjaxResult ajaxResult1 = powerCompareController.projectAllAjax();
-        List<StopTypeTreeVo> test1=(List<StopTypeTreeVo>)ajaxResult1.get("data");
-        for(StopTypeTreeVo wtd:test1)
-        {
-            System.out.println(wtd.getId()+"----------------"+wtd.getName());
-        }
-
-        AjaxResult ajaxResult2 = powerCompareController.lineAllAjax();
-        List<StopTypeTreeVo> test2=(List<StopTypeTreeVo>)ajaxResult2.get("data");
-        for(StopTypeTreeVo wtd:test2)
-        {
-            System.out.println(wtd.getId()+"----------------"+wtd.getName());
-        }
-        AjaxResult ajaxResult3 = powerCompareController.windturbineAllAjax();
-        List<StopTypeTreeVo> test3=(List<StopTypeTreeVo>)ajaxResult3.get("data");
-        for(StopTypeTreeVo wtd:test3)
-        {
-            System.out.println(wtd.getId()+"----------------"+wtd.getName());
-        }
+//        AjaxResult ajaxResult = powerCompareController.windfarmAllAjax();
+//        List<StopTypeTreeVo> test=(List<StopTypeTreeVo>)ajaxResult.get("data");
+//        for(StopTypeTreeVo wtd:test)
+//        {
+//            System.out.println(wtd.getId()+"----------------"+wtd.getName());
+//        }
+//        AjaxResult ajaxResult1 = powerCompareController.projectAllAjax();
+//        List<StopTypeTreeVo> test1=(List<StopTypeTreeVo>)ajaxResult1.get("data");
+//        for(StopTypeTreeVo wtd:test1)
+//        {
+//            System.out.println(wtd.getId()+"----------------"+wtd.getName());
+//        }
+//
+//        AjaxResult ajaxResult2 = powerCompareController.lineAllAjax();
+//        List<StopTypeTreeVo> test2=(List<StopTypeTreeVo>)ajaxResult2.get("data");
+//        for(StopTypeTreeVo wtd:test2)
+//        {
+//            System.out.println(wtd.getId()+"----------------"+wtd.getName());
+//        }
+//        AjaxResult ajaxResult3 = powerCompareController.windturbineAllAjax();
+//        List<StopTypeTreeVo> test3=(List<StopTypeTreeVo>)ajaxResult3.get("data");
+//        for(StopTypeTreeVo wtd:test3)
+//        {
+//            System.out.println(wtd.getId()+"----------------"+wtd.getName());
+//        }
 
     }
 

+ 10 - 14
src/test/java/test/ProjectPlanTest.java

@@ -2,17 +2,13 @@ package test;
 
 
 import com.gyee.SpringbootStart;
-import com.gyee.frame.common.domain.AjaxResult;
 import com.gyee.frame.common.spring.SpringUtils;
 import com.gyee.frame.controller.projectplan.ProjectPlanController;
-import com.gyee.frame.model.custom.ProjectPlanVo;
 import lombok.SneakyThrows;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 
-import java.util.List;
-
 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
 public class ProjectPlanTest {
 
@@ -31,16 +27,16 @@ public class ProjectPlanTest {
 
 
 
-        AjaxResult ajaxResult =projectPlanController.getProjectPlanVo(null,null,"2021");
-
-        List<ProjectPlanVo> test=(List<ProjectPlanVo>)ajaxResult.get("data");
-        for(ProjectPlanVo wtd:test)
-        {
-            System.out.println(wtd.getGc01()+ wtd.getGc02()+ wtd.getGc03()+ wtd.getGc04()+wtd.getGc05()+wtd.getGc06()+
-                    wtd.getGc07()+wtd.getGc08()+wtd.getGc09()+wtd.getGc10()+wtd.getGc11()+wtd.getGc12()+wtd.getGeneratingcapacity()+
-                    wtd.getWindpower()+wtd.getProjectid()
-                    );
-        }
+//        AjaxResult ajaxResult =projectPlanController.getProjectPlanVo(null,null,"2021");
+//
+//        List<ProjectPlanVo> test=(List<ProjectPlanVo>)ajaxResult.get("data");
+//        for(ProjectPlanVo wtd:test)
+//        {
+//            System.out.println(wtd.getGc01()+ wtd.getGc02()+ wtd.getGc03()+ wtd.getGc04()+wtd.getGc05()+wtd.getGc06()+
+//                    wtd.getGc07()+wtd.getGc08()+wtd.getGc09()+wtd.getGc10()+wtd.getGc11()+wtd.getGc12()+wtd.getGeneratingcapacity()+
+//                    wtd.getWindpower()+wtd.getProjectid()
+//                    );
+//        }
 
 //        AjaxResult ajaxResult =projectPlanController.getSingleProjectPlan(pjId,year);
 //

+ 80 - 0
src/test/java/test/WtHealthReportTest.java

@@ -0,0 +1,80 @@
+package test;
+
+import com.gyee.SpringbootStart;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.common.spring.SpringUtils;
+import com.gyee.frame.controller.report.WtHealthReportController;
+import com.gyee.frame.model.auto.WtTragetReportChart;
+import lombok.SneakyThrows;
+import org.springframework.boot.SpringApplication;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+public class WtHealthReportTest {
+
+    @SneakyThrows
+    public static void main(String[] args) {
+
+        SpringApplication.run(SpringbootStart.class, args);
+
+
+        Calendar c = Calendar.getInstance();
+
+        c.set(Calendar.HOUR_OF_DAY, 0);
+        c.set(Calendar.MINUTE, 0);
+        c.set(Calendar.SECOND, 0);
+        c.set(Calendar.MILLISECOND, 0);
+        c.set(Calendar.DAY_OF_MONTH,24);
+        c.set(Calendar.MONTH,2);
+        c.set(Calendar.YEAR,2021);
+
+        Date date = c.getTime();
+
+        String wtid="MG01_01";
+
+        WtHealthReportController wtHealthReportController= SpringUtils.getBean("wtHealthReportController");
+
+
+//        AjaxResult ajaxResult =wtHealthReportController.healthReport(wtid,"2021-03-24");
+//
+//        Map<String,Object> test=(Map<String,Object>)ajaxResult.get("data");
+//
+//        WtReportMain wtrm=(WtReportMain)test.get("main");
+//        System.out.println(wtrm.getRecodedate()+"----------------"+wtrm.getGztop3name()+"----------------"+wtrm.getTop1type());
+//        List<WtReportSub> wtrsls=(List<WtReportSub>)test.get("sub");
+//        for(WtReportSub wtd:wtrsls)
+//        {
+//            System.out.println(wtd.getRecodedate()+"----------------"+wtd.getFdl()+"----------------"+wtd.getGzss());
+//        }
+//        System.out.println("***************************************************************************************");
+
+        AjaxResult ajaxResult =wtHealthReportController.healthReportChart(wtid,"zk","2021-03-24");
+
+        List<WtTragetReportChart> test2=(List<WtTragetReportChart>)ajaxResult.get("data");
+
+
+        for(WtTragetReportChart wtd:test2)
+        {
+            System.out.println(wtd.getRecorddate()+"----------------"+wtd.getValue()+"----------------"+wtd.getWtname());
+        }
+//        System.out.println("***************************************************************************************");
+//
+//        AjaxResult ajaxResult =compareController.compareDayChat(wtid,date);
+//
+//        List<DataVo> test3=(List<DataVo>)ajaxResult.get("data");
+//
+//        for(DataVo wtd:test3)
+//        {
+//            System.out.println(wtd.getValue1()+"----------------"+wtd.getSpeed());
+//        }
+//        System.out.println("***************************************************************************************");
+//
+
+    }
+
+
+
+
+}