Parcourir la source

重写等级评估,包含17指标

xieshengjie il y a 3 ans
Parent
commit
b2ff53ceb9
100 fichiers modifiés avec 8519 ajouts et 238 suppressions
  1. 6 0
      benchmarking-impala/pom.xml
  2. 26 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/config/CorsConfig.java
  3. 143 20
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/controller/BenchmarkingController.java
  4. 64 64
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/auto/Windturbineanalysisday.java
  5. 15 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/DjhxdbInitVo.java
  6. 43 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/DjhxdbtopVo.java
  7. 73 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/DynamicBean.java
  8. 11 11
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/FjjxbVo.java
  9. 18 18
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/FjjxbmxVo.java
  10. 15 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/FzyVo.java
  11. 2 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/WxsslVo.java
  12. 1196 95
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/service/BenchmarkingService.java
  13. 63 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/util/ClassUtil.java
  14. 37 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/util/ConvertUtil.java
  15. 4 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/util/DateUtils.java
  16. 0 13
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/util/SortUtils.java
  17. 2 1
      benchmarking-impala/src/main/resources/application.yaml
  18. 3 3
      benchmarking-impala/src/test/java/com/gyee/benchmarkingimpala/BenchmarkingImpalaApplicationTests.java
  19. 33 0
      consumer/.gitignore
  20. 118 0
      consumer/.mvn/wrapper/MavenWrapperDownloader.java
  21. BIN
      consumer/.mvn/wrapper/maven-wrapper.jar
  22. 2 0
      consumer/.mvn/wrapper/maven-wrapper.properties
  23. 310 0
      consumer/mvnw
  24. 182 0
      consumer/mvnw.cmd
  25. 139 0
      consumer/pom.xml
  26. 20 0
      consumer/src/main/java/com/gyee/consumer/ConsumerApplication.java
  27. 41 0
      consumer/src/main/java/com/gyee/consumer/benchking/BenchContorller.java
  28. 87 0
      consumer/src/main/java/com/gyee/consumer/common/CharsetKit.java
  29. 1015 0
      consumer/src/main/java/com/gyee/consumer/common/Convert.java
  30. 7 0
      consumer/src/main/java/com/gyee/consumer/common/DNAStatVal.java
  31. 6 0
      consumer/src/main/java/com/gyee/consumer/common/DNAVal.java
  32. 55 0
      consumer/src/main/java/com/gyee/consumer/common/PointData.java
  33. 94 0
      consumer/src/main/java/com/gyee/consumer/common/StrFormatter.java
  34. 448 0
      consumer/src/main/java/com/gyee/consumer/common/StringUtils.java
  35. 104 0
      consumer/src/main/java/com/gyee/consumer/config/AjaxResult.java
  36. 11 0
      consumer/src/main/java/com/gyee/consumer/config/AjaxStatus.java
  37. 26 0
      consumer/src/main/java/com/gyee/consumer/config/CorsConfig.java
  38. 150 0
      consumer/src/main/java/com/gyee/consumer/config/GeneratorCodeConfig.java
  39. 23 0
      consumer/src/main/java/com/gyee/consumer/config/MybatisPlusConfig.java
  40. 71 0
      consumer/src/main/java/com/gyee/consumer/config/R.java
  41. 12 0
      consumer/src/main/java/com/gyee/consumer/config/ResultCode.java
  42. 88 0
      consumer/src/main/java/com/gyee/consumer/config/ResultInfo.java
  43. 37 0
      consumer/src/main/java/com/gyee/consumer/config/Status.java
  44. 76 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Benchmarkingbetween.java
  45. 44 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Dutyschedule.java
  46. 92 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Equipmentdaydetailed.java
  47. 71 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Equipmentdayinfo.java
  48. 53 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Line.java
  49. 43 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Operationrecord.java
  50. 70 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Project.java
  51. 87 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Windpowerstation.java
  52. 76 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Windpowerstationtestingpoint2.java
  53. 65 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Windturbine.java
  54. 217 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Windturbineanalysisday.java
  55. 49 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Windturbinecurvefitting.java
  56. 50 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Windturbinecurvefittingmonth.java
  57. 82 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Windturbinetestingpointai2.java
  58. 928 0
      consumer/src/main/java/com/gyee/consumer/model/auto/Windturbinethewindinfo.java
  59. 355 0
      consumer/src/main/java/com/gyee/consumer/model/vo/DataVo.java
  60. 15 0
      consumer/src/main/java/com/gyee/consumer/model/vo/DjhxdbInitVo.java
  61. 43 0
      consumer/src/main/java/com/gyee/consumer/model/vo/DjhxdbtopVo.java
  62. 73 0
      consumer/src/main/java/com/gyee/consumer/model/vo/DynamicBean.java
  63. 28 0
      consumer/src/main/java/com/gyee/consumer/model/vo/FjjxbVo.java
  64. 35 0
      consumer/src/main/java/com/gyee/consumer/model/vo/FjjxbmxVo.java
  65. 15 0
      consumer/src/main/java/com/gyee/consumer/model/vo/FzyVo.java
  66. 67 0
      consumer/src/main/java/com/gyee/consumer/model/vo/GoodCompareVo.java
  67. 18 0
      consumer/src/main/java/com/gyee/consumer/model/vo/OpeVo.java
  68. 32 0
      consumer/src/main/java/com/gyee/consumer/model/vo/Operation.java
  69. 70 0
      consumer/src/main/java/com/gyee/consumer/model/vo/ValueVo.java
  70. 49 0
      consumer/src/main/java/com/gyee/consumer/model/vo/WxsslVo.java
  71. 32 0
      consumer/src/main/resources/application.yaml
  72. 13 0
      consumer/src/test/java/com/gyee/consumer/ConsumerApplicationTests.java
  73. 26 0
      datacenter/src/main/java/com/gyee/datacenter/config/CorsConfig.java
  74. 3 2
      datacenter/src/main/java/com/gyee/datacenter/controller/OutputController.java
  75. 6 0
      datacenter/src/main/java/com/gyee/datacenter/service/OutputService.java
  76. 5 0
      gradeevaluation/pom.xml
  77. 26 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/config/CorsConfig.java
  78. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/Alertrule2Controller.java
  79. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/AlertrulefailureController.java
  80. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/CurvefittingmainController.java
  81. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/CurvefittingmonthmainController.java
  82. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/EarlywarningmainController.java
  83. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/FailurestatisticsmainController.java
  84. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/InputoroutputspeedtotalController.java
  85. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/P3DeviceFaultController.java
  86. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/P3DeviceFeaturesController.java
  87. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/RiskprecController.java
  88. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/RisktypeController.java
  89. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/SafeprecController.java
  90. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/SafeprecstardController.java
  91. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/WarningstatisticsforwindturbinController.java
  92. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/Windturbineinfodaytop3Controller.java
  93. 244 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/experiencebase/ExperienceBaseController.java
  94. 10 11
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/gradeevaluation/OutputController.java
  95. 67 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/reliability/ReliabilityController.java
  96. 62 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/targetdata/TargetdataController.java
  97. 92 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/threerate/ThreeRateController.java
  98. 14 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/init/CacheContext.java
  99. 16 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/Alertrule2Mapper.java
  100. 0 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/AlertrulefailureMapper.java

+ 6 - 0
benchmarking-impala/pom.xml

@@ -166,6 +166,12 @@
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
         </dependency>
+        <dependency>
+            <groupId>cglib</groupId>
+            <artifactId>cglib</artifactId>
+            <version>2.2.2</version>
+            <scope>compile</scope>
+        </dependency>
 
     </dependencies>
 

+ 26 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/config/CorsConfig.java

@@ -0,0 +1,26 @@
+package com.gyee.benchmarkingimpala.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @ClassName : CorsConfig
+ * @Author : xieshengjie
+ * @Date: 2021/6/28 20:00
+ * @Description :
+ */
+@Configuration
+public class CorsConfig implements WebMvcConfigurer {
+
+    static final String[] ORIGINS = new String[]{"GET", "POST", "PUT", "DELETE"};  //请求方式
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**") //所有的当前站点的请求地址,都支持跨域访问
+                .allowedOrigins("*")// 所有的外部域都可跨域访问,这里注意2.4.0以后是allowedOriginPatterns,以前是allowedOrigins
+                .allowCredentials(true)  //是否支持跨域用户凭证
+                .allowedMethods(ORIGINS) //当前站点支持的跨域请求类型是什么
+                .maxAge(3600);  //超是时长,单位为秒。
+    }
+}

+ 143 - 20
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/controller/BenchmarkingController.java

@@ -4,11 +4,9 @@ package com.gyee.benchmarkingimpala.controller;
 import com.gyee.benchmarkingimpala.common.StringUtils;
 import com.gyee.benchmarkingimpala.config.R;
 import com.gyee.benchmarkingimpala.model.auto.*;
-import com.gyee.benchmarkingimpala.model.vo.FjjxbVo;
-import com.gyee.benchmarkingimpala.model.vo.FjjxbmxVo;
-import com.gyee.benchmarkingimpala.model.vo.Operation;
-import com.gyee.benchmarkingimpala.model.vo.WxsslVo;
+import com.gyee.benchmarkingimpala.model.vo.*;
 import com.gyee.benchmarkingimpala.service.BenchmarkingService;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -79,6 +77,24 @@ public class BenchmarkingController {
     }
 
     /**
+     * 根据场站查询
+     * 风机列表
+     * @return
+     */
+    @GetMapping("/wtList")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R wtList(@RequestParam(value = "wpid",required = true) String wpid){
+        List<Windturbine> resultList = benchmarkingService.wtList(wpid);
+
+        if (StringUtils.isNotNull(resultList)) {
+            return R.ok(resultList.size()).data(resultList);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
      * 风机绩效榜
      * @param wpids
      * @param projectids
@@ -96,9 +112,11 @@ public class BenchmarkingController {
                    @RequestParam(value = "lineids",required = true) String lineids,
                    @RequestParam(value = "beginDate",required = true) String beginDate,
                    @RequestParam(value = "endDate",required = true) String endDate,
-                   @RequestParam(value = "type",required = true) String type
+                   @RequestParam(value = "type",required = true) String type,
+                   @RequestParam(value = "target",required = true) String target,
+                   @RequestParam(value = "sort",required = true) String sort
                    ){
-        List<FjjxbVo> resultList = benchmarkingService.fjjxb(wpids,projectids,lineids,beginDate,endDate,type);
+        List<FjjxbVo> resultList = benchmarkingService.fjjxb(wpids,projectids,lineids,beginDate,endDate,type,target,sort);
 
         if (StringUtils.isNotNull(resultList)) {
             return R.ok(resultList.size()).data(resultList);
@@ -124,9 +142,11 @@ public class BenchmarkingController {
                    @RequestParam(value = "lineids",required = true) String lineids,
                    @RequestParam(value = "beginDate",required = true) String beginDate,
                    @RequestParam(value = "endDate",required = true) String endDate,
-                   @RequestParam(value = "type",required = true) String type
+                   @RequestParam(value = "type",required = true) String type,
+                     @RequestParam(value = "target",required = true) String target,
+                     @RequestParam(value = "sort",required = true) String sort
     ){
-        List<FjjxbmxVo> resultList = benchmarkingService.fjjxbmx(wpids,projectids,lineids,beginDate,endDate,type);
+        List<FjjxbmxVo> resultList = benchmarkingService.fjjxbmx(wpids,projectids,lineids,beginDate,endDate,type,target,sort);
 
         if (StringUtils.isNotNull(resultList)) {
             return R.ok(resultList.size()).data(resultList);
@@ -151,9 +171,11 @@ public class BenchmarkingController {
                      @RequestParam(value = "projectids",required = true) String projectids,
                      @RequestParam(value = "lineids",required = true) String lineids,
                      @RequestParam(value = "beginDate",required = true) String beginDate,
-                     @RequestParam(value = "endDate",required = true) String endDate
+                     @RequestParam(value = "endDate",required = true) String endDate,
+                   @RequestParam(value = "target",required = true) String target,
+                   @RequestParam(value = "sort",required = true) String sort
     ){
-        List<WxsslVo> resultList = benchmarkingService.wxssl(wpids,projectids,lineids,beginDate,endDate);
+        List<WxsslVo> resultList = benchmarkingService.wxssl(wpids,projectids,lineids,beginDate,endDate,target,sort);
 
         if (StringUtils.isNotNull(resultList)) {
             return R.ok(resultList.size()).data(resultList);
@@ -174,9 +196,11 @@ public class BenchmarkingController {
     @CrossOrigin(origins = "*", maxAge = 3600)
     public R cndb(@RequestParam(value = "wpid",required = true) String wpid,
                    @RequestParam(value = "beginDate",required = true) String beginDate,
-                   @RequestParam(value = "endDate",required = true) String endDate
+                   @RequestParam(value = "endDate",required = true) String endDate,
+                  @RequestParam(value = "target",required = true) String target,
+                  @RequestParam(value = "sort",required = true) String sort
     ){
-        List<WxsslVo> resultList = benchmarkingService.cndb(wpid,beginDate,endDate);
+        List<WxsslVo> resultList = benchmarkingService.cndb(wpid,beginDate,endDate,target,sort);
 
         if (StringUtils.isNotNull(resultList)) {
             return R.ok(resultList.size()).data(resultList);
@@ -197,9 +221,11 @@ public class BenchmarkingController {
     @CrossOrigin(origins = "*", maxAge = 3600)
     public R cjdb(@RequestParam(value = "wpids",required = true) String wpids,
                   @RequestParam(value = "beginDate",required = true) String beginDate,
-                  @RequestParam(value = "endDate",required = true) String endDate
+                  @RequestParam(value = "endDate",required = true) String endDate,
+                  @RequestParam(value = "target",required = true) String target,
+                  @RequestParam(value = "sort",required = true) String sort
     ){
-        List<WxsslVo> resultList = benchmarkingService.cjdb(wpids,beginDate,endDate);
+        List<WxsslVo> resultList = benchmarkingService.cjdb(wpids,beginDate,endDate,target,sort);
 
         if (StringUtils.isNotNull(resultList)) {
             return R.ok(resultList.size()).data(resultList);
@@ -222,9 +248,11 @@ public class BenchmarkingController {
     public R xmdb(@RequestParam(value = "wpids",required = true) String wpids,
                   @RequestParam(value = "projectids",required = true) String projectids,
                   @RequestParam(value = "beginDate",required = true) String beginDate,
-                  @RequestParam(value = "endDate",required = true) String endDate
+                  @RequestParam(value = "endDate",required = true) String endDate,
+                  @RequestParam(value = "target",required = true) String target,
+                  @RequestParam(value = "sort",required = true) String sort
     ){
-        List<WxsslVo> resultList = benchmarkingService.xmdb(wpids,projectids,beginDate,endDate);
+        List<WxsslVo> resultList = benchmarkingService.xmdb(wpids,projectids,beginDate,endDate,target,sort);
 
         if (StringUtils.isNotNull(resultList)) {
             return R.ok(resultList.size()).data(resultList);
@@ -249,9 +277,11 @@ public class BenchmarkingController {
                   @RequestParam(value = "projectids",required = true) String projectids,
                   @RequestParam(value = "lineids",required = true) String lineids,
                   @RequestParam(value = "beginDate",required = true) String beginDate,
-                  @RequestParam(value = "endDate",required = true) String endDate
+                  @RequestParam(value = "endDate",required = true) String endDate,
+                  @RequestParam(value = "target",required = true) String target,
+                  @RequestParam(value = "sort",required = true) String sort
     ){
-        List<WxsslVo> resultList = benchmarkingService.xldb(wpids,projectids,lineids,beginDate,endDate);
+        List<WxsslVo> resultList = benchmarkingService.xldb(wpids,projectids,lineids,beginDate,endDate,target,sort);
 
         if (StringUtils.isNotNull(resultList)) {
             return R.ok(resultList.size()).data(resultList);
@@ -333,8 +363,101 @@ public class BenchmarkingController {
     @CrossOrigin(origins = "*", maxAge = 3600)
     public R details(@RequestParam(value = "id",required = true)String id,
                   @RequestParam(value = "beginDate",required = true)String beginDate,
-                  @RequestParam(value = "endDate",required = true)String endDate){
-        List<WxsslVo> resultList =  benchmarkingService.details(id,beginDate,endDate);
+                  @RequestParam(value = "endDate",required = true)String endDate,
+                     @RequestParam(value = "target",required = true) String target,
+                     @RequestParam(value = "sort",required = true) String sort
+    ){
+        List<WxsslVo> resultList =  benchmarkingService.details(id,beginDate,endDate,target,sort);
+
+        if (StringUtils.isNotNull(resultList)) {
+            return R.ok(resultList.size()).data(resultList);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+
+
+    /**
+     * 日单机横向对比列表
+     * @param wpid
+     * @param wtids
+     * @param date
+     * @return
+     */
+    @GetMapping("/daydjhxdbtop")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R daydjhxdbtop(@RequestParam(value = "wpid",required = true)String wpid,
+                     @RequestParam(value = "wtids",required = true)String wtids,
+                     @RequestParam(value = "date",required = true)String date){
+        List<Object> resultList =  benchmarkingService.daydjhxdbtop(wpid,wtids,date);
+
+        if (StringUtils.isNotNull(resultList)) {
+            return R.ok(resultList.size()).data(resultList);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
+     * 月单机横向对比列表
+     * @param wpid
+     * @param wtids
+     * @param date
+     * @return
+     */
+    @GetMapping("/monthdjhxdbtop")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R monthdjhxdbtop(@RequestParam(value = "wpid",required = true)String wpid,
+                       @RequestParam(value = "wtids",required = true)String wtids,
+                       @RequestParam(value = "date",required = true)String date){
+        List<Object> resultList =  benchmarkingService.monthdjhxdbtop(wpid,wtids,date);
+
+        if (StringUtils.isNotNull(resultList)) {
+            return R.ok(resultList.size()).data(resultList);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
+     * 年单机横向对比列表
+     * @param wpid
+     * @param wtids
+     * @param date
+     * @return
+     */
+    @GetMapping("/yeardjhxdbtop")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R yeardjhxdbtop(@RequestParam(value = "wpid",required = true)String wpid,
+                            @RequestParam(value = "wtids",required = true)String wtids,
+                            @RequestParam(value = "date",required = true)String date){
+        List<Object> resultList =  benchmarkingService.yeardjhxdbtop(wpid,wtids,date);
+
+        if (StringUtils.isNotNull(resultList)) {
+            return R.ok(resultList.size()).data(resultList);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
+     * 日单机横向对比图
+     * @param wpid
+     * @param wtids
+     * @param date
+     * @return
+     */
+    @GetMapping("/djhxdbbottom")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R djhxdbbottom(@RequestParam(value = "wpid",required = true)String wpid,
+                       @RequestParam(value = "wtids",required = true)String wtids,
+                       @RequestParam(value = "date",required = true)String date){
+        List<Object> resultList =  benchmarkingService.djhxdbbottom(wpid,wtids,date);
 
         if (StringUtils.isNotNull(resultList)) {
             return R.ok(resultList.size()).data(resultList);

+ 64 - 64
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/auto/Windturbineanalysisday.java

@@ -1,14 +1,14 @@
 package com.gyee.benchmarkingimpala.model.auto;
 
-import java.math.BigDecimal;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.Date;
+
 /**
  * <p>
  * 
@@ -25,193 +25,193 @@ public class Windturbineanalysisday extends Model {
     private static final long serialVersionUID = 1L;
 
     @TableId("ID")
-    private BigDecimal id;
+    private Double id;
 
     @TableField("WINDTURBINEID")
     private String windturbineid;
 
     @TableField("RECORDDATE")
-    private LocalDateTime recorddate;
+    private Date recorddate;
 
     @TableField("C1")
-    private BigDecimal c1;
+    private Double c1;
 
     @TableField("C2")
-    private BigDecimal c2;
+    private Double c2;
 
     @TableField("C3")
-    private BigDecimal c3;
+    private Double c3;
 
     @TableField("C4")
-    private BigDecimal c4;
+    private Double c4;
 
     @TableField("C5")
-    private BigDecimal c5;
+    private Double c5;
 
     @TableField("C6")
-    private BigDecimal c6;
+    private Double c6;
 
     @TableField("C7")
-    private BigDecimal c7;
+    private Double c7;
 
     @TableField("C8")
-    private BigDecimal c8;
+    private Double c8;
 
     @TableField("C9")
-    private BigDecimal c9;
+    private Double c9;
 
     @TableField("C10")
-    private BigDecimal c10;
+    private Double c10;
 
     @TableField("C11")
-    private BigDecimal c11;
+    private Double c11;
 
     @TableField("C12")
-    private BigDecimal c12;
+    private Double c12;
 
     @TableField("C13")
-    private BigDecimal c13;
+    private Double c13;
 
     @TableField("C14")
-    private BigDecimal c14;
+    private Double c14;
 
     @TableField("C15")
-    private BigDecimal c15;
+    private Double c15;
 
     @TableField("C16")
-    private BigDecimal c16;
+    private Double c16;
 
     @TableField("C17")
-    private BigDecimal c17;
+    private Double c17;
 
     @TableField("C18")
-    private BigDecimal c18;
+    private Double c18;
 
     @TableField("C19")
-    private BigDecimal c19;
+    private Double c19;
 
     @TableField("C20")
-    private BigDecimal c20;
+    private Double c20;
 
     @TableField("C21")
-    private BigDecimal c21;
+    private Double c21;
 
     @TableField("C22")
-    private BigDecimal c22;
+    private Double c22;
 
     @TableField("C23")
-    private BigDecimal c23;
+    private Double c23;
 
     @TableField("C24")
-    private BigDecimal c24;
+    private Double c24;
 
     @TableField("C25")
-    private BigDecimal c25;
+    private Double c25;
 
     @TableField("C26")
-    private BigDecimal c26;
+    private Double c26;
 
     @TableField("C27")
-    private BigDecimal c27;
+    private Double c27;
 
     @TableField("C28")
-    private BigDecimal c28;
+    private Double c28;
 
     @TableField("C29")
-    private BigDecimal c29;
+    private Double c29;
 
     @TableField("C30")
-    private BigDecimal c30;
+    private Double c30;
 
     @TableField("C31")
-    private BigDecimal c31;
+    private Double c31;
 
     @TableField("C32")
-    private BigDecimal c32;
+    private Double c32;
 
     @TableField("C33")
-    private BigDecimal c33;
+    private Double c33;
 
     @TableField("C34")
-    private BigDecimal c34;
+    private Double c34;
 
     @TableField("C35")
-    private BigDecimal c35;
+    private Double c35;
 
     @TableField("C36")
-    private BigDecimal c36;
+    private Double c36;
 
     @TableField("C37")
-    private BigDecimal c37;
+    private Double c37;
 
     @TableField("C38")
-    private BigDecimal c38;
+    private Double c38;
 
     @TableField("C39")
-    private BigDecimal c39;
+    private Double c39;
 
     @TableField("C40")
-    private BigDecimal c40;
+    private Double c40;
 
     @TableField("C41")
-    private BigDecimal c41;
+    private Double c41;
 
     @TableField("C42")
-    private BigDecimal c42;
+    private Double c42;
 
     @TableField("C43")
-    private BigDecimal c43;
+    private Double c43;
 
     @TableField("C44")
-    private BigDecimal c44;
+    private Double c44;
 
     @TableField("C45")
-    private BigDecimal c45;
+    private Double c45;
 
     @TableField("C46")
-    private BigDecimal c46;
+    private Double c46;
 
     @TableField("C47")
-    private BigDecimal c47;
+    private Double c47;
 
     @TableField("C48")
-    private BigDecimal c48;
+    private Double c48;
 
     @TableField("C49")
-    private BigDecimal c49;
+    private Double c49;
 
     @TableField("C50")
-    private BigDecimal c50;
+    private Double c50;
 
     @TableField("C51")
-    private BigDecimal c51;
+    private Double c51;
 
     @TableField("C52")
-    private BigDecimal c52;
+    private Double c52;
 
     @TableField("C53")
-    private BigDecimal c53;
+    private Double c53;
 
     @TableField("C54")
-    private BigDecimal c54;
+    private Double c54;
 
     @TableField("C55")
-    private BigDecimal c55;
+    private Double c55;
 
     @TableField("C56")
-    private BigDecimal c56;
+    private Double c56;
 
     @TableField("C57")
-    private BigDecimal c57;
+    private Double c57;
 
     @TableField("C58")
-    private BigDecimal c58;
+    private Double c58;
 
     @TableField("C59")
-    private BigDecimal c59;
+    private Double c59;
 
     @TableField("C60")
-    private BigDecimal c60;
+    private Double c60;
 
 
 }

+ 15 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/DjhxdbInitVo.java

@@ -0,0 +1,15 @@
+package com.gyee.benchmarkingimpala.model.vo;
+
+import lombok.Data;
+
+/**
+ * @ClassName : DjhxdbInitVo
+ * @Author : xieshengjie
+ * @Date: 2021/6/29 14:10
+ * @Description : 单机横向对比初始化vo
+ */
+@Data
+public class DjhxdbInitVo {
+
+    private String name;
+}

+ 43 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/DjhxdbtopVo.java

@@ -0,0 +1,43 @@
+package com.gyee.benchmarkingimpala.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @ClassName : DjhxdbtopVo
+ * @Author : xieshengjie
+ * @Date: 2021/6/29 8:52
+ * @Description : 单机横向对比表格vo
+ */
+@Data
+public class DjhxdbtopVo  implements Serializable {
+    private static final long serialVersionUID = 4849539762497547224L;
+
+    private String wtid;
+    private Double fdl;
+    private Double yfdl;
+    private Double pjgl;
+    private Double pjfs;
+    private Double yxxs;
+    private Double djxs;
+    private Double gzxs;
+    private Double whxs;
+    private Double zdxs;
+    private Double yxfs;
+    private Double ssdl;
+    private Double bjcs;
+    private Double tjcs;
+    private Double bbhcs;
+    private Double sbklly;
+    private Double pjwd;
+    private Double pjsd;
+    private Double pjyq;
+    private Double nhyd;
+    private Double sjbz;
+    private List<FzyVo> fzyList;
+    private Double jfpl;
+
+
+}

+ 73 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/DynamicBean.java

@@ -0,0 +1,73 @@
+package com.gyee.benchmarkingimpala.model.vo;
+
+import net.sf.cglib.beans.BeanGenerator;
+import net.sf.cglib.beans.BeanMap;
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @ClassName : DynamicBean
+ * @Author : xieshengjie
+ * @Date: 2021/3/8 17:25
+ * @Description : 动态生成基础类
+ */
+public class DynamicBean {
+    private Object object = null; //动态生成的类
+    private BeanMap beanMap = null; //存放属性名称以及属性的类型
+
+    public DynamicBean() {
+        super();
+    }
+
+    public DynamicBean(Map propertyMap) {
+        this.object = generateBean(propertyMap);
+        this.beanMap = BeanMap.create(this.object);
+    }
+
+    /**
+     * @param propertyMap
+     * @return
+     */
+    private Object generateBean(Map propertyMap) {
+        BeanGenerator generator = new BeanGenerator();
+        Set keySet = propertyMap.keySet();
+        for (Iterator i = keySet.iterator(); i.hasNext(); ) {
+            String key = (String) i.next();
+            generator.addProperty(key, (Class) propertyMap.get(key));
+        }
+        return generator.create();
+    }
+
+    /**
+     * 给bean属性赋值
+     *
+     * @param property 属性名
+     * @param value    值
+     */
+    public void setValue(Object property, Object value) {
+        beanMap.put(property, value);
+    }
+
+    /**
+     * 通过属性名得到属性值
+     *
+     * @param property 属性名
+     * @return 值
+     */
+    public Object getValue(String property) {
+        return beanMap.get(property);
+    }
+
+    /**
+     * 得到该实体bean对象
+     *
+     * @return
+     */
+    public Object getObject() {
+        return this.object;
+    }
+
+
+}

+ 11 - 11
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/FjjxbVo.java

@@ -15,15 +15,15 @@ import java.io.Serializable;
 public class FjjxbVo  implements Serializable  {
     private static final long serialVersionUID = -8275715166269543409L;
 
-    private String id;
-    private String name;
-    private Double llfdl;
-    private Double sjfdl;
-    private Double speed;
-    private Double fjhjx;
-    private Double jhjx;
-    private Double sl;
-    private Double xd;
-    private Double xn;
-    private Double fnlly;
+    private String id;   //id
+    private String name;   //名称
+    private Double llfdl;   //理论发电量
+    private Double sjfdl;   //实际发电量
+    private Double speed;  //风速
+    private Double fjhjx;   //非计划(故障)
+    private Double jhjx;  //计划(维护)
+    private Double sl;  //受累
+    private Double xd;  //限电
+    private Double xn;  //性能
+    private Double fnlly;   //风能利用率
 }

+ 18 - 18
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/FjjxbmxVo.java

@@ -14,22 +14,22 @@ import java.io.Serializable;
 public class FjjxbmxVo implements Serializable {
     private static final long serialVersionUID = 4129930226114546977L;
 
-    private String id;
-    private String name;
-    private Double llfdl;
-    private Double sjfdl;
-    private Double speed;
-    private Double fjhjx1;
-    private Double fjhjx2;
-    private Double jhjx1;
-    private Double jhjx2;
-    private Double sl1;
-    private Double sl2;
-    private Double xd1;
-    private Double xd2;
-    private Double xn1;
-    private Double xn2;
-    private Double xn3;
-    private Double xn4;
-    private Double fnlly;
+    private String id;   //id
+    private String name;   //名称
+    private Double llfdl;  //理论发电量
+    private Double sjfdl;  //实际发电量
+    private Double speed;   //风速
+    private Double fjhjx1;  //故障损失
+    private Double fjhjx2;  //故障受累
+    private Double jhjx1;   //检修损失
+    private Double jhjx2;  //检修受累
+    private Double sl1;   //电网受累
+    private Double sl2;   //天气受累
+    private Double xd1;    //限电降出
+    private Double xd2;   //限电停机
+    private Double xn1;   //待机损失
+    private Double xn2;   //手动停机
+    private Double xn3;   //正常发电
+    private Double xn4;   //缺陷降出
+    private Double fnlly;   //风能利用率
 }

+ 15 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/FzyVo.java

@@ -0,0 +1,15 @@
+package com.gyee.benchmarkingimpala.model.vo;
+
+import lombok.Data;
+
+/**
+ * @ClassName : FzyVo
+ * @Author : xieshengjie
+ * @Date: 2021/6/29 11:40
+ * @Description : 风资源vo
+ */
+@Data
+public class FzyVo {
+    private String name;
+    private Double value;
+}

+ 2 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/WxsslVo.java

@@ -1,5 +1,6 @@
 package com.gyee.benchmarkingimpala.model.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -18,6 +19,7 @@ public class WxsslVo implements Serializable {
 
     private String id;
     private String name;
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
     private Date date;
     private Integer zhpm;
     private Integer fdlpm;

Fichier diff supprimé car celui-ci est trop grand
+ 1196 - 95
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/service/BenchmarkingService.java


+ 63 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/util/ClassUtil.java

@@ -0,0 +1,63 @@
+package com.gyee.benchmarkingimpala.util;
+
+
+import com.gyee.benchmarkingimpala.model.vo.DynamicBean;
+
+import java.beans.BeanInfo;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.lang.reflect.Method;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Set;
+
+/**
+ * @ClassName : ClassUtil
+ * @Author : xieshengjie
+ * @Date: 2021/3/8 17:16
+ * @Description : 动态添加属性
+ */
+public class ClassUtil {
+    /**
+     *
+     * @param object   旧的对象带值
+     * @param addMap   动态需要添加的属性和属性类型
+     * @param addValMap  动态需要添加的属性和属性值
+     * @return  新的对象
+     * @throws Exception
+     */
+    public static Object dynamicClass(Object object, LinkedHashMap addMap, LinkedHashMap addValMap) throws Exception {
+        LinkedHashMap returnMap = new LinkedHashMap();
+        LinkedHashMap typeMap = new LinkedHashMap();
+
+
+        Class<?> type = object.getClass();
+        BeanInfo beanInfo = Introspector.getBeanInfo(type);
+        PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
+        for (int i = 0; i < propertyDescriptors.length; i++) {
+            PropertyDescriptor descriptor = propertyDescriptors[i];
+            String propertyName = descriptor.getName();
+            if (!propertyName.equals("class")) {
+                Method readMethod = descriptor.getReadMethod();
+                Object result = readMethod.invoke(object);
+                //可以判断为 NULL不赋值
+                returnMap.put(propertyName, result);
+                typeMap.put(propertyName, descriptor.getPropertyType());
+            }
+        }
+
+        returnMap.putAll(addValMap);
+        typeMap.putAll(addMap);
+        //map转换成实体对象
+        DynamicBean bean = new DynamicBean(typeMap);
+        //赋值
+        Set keys = typeMap.keySet();
+        for (Iterator it = keys.iterator(); it.hasNext(); ) {
+            String key = (String) it.next();
+            bean.setValue(key, returnMap.get(key));
+        }
+        Object obj = bean.getObject();
+        return obj;
+    }
+
+}

+ 37 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/util/ConvertUtil.java

@@ -0,0 +1,37 @@
+package com.gyee.benchmarkingimpala.util;
+
+import org.apache.poi.ss.formula.functions.T;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName : ConvertUtil
+ * @Author : xieshengjie
+ * @Date: 2021/6/29 14:26
+ * @Description : 行转列工具类
+ */
+public class ConvertUtil {
+    public static <T>List convert(Class<T> clazz, List<T> list){
+        List<List> result;
+        Field[] fields = clazz.getDeclaredFields();
+        result = new ArrayList<>(fields.length);
+        for (int i = 0; i < fields.length; i++) {
+            result.add(new ArrayList());
+        }
+        for (T t : list) {
+            for (int i = 0; i < fields.length; i++) {
+                List l = result.get(i);
+                Field field = fields[i];
+                field.setAccessible(true);
+                try {
+                    l.add(field.get(t));
+                } catch (IllegalAccessException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return result;
+    }
+}

+ 4 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/util/DateUtils.java

@@ -11,6 +11,8 @@ import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @ClassName : DateUtils
@@ -919,4 +921,6 @@ public class DateUtils {
 
 
 
+
+
 }

+ 0 - 13
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/util/SortUtils.java

@@ -20,7 +20,6 @@ public class SortUtils {
 
     /**
      * 对list中的元素按升序排列.
-     *
      * @param list
      *            排序集合
      * @param field
@@ -33,7 +32,6 @@ public class SortUtils {
 
     /**
      * 对list中的元素进行排序.
-     *
      * @param list
      *            排序集合
      * @param field
@@ -74,7 +72,6 @@ public class SortUtils {
                         ret = String.valueOf(f.get(a)).compareTo(
                                 String.valueOf(f.get(b)));
                     }
-
                 } catch (SecurityException e) {
                     e.printStackTrace();
                 } catch (NoSuchFieldException e) {
@@ -89,7 +86,6 @@ public class SortUtils {
                 } else {
                     return ret;
                 }
-
             }
         });
         return list;
@@ -146,7 +142,6 @@ public class SortUtils {
                                 ret = String.valueOf(f.get(a)).compareTo(
                                         String.valueOf(f.get(b)));
                             }
-
                         } catch (SecurityException e) {
                             e.printStackTrace();
                         } catch (NoSuchFieldException e) {
@@ -156,7 +151,6 @@ public class SortUtils {
                         } catch (IllegalAccessException e) {
                             e.printStackTrace();
                         }
-
                         if (sort != null && sort.toLowerCase().equals(DESC)) {
                             return -ret;
                         } else {
@@ -171,7 +165,6 @@ public class SortUtils {
 
     /**
      * 默认按正序排列
-     *
      * @param list
      *            排序集合
      * @param method
@@ -184,7 +177,6 @@ public class SortUtils {
 
     /**
      * 集合排序
-     *
      * @param list
      *            排序集合
      * @param method
@@ -225,7 +217,6 @@ public class SortUtils {
                         ret = String.valueOf(m.invoke(a, null)).compareTo(
                                 String.valueOf(m.invoke(b, null)));
                     }
-
                     if (isImplementsOf(type, Comparable.class)) {
                         ret = ((Comparable) m.invoke(a, null))
                                 .compareTo((Comparable) m.invoke(b, null));
@@ -233,7 +224,6 @@ public class SortUtils {
                         ret = String.valueOf(m.invoke(a, null)).compareTo(
                                 String.valueOf(m.invoke(b, null)));
                     }
-
                 } catch (NoSuchMethodException ne) {
                     System.out.println(ne);
                 } catch (IllegalAccessException ie) {
@@ -241,7 +231,6 @@ public class SortUtils {
                 } catch (InvocationTargetException it) {
                     System.out.println(it);
                 }
-
                 if (sort != null && sort.toLowerCase().equals(DESC)) {
                     return -ret;
                 } else {
@@ -295,7 +284,6 @@ public class SortUtils {
                                                 String.valueOf(m
                                                         .invoke(b, null)));
                             }
-
                         } catch (NoSuchMethodException ne) {
                             System.out.println(ne);
                         } catch (IllegalAccessException ie) {
@@ -303,7 +291,6 @@ public class SortUtils {
                         } catch (InvocationTargetException it) {
                             System.out.println(it);
                         }
-
                         if (sort != null && sort.toLowerCase().equals(DESC)) {
                             return -ret;
                         } else {

+ 2 - 1
benchmarking-impala/src/main/resources/application.yaml

@@ -1,3 +1,4 @@
 spring:
   profiles:
-    active: oracle
+    active: oracle
+#    active: impala

+ 3 - 3
benchmarking-impala/src/test/java/com/gyee/benchmarkingimpala/BenchmarkingImpalaApplicationTests.java

@@ -48,11 +48,11 @@ class BenchmarkingImpalaApplicationTests {
 
     @Test
     void contextLoads1() throws Exception {
-//        benchmarkingService.saveEquipmentdayinfo("2021-06-20","2021-06-20");
-//        benchmarkingService.saveEquipmentdaydetailed("2021-06-20","2021-06-20");
+        benchmarkingService.saveEquipmentdayinfo("2021-06-01","2021-06-19");
+        benchmarkingService.saveEquipmentdaydetailed("2021-06-01","2021-06-19");
 
 
-        benchmarkingService.saveOperationrecord("2021-03-01","2021-03-01");
+//        benchmarkingService.saveOperationrecord("2021-03-01","2021-03-01");
 
 
 

+ 33 - 0
consumer/.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

+ 118 - 0
consumer/.mvn/wrapper/MavenWrapperDownloader.java

@@ -0,0 +1,118 @@
+/*
+ * Copyright 2007-present the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.net.*;
+import java.io.*;
+import java.nio.channels.*;
+import java.util.Properties;
+
+public class MavenWrapperDownloader {
+
+    private static final String WRAPPER_VERSION = "0.5.6";
+    /**
+     * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
+     */
+    private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+            + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
+
+    /**
+     * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
+     * use instead of the default one.
+     */
+    private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
+            ".mvn/wrapper/maven-wrapper.properties";
+
+    /**
+     * Path where the maven-wrapper.jar will be saved to.
+     */
+    private static final String MAVEN_WRAPPER_JAR_PATH =
+            ".mvn/wrapper/maven-wrapper.jar";
+
+    /**
+     * Name of the property which should be used to override the default download url for the wrapper.
+     */
+    private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
+
+    public static void main(String args[]) {
+        System.out.println("- Downloader started");
+        File baseDirectory = new File(args[0]);
+        System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
+
+        // If the maven-wrapper.properties exists, read it and check if it contains a custom
+        // wrapperUrl parameter.
+        File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
+        String url = DEFAULT_DOWNLOAD_URL;
+        if (mavenWrapperPropertyFile.exists()) {
+            FileInputStream mavenWrapperPropertyFileInputStream = null;
+            try {
+                mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
+                Properties mavenWrapperProperties = new Properties();
+                mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
+                url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
+            } catch (IOException e) {
+                System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
+            } finally {
+                try {
+                    if (mavenWrapperPropertyFileInputStream != null) {
+                        mavenWrapperPropertyFileInputStream.close();
+                    }
+                } catch (IOException e) {
+                    // Ignore ...
+                }
+            }
+        }
+        System.out.println("- Downloading from: " + url);
+
+        File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
+        if (!outputFile.getParentFile().exists()) {
+            if (!outputFile.getParentFile().mkdirs()) {
+                System.out.println(
+                        "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
+            }
+        }
+        System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
+        try {
+            downloadFileFromURL(url, outputFile);
+            System.out.println("Done");
+            System.exit(0);
+        } catch (Throwable e) {
+            System.out.println("- Error downloading");
+            e.printStackTrace();
+            System.exit(1);
+        }
+    }
+
+    private static void downloadFileFromURL(String urlString, File destination) throws Exception {
+        if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
+            String username = System.getenv("MVNW_USERNAME");
+            char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
+            Authenticator.setDefault(new Authenticator() {
+                @Override
+                protected PasswordAuthentication getPasswordAuthentication() {
+                    return new PasswordAuthentication(username, password);
+                }
+            });
+        }
+        URL website = new URL(urlString);
+        ReadableByteChannel rbc;
+        rbc = Channels.newChannel(website.openStream());
+        FileOutputStream fos = new FileOutputStream(destination);
+        fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
+        fos.close();
+        rbc.close();
+    }
+
+}

BIN
consumer/.mvn/wrapper/maven-wrapper.jar


+ 2 - 0
consumer/.mvn/wrapper/maven-wrapper.properties

@@ -0,0 +1,2 @@
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar

+ 310 - 0
consumer/mvnw

@@ -0,0 +1,310 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#    https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+#   JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+#   M2_HOME - location of maven2's installed home dir
+#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
+#     e.g. to debug Maven itself, use
+#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+  if [ -f /etc/mavenrc ] ; then
+    . /etc/mavenrc
+  fi
+
+  if [ -f "$HOME/.mavenrc" ] ; then
+    . "$HOME/.mavenrc"
+  fi
+
+fi
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+    # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+    # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+    if [ -z "$JAVA_HOME" ]; then
+      if [ -x "/usr/libexec/java_home" ]; then
+        export JAVA_HOME="`/usr/libexec/java_home`"
+      else
+        export JAVA_HOME="/Library/Java/Home"
+      fi
+    fi
+    ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+  ## resolve links - $0 may be a link to maven's home
+  PRG="$0"
+
+  # need this for relative symlinks
+  while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+      PRG="$link"
+    else
+      PRG="`dirname "$PRG"`/$link"
+    fi
+  done
+
+  saveddir=`pwd`
+
+  M2_HOME=`dirname "$PRG"`/..
+
+  # make it fully qualified
+  M2_HOME=`cd "$M2_HOME" && pwd`
+
+  cd "$saveddir"
+  # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME=`cygpath --unix "$M2_HOME"`
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CLASSPATH" ] &&
+    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME="`(cd "$M2_HOME"; pwd)`"
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+  javaExecutable="`which javac`"
+  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
+    # readlink(1) is not available as standard on Solaris 10.
+    readLink=`which readlink`
+    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
+      if $darwin ; then
+        javaHome="`dirname \"$javaExecutable\"`"
+        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
+      else
+        javaExecutable="`readlink -f \"$javaExecutable\"`"
+      fi
+      javaHome="`dirname \"$javaExecutable\"`"
+      javaHome=`expr "$javaHome" : '\(.*\)/bin'`
+      JAVA_HOME="$javaHome"
+      export JAVA_HOME
+    fi
+  fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly." >&2
+  echo "  We cannot execute $JAVACMD" >&2
+  exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+  echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+  if [ -z "$1" ]
+  then
+    echo "Path not specified to find_maven_basedir"
+    return 1
+  fi
+
+  basedir="$1"
+  wdir="$1"
+  while [ "$wdir" != '/' ] ; do
+    if [ -d "$wdir"/.mvn ] ; then
+      basedir=$wdir
+      break
+    fi
+    # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+    if [ -d "${wdir}" ]; then
+      wdir=`cd "$wdir/.."; pwd`
+    fi
+    # end of workaround
+  done
+  echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+  if [ -f "$1" ]; then
+    echo "$(tr -s '\n' ' ' < "$1")"
+  fi
+}
+
+BASE_DIR=`find_maven_basedir "$(pwd)"`
+if [ -z "$BASE_DIR" ]; then
+  exit 1;
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+    if [ "$MVNW_VERBOSE" = true ]; then
+      echo "Found .mvn/wrapper/maven-wrapper.jar"
+    fi
+else
+    if [ "$MVNW_VERBOSE" = true ]; then
+      echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+    fi
+    if [ -n "$MVNW_REPOURL" ]; then
+      jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+    else
+      jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+    fi
+    while IFS="=" read key value; do
+      case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
+      esac
+    done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+    if [ "$MVNW_VERBOSE" = true ]; then
+      echo "Downloading from: $jarUrl"
+    fi
+    wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+    if $cygwin; then
+      wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
+    fi
+
+    if command -v wget > /dev/null; then
+        if [ "$MVNW_VERBOSE" = true ]; then
+          echo "Found wget ... using wget"
+        fi
+        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+            wget "$jarUrl" -O "$wrapperJarPath"
+        else
+            wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
+        fi
+    elif command -v curl > /dev/null; then
+        if [ "$MVNW_VERBOSE" = true ]; then
+          echo "Found curl ... using curl"
+        fi
+        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+            curl -o "$wrapperJarPath" "$jarUrl" -f
+        else
+            curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+        fi
+
+    else
+        if [ "$MVNW_VERBOSE" = true ]; then
+          echo "Falling back to using Java to download"
+        fi
+        javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+        # For Cygwin, switch paths to Windows format before running javac
+        if $cygwin; then
+          javaClass=`cygpath --path --windows "$javaClass"`
+        fi
+        if [ -e "$javaClass" ]; then
+            if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+                if [ "$MVNW_VERBOSE" = true ]; then
+                  echo " - Compiling MavenWrapperDownloader.java ..."
+                fi
+                # Compiling the Java class
+                ("$JAVA_HOME/bin/javac" "$javaClass")
+            fi
+            if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+                # Running the downloader
+                if [ "$MVNW_VERBOSE" = true ]; then
+                  echo " - Running MavenWrapperDownloader.java ..."
+                fi
+                ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+            fi
+        fi
+    fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+  echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME=`cygpath --path --windows "$M2_HOME"`
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+  [ -n "$CLASSPATH" ] &&
+    CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+  [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+    MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+  $MAVEN_OPTS \
+  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+  "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+  ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

+ 182 - 0
consumer/mvnw.cmd

@@ -0,0 +1,182 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements.  See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership.  The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License.  You may obtain a copy of the License at
+@REM
+@REM    https://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied.  See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM     e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+
+FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+    IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+    if "%MVNW_VERBOSE%" == "true" (
+        echo Found %WRAPPER_JAR%
+    )
+) else (
+    if not "%MVNW_REPOURL%" == "" (
+        SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+    )
+    if "%MVNW_VERBOSE%" == "true" (
+        echo Couldn't find %WRAPPER_JAR%, downloading it ...
+        echo Downloading from: %DOWNLOAD_URL%
+    )
+
+    powershell -Command "&{"^
+		"$webclient = new-object System.Net.WebClient;"^
+		"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
+		"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
+		"}"^
+		"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
+		"}"
+    if "%MVNW_VERBOSE%" == "true" (
+        echo Finished downloading %WRAPPER_JAR%
+    )
+)
+@REM End of extension
+
+@REM Provide a "standardized" way to retrieve the CLI args that will
+@REM work with both Windows and non-Windows executions.
+set MAVEN_CMD_LINE_ARGS=%*
+
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%

+ 139 - 0
consumer/pom.xml

@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>sis-background</artifactId>
+        <groupId>com.gyee</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <groupId>com.gyee</groupId>
+    <artifactId>consumer</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>consumer</name>
+    <description>Demo project for Spring Boot</description>
+    <properties>
+        <java.version>1.8</java.version>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid</artifactId>
+            <version>1.1.10</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.oracle</groupId>
+            <artifactId>ojdbc6</artifactId>
+            <version>11.2.0.3</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-webmvc</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.6</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>cglib</groupId>
+            <artifactId>cglib</artifactId>
+            <version>2.2.2</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.swagger</groupId>
+            <artifactId>swagger-annotations</artifactId>
+            <version>1.5.20</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <!-- 使用maven-jar-plugin和maven-dependency-plugin插件打包 -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <version>3.0.2</version>
+                <configuration>
+                    <archive>
+                        <manifest>
+                            <addClasspath>true</addClasspath>
+                            <classpathPrefix>lib/</classpathPrefix>
+                            <mainClass>com.gyee.consumer.ConsumerApplication</mainClass>
+                        </manifest>
+                    </archive>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <version>3.0.2</version>
+                <executions>
+                    <execution>
+                        <id>copy-dependencies</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <fork>true</fork>
+                    <!--增加jvm参数-->
+                    <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>exec-maven-plugin</artifactId>
+                <version>1.6.0</version>
+                <!--                <executions>-->
+                <!--                    <execution>-->
+                <!--                        <goals>-->
+                <!--                            <goal>java</goal>-->
+                <!--                        </goals>-->
+                <!--                    </execution>-->
+                <!--                </executions>-->
+                <configuration>
+                    <classpathScope>test</classpathScope>
+                    <!--                    <mainClass>com.itheima.test.MybatisTest</mainClass>-->
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 20 - 0
consumer/src/main/java/com/gyee/consumer/ConsumerApplication.java

@@ -0,0 +1,20 @@
+package com.gyee.consumer;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+import org.springframework.web.client.RestTemplate;
+
+@SpringBootApplication
+public class ConsumerApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(ConsumerApplication.class, args);
+    }
+
+    @Bean
+    public RestTemplate restTemplate() {
+        return new RestTemplate();
+    }
+
+}

+ 41 - 0
consumer/src/main/java/com/gyee/consumer/benchking/BenchContorller.java

@@ -0,0 +1,41 @@
+package com.gyee.consumer.benchking;
+
+import com.gyee.consumer.common.StringUtils;
+import com.gyee.consumer.config.R;
+import com.gyee.consumer.model.auto.Windpowerstation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * @ClassName : BenchContorller
+ * @Author : xieshengjie
+ * @Date: 2021/6/30 14:29
+ * @Description : 对标管理消费
+ */
+@RestController
+@RequestMapping("//benchmarking")
+public class BenchContorller {
+
+    private static String baseUrl = "http://10.155.32.33:9001/";
+    @Autowired
+    private RestTemplate restTemplate;
+
+    /**
+     * 场站列表
+     * @return
+     */
+    @GetMapping("/wplist")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R wplist(){
+        ResponseEntity<Windpowerstation> resultList = this.restTemplate.getForEntity(baseUrl + "benchmarking/wplist", Windpowerstation.class);
+
+        if (StringUtils.isNotNull(resultList)) {
+            return R.ok().data(resultList);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+}

+ 87 - 0
consumer/src/main/java/com/gyee/consumer/common/CharsetKit.java

@@ -0,0 +1,87 @@
+package com.gyee.consumer.common;
+
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+
+/**
+ * 字符集工具类
+ * 
+ * @author fc
+ *
+ */
+public class CharsetKit
+{
+    /** ISO-8859-1 */
+    public static final String ISO_8859_1 = "ISO-8859-1";
+    /** UTF-8 */
+    public static final String UTF_8 = "UTF-8";
+    /** GBK */
+    public static final String GBK = "GBK";
+
+    /** ISO-8859-1 */
+    public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1);
+    /** UTF-8 */
+    public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8);
+    /** GBK */
+    public static final Charset CHARSET_GBK = Charset.forName(GBK);
+
+    /**
+     * 转换为Charset对象
+     * 
+     * @param charset 字符集,为空则返回默认字符集
+     * @return Charset
+     */
+    public static Charset charset(String charset)
+    {
+        return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset);
+    }
+
+    /**
+     * 转换字符串的字符集编码
+     * 
+     * @param source 字符串
+     * @param srcCharset 源字符集,默认ISO-8859-1
+     * @param destCharset 目标字符集,默认UTF-8
+     * @return 转换后的字符集
+     */
+    public static String convert(String source, String srcCharset, String destCharset)
+    {
+        return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset));
+    }
+
+    /**
+     * 转换字符串的字符集编码
+     * 
+     * @param source 字符串
+     * @param srcCharset 源字符集,默认ISO-8859-1
+     * @param destCharset 目标字符集,默认UTF-8
+     * @return 转换后的字符集
+     */
+    public static String convert(String source, Charset srcCharset, Charset destCharset)
+    {
+        if (null == srcCharset)
+        {
+            srcCharset = StandardCharsets.ISO_8859_1;
+        }
+
+        if (null == destCharset)
+        {
+            srcCharset = StandardCharsets.UTF_8;
+        }
+
+        if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset))
+        {
+            return source;
+        }
+        return new String(source.getBytes(srcCharset), destCharset);
+    }
+
+    /**
+     * @return 系统字符集编码
+     */
+    public static String systemCharset()
+    {
+        return Charset.defaultCharset().name();
+    }
+
+}

Fichier diff supprimé car celui-ci est trop grand
+ 1015 - 0
consumer/src/main/java/com/gyee/consumer/common/Convert.java


+ 7 - 0
consumer/src/main/java/com/gyee/consumer/common/DNAStatVal.java

@@ -0,0 +1,7 @@
+package com.gyee.consumer.common;
+
+public class DNAStatVal {
+	public DNAVal avg = new DNAVal();
+	public DNAVal max = new DNAVal();
+	public DNAVal min = new DNAVal();
+}

+ 6 - 0
consumer/src/main/java/com/gyee/consumer/common/DNAVal.java

@@ -0,0 +1,6 @@
+package com.gyee.consumer.common;
+public class DNAVal {
+	public double DValue;
+	public int Time;
+	public short Status;
+}

+ 55 - 0
consumer/src/main/java/com/gyee/consumer/common/PointData.java

@@ -0,0 +1,55 @@
+package com.gyee.consumer.common;
+
+public class PointData {
+
+	private double pointValueInDouble;
+
+	private Long pointTime;
+
+	private String pointValue;
+
+	private String pointName;// z自定义名称
+
+	private String ednaId;// edna全局id
+
+	public String getEdnaId() {
+		return ednaId;
+	}
+
+	public String getPointName() {
+		return pointName;
+	}
+
+	public Long getPointTime() {
+		return pointTime;
+	}
+
+	public String getPointValue() {
+		return pointValue;
+	}
+
+	public  double getPointValueInDouble() {
+		return pointValueInDouble;
+	}
+
+	public void setEdnaId(String ednaId) {
+		this.ednaId = ednaId;
+	}
+
+	public void setPointName(String pointName) {
+		this.pointName = pointName;
+	}
+
+	public void setPointTime(Long pointTime) {
+		this.pointTime = pointTime;
+	}
+
+	public void setPointValue(String pointValue) {
+		this.pointValue = pointValue;
+	}
+
+	public void setPointValueInDouble(double pointValueInDouble) {
+		this.pointValueInDouble = pointValueInDouble;
+	}
+
+}

+ 94 - 0
consumer/src/main/java/com/gyee/consumer/common/StrFormatter.java

@@ -0,0 +1,94 @@
+package com.gyee.consumer.common;
+
+
+/**
+ * 字符串格式化
+ * 
+ * @author fc
+ */
+public class StrFormatter
+{
+
+    public static final String EMPTY_JSON = "{}";
+    public static final char C_BACKSLASH = '\\';
+    public static final char C_DELIM_START = '{';
+    public static final char C_DELIM_END = '}';
+
+    /**
+     * 格式化字符串<br>
+     * 此方法只是简单将占位符 {} 按照顺序替换为参数<br>
+     * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可<br>
+     * 例:<br>
+     * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br>
+     * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br>
+     * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br>
+     * 
+     * @param strPattern 字符串模板
+     * @param argArray 参数列表
+     * @return 结果
+     */
+    public static String format(final String strPattern, final Object... argArray)
+    {
+        if (StringUtils.isEmpty(strPattern) || StringUtils.isEmpty(argArray))
+        {
+            return strPattern;
+        }
+        final int strPatternLength = strPattern.length();
+
+        // 初始化定义好的长度以获得更好的性能
+        StringBuilder sbuf = new StringBuilder(strPatternLength + 50);
+
+        int handledPosition = 0;
+        int delimIndex;// 占位符所在位置
+        for (int argIndex = 0; argIndex < argArray.length; argIndex++)
+        {
+            delimIndex = strPattern.indexOf(EMPTY_JSON, handledPosition);
+            if (delimIndex == -1)
+            {
+                if (handledPosition == 0)
+                {
+                    return strPattern;
+                }
+                else
+                { // 字符串模板剩余部分不再包含占位符,加入剩余部分后返回结果
+                    sbuf.append(strPattern, handledPosition, strPatternLength);
+                    return sbuf.toString();
+                }
+            }
+            else
+            {
+                if (delimIndex > 0 && strPattern.charAt(delimIndex - 1) == C_BACKSLASH)
+                {
+                    if (delimIndex > 1 && strPattern.charAt(delimIndex - 2) == C_BACKSLASH)
+                    {
+                        // 转义符之前还有一个转义符,占位符依旧有效
+                        sbuf.append(strPattern, handledPosition, delimIndex - 1);
+                        sbuf.append(Convert.utf8Str(argArray[argIndex]));
+                        handledPosition = delimIndex + 2;
+                    }
+                    else
+                    {
+                        // 占位符被转义
+                        argIndex--;
+                        sbuf.append(strPattern, handledPosition, delimIndex - 1);
+                        sbuf.append(C_DELIM_START);
+                        handledPosition = delimIndex + 1;
+                    }
+                }
+                else
+                {
+                    // 正常占位符
+                    sbuf.append(strPattern, handledPosition, delimIndex);
+                    sbuf.append(Convert.utf8Str(argArray[argIndex]));
+                    handledPosition = delimIndex + 2;
+                }
+            }
+        }
+        // append the characters following the last {} pair.
+        // 加入最后一个占位符后所有的字符
+        sbuf.append(strPattern, handledPosition, strPattern.length());
+
+        return sbuf.toString();
+    }
+
+}

+ 448 - 0
consumer/src/main/java/com/gyee/consumer/common/StringUtils.java

@@ -0,0 +1,448 @@
+package com.gyee.consumer.common;
+
+import org.apache.commons.lang.WordUtils;
+import org.apache.commons.lang.text.StrBuilder;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.Collection;
+import java.util.Map;
+import java.util.UUID;
+
+
+/**
+ * 字符串工具类
+ * 
+ * @author fc
+ */
+public class StringUtils extends org.apache.commons.lang3.StringUtils
+{
+    /** 空字符串 */
+    private static final String NULLSTR = "";
+
+    /** 下划线 */
+    private static final char SEPARATOR = '_';
+
+    /**
+     * 获取参数不为空值
+     * 
+     * @param value defaultValue 要判断的value
+     * @return value 返回值
+     */
+    public static <T> T nvl(T value, T defaultValue)
+    {
+        return value != null ? value : defaultValue;
+    }
+
+    /**
+     * * 判断一个Collection是否为空, 包含List,Set,Queue
+     * 
+     * @param coll 要判断的Collection
+     * @return true:为空 false:非空
+     */
+    public static boolean isEmpty(Collection<?> coll)
+    {
+        return isNull(coll) || coll.isEmpty();
+    }
+
+    /**
+     * * 判断一个Collection是否非空,包含List,Set,Queue
+     * 
+     * @param coll 要判断的Collection
+     * @return true:非空 false:空
+     */
+    public static boolean isNotEmpty(Collection<?> coll)
+    {
+        return !isEmpty(coll);
+    }
+
+    /**
+     * * 判断一个对象数组是否为空
+     * 
+     * @param objects 要判断的对象数组
+     ** @return true:为空 false:非空
+     */
+    public static boolean isEmpty(Object[] objects)
+    {
+        return isNull(objects) || (objects.length == 0);
+    }
+
+    /**
+     * * 判断一个对象数组是否非空
+     * 
+     * @param objects 要判断的对象数组
+     * @return true:非空 false:空
+     */
+    public static boolean isNotEmpty(Object[] objects)
+    {
+        return !isEmpty(objects);
+    }
+
+    /**
+     * * 判断一个Map是否为空
+     * 
+     * @param map 要判断的Map
+     * @return true:为空 false:非空
+     */
+    public static boolean isEmpty(Map<?, ?> map)
+    {
+        return isNull(map) || map.isEmpty();
+    }
+
+    /**
+     * * 判断一个Map是否为空
+     * 
+     * @param map 要判断的Map
+     * @return true:非空 false:空
+     */
+    public static boolean isNotEmpty(Map<?, ?> map)
+    {
+        return !isEmpty(map);
+    }
+
+    /**
+     * * 判断一个字符串是否为空串
+     * 
+     * @param str String
+     * @return true:为空 false:非空
+     */
+    public static boolean isEmpty(String str)
+    {
+        return isNull(str) || NULLSTR.equals(str.trim());
+    }
+
+    /**
+     * * 判断一个字符串是否为非空串
+     * 
+     * @param str String
+     * @return true:非空串 false:空串
+     */
+    public static boolean isNotEmpty(String str)
+    {
+        return !isEmpty(str);
+    }
+
+    /**
+     * * 判断一个对象是否为空
+     * 
+     * @param object Object
+     * @return true:为空 false:非空
+     */
+    public static boolean isNull(Object object)
+    {
+        return object == null;
+    }
+
+    /**
+     * * 判断一个对象是否非空
+     * 
+     * @param object Object
+     * @return true:非空 false:空
+     */
+    public static boolean isNotNull(Object object)
+    {
+        return !isNull(object);
+    }
+
+    /**
+     * * 判断一个对象是否是数组类型(Java基本型别的数组)
+     * 
+     * @param object 对象
+     * @return true:是数组 false:不是数组
+     */
+    public static boolean isArray(Object object)
+    {
+        return isNotNull(object) && object.getClass().isArray();
+    }
+
+    /**
+     * 去空格
+     */
+    public static String trim(String str)
+    {
+        return (str == null ? "" : str.trim());
+    }
+
+    /**
+     * 截取字符串
+     * 
+     * @param str 字符串
+     * @param start 开始
+     * @return 结果
+     */
+    public static String substring(final String str, int start)
+    {
+        if (str == null)
+        {
+            return NULLSTR;
+        }
+
+        if (start < 0)
+        {
+            start = str.length() + start;
+        }
+
+        if (start < 0)
+        {
+            start = 0;
+        }
+        if (start > str.length())
+        {
+            return NULLSTR;
+        }
+
+        return str.substring(start);
+    }
+
+    /**
+     * 截取字符串
+     * 
+     * @param str 字符串
+     * @param start 开始
+     * @param end 结束
+     * @return 结果
+     */
+    public static String substring(final String str, int start, int end)
+    {
+        if (str == null)
+        {
+            return NULLSTR;
+        }
+
+        if (end < 0)
+        {
+            end = str.length() + end;
+        }
+        if (start < 0)
+        {
+            start = str.length() + start;
+        }
+
+        if (end > str.length())
+        {
+            end = str.length();
+        }
+
+        if (start > end)
+        {
+            return NULLSTR;
+        }
+
+        if (start < 0)
+        {
+            start = 0;
+        }
+        if (end < 0)
+        {
+            end = 0;
+        }
+
+        return str.substring(start, end);
+    }
+
+    /**
+     * 格式化文本, {} 表示占位符<br>
+     * 此方法只是简单将占位符 {} 按照顺序替换为参数<br>
+     * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可<br>
+     * 例:<br>
+     * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br>
+     * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br>
+     * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br>
+     * 
+     * @param template 文本模板,被替换的部分用 {} 表示
+     * @param params 参数值
+     * @return 格式化后的文本
+     */
+    public static String format(String template, Object... params)
+    {
+        if (isEmpty(params) || isEmpty(template))
+        {
+            return template;
+        }
+        return StrFormatter.format(template, params);
+    }
+
+    /**
+     * 驼峰首字符小写 NameVc>>nameVc
+     */
+    public static String uncapitalize(String str)
+    {
+        int strLen;
+        if (str == null || (strLen = str.length()) == 0)
+        {
+            return str;
+        }
+        return new StrBuilder(strLen).append(Character.toLowerCase(str.charAt(0))).append(str.substring(1)).toString();
+    }
+    
+
+    /**
+     * 下划线转驼峰命名 nameVc>>name_vc
+     */
+    public static String toUnderScoreCase(String s)
+    {
+        if (s == null)
+        {
+            return null;
+        }
+        StringBuilder sb = new StringBuilder();
+        boolean upperCase = false;
+        for (int i = 0; i < s.length(); i++)
+        {
+            char c = s.charAt(i);
+
+            boolean nextUpperCase = true;
+
+            if (i < (s.length() - 1))
+            {
+                nextUpperCase = Character.isUpperCase(s.charAt(i + 1));
+            }
+
+            if ((i > 0) && Character.isUpperCase(c))
+            {
+                if (!upperCase || !nextUpperCase)
+                {
+                    sb.append(SEPARATOR);
+                }
+                upperCase = true;
+            }
+            else
+            {
+                upperCase = false;
+            }
+
+            sb.append(Character.toLowerCase(c));
+        }
+
+        return sb.toString();
+    }
+
+    /**
+     * 是否包含字符串
+     * 
+     * @param str 验证字符串
+     * @param strs 字符串组
+     * @return 包含返回true
+     */
+    public static boolean inStringIgnoreCase(String str, String... strs)
+    {
+        if (str != null && strs != null)
+        {
+            for (String s : strs)
+            {
+                if (str.equalsIgnoreCase(trim(s)))
+                {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+    
+    /**
+     * 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld
+     * 
+     * @param name 转换前的下划线大写方式命名的字符串
+     * @return 转换后的驼峰式命名的字符串
+     */
+    public static String convertToCamelCase(String name)
+    {
+        StringBuilder result = new StringBuilder();
+        // 快速检查
+        if (name == null || name.isEmpty())
+        {
+            // 没必要转换
+            return "";
+        }
+        else if (!name.contains("_"))
+        {
+            // 不含下划线,仅将首字母大写
+            return name.substring(0, 1).toUpperCase() + name.substring(1);
+        }
+        // 用下划线将原始字符串分割
+        String[] camels = name.split("_");
+        for (String camel : camels)
+        {
+            // 跳过原始字符串中开头、结尾的下换线或双重下划线
+            if (camel.isEmpty())
+            {
+                continue;
+            }
+            // 首字母大写
+            result.append(camel.substring(0, 1).toUpperCase());
+            result.append(camel.substring(1).toLowerCase());
+        }
+        return result.toString();
+    }
+    /**
+     * 首字母大写
+     *
+     * @param name
+     * @return
+     */
+    public static String firstUpperCase(String name) {
+        name = name.substring(0, 1).toUpperCase() + name.substring(1);
+        return name;
+    }
+    /**
+     * 首字母小写
+     *
+     * @param name
+     * @return
+     */
+    public static String firstLowerCase(String name) {
+        name = name.substring(0, 1).toLowerCase() + name.substring(1);
+        return name;
+
+    }
+    
+    /**
+     * 将下划线转化为大写
+     *
+     * @param name
+     * @param firstCase 首字母是否大写 true:大写 false;小写
+     * @return
+     */
+    public static String upperCase_(String name, boolean firstCase) {
+        if(isEmpty(name)){
+            return "";
+        }
+        String[] s = name.split("_");
+        StringBuffer stringBuffer = new StringBuffer();
+        for (String s1 : s) {
+            stringBuffer.append(s1.substring(0, 1).toUpperCase() + s1.substring(1));
+        }
+        if(!firstCase){
+            return firstLowerCase(stringBuffer.toString());
+        }
+        return stringBuffer.toString();
+    }
+
+    
+
+    /**
+     * 列名转换成Java属性名
+     */
+    public static String columnToJava(String columnName) {
+        return WordUtils.capitalizeFully(columnName, new char[]{'_'}).replace("_", "" );
+    }
+    /**
+     * 表名转换成Java类名
+     */
+    public static String tableToJava(String tableName, String tablePrefix) {
+        if (StringUtils.isNotBlank(tablePrefix)) {
+            tableName = tableName.replaceFirst(tablePrefix, "" );
+        }
+        return columnToJava(tableName);
+    }
+
+    public static double round(double num, int digit) {
+
+        return new BigDecimal(num).setScale(digit, RoundingMode.HALF_UP).doubleValue();
+    }
+
+    public static String getUUID(){
+        String uuid = UUID.randomUUID().toString().trim().replaceAll("-", "");
+        return uuid;
+    }
+}

+ 104 - 0
consumer/src/main/java/com/gyee/consumer/config/AjaxResult.java

@@ -0,0 +1,104 @@
+package com.gyee.consumer.config;
+
+import java.util.HashMap;
+
+/**
+* @ClassName: AjaxResult
+* @Description: ajax操作消息提醒
+* @author gyee
+* @date 2018年8月18日
+*
+ */
+public class AjaxResult extends HashMap<String, Object>
+{
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 初始化一个新创建的 Message 对象
+     */
+    public AjaxResult()
+    {
+    }
+
+    /**
+     * 返回错误消息
+     * 
+     * @return 错误消息
+     */
+    public static AjaxResult error()
+    {
+        return error(1, "操作失败");
+    }
+
+    /**
+     * 返回错误消息
+     * 
+     * @param msg 内容
+     * @return 错误消息
+     */
+    public static AjaxResult error(String msg)
+    {
+        return error(500, msg);
+    }
+
+    /**
+     * 返回错误消息
+     * 
+     * @param code 错误码
+     * @param msg 内容
+     * @return 错误消息
+     */
+    public static AjaxResult error(int code, String msg)
+    {
+        AjaxResult json = new AjaxResult();
+        json.put("code", code);
+        json.put("msg", msg);
+        return json;
+    }
+
+    /**
+     * 返回成功消息
+     * 
+     * @param msg 内容
+     * @return 成功消息
+     */
+    public static AjaxResult success(String msg)
+    {
+        AjaxResult json = new AjaxResult();
+        json.put("msg", msg);
+        json.put("code", 200);
+        return json;
+    }
+    
+    /**
+     * 返回成功消息
+     * 
+     * @return 成功消息
+     */
+    public static AjaxResult success()
+    {
+        return AjaxResult.success("操作成功");
+    }
+    
+    public static AjaxResult successData(int code, Object value){
+    	 AjaxResult json = new AjaxResult();
+    	 json.put("code", code);
+         json.put("data", value);
+         return json;
+    }
+   
+    
+    /**
+     * 返回成功消息
+     * 
+     * @param key 键值
+     * @param value 内容
+     * @return 成功消息
+     */
+    @Override
+    public AjaxResult put(String key, Object value)
+    {
+        super.put(key, value);
+        return this;
+    }
+}

+ 11 - 0
consumer/src/main/java/com/gyee/consumer/config/AjaxStatus.java

@@ -0,0 +1,11 @@
+package com.gyee.consumer.config;
+
+public enum AjaxStatus {
+    success(200),
+    error(500),
+    logineroor(501);
+    public int code;
+    AjaxStatus(int c) {
+        code = c;
+    }
+}

+ 26 - 0
consumer/src/main/java/com/gyee/consumer/config/CorsConfig.java

@@ -0,0 +1,26 @@
+package com.gyee.consumer.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @ClassName : CorsConfig
+ * @Author : xieshengjie
+ * @Date: 2021/6/28 20:00
+ * @Description :
+ */
+@Configuration
+public class CorsConfig implements WebMvcConfigurer {
+
+    static final String[] ORIGINS = new String[]{"GET", "POST", "PUT", "DELETE"};  //请求方式
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**") //所有的当前站点的请求地址,都支持跨域访问
+                .allowedOrigins("*")// 所有的外部域都可跨域访问,这里注意2.4.0以后是allowedOriginPatterns,以前是allowedOrigins
+                .allowCredentials(true)  //是否支持跨域用户凭证
+                .allowedMethods(ORIGINS) //当前站点支持的跨域请求类型是什么
+                .maxAge(3600);  //超是时长,单位为秒。
+    }
+}

+ 150 - 0
consumer/src/main/java/com/gyee/consumer/config/GeneratorCodeConfig.java

@@ -0,0 +1,150 @@
+package com.gyee.consumer.config;
+
+
+import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.config.*;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
+
+import java.util.Scanner;
+
+/**
+ *@ClassName GeneratorCodeConfig
+ *@Description 自动生成mybatisplus的相关代码
+ *@Author 谢生杰
+ *@Date 2020/9/25 18:26
+ *@Version 1.0
+ **/
+public class GeneratorCodeConfig {
+    public static String scanner(String tip) {
+        Scanner scanner = new Scanner(System.in);
+        StringBuilder help = new StringBuilder();
+        help.append("请输入" + tip + ":");
+        System.out.println(help.toString());
+        if (scanner.hasNext()) {
+            String ipt = scanner.next();
+            if (StringUtils.isNotEmpty(ipt)) {
+                return ipt;
+            }
+        }
+        throw new MybatisPlusException("请输入正确的" + tip + "!");
+    }
+
+    public static void main(String[] args) {
+        // 代码生成器
+        AutoGenerator mpg = new AutoGenerator();
+
+        // 全局配置
+        GlobalConfig gc = new GlobalConfig();
+        String projectPath = System.getProperty("user.dir");
+        gc.setOutputDir(projectPath + "/src/main/java");
+        gc.setAuthor("谢生杰");
+        gc.setOpen(false);
+        //实体属性 Swagger2 注解
+        gc.setSwagger2(false);
+        mpg.setGlobalConfig(gc);
+
+        // 数据源配置
+        DataSourceConfig dsc = new DataSourceConfig();
+
+//        dsc.setUrl("jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true");
+//        dsc.setDriverName("com.mysql.jdbc.Driver");
+//        dsc.setUsername("root");
+//        dsc.setPassword("root");
+//        mpg.setDataSource(dsc);
+
+        dsc.setDriverName("oracle.jdbc.driver.OracleDriver");
+        dsc.setUsername("nxfdprod");
+        dsc.setPassword("gdnxfd123");
+        dsc.setUrl("jdbc:oracle:thin:@192.168.1.105:1521:gdnxfd");
+        mpg.setDataSource(dsc);
+
+//        dsc.setDriverName("com.cloudera.impala.jdbc41.Driver");
+//        dsc.setUrl("jdbc:impala://192.168.1.67:21050/gyee_test");
+//        mpg.setDataSource(dsc);
+
+
+
+        // 包配置
+        PackageConfig pc = new PackageConfig();
+//        pc.setModuleName(scanner("模块名"));
+        pc.setParent("com.gyee.benchmarkingimpala");
+        pc.setEntity("model.auto");
+        pc.setMapper("mapper.auto");
+        pc.setService("service.auto");
+        pc.setServiceImpl("service.auto.impl");
+        pc.setController("controller.auto");
+        mpg.setPackageInfo(pc);
+
+        // 自定义配置
+//        InjectionConfig cfg = new InjectionConfig() {
+//            @Override
+//            public void initMap() {
+//                // to do nothing
+//            }
+//        };
+
+        // 如果模板引擎是 freemarker
+//        String templatePath = "/templates/mapper.xml.ftl";
+        // 如果模板引擎是 velocity
+        // String templatePath = "/templates/mapper.xml.vm";
+
+        // 自定义输出配置
+//        List<FileOutConfig> focList = new ArrayList<>();
+        // 自定义配置会被优先输出
+//        focList.add(new FileOutConfig(templatePath) {
+//            @Override
+//            public String outputFile(TableInfo tableInfo) {
+//                // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
+//                return projectPath + "/src/main/resources/mapper/" + pc.getModuleName()
+//                        + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
+//            }
+//        });
+        /*
+        cfg.setFileCreate(new IFileCreate() {
+            @Override
+            public boolean isCreate(ConfigBuilder configBuilder, FileType fileType, String filePath) {
+                // 判断自定义文件夹是否需要创建
+                checkDir("调用默认方法创建的目录");
+                return false;
+            }
+        });
+        */
+//        cfg.setFileOutConfigList(focList);
+//        mpg.setCfg(cfg);
+
+        // 配置模板
+        TemplateConfig templateConfig = new TemplateConfig();
+
+        // 配置自定义输出模板
+        //指定自定义模板路径,注意不要带上.ftl/.vm, 会根据使用的模板引擎自动识别
+        // templateConfig.setEntity("templates/entity2.java");
+        // templateConfig.setService();
+        // templateConfig.setController();
+
+        templateConfig.setXml(null);
+        mpg.setTemplate(templateConfig);
+
+        // 策略配置
+        StrategyConfig strategy = new StrategyConfig();
+        strategy.setNaming(NamingStrategy.underline_to_camel);
+        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
+        strategy.setSuperEntityClass("com.baomidou.mybatisplus.extension.activerecord.Model");
+        strategy.setEntityLombokModel(true);
+        strategy.setRestControllerStyle(true);
+
+        strategy.setEntityLombokModel(true);
+        // 公共父类
+//        strategy.setSuperControllerClass("com.baomidou.ant.common.BaseController");
+        // 写于父类中的公共字段
+//        strategy.setSuperEntityColumns("id");
+        strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));
+        strategy.setControllerMappingHyphenStyle(true);
+        strategy.setTablePrefix(pc.getModuleName() + "_");
+        mpg.setStrategy(strategy);
+        mpg.setTemplateEngine(new FreemarkerTemplateEngine());
+        mpg.execute();
+    }
+}

+ 23 - 0
consumer/src/main/java/com/gyee/consumer/config/MybatisPlusConfig.java

@@ -0,0 +1,23 @@
+package com.gyee.consumer.config;
+
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ *@ClassName MybatisPlusConfig
+ *@Description 配置分页插件
+ *@Author 谢生杰
+ *@Date 2020/9/25 18:24
+ *@Version 1.0
+ **/
+@Configuration
+public class MybatisPlusConfig {
+    /**
+     * 分页插件
+     */
+    @Bean
+    public PaginationInterceptor paginationInterceptor() {
+        return new PaginationInterceptor();
+    }
+}

+ 71 - 0
consumer/src/main/java/com/gyee/consumer/config/R.java

@@ -0,0 +1,71 @@
+package com.gyee.consumer.config;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName : R
+ * @Author : xieshengjie
+ * @Date: 2021/5/16 16:59
+ * @Description : 结果集
+ */
+@Data
+public class R {
+    @ApiModelProperty(value = "是否成功")
+    private Boolean success;
+    @ApiModelProperty(value = "返回码")
+    private Integer code;
+    @ApiModelProperty(value = "返回消息")
+    private String message;
+    @ApiModelProperty(value = "总数量")
+    private Integer count;
+    @ApiModelProperty(value = "返回数据")
+    private Object data = new Object();
+    private R(){}
+    public static R ok(){
+        R r = new R();
+        r.setSuccess(true);
+        r.setCode(ResultCode.SUCCESS);
+        r.setMessage("成功");
+        return r;
+    }
+    public static R ok(Integer count){
+        R r = new R();
+        r.setSuccess(true);
+        r.setCode(ResultCode.SUCCESS);
+        r.setMessage("成功");
+        r.setCount(count);
+        return r;
+    }
+    public static R error(){
+        R r = new R();
+        r.setSuccess(false);
+        r.setCode(ResultCode.ERROR);
+        r.setMessage("失败");
+        return r;
+    }
+    public R success(Boolean success){
+        this.setSuccess(success);
+        return this;
+    }
+    public R message(String message){
+        this.setMessage(message);
+        return this;
+    }
+    public R code(Integer code){
+        this.setCode(code);
+        return this;
+    }
+//    public R data(String key, Object value){
+//        this.data.put(key, value);
+//        return this;
+//    }
+//    public R data(Map<String, Object> map){
+//        this.setData(map);
+//        return this;
+//    }
+    public R data(Object value){
+        this.setData(value);
+        return this;
+    }
+}

+ 12 - 0
consumer/src/main/java/com/gyee/consumer/config/ResultCode.java

@@ -0,0 +1,12 @@
+package com.gyee.consumer.config;
+
+/**
+ * @ClassName : ResultCode
+ * @Author : xieshengjie
+ * @Date: 2021/5/16 17:01
+ * @Description : 结果状态
+ */
+public class ResultCode {
+    public static Integer SUCCESS = 200;
+    public static Integer ERROR = 500;
+}

+ 88 - 0
consumer/src/main/java/com/gyee/consumer/config/ResultInfo.java

@@ -0,0 +1,88 @@
+package com.gyee.consumer.config;
+
+import lombok.Data;
+
+/**
+ *@ClassName ResultInfo
+ *@Description 返回结果类统一封装
+ *@Author 谢生杰
+ *@Date 2020/9/25 18:53
+ *@Version 1.0
+ **/
+@Data
+public class ResultInfo {
+    // 状态码
+    private Integer code;
+    // 消息
+    private String message;
+    // 数据对象
+    private Object result;
+
+    private Integer total;
+
+    /**
+     * 无参构造器
+     */
+    public ResultInfo() {
+        super();
+    }
+
+    public ResultInfo(Status status) {
+        super();
+        this.code = status.code;
+        this.message = status.message;
+    }
+
+
+    public ResultInfo result(Object result) {
+        this.result = result;
+        return this;
+    }
+
+    public ResultInfo message(String message) {
+        this.message = message;
+        return this;
+    }
+    public ResultInfo total(Integer total) {
+        this.total = total;
+        return this;
+    }
+
+    /**
+     * 只返回状态,状态码,消息
+     *
+     * @param code
+     * @param message
+     */
+    public ResultInfo(Integer code, String message) {
+        super();
+        this.code = code;
+        this.message = message;
+    }
+
+    /**
+     * 只返回状态,状态码,数据对象
+     *
+     * @param code
+     * @param result
+     */
+    public ResultInfo(Integer code, Object result) {
+        super();
+        this.code = code;
+        this.result = result;
+    }
+
+    /**
+     * 返回全部信息即状态,状态码,消息,数据对象
+     *
+     * @param code
+     * @param message
+     * @param result
+     */
+    public ResultInfo(Integer code, String message, Object result) {
+        super();
+        this.code = code;
+        this.message = message;
+        this.result = result;
+    }
+}

+ 37 - 0
consumer/src/main/java/com/gyee/consumer/config/Status.java

@@ -0,0 +1,37 @@
+package com.gyee.consumer.config;
+/**
+ *@ClassName Status
+ *@Description 枚举类对象
+ *@Author 谢生杰
+ *@Date 2020/9/25 18:54
+ *@Version 1.0
+ **/
+public enum Status {
+    // 公共
+    SUCCESS(2000, "成功"),
+    UNKNOWN_ERROR(9998,"未知异常"),
+    SYSTEM_ERROR(9999, "系统异常"),
+
+
+    INSUFFICIENT_PERMISSION(4003, "权限不足"),
+
+    WARN(9000, "失败"),
+    REQUEST_PARAMETER_ERROR(1002, "请求参数错误"),
+
+    // 登录
+    LOGIN_EXPIRE(2001, "未登录或者登录失效"),
+    LOGIN_CODE_ERROR(2002, "登录验证码错误"),
+    LOGIN_ERROR(2003, "用户名不存在或密码错误"),
+    LOGIN_USER_STATUS_ERROR(2004, "用户状态不正确"),
+    LOGOUT_ERROR(2005, "退出失败,token不存在"),
+    LOGIN_USER_NOT_EXIST(2006, "该用户不存在"),
+    LOGIN_USER_EXIST(2007, "该用户已存在");
+
+    public int code;
+    public String message;
+
+    Status(int code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+}

+ 76 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Benchmarkingbetween.java

@@ -0,0 +1,76 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("BENCHMARKINGBETWEEN")
+public class Benchmarkingbetween extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Double id;
+
+    @TableField("DUTYNAME")
+    private String dutyname;
+
+    @TableField("THEDAY")
+    private Date theday;
+
+    @TableField("THEORETICALGENERATITY")
+    private Double theoreticalgeneratity;
+
+    @TableField("GENERATITY")
+    private Double generatity;
+
+    @TableField("FAULTLOSS")
+    private Double faultloss;
+
+    @TableField("FAULTRATE")
+    private Double faultrate;
+
+    @TableField("MAINLOSS")
+    private Double mainloss;
+
+    @TableField("MAINRATE")
+    private Double mainrate;
+
+    @TableField("PERFORMANCELOSS")
+    private Double performanceloss;
+
+    @TableField("PERFORMANCERATE")
+    private Double performancerate;
+
+    @TableField("RATIONINGLOSS")
+    private Double rationingloss;
+
+    @TableField("RATIONINGRATE")
+    private Double rationingrate;
+
+    @TableField("INVOLVESLOSS")
+    private Double involvesloss;
+
+    @TableField("INVOLVESRATE")
+    private Double involvesrate;
+
+    @TableField("FNLYL")
+    private Double fnlyl;
+
+
+}

+ 44 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Dutyschedule.java

@@ -0,0 +1,44 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("DUTYSCHEDULE")
+public class Dutyschedule extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private BigDecimal id;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("BEGIN")
+    private String begin;
+
+    @TableField("END")
+    private String end;
+
+    @TableField("CREATEDATE")
+    private Date createdate;
+
+
+}

+ 92 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Equipmentdaydetailed.java

@@ -0,0 +1,92 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("EQUIPMENTDAYDETAILED")
+public class Equipmentdaydetailed extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "ID",type = IdType.INPUT)
+    private String id;
+
+    @TableField("WINDTURBINEID")
+    private String windturbineid;
+
+    @TableField("PROJECTID")
+    private String projectid;
+
+    @TableField("LINEID")
+    private String lineid;
+
+    @TableField("WINDPOWERSTATIONID")
+    private String windpowerstationid;
+
+    @TableField("RECORDDATE")
+    private Date recorddate;
+
+    @TableField("GENECAPACITY")
+    private Double genecapacity;
+
+    @TableField("THEROGENECAPACITY")
+    private Double therogenecapacity;
+
+    @TableField("SPEED")
+    private Double speed;
+
+    @TableField("DAYNHWHSSDL1")
+    private Double daynhwhssdl1;
+
+    @TableField("DAYNHWHSSDL2")
+    private Double daynhwhssdl2;
+
+    @TableField("DAYNHGZSSDL1")
+    private Double daynhgzssdl1;
+
+    @TableField("DAYNHGZSSDL2")
+    private Double daynhgzssdl2;
+
+    @TableField("DAYNHXDSSDL1")
+    private Double daynhxdssdl1;
+
+    @TableField("DAYNHXDSSDL2")
+    private Double daynhxdssdl2;
+
+    @TableField("DAYNHQFDL1")
+    private Double daynhqfdl1;
+
+    @TableField("DAYNHQFDL2")
+    private Double daynhqfdl2;
+
+    @TableField("DAYNHQFDL3")
+    private Double daynhqfdl3;
+
+    @TableField("DAYNHQFDL4")
+    private Double daynhqfdl4;
+
+    @TableField("DAYNHCFDL1")
+    private Double daynhcfdl1;
+
+    @TableField("DAYNHCFDL2")
+    private Double daynhcfdl2;
+
+
+}

+ 71 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Equipmentdayinfo.java

@@ -0,0 +1,71 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("EQUIPMENTDAYINFO")
+public class Equipmentdayinfo extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "ID",type = IdType.INPUT)
+    private String id;
+
+    @TableField("WINDTURBINEID")
+    private String windturbineid;
+
+    @TableField("PROJECTID")
+    private String projectid;
+
+    @TableField("LINEID")
+    private String lineid;
+
+    @TableField("WINDPOWERSTATIONID")
+    private String windpowerstationid;
+
+    @TableField("RECORDDATE")
+    private Date recorddate;
+
+    @TableField("GENECAPACITY")
+    private Double genecapacity;
+
+    @TableField("THEROGENECAPACITY")
+    private Double therogenecapacity;
+
+    @TableField("SPEED")
+    private Double speed;
+
+    @TableField("DAYNHWHSSDL")
+    private Double daynhwhssdl;
+
+    @TableField("DAYNHGZSSDL")
+    private Double daynhgzssdl;
+
+    @TableField("DAYNHXDSSDL")
+    private Double daynhxdssdl;
+
+    @TableField("DAYNHQFDL")
+    private Double daynhqfdl;
+
+    @TableField("DAYNHCFDL")
+    private Double daynhcfdl;
+
+
+}

+ 53 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Line.java

@@ -0,0 +1,53 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("LINE")
+public class Line extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("CODE")
+    private String code;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("ANAME")
+    private String aname;
+
+    @TableField("PROJECTID")
+    private String projectid;
+
+    @TableField("ORDERNUM")
+    private Double ordernum;
+
+    @TableField("CAPACITY")
+    private Double capacity;
+
+    @TableField("CAPACITYUNIT")
+    private String capacityunit;
+
+    @TableField("QUANTITY")
+    private Double quantity;
+
+
+}

+ 43 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Operationrecord.java

@@ -0,0 +1,43 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("OPERATIONRECORD")
+public class Operationrecord extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Long id;
+
+    @TableField("DUTYNAME")
+    private String dutyname;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("TIME")
+    private Date time;
+
+    @TableField("VALUE")
+    private Double value;
+
+
+}

+ 70 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Project.java

@@ -0,0 +1,70 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("PROJECT")
+public class Project extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("CODE")
+    private String code;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("ANAME")
+    private String aname;
+
+    @TableField("WINDPOWERSTATIONID")
+    private String windpowerstationid;
+
+    @TableField("CAPACITY")
+    private Double capacity;
+
+    @TableField("CAPACITYUNIT")
+    private String capacityunit;
+
+    @TableField("QUANTITY")
+    private Double quantity;
+
+    @TableField("MODEL")
+    private String model;
+
+    @TableField("COMMISSIONDATE")
+    private Date commissiondate;
+
+    @TableField("MASTERPHONE")
+    private String masterphone;
+
+    @TableField("SHIFTFOREMAN")
+    private String shiftforeman;
+
+    @TableField("SHIFTFOREMANPHONE")
+    private String shiftforemanphone;
+
+    @TableField("ORDERNUM")
+    private Double ordernum;
+
+
+}

+ 87 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Windpowerstation.java

@@ -0,0 +1,87 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-01
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WINDPOWERSTATION")
+public class Windpowerstation extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("CODE")
+    private String code;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("ADDRESS")
+    private String address;
+
+    @TableField("TELEPHONE")
+    private String telephone;
+
+    @TableField("CAPACITY")
+    private Double capacity;
+
+    @TableField("CAPACITYUNIT")
+    private String capacityunit;
+
+    @TableField("QUANTITY")
+    private Double quantity;
+
+    @TableField("ANAME")
+    private String aname;
+
+    @TableField("LONGITUDE")
+    private Double longitude;
+
+    @TableField("LATITUDE")
+    private Double latitude;
+
+    @TableField("PHOTO")
+    private String photo;
+
+    @TableField("COMPANYID")
+    private String companyid;
+
+    @TableField("SYSTEMMANUFACT")
+    private String systemmanufact;
+
+    @TableField("HEADFARM")
+    private String headfarm;
+
+    @TableField("HEADFARMPHONE")
+    private String headfarmphone;
+
+    @TableField("MODEL")
+    private String model;
+
+    @TableField("ORDERNUM")
+    private Double ordernum;
+
+    @TableField("ALTITUDE")
+    private Double altitude;
+
+    @TableField("HEIGHT")
+    private Double height;
+
+
+}

+ 76 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Windpowerstationtestingpoint2.java

@@ -0,0 +1,76 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-05-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("Windpowerstationtestingpoint2")
+public class Windpowerstationtestingpoint2 extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("CODE")
+    private String code;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("MODEL")
+    private String model;
+
+    @TableField("VALUEUNIT")
+    private String valueunit;
+
+    @TableField("ENGLISHNAME")
+    private String englishname;
+
+    @TableField("TYPEID")
+    private String typeid;
+
+    @TableField("MODELID")
+    private String modelid;
+
+    @TableField("MAXVAL")
+    private BigDecimal maxval;
+
+    @TableField("MINVAL")
+    private BigDecimal minval;
+
+    @TableField("REASONABLEMAXVAL")
+    private BigDecimal reasonablemaxval;
+
+    @TableField("REASONABLEMINVAL")
+    private BigDecimal reasonableminval;
+
+    @TableField("UNIFORMCODE")
+    private String uniformcode;
+
+    @TableField("SHORTID")
+    private String shortid;
+
+    @TableField("LONGID")
+    private String longid;
+
+    @TableField("WINDPOWERSTATIONID")
+    private String windpowerstationid;
+
+    @TableField("REALTIMEID")
+    private String realtimeid;
+
+
+}

+ 65 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Windturbine.java

@@ -0,0 +1,65 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-05-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WINDTURBINE")
+public class Windturbine extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("CODE")
+    private String code;
+
+    @TableField("WINDPOWERSTATIONID")
+    private String windpowerstationid;
+
+    @TableField("LONGITUDE")
+    private Double longitude;
+
+    @TableField("LATITUDE")
+    private Double latitude;
+
+    @TableField("MODELID")
+    private String modelid;
+
+    @TableField("STATUS")
+    private String status;
+
+    @TableField("PROJECTID")
+    private String projectid;
+
+    @TableField("LINEID")
+    private String lineid;
+
+    @TableField("FIRSTINTEGRATEDTIME")
+    private String firstintegratedtime;
+
+    @TableField("PHOTO")
+    private String photo;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("STANDARDID")
+    private String standardid;
+
+
+}

+ 217 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Windturbineanalysisday.java

@@ -0,0 +1,217 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WINDTURBINEANALYSISDAY")
+public class Windturbineanalysisday extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Double id;
+
+    @TableField("WINDTURBINEID")
+    private String windturbineid;
+
+    @TableField("RECORDDATE")
+    private Date recorddate;
+
+    @TableField("C1")
+    private Double c1;
+
+    @TableField("C2")
+    private Double c2;
+
+    @TableField("C3")
+    private Double c3;
+
+    @TableField("C4")
+    private Double c4;
+
+    @TableField("C5")
+    private Double c5;
+
+    @TableField("C6")
+    private Double c6;
+
+    @TableField("C7")
+    private Double c7;
+
+    @TableField("C8")
+    private Double c8;
+
+    @TableField("C9")
+    private Double c9;
+
+    @TableField("C10")
+    private Double c10;
+
+    @TableField("C11")
+    private Double c11;
+
+    @TableField("C12")
+    private Double c12;
+
+    @TableField("C13")
+    private Double c13;
+
+    @TableField("C14")
+    private Double c14;
+
+    @TableField("C15")
+    private Double c15;
+
+    @TableField("C16")
+    private Double c16;
+
+    @TableField("C17")
+    private Double c17;
+
+    @TableField("C18")
+    private Double c18;
+
+    @TableField("C19")
+    private Double c19;
+
+    @TableField("C20")
+    private Double c20;
+
+    @TableField("C21")
+    private Double c21;
+
+    @TableField("C22")
+    private Double c22;
+
+    @TableField("C23")
+    private Double c23;
+
+    @TableField("C24")
+    private Double c24;
+
+    @TableField("C25")
+    private Double c25;
+
+    @TableField("C26")
+    private Double c26;
+
+    @TableField("C27")
+    private Double c27;
+
+    @TableField("C28")
+    private Double c28;
+
+    @TableField("C29")
+    private Double c29;
+
+    @TableField("C30")
+    private Double c30;
+
+    @TableField("C31")
+    private Double c31;
+
+    @TableField("C32")
+    private Double c32;
+
+    @TableField("C33")
+    private Double c33;
+
+    @TableField("C34")
+    private Double c34;
+
+    @TableField("C35")
+    private Double c35;
+
+    @TableField("C36")
+    private Double c36;
+
+    @TableField("C37")
+    private Double c37;
+
+    @TableField("C38")
+    private Double c38;
+
+    @TableField("C39")
+    private Double c39;
+
+    @TableField("C40")
+    private Double c40;
+
+    @TableField("C41")
+    private Double c41;
+
+    @TableField("C42")
+    private Double c42;
+
+    @TableField("C43")
+    private Double c43;
+
+    @TableField("C44")
+    private Double c44;
+
+    @TableField("C45")
+    private Double c45;
+
+    @TableField("C46")
+    private Double c46;
+
+    @TableField("C47")
+    private Double c47;
+
+    @TableField("C48")
+    private Double c48;
+
+    @TableField("C49")
+    private Double c49;
+
+    @TableField("C50")
+    private Double c50;
+
+    @TableField("C51")
+    private Double c51;
+
+    @TableField("C52")
+    private Double c52;
+
+    @TableField("C53")
+    private Double c53;
+
+    @TableField("C54")
+    private Double c54;
+
+    @TableField("C55")
+    private Double c55;
+
+    @TableField("C56")
+    private Double c56;
+
+    @TableField("C57")
+    private Double c57;
+
+    @TableField("C58")
+    private Double c58;
+
+    @TableField("C59")
+    private Double c59;
+
+    @TableField("C60")
+    private Double c60;
+
+
+}

+ 49 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Windturbinecurvefitting.java

@@ -0,0 +1,49 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WINDTURBINECURVEFITTING")
+public class Windturbinecurvefitting extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Double id;
+
+    @TableField("WINDTURBINEID")
+    private String windturbineid;
+
+    @TableField("SPEED")
+    private Double speed;
+
+    @TableField("ACTUALPOWER")
+    private Double actualpower;
+
+    @TableField("OPTIMALPOWER")
+    private Double optimalpower;
+
+    @TableField("RECORDDATE")
+    private Date recorddate;
+
+    @TableField("MAINID")
+    private String mainid;
+
+
+}

+ 50 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Windturbinecurvefittingmonth.java

@@ -0,0 +1,50 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WINDTURBINECURVEFITTINGMONTH")
+public class Windturbinecurvefittingmonth extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Double id;
+
+    @TableField("WINDTURBINEID")
+    private String windturbineid;
+
+    @TableField("SPEED")
+    private Double speed;
+
+    @TableField("ACTUALPOWER")
+    private Double actualpower;
+
+    @TableField("OPTIMALPOWER")
+    private Double optimalpower;
+
+    @TableField("YEAR")
+    private String year;
+
+    @TableField("MONTH")
+    private String month;
+
+    @TableField("MAINID")
+    private String mainid;
+
+
+}

+ 82 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Windturbinetestingpointai2.java

@@ -0,0 +1,82 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-05-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WINDTURBINETESTINGPOINTAI2")
+public class Windturbinetestingpointai2 extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("CODE")
+    private String code;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("MODEL")
+    private String model;
+
+    @TableField("VALUEUNIT")
+    private String valueunit;
+
+    @TableField("ENGLISHNAME")
+    private String englishname;
+
+    @TableField("TYPEID")
+    private String typeid;
+
+    @TableField("MODELID")
+    private String modelid;
+
+    @TableField("MAXVAL")
+    private BigDecimal maxval;
+
+    @TableField("MINVAL")
+    private BigDecimal minval;
+
+    @TableField("REASONABLEMAXVAL")
+    private BigDecimal reasonablemaxval;
+
+    @TableField("REASONABLEMINVAL")
+    private BigDecimal reasonableminval;
+
+    @TableField("WINDTURBINEID")
+    private String windturbineid;
+
+    @TableField("UNIFORMCODE")
+    private String uniformcode;
+
+    @TableField("SHORTID")
+    private String shortid;
+
+    @TableField("LONGID")
+    private String longid;
+
+    @TableField("WINDPOWERSTATIONID")
+    private String windpowerstationid;
+
+    @TableField("REALTIMEID")
+    private String realtimeid;
+
+
+}

+ 928 - 0
consumer/src/main/java/com/gyee/consumer/model/auto/Windturbinethewindinfo.java

@@ -0,0 +1,928 @@
+package com.gyee.consumer.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WINDTURBINETHEWINDINFO")
+public class Windturbinethewindinfo extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Long id;
+
+    @TableField("WINDTURBINEID")
+    private String windturbineid;
+
+    @TableField("RECORDDATE")
+    private Date recorddate;
+
+    @TableField("CA")
+    private Double ca;
+
+    @TableField("CB")
+    private Double cb;
+
+    @TableField("CC")
+    private Double cc;
+
+    @TableField("CD")
+    private Double cd;
+
+    @TableField("CF")
+    private Double cf;
+
+    @TableField("CG")
+    private Double cg;
+
+    @TableField("E")
+    private Double e;
+
+    @TableField("ESE")
+    private Double ese;
+
+    @TableField("SE")
+    private Double se;
+
+    @TableField("SSE")
+    private Double sse;
+
+    @TableField("S")
+    private Double s;
+
+    @TableField("SSW")
+    private Double ssw;
+
+    @TableField("SW")
+    private Double sw;
+
+    @TableField("WSW")
+    private Double wsw;
+
+    @TableField("W")
+    private Double w;
+
+    @TableField("WNW")
+    private Double wnw;
+
+    @TableField("NW")
+    private Double nw;
+
+    @TableField("NNW")
+    private Double nnw;
+
+    @TableField("N")
+    private Double n;
+
+    @TableField("NNE")
+    private Double nne;
+
+    @TableField("NE")
+    private Double ne;
+
+    @TableField("ENE")
+    private Double ene;
+
+    @TableField("E2")
+    private Double e2;
+
+    @TableField("ESE2")
+    private Double ese2;
+
+    @TableField("SE2")
+    private Double se2;
+
+    @TableField("SSE2")
+    private Double sse2;
+
+    @TableField("S2")
+    private Double s2;
+
+    @TableField("SSW2")
+    private Double ssw2;
+
+    @TableField("SW2")
+    private Double sw2;
+
+    @TableField("WSW2")
+    private Double wsw2;
+
+    @TableField("W2")
+    private Double w2;
+
+    @TableField("WNW2")
+    private Double wnw2;
+
+    @TableField("NW2")
+    private Double nw2;
+
+    @TableField("NNW2")
+    private Double nnw2;
+
+    @TableField("N2")
+    private Double n2;
+
+    @TableField("NNE2")
+    private Double nne2;
+
+    @TableField("NE2")
+    private Double ne2;
+
+    @TableField("ENE2")
+    private Double ene2;
+
+    @TableField("E3")
+    private Double e3;
+
+    @TableField("ESE3")
+    private Double ese3;
+
+    @TableField("SE3")
+    private Double se3;
+
+    @TableField("SSE3")
+    private Double sse3;
+
+    @TableField("S3")
+    private Double s3;
+
+    @TableField("SSW3")
+    private Double ssw3;
+
+    @TableField("SW3")
+    private Double sw3;
+
+    @TableField("WSW3")
+    private Double wsw3;
+
+    @TableField("W3")
+    private Double w3;
+
+    @TableField("WNW3")
+    private Double wnw3;
+
+    @TableField("NW3")
+    private Double nw3;
+
+    @TableField("NNW3")
+    private Double nnw3;
+
+    @TableField("N3")
+    private Double n3;
+
+    @TableField("NNE3")
+    private Double nne3;
+
+    @TableField("NE3")
+    private Double ne3;
+
+    @TableField("ENE3")
+    private Double ene3;
+
+    @TableField("E4")
+    private Double e4;
+
+    @TableField("ESE4")
+    private Double ese4;
+
+    @TableField("SE4")
+    private Double se4;
+
+    @TableField("SSE4")
+    private Double sse4;
+
+    @TableField("S4")
+    private Double s4;
+
+    @TableField("SSW4")
+    private Double ssw4;
+
+    @TableField("SW4")
+    private Double sw4;
+
+    @TableField("WSW4")
+    private Double wsw4;
+
+    @TableField("W4")
+    private Double w4;
+
+    @TableField("WNW4")
+    private Double wnw4;
+
+    @TableField("NW4")
+    private Double nw4;
+
+    @TableField("NNW4")
+    private Double nnw4;
+
+    @TableField("N4")
+    private Double n4;
+
+    @TableField("NNE4")
+    private Double nne4;
+
+    @TableField("NE4")
+    private Double ne4;
+
+    @TableField("ENE4")
+    private Double ene4;
+
+    @TableField("E5")
+    private Double e5;
+
+    @TableField("ESE5")
+    private Double ese5;
+
+    @TableField("SE5")
+    private Double se5;
+
+    @TableField("SSE5")
+    private Double sse5;
+
+    @TableField("S5")
+    private Double s5;
+
+    @TableField("SSW5")
+    private Double ssw5;
+
+    @TableField("SW5")
+    private Double sw5;
+
+    @TableField("WSW5")
+    private Double wsw5;
+
+    @TableField("W5")
+    private Double w5;
+
+    @TableField("WNW5")
+    private Double wnw5;
+
+    @TableField("NW5")
+    private Double nw5;
+
+    @TableField("NNW5")
+    private Double nnw5;
+
+    @TableField("N5")
+    private Double n5;
+
+    @TableField("NNE5")
+    private Double nne5;
+
+    @TableField("NE5")
+    private Double ne5;
+
+    @TableField("ENE5")
+    private Double ene5;
+
+    @TableField("E6")
+    private Double e6;
+
+    @TableField("ESE6")
+    private Double ese6;
+
+    @TableField("SE6")
+    private Double se6;
+
+    @TableField("SSE6")
+    private Double sse6;
+
+    @TableField("S6")
+    private Double s6;
+
+    @TableField("SSW6")
+    private Double ssw6;
+
+    @TableField("SW6")
+    private Double sw6;
+
+    @TableField("WSW6")
+    private Double wsw6;
+
+    @TableField("W6")
+    private Double w6;
+
+    @TableField("WNW6")
+    private Double wnw6;
+
+    @TableField("NW6")
+    private Double nw6;
+
+    @TableField("NNW6")
+    private Double nnw6;
+
+    @TableField("N6")
+    private Double n6;
+
+    @TableField("NNE6")
+    private Double nne6;
+
+    @TableField("NE6")
+    private Double ne6;
+
+    @TableField("ENE6")
+    private Double ene6;
+
+    @TableField("E7")
+    private Double e7;
+
+    @TableField("ESE7")
+    private Double ese7;
+
+    @TableField("SE7")
+    private Double se7;
+
+    @TableField("SSE7")
+    private Double sse7;
+
+    @TableField("S7")
+    private Double s7;
+
+    @TableField("SSW7")
+    private Double ssw7;
+
+    @TableField("SW7")
+    private Double sw7;
+
+    @TableField("WSW7")
+    private Double wsw7;
+
+    @TableField("W7")
+    private Double w7;
+
+    @TableField("WNW7")
+    private Double wnw7;
+
+    @TableField("NW7")
+    private Double nw7;
+
+    @TableField("NNW7")
+    private Double nnw7;
+
+    @TableField("N7")
+    private Double n7;
+
+    @TableField("NNE7")
+    private Double nne7;
+
+    @TableField("NE7")
+    private Double ne7;
+
+    @TableField("ENE7")
+    private Double ene7;
+
+    @TableField("E8")
+    private Double e8;
+
+    @TableField("ESE8")
+    private Double ese8;
+
+    @TableField("SE8")
+    private Double se8;
+
+    @TableField("SSE8")
+    private Double sse8;
+
+    @TableField("S8")
+    private Double s8;
+
+    @TableField("SSW8")
+    private Double ssw8;
+
+    @TableField("SW8")
+    private Double sw8;
+
+    @TableField("WSW8")
+    private Double wsw8;
+
+    @TableField("W8")
+    private Double w8;
+
+    @TableField("WNW8")
+    private Double wnw8;
+
+    @TableField("NW8")
+    private Double nw8;
+
+    @TableField("NNW8")
+    private Double nnw8;
+
+    @TableField("N8")
+    private Double n8;
+
+    @TableField("NNE8")
+    private Double nne8;
+
+    @TableField("NE8")
+    private Double ne8;
+
+    @TableField("ENE8")
+    private Double ene8;
+
+    @TableField("E9")
+    private Double e9;
+
+    @TableField("ESE9")
+    private Double ese9;
+
+    @TableField("SE9")
+    private Double se9;
+
+    @TableField("SSE9")
+    private Double sse9;
+
+    @TableField("S9")
+    private Double s9;
+
+    @TableField("SSW9")
+    private Double ssw9;
+
+    @TableField("SW9")
+    private Double sw9;
+
+    @TableField("WSW9")
+    private Double wsw9;
+
+    @TableField("W9")
+    private Double w9;
+
+    @TableField("WNW9")
+    private Double wnw9;
+
+    @TableField("NW9")
+    private Double nw9;
+
+    @TableField("NNW9")
+    private Double nnw9;
+
+    @TableField("N9")
+    private Double n9;
+
+    @TableField("NNE9")
+    private Double nne9;
+
+    @TableField("NE9")
+    private Double ne9;
+
+    @TableField("ENE9")
+    private Double ene9;
+
+    @TableField("E10")
+    private Double e10;
+
+    @TableField("ESE10")
+    private Double ese10;
+
+    @TableField("SE10")
+    private Double se10;
+
+    @TableField("SSE10")
+    private Double sse10;
+
+    @TableField("S10")
+    private Double s10;
+
+    @TableField("SSW10")
+    private Double ssw10;
+
+    @TableField("SW10")
+    private Double sw10;
+
+    @TableField("WSW10")
+    private Double wsw10;
+
+    @TableField("W10")
+    private Double w10;
+
+    @TableField("WNW10")
+    private Double wnw10;
+
+    @TableField("NW10")
+    private Double nw10;
+
+    @TableField("NNW10")
+    private Double nnw10;
+
+    @TableField("N10")
+    private Double n10;
+
+    @TableField("NNE10")
+    private Double nne10;
+
+    @TableField("NE10")
+    private Double ne10;
+
+    @TableField("ENE10")
+    private Double ene10;
+
+    @TableField("E11")
+    private Double e11;
+
+    @TableField("ESE11")
+    private Double ese11;
+
+    @TableField("SE11")
+    private Double se11;
+
+    @TableField("SSE11")
+    private Double sse11;
+
+    @TableField("S11")
+    private Double s11;
+
+    @TableField("SSW11")
+    private Double ssw11;
+
+    @TableField("SW11")
+    private Double sw11;
+
+    @TableField("WSW11")
+    private Double wsw11;
+
+    @TableField("W11")
+    private Double w11;
+
+    @TableField("WNW11")
+    private Double wnw11;
+
+    @TableField("NW11")
+    private Double nw11;
+
+    @TableField("NNW11")
+    private Double nnw11;
+
+    @TableField("N11")
+    private Double n11;
+
+    @TableField("NNE11")
+    private Double nne11;
+
+    @TableField("NE11")
+    private Double ne11;
+
+    @TableField("ENE11")
+    private Double ene11;
+
+    @TableField("E12")
+    private Double e12;
+
+    @TableField("ESE12")
+    private Double ese12;
+
+    @TableField("SE12")
+    private Double se12;
+
+    @TableField("SSE12")
+    private Double sse12;
+
+    @TableField("S12")
+    private Double s12;
+
+    @TableField("SSW12")
+    private Double ssw12;
+
+    @TableField("SW12")
+    private Double sw12;
+
+    @TableField("WSW12")
+    private Double wsw12;
+
+    @TableField("W12")
+    private Double w12;
+
+    @TableField("WNW12")
+    private Double wnw12;
+
+    @TableField("NW12")
+    private Double nw12;
+
+    @TableField("NNW12")
+    private Double nnw12;
+
+    @TableField("N12")
+    private Double n12;
+
+    @TableField("NNE12")
+    private Double nne12;
+
+    @TableField("NE12")
+    private Double ne12;
+
+    @TableField("ENE12")
+    private Double ene12;
+
+    @TableField("E13")
+    private Double e13;
+
+    @TableField("ESE13")
+    private Double ese13;
+
+    @TableField("SE13")
+    private Double se13;
+
+    @TableField("SSE13")
+    private Double sse13;
+
+    @TableField("S13")
+    private Double s13;
+
+    @TableField("SSW13")
+    private Double ssw13;
+
+    @TableField("SW13")
+    private Double sw13;
+
+    @TableField("WSW13")
+    private Double wsw13;
+
+    @TableField("W13")
+    private Double w13;
+
+    @TableField("WNW13")
+    private Double wnw13;
+
+    @TableField("NW13")
+    private Double nw13;
+
+    @TableField("NNW13")
+    private Double nnw13;
+
+    @TableField("N13")
+    private Double n13;
+
+    @TableField("NNE13")
+    private Double nne13;
+
+    @TableField("NE13")
+    private Double ne13;
+
+    @TableField("ENE13")
+    private Double ene13;
+
+    @TableField("E14")
+    private Double e14;
+
+    @TableField("ESE14")
+    private Double ese14;
+
+    @TableField("SE14")
+    private Double se14;
+
+    @TableField("SSE14")
+    private Double sse14;
+
+    @TableField("S14")
+    private Double s14;
+
+    @TableField("SSW14")
+    private Double ssw14;
+
+    @TableField("SW14")
+    private Double sw14;
+
+    @TableField("WSW14")
+    private Double wsw14;
+
+    @TableField("W14")
+    private Double w14;
+
+    @TableField("WNW14")
+    private Double wnw14;
+
+    @TableField("NW14")
+    private Double nw14;
+
+    @TableField("NNW14")
+    private Double nnw14;
+
+    @TableField("N14")
+    private Double n14;
+
+    @TableField("NNE14")
+    private Double nne14;
+
+    @TableField("NE14")
+    private Double ne14;
+
+    @TableField("ENE14")
+    private Double ene14;
+
+    @TableField("E15")
+    private Double e15;
+
+    @TableField("ESE15")
+    private Double ese15;
+
+    @TableField("SE15")
+    private Double se15;
+
+    @TableField("SSE15")
+    private Double sse15;
+
+    @TableField("S15")
+    private Double s15;
+
+    @TableField("SSW15")
+    private Double ssw15;
+
+    @TableField("SW15")
+    private Double sw15;
+
+    @TableField("WSW15")
+    private Double wsw15;
+
+    @TableField("W15")
+    private Double w15;
+
+    @TableField("WNW15")
+    private Double wnw15;
+
+    @TableField("NW15")
+    private Double nw15;
+
+    @TableField("NNW15")
+    private Double nnw15;
+
+    @TableField("N15")
+    private Double n15;
+
+    @TableField("NNE15")
+    private Double nne15;
+
+    @TableField("NE15")
+    private Double ne15;
+
+    @TableField("ENE15")
+    private Double ene15;
+
+    @TableField("E16")
+    private Double e16;
+
+    @TableField("ESE16")
+    private Double ese16;
+
+    @TableField("SE16")
+    private Double se16;
+
+    @TableField("SSE16")
+    private Double sse16;
+
+    @TableField("S16")
+    private Double s16;
+
+    @TableField("SSW16")
+    private Double ssw16;
+
+    @TableField("SW16")
+    private Double sw16;
+
+    @TableField("WSW16")
+    private Double wsw16;
+
+    @TableField("W16")
+    private Double w16;
+
+    @TableField("WNW16")
+    private Double wnw16;
+
+    @TableField("NW16")
+    private Double nw16;
+
+    @TableField("NNW16")
+    private Double nnw16;
+
+    @TableField("N16")
+    private Double n16;
+
+    @TableField("NNE16")
+    private Double nne16;
+
+    @TableField("NE16")
+    private Double ne16;
+
+    @TableField("ENE16")
+    private Double ene16;
+
+    @TableField("E17")
+    private Double e17;
+
+    @TableField("ESE17")
+    private Double ese17;
+
+    @TableField("SE17")
+    private Double se17;
+
+    @TableField("SSE17")
+    private Double sse17;
+
+    @TableField("S17")
+    private Double s17;
+
+    @TableField("SSW17")
+    private Double ssw17;
+
+    @TableField("SW17")
+    private Double sw17;
+
+    @TableField("WSW17")
+    private Double wsw17;
+
+    @TableField("W17")
+    private Double w17;
+
+    @TableField("WNW17")
+    private Double wnw17;
+
+    @TableField("NW17")
+    private Double nw17;
+
+    @TableField("NNW17")
+    private Double nnw17;
+
+    @TableField("N17")
+    private Double n17;
+
+    @TableField("NNE17")
+    private Double nne17;
+
+    @TableField("NE17")
+    private Double ne17;
+
+    @TableField("ENE17")
+    private Double ene17;
+
+    @TableField("E18")
+    private Double e18;
+
+    @TableField("ESE18")
+    private Double ese18;
+
+    @TableField("SE18")
+    private Double se18;
+
+    @TableField("SSE18")
+    private Double sse18;
+
+    @TableField("S18")
+    private Double s18;
+
+    @TableField("SSW18")
+    private Double ssw18;
+
+    @TableField("SW18")
+    private Double sw18;
+
+    @TableField("WSW18")
+    private Double wsw18;
+
+    @TableField("W18")
+    private Double w18;
+
+    @TableField("WNW18")
+    private Double wnw18;
+
+    @TableField("NW18")
+    private Double nw18;
+
+    @TableField("NNW18")
+    private Double nnw18;
+
+    @TableField("N18")
+    private Double n18;
+
+    @TableField("NNE18")
+    private Double nne18;
+
+    @TableField("NE18")
+    private Double ne18;
+
+    @TableField("ENE18")
+    private Double ene18;
+
+    @TableField("CH")
+    private Double ch;
+
+    @TableField("CI")
+    private Double ci;
+
+    @TableField("CJ")
+    private Double cj;
+
+
+}

+ 355 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/DataVo.java

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

+ 15 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/DjhxdbInitVo.java

@@ -0,0 +1,15 @@
+package com.gyee.consumer.model.vo;
+
+import lombok.Data;
+
+/**
+ * @ClassName : DjhxdbInitVo
+ * @Author : xieshengjie
+ * @Date: 2021/6/29 14:10
+ * @Description : 单机横向对比初始化vo
+ */
+@Data
+public class DjhxdbInitVo {
+
+    private String name;
+}

+ 43 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/DjhxdbtopVo.java

@@ -0,0 +1,43 @@
+package com.gyee.consumer.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @ClassName : DjhxdbtopVo
+ * @Author : xieshengjie
+ * @Date: 2021/6/29 8:52
+ * @Description : 单机横向对比表格vo
+ */
+@Data
+public class DjhxdbtopVo  implements Serializable {
+    private static final long serialVersionUID = 4849539762497547224L;
+
+    private String wtid;
+    private Double fdl;
+    private Double yfdl;
+    private Double pjgl;
+    private Double pjfs;
+    private Double yxxs;
+    private Double djxs;
+    private Double gzxs;
+    private Double whxs;
+    private Double zdxs;
+    private Double yxfs;
+    private Double ssdl;
+    private Double bjcs;
+    private Double tjcs;
+    private Double bbhcs;
+    private Double sbklly;
+    private Double pjwd;
+    private Double pjsd;
+    private Double pjyq;
+    private Double nhyd;
+    private Double sjbz;
+    private List<FzyVo> fzyList;
+    private Double jfpl;
+
+
+}

+ 73 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/DynamicBean.java

@@ -0,0 +1,73 @@
+package com.gyee.consumer.model.vo;
+
+import net.sf.cglib.beans.BeanGenerator;
+import net.sf.cglib.beans.BeanMap;
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @ClassName : DynamicBean
+ * @Author : xieshengjie
+ * @Date: 2021/3/8 17:25
+ * @Description : 动态生成基础类
+ */
+public class DynamicBean {
+    private Object object = null; //动态生成的类
+    private BeanMap beanMap = null; //存放属性名称以及属性的类型
+
+    public DynamicBean() {
+        super();
+    }
+
+    public DynamicBean(Map propertyMap) {
+        this.object = generateBean(propertyMap);
+        this.beanMap = BeanMap.create(this.object);
+    }
+
+    /**
+     * @param propertyMap
+     * @return
+     */
+    private Object generateBean(Map propertyMap) {
+        BeanGenerator generator = new BeanGenerator();
+        Set keySet = propertyMap.keySet();
+        for (Iterator i = keySet.iterator(); i.hasNext(); ) {
+            String key = (String) i.next();
+            generator.addProperty(key, (Class) propertyMap.get(key));
+        }
+        return generator.create();
+    }
+
+    /**
+     * 给bean属性赋值
+     *
+     * @param property 属性名
+     * @param value    值
+     */
+    public void setValue(Object property, Object value) {
+        beanMap.put(property, value);
+    }
+
+    /**
+     * 通过属性名得到属性值
+     *
+     * @param property 属性名
+     * @return 值
+     */
+    public Object getValue(String property) {
+        return beanMap.get(property);
+    }
+
+    /**
+     * 得到该实体bean对象
+     *
+     * @return
+     */
+    public Object getObject() {
+        return this.object;
+    }
+
+
+}

+ 28 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/FjjxbVo.java

@@ -0,0 +1,28 @@
+package com.gyee.consumer.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : FjjxbVo
+ * @Author : xieshengjie
+ * @Date: 2021/6/16 10:55
+ * @Description : 风机绩效榜vo
+ */
+@Data
+public class FjjxbVo  implements Serializable  {
+    private static final long serialVersionUID = -8275715166269543409L;
+
+    private String id;   //id
+    private String name;   //名称
+    private Double llfdl;   //理论发电量
+    private Double sjfdl;   //实际发电量
+    private Double speed;  //风速
+    private Double fjhjx;   //非计划(故障)
+    private Double jhjx;  //计划(维护)
+    private Double sl;  //受累
+    private Double xd;  //限电
+    private Double xn;  //性能
+    private Double fnlly;   //风能利用率
+}

+ 35 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/FjjxbmxVo.java

@@ -0,0 +1,35 @@
+package com.gyee.consumer.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : FjjxbmxVo
+ * @Author : xieshengjie
+ * @Date: 2021/6/16 14:19
+ * @Description : 风机绩效榜明细vo
+ */
+@Data
+public class FjjxbmxVo implements Serializable {
+    private static final long serialVersionUID = 4129930226114546977L;
+
+    private String id;   //id
+    private String name;   //名称
+    private Double llfdl;  //理论发电量
+    private Double sjfdl;  //实际发电量
+    private Double speed;   //风速
+    private Double fjhjx1;  //故障损失
+    private Double fjhjx2;  //故障受累
+    private Double jhjx1;   //检修损失
+    private Double jhjx2;  //检修受累
+    private Double sl1;   //电网受累
+    private Double sl2;   //天气受累
+    private Double xd1;    //限电降出
+    private Double xd2;   //限电停机
+    private Double xn1;   //待机损失
+    private Double xn2;   //手动停机
+    private Double xn3;   //正常发电
+    private Double xn4;   //缺陷降出
+    private Double fnlly;   //风能利用率
+}

+ 15 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/FzyVo.java

@@ -0,0 +1,15 @@
+package com.gyee.consumer.model.vo;
+
+import lombok.Data;
+
+/**
+ * @ClassName : FzyVo
+ * @Author : xieshengjie
+ * @Date: 2021/6/29 11:40
+ * @Description : 风资源vo
+ */
+@Data
+public class FzyVo {
+    private String name;
+    private Double value;
+}

+ 67 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/GoodCompareVo.java

@@ -0,0 +1,67 @@
+package com.gyee.consumer.model.vo;
+
+
+public class GoodCompareVo implements java.io.Serializable {
+
+	/** 
+    * @Fields serialVersionUID : TODO
+    */ 
+    
+    
+    private static final long serialVersionUID = 1L;
+	// Fields
+
+	private Integer id;
+	private String name;
+	private String value1;
+	private String value2;
+	private String value3;
+	private String value4;
+	private String value5;
+	
+	public String getName() {
+    	return name;
+    }
+	public void setName(String name) {
+    	this.name = name;
+    }
+	public Integer getId() {
+    	return id;
+    }
+	public void setId(Integer id) {
+    	this.id = id;
+    }
+	public String getValue1() {
+    	return value1;
+    }
+	public void setValue1(String value1) {
+    	this.value1 = value1;
+    }
+	public String getValue2() {
+    	return value2;
+    }
+	public void setValue2(String value2) {
+    	this.value2 = value2;
+    }
+	public String getValue3() {
+    	return value3;
+    }
+	public void setValue3(String value3) {
+    	this.value3 = value3;
+    }
+	public String getValue4() {
+    	return value4;
+    }
+	public void setValue4(String value4) {
+    	this.value4 = value4;
+    }
+	public String getValue5() {
+    	return value5;
+    }
+	public void setValue5(String value5) {
+    	this.value5 = value5;
+    }
+	
+
+
+}

+ 18 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/OpeVo.java

@@ -0,0 +1,18 @@
+package com.gyee.consumer.model.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @ClassName : OpeVo
+ * @Author : xieshengjie
+ * @Date: 2021/1/19 14:36
+ * @Description : 操作vo
+ */
+@Data
+public class OpeVo {
+    private String wtid;
+    private Date time;
+    private Double value;
+}

+ 32 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/Operation.java

@@ -0,0 +1,32 @@
+package com.gyee.consumer.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : Operation
+ * @Author : xieshengjie
+ * @Date: 2021/1/18 16:10
+ * @Description : 操作model
+ */
+@Data
+public class Operation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String nameOfDuty;  //值班名称
+    private Integer startCount;//启动
+    private Integer stopCount;//停机
+    private Integer resetCount;//复位
+    private Integer maintainCount;//维护
+    private Integer unmaintainCount;//取消维护
+    private Integer gpmaintainCount;//挂牌检修
+    private Integer gpfaultCount;//挂牌故障维修
+    private Integer gponsiteinvolvementMaintainCount;//挂牌场内受累检修
+    private Integer gponsiteinvolvementFaultCount;//挂牌场内受累故障
+    private Integer gpoffsiteaffectedgridCount;//挂牌场外受累电网
+    private Integer gpweatherOutsideCount;//挂牌场外受累天气
+    private Integer ungpCount;//取消挂牌
+
+}

+ 70 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/ValueVo.java

@@ -0,0 +1,70 @@
+package com.gyee.consumer.model.vo;
+
+public class ValueVo {
+	private String name;
+	private String value;
+	private Double data1;
+
+	private String warningId;
+	private String shutdowneventId;
+	private String wpId;
+	private String wtId;
+
+	public String getValue() {
+		return value;
+	}
+
+	public void setValue(String value) {
+		this.value = value;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Double getData1() {
+		return data1;
+	}
+
+	public void setData1(Double data1) {
+		this.data1 = data1;
+	}
+
+	public String getWarningId() {
+		return warningId;
+	}
+
+	public void setWarningId(String warningId) {
+		this.warningId = warningId;
+	}
+
+	public String getShutdowneventId() {
+		return shutdowneventId;
+	}
+
+	public void setShutdowneventId(String shutdowneventId) {
+		this.shutdowneventId = shutdowneventId;
+	}
+
+	public String getWpId() {
+		return wpId;
+	}
+
+	public void setWpId(String wpId) {
+		this.wpId = wpId;
+	}
+
+	public String getWtId() {
+		return wtId;
+	}
+
+	public void setWtId(String wtId) {
+		this.wtId = wtId;
+	}
+
+	
+}

+ 49 - 0
consumer/src/main/java/com/gyee/consumer/model/vo/WxsslVo.java

@@ -0,0 +1,49 @@
+package com.gyee.consumer.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName : WxsslVo
+ * @Author : xieshengjie
+ * @Date: 2021/6/16 16:00
+ * @Description : 五项损失率vo
+ */
+@Data
+public class WxsslVo implements Serializable {
+
+    private static final long serialVersionUID = -2799942539856503365L;
+
+    private String id;
+    private String name;
+    private Date date;
+    private Integer zhpm;
+    private Integer fdlpm;
+    private Double fdl;
+    private Double llfdl;
+    private Integer gzssdlpm;
+    private Double gzssdl;
+    private Integer jxssdlpm;
+    private Double jxssdl;
+    private Integer xnssdlpm;
+    private Double xnssdl;
+    private Integer xdssdlpm;
+    private Double xdssdl;
+    private Integer slssdlpm;
+    private Double slssdl;
+    private Integer fnlylpm;
+    private Double fnlyl;
+    private Integer gzsslpm;
+    private Double gzssl;
+    private Integer jxsslpm;
+    private Double jxssl;
+    private Integer qflpm;
+    private Double qfl;
+    private Integer xnsslpm;
+    private Double xnssl;
+    private Double zssdl;
+    private Double slssl;
+    private Integer slsslpm;
+}

+ 32 - 0
consumer/src/main/resources/application.yaml

@@ -0,0 +1,32 @@
+server:
+  port: 9004
+spring:
+  main:
+    allow-bean-definition-overriding: true #当遇到同样名字的时候,是否允许覆盖注册
+  autoconfigure:
+    exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
+  datasource:
+    type: com.alibaba.druid.pool.DruidDataSource
+    driver-class-name: oracle.jdbc.OracleDriver
+    #外网
+    url: jdbc:oracle:thin:@192.168.1.105:1521:gdnxfd
+    #    url: jdbc:oracle:thin:@172.168.1.14:1521:gdnxfd
+    username: nxfdprod
+    password: gdnxfd123
+    oracle-schema=:
+    #    type: com.alibaba.druid.pool.DruidDataSource
+    #    url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&serverTimezone=UTC
+    #    username: root
+    #    password: root
+    #    driver-class-name: com.mysql.jdbc.Driver
+    druid:
+      max-active: 20
+      initial-size: 1
+      min-idle: 3
+      max-wait: 60000
+      time-between-eviction-runs-millis: 60000
+      min-evictable-idle-time-millis: 300000
+      test-while-idle: true
+      test-on-borrow: false
+      test-on-return: false
+

+ 13 - 0
consumer/src/test/java/com/gyee/consumer/ConsumerApplicationTests.java

@@ -0,0 +1,13 @@
+package com.gyee.consumer;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class ConsumerApplicationTests {
+
+    @Test
+    void contextLoads() {
+    }
+
+}

+ 26 - 0
datacenter/src/main/java/com/gyee/datacenter/config/CorsConfig.java

@@ -0,0 +1,26 @@
+package com.gyee.datacenter.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @ClassName : CorsConfig
+ * @Author : xieshengjie
+ * @Date: 2021/6/28 20:00
+ * @Description :
+ */
+@Configuration
+public class CorsConfig implements WebMvcConfigurer {
+
+    static final String[] ORIGINS = new String[]{"GET", "POST", "PUT", "DELETE"};  //请求方式
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**") //所有的当前站点的请求地址,都支持跨域访问
+                .allowedOrigins("*")// 所有的外部域都可跨域访问,这里注意2.4.0以后是allowedOriginPatterns,以前是allowedOrigins
+                .allowCredentials(true)  //是否支持跨域用户凭证
+                .allowedMethods(ORIGINS) //当前站点支持的跨域请求类型是什么
+                .maxAge(3600);  //超是时长,单位为秒。
+    }
+}

+ 3 - 2
datacenter/src/main/java/com/gyee/datacenter/controller/OutputController.java

@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -57,9 +58,9 @@ public class OutputController {
                              @RequestParam(value = "pageNum",required = true)String pageNum,
                              @RequestParam(value = "pageSize",required = true)String pageSize) {
         List<Datacenterpoint> realtimeList = outputService.getRealtimeList(tableid, pointId, pointName);
-        List<PointDataVo> vos = null;
+        List<PointDataVo> vos = new ArrayList<>();
         long count =0;
-        if(StringUtils.isNotNull(realtimeList)){
+        if(StringUtils.isNotNull(realtimeList) && StringUtils.isNotEmpty(realtimeList)){
             count = realtimeList.size();
             vos = outputService.getRealtimedata(realtimeList,pageNum,pageSize);
         }

+ 6 - 0
datacenter/src/main/java/com/gyee/datacenter/service/OutputService.java

@@ -39,6 +39,8 @@ public class OutputService {
 
 
 
+
+
     public List<Datacenter> getTables() {
         return CacheContext.tableList;
     }
@@ -131,4 +133,8 @@ public class OutputService {
         });
         return resultList;
     }
+
+    public void savaWindturbineinfodaytop3(){
+
+    }
 }

+ 5 - 0
gradeevaluation/pom.xml

@@ -110,6 +110,11 @@
             <artifactId>commons-lang</artifactId>
             <version>2.4</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-math3</artifactId>
+            <version>3.6.1</version>
+        </dependency>
 
 
 

+ 26 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/config/CorsConfig.java

@@ -0,0 +1,26 @@
+package com.gyee.gradeevaluation.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @ClassName : CorsConfig
+ * @Author : xieshengjie
+ * @Date: 2021/6/28 20:00
+ * @Description :
+ */
+@Configuration
+public class CorsConfig implements WebMvcConfigurer {
+
+    static final String[] ORIGINS = new String[]{"GET", "POST", "PUT", "DELETE"};  //请求方式
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**") //所有的当前站点的请求地址,都支持跨域访问
+                .allowedOrigins("*")// 所有的外部域都可跨域访问,这里注意2.4.0以后是allowedOriginPatterns,以前是allowedOrigins
+                .allowCredentials(true)  //是否支持跨域用户凭证
+                .allowedMethods(ORIGINS) //当前站点支持的跨域请求类型是什么
+                .maxAge(3600);  //超是时长,单位为秒。
+    }
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/Alertrule2Controller.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-06
+ */
+@RestController
+@RequestMapping("//alertrule2")
+public class Alertrule2Controller {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/AlertrulefailureController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-06
+ */
+@RestController
+@RequestMapping("//alertrulefailure")
+public class AlertrulefailureController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/CurvefittingmainController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-09
+ */
+@RestController
+@RequestMapping("//curvefittingmain")
+public class CurvefittingmainController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/CurvefittingmonthmainController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-09
+ */
+@RestController
+@RequestMapping("//curvefittingmonthmain")
+public class CurvefittingmonthmainController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/EarlywarningmainController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-08
+ */
+@RestController
+@RequestMapping("//earlywarningmain")
+public class EarlywarningmainController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/FailurestatisticsmainController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-08
+ */
+@RestController
+@RequestMapping("//failurestatisticsmain")
+public class FailurestatisticsmainController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/InputoroutputspeedtotalController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-09
+ */
+@RestController
+@RequestMapping("//inputoroutputspeedtotal")
+public class InputoroutputspeedtotalController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/P3DeviceFaultController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-06
+ */
+@RestController
+@RequestMapping("//p3-device-fault")
+public class P3DeviceFaultController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/P3DeviceFeaturesController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-07
+ */
+@RestController
+@RequestMapping("//p3-device-features")
+public class P3DeviceFeaturesController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/RiskprecController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-07
+ */
+@RestController
+@RequestMapping("//riskprec")
+public class RiskprecController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/RisktypeController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-07
+ */
+@RestController
+@RequestMapping("//risktype")
+public class RisktypeController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/SafeprecController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-07
+ */
+@RestController
+@RequestMapping("//safeprec")
+public class SafeprecController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/SafeprecstardController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-07
+ */
+@RestController
+@RequestMapping("//safeprecstard")
+public class SafeprecstardController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/WarningstatisticsforwindturbinController.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-07
+ */
+@RestController
+@RequestMapping("//warningstatisticsforwindturbin")
+public class WarningstatisticsforwindturbinController {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/Windturbineinfodaytop3Controller.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-09
+ */
+@RestController
+@RequestMapping("//windturbineinfodaytop3")
+public class Windturbineinfodaytop3Controller {
+
+}

+ 244 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/experiencebase/ExperienceBaseController.java

@@ -0,0 +1,244 @@
+package com.gyee.gradeevaluation.controller.experiencebase;
+
+import com.gyee.gradeevaluation.common.StringUtils;
+import com.gyee.gradeevaluation.config.R;
+import com.gyee.gradeevaluation.model.auto.*;
+import com.gyee.gradeevaluation.service.experiencebase.ExperienceBaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * baseUrl: 10.155.32.4:8034/
+ * @ClassName : ExperienceBaseController
+ * @Author : xieshengjie
+ * @Date: 2021/7/6 21:04
+ * @Description : 经验库controller
+ */
+@Controller
+@RequestMapping("//experienceBase")
+public class ExperienceBaseController {
+    @Autowired
+    private ExperienceBaseService experienceBaseService;
+
+    /**
+     * 故障知识
+     * @param gzjb
+     * @param tjlx
+     * @param cxnr
+     * @param pageNum
+     * @param pageSize
+     * @return
+     * @throws ParseException
+     */
+    @GetMapping("/gzzs")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R gzzs(@RequestParam(value = "gzjb",required = true) String gzjb,
+                  @RequestParam(value = "tjlx",required = true) String tjlx,
+                  @RequestParam(value = "cxnr",required = true) String cxnr,
+                  @RequestParam(value = "pageNum",required = true) String pageNum,
+                  @RequestParam(value = "pageSize",required = true) String pageSize
+    ) throws ParseException {
+
+        List<P3DeviceFault> resultlist = experienceBaseService.gzzs(gzjb,tjlx,cxnr,pageNum,pageSize);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+
+    }
+
+    /**
+     * 预警知识
+     * @param gzjb
+     * @param bjlx
+     * @param cxnr
+     * @return
+     * @throws ParseException
+     */
+    @GetMapping("/yjzs")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R yjzs(@RequestParam(value = "gzjb",required = true) String gzjb,
+                  @RequestParam(value = "bjlx",required = true) String bjlx,
+                  @RequestParam(value = "cxnr",required = true) String cxnr,
+                  @RequestParam(value = "pageNum",required = true) String pageNum,
+                  @RequestParam(value = "pageSize",required = true) String pageSize
+    ) throws ParseException {
+
+        List<Alertrule2> resultlist = experienceBaseService.yjzs(gzjb,bjlx,cxnr,pageNum,pageSize);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+
+    }
+
+    /**
+     * 排查检修型号list
+     * @throws ParseException
+     */
+    @GetMapping("/modelList")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R modelList(
+    ) throws ParseException {
+
+        List<String> resultlist = experienceBaseService.modelList();
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+
+    }
+    /**
+     * 排查检修方案
+     * @param model
+     * @return
+     * @throws ParseException
+     */
+    @GetMapping("/pcjxfa")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R pcjxfa(@RequestParam(value = "model",required = true) String model,
+                    @RequestParam(value = "pageNum",required = true) String pageNum,
+                    @RequestParam(value = "pageSize",required = true) String pageSize
+    ) throws ParseException {
+
+        List<Alertrulefailure> resultlist = experienceBaseService.pcjxfa(model,pageNum,pageSize);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
+     * 特征参数
+     * @param name
+     * @return
+     * @throws ParseException
+     */
+    @GetMapping("/tzcs")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R tzcs(@RequestParam(value = "name",required = true) String name,
+                  @RequestParam(value = "pageNum",required = true) String pageNum,
+                  @RequestParam(value = "pageSize",required = true) String pageSize
+    ) throws ParseException {
+
+        List<P3DeviceFeatures> resultlist = experienceBaseService.tzcs(name,pageNum,pageSize);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
+     * 安全措施知识(风险辨识)
+     * @param name
+     * @param pageNum
+     * @param pageSize
+     * @return
+     * @throws ParseException
+     */
+    @GetMapping("/aqcszs")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R aqcszs(@RequestParam(value = "name",required = true) String name,
+                  @RequestParam(value = "pageNum",required = true) String pageNum,
+                  @RequestParam(value = "pageSize",required = true) String pageSize
+    ) throws ParseException {
+
+        List<Safeprecstard> resultlist = experienceBaseService.aqcszs(name,pageNum,pageSize);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
+     * 作业指导知识
+     * @param name
+     * @param pageNum
+     * @param pageSize
+     * @return
+     * @throws ParseException
+     */
+    @GetMapping("/zyzdzs")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R zyzdzs(@RequestParam(value = "name",required = true) String name,
+                    @RequestParam(value = "pageNum",required = true) String pageNum,
+                    @RequestParam(value = "pageSize",required = true) String pageSize
+    ) throws ParseException {
+
+        List<Risktype> resultlist = experienceBaseService.zyzdzs(name,pageNum,pageSize);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
+     * 作业指导知识
+     * 安措内容
+     * @param rsnum
+     * @param pageNum
+     * @param pageSize
+     * @return
+     * @throws ParseException
+     */
+    @GetMapping("/acnr")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R acnr(@RequestParam(value = "rsnum",required = true) String rsnum,
+                    @RequestParam(value = "pageNum",required = true) String pageNum,
+                    @RequestParam(value = "pageSize",required = true) String pageSize
+    ) throws ParseException {
+
+        List<Safeprec> resultlist = experienceBaseService.acnr(rsnum,pageNum,pageSize);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
+     * 危险点内容
+     * @param rsnum
+     * @param pageNum
+     * @param pageSize
+     * @return
+     * @throws ParseException
+     */
+    @GetMapping("/wxdnr")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R wxdnr(@RequestParam(value = "rsnum",required = true) String rsnum,
+                  @RequestParam(value = "pageNum",required = true) String pageNum,
+                  @RequestParam(value = "pageSize",required = true) String pageSize
+    ) throws ParseException {
+        List<Riskprec> resultlist = experienceBaseService.wxdnr(rsnum,pageNum,pageSize);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+
+
+
+}

+ 10 - 11
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/gradeevaluation/OutputController.java

@@ -35,16 +35,15 @@ public class OutputController {
     @GetMapping("/modelMainList")
     @ResponseBody
     @CrossOrigin(origins = "*", maxAge = 3600)
-    public R modelMainList()  {
-
-        List<Indexsystemmain> resultlist = outputService.modelMainList();
+    public R modelMainList(@RequestParam(value = "name",required = true)String name)  {
+        List<Indexsystemmain> resultlist = outputService.modelMainList(name);
         if (StringUtils.isNotNull(resultlist)) {
             return R.ok().data(resultlist);
         }else{
             return R.error().message("访问失败");
         }
-
     }
+
     /**
      * 保存模型主表
      * @return
@@ -60,7 +59,6 @@ public class OutputController {
         }else{
             return R.error().message("访问失败");
         }
-
     }
 
     /**
@@ -83,14 +81,14 @@ public class OutputController {
 
 
     /**
-     * 获取数据源数据
+     * 获取数据源数据(量,性)
      * @return
      */
     @GetMapping("/sourceList")
     @ResponseBody
     @CrossOrigin(origins = "*", maxAge = 3600)
     public R sourceList(){
-        List<Evaluationdatasource> datasourceList = CacheContext.datasourceList.stream().filter(i->i.getCycle().equals("日")).collect(Collectors.toList());
+        List<Evaluationdatasource> datasourceList = CacheContext.datasourceList;
 
         if (StringUtils.isNotNull(datasourceList)) {
             return R.ok().data(datasourceList);
@@ -100,7 +98,7 @@ public class OutputController {
     }
 
     /**
-     * 根据模型id获得量化指标列表
+     * 根据模型id获得指标列表(量,性)
      * @return
      */
     @GetMapping("/targetList")
@@ -139,8 +137,8 @@ public class OutputController {
     @GetMapping("/subList")
     @ResponseBody
     @CrossOrigin(origins = "*", maxAge = 3600)
-    public R subList(@RequestParam(value = "id",required = false)Integer id){
-        List<Indexsystemsub> resultList = outputService.subListByModelname(id);
+    public R subList(@RequestParam(value = "tid",required = true)Integer tid){
+        List<Indexsystemsub> resultList = outputService.subListByModelname(tid);
         if (StringUtils.isNotNull(resultList)) {
             return R.ok().data(resultList);
         }else{
@@ -181,7 +179,6 @@ public class OutputController {
         }
     }
 
-
     /**
      * 日等级评估列表
      * @return
@@ -235,4 +232,6 @@ public class OutputController {
         }
     }
 
+
+
 }

+ 67 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/reliability/ReliabilityController.java

@@ -0,0 +1,67 @@
+package com.gyee.gradeevaluation.controller.reliability;
+
+import com.gyee.gradeevaluation.common.StringUtils;
+import com.gyee.gradeevaluation.config.R;
+import com.gyee.gradeevaluation.model.auto.Earlywarningmain;
+import com.gyee.gradeevaluation.model.auto.Failurestatisticsmain;
+import com.gyee.gradeevaluation.model.auto.Faulteliminatedefects;
+import com.gyee.gradeevaluation.model.auto.Indexsystemmain;
+import com.gyee.gradeevaluation.service.reliability.ReliabilityService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * baseURL: 10.155.32.4:8034
+ * @ClassName : ReliabilityController
+ * @Author : xieshengjie
+ * @Date: 2021/7/8 14:01
+ * @Description : 可靠性分析controller
+ */
+@RestController
+@RequestMapping("//reliability")
+public class ReliabilityController {
+    @Autowired
+    private ReliabilityService reliabilityService;
+
+    /**
+     * 预警评判分析
+     * @param wpid
+     * @param date
+     * @return
+     */
+    @GetMapping("/earlyWarn")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R earlyWarn(@RequestParam(value = "wpid",required = true)String wpid,
+                           @RequestParam(value = "date",required = true)String date)  {
+        List<Earlywarningmain> resultlist = reliabilityService.earlyWarn(wpid,date);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok().data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
+     * 故障统计
+     * @param wpid
+     * @param date
+     * @return
+     */
+    @GetMapping("/failurestatistics")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R failurestatistics(@RequestParam(value = "wpid",required = true)String wpid,
+                           @RequestParam(value = "date",required = true)String date)  {
+        List<Failurestatisticsmain> resultlist = reliabilityService.failurestatistics(wpid, date);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok().data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+
+}

+ 62 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/targetdata/TargetdataController.java

@@ -0,0 +1,62 @@
+package com.gyee.gradeevaluation.controller.targetdata;
+
+import com.gyee.gradeevaluation.common.StringUtils;
+import com.gyee.gradeevaluation.config.R;
+import com.gyee.gradeevaluation.model.vo.KkxzbfxVo;
+import com.gyee.gradeevaluation.model.vo.NxzbfxVo;
+import com.gyee.gradeevaluation.model.vo.SpecificTopVo;
+import com.gyee.gradeevaluation.service.targetdata.TargetdataService;
+import org.springframework.stereotype.Controller;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * @ClassName : TargetdataController
+ * @Author : xieshengjie
+ * @Date: 2021/7/6 16:24
+ * @Description : 指标数据查询controller
+ */
+@Controller
+@RequestMapping("//targetdata")
+public class TargetdataController {
+    @Resource
+    private TargetdataService targetdataService;
+
+
+    /**
+     * 能效指标查询
+     * @param date
+     * @return
+     */
+    @GetMapping("/nxzbcx")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R nxzbcx(@RequestParam(value = "date",required = true) String date)  {
+
+        List<NxzbfxVo> resultlist = targetdataService.nxzbcx(date);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok().data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+
+    }
+
+    @GetMapping("/kkxzbfx")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R kkxzbfx(@RequestParam(value = "date",required = true) String date)   {
+
+        List<KkxzbfxVo> resultlist = targetdataService.kkxzbfx(date);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok().data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+
+    }
+}

+ 92 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/threerate/ThreeRateController.java

@@ -0,0 +1,92 @@
+package com.gyee.gradeevaluation.controller.threerate;
+
+import com.gyee.gradeevaluation.common.StringUtils;
+import com.gyee.gradeevaluation.config.R;
+import com.gyee.gradeevaluation.model.auto.Faulteliminatedefects;
+import com.gyee.gradeevaluation.model.auto.P3DeviceFault;
+import com.gyee.gradeevaluation.model.vo.FwjslVo;
+import com.gyee.gradeevaluation.model.vo.QxjslVo;
+import com.gyee.gradeevaluation.service.threerate.ThreeRateService;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.text.ParseException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * baseurl: 10.155.32.4:8034
+ * @ClassName : ThreeRateController
+ * @Author : xieshengjie
+ * @Date: 2021/7/7 14:38
+ * @Description : 三率controller
+ */
+@Controller
+@RequestMapping("//threerate")
+public class ThreeRateController {
+    @Resource
+    private ThreeRateService threeRateService;
+
+    /**
+     * 复位及时率
+     * @param beginDate
+     * @param endDate
+     * @return
+     */
+    @GetMapping("/fwjsl")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R fwjsl(@RequestParam(value = "beginDate",required = true) String beginDate,
+                  @RequestParam(value = "endDate",required = true) String endDate
+    ) {
+
+        List<FwjslVo> resultlist = threeRateService.fwjsl(beginDate,endDate);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
+     * 状态转换率
+     * @param beginDate
+     * @param endDate
+     * @return
+     */
+    @GetMapping("/ztzhl")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R ztzhl(@RequestParam(value = "beginDate",required = true) String beginDate,
+                   @RequestParam(value = "endDate",required = true) String endDate
+    ) {
+
+        Map<String,List<FwjslVo>> resultlist = threeRateService.ztzhl(beginDate,endDate);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    /**
+     * 消缺及时率
+     * @param beginDate
+     * @param endDate
+     * @return
+     */
+    @GetMapping("/xqjsl")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R xqjsl(@RequestParam(value = "beginDate",required = true) String beginDate,
+                   @RequestParam(value = "endDate",required = true) String endDate
+    ) {
+        List<QxjslVo> resultlist = threeRateService.xqjsl(beginDate, endDate);
+        if (StringUtils.isNotNull(resultlist)) {
+            return R.ok((long) resultlist.size()).data(resultlist);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+}

+ 14 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/init/CacheContext.java

@@ -49,6 +49,10 @@ public class CacheContext implements CommandLineRunner {
 
     public static List<Project> projectList = new ArrayList<>();
 
+    public static Map<String,Project> promap = new HashMap<>();
+
+    public static Map<String,List<Project>> wpprojectMap = new HashMap<>();
+
     public static List<Line> lineList = new ArrayList<>();
 
     public static List<Windturbine> wtls = new ArrayList<>();
@@ -84,6 +88,16 @@ public class CacheContext implements CommandLineRunner {
             }
         });
         projectList = projectService.list();
+        projectList.stream().forEach(project->{
+            promap.put(project.getId(),project);
+            if (wpprojectMap.containsKey(project.getWindpowerstationid())){
+                wpprojectMap.get(project.getWindpowerstationid()).add(project);
+            }else{
+                List<Project> pros = new ArrayList<>();
+                pros.add(project);
+                wpprojectMap.put(project.getWindpowerstationid(),pros);
+            }
+        });
         lineList = lineService.list();
 
 

+ 16 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/Alertrule2Mapper.java

@@ -0,0 +1,16 @@
+package com.gyee.gradeevaluation.mapper.auto;
+
+import com.gyee.gradeevaluation.model.auto.Alertrule2;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-06
+ */
+public interface Alertrule2Mapper extends BaseMapper<Alertrule2> {
+
+}

+ 0 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/AlertrulefailureMapper.java


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff