Browse Source

健康统计计算服务

shilin 3 years ago
parent
commit
40a69411a8
100 changed files with 3808 additions and 179 deletions
  1. 28 10
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/mapper/auto/EarlywarningmainMapper.java
  2. 1 1
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/mapper/auto/PartstatisticsmainMapper.java
  3. 13 0
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/mapper/auto/ParttemperaturemainMapper.java
  4. 12 0
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/mapper/auto/ParttemperaturesubMapper.java
  5. 4 5
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Earlywarningmain.java
  6. 1 1
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Earlywarningsub.java
  7. 1 1
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Failurestatisticsmain.java
  8. 1 1
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Partpowerstatticsmain.java
  9. 1 1
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Partpowerstatticssub.java
  10. 1 1
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Partstatisticsmain.java
  11. 2 2
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Partstatisticssub.java
  12. 5 3
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Parttemperaturemain.java
  13. 5 3
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Parttemperaturesub.java
  14. 5 5
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Windturbinetestingpointai.java
  15. 108 74
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/EarlywarningService.java
  16. 467 0
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/PartstatisticsService.java
  17. 421 0
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/ParttemperatureService.java
  18. 3 4
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/IEarlywarningmainService.java
  19. 6 0
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/IPartstatisticsmainService.java
  20. 6 0
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/IParttemperaturemainService.java
  21. 6 0
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/IParttemperaturesubService.java
  22. 7 9
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/impl/EarlywarningmainServiceImpl.java
  23. 17 0
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/impl/PartstatisticsmainServiceImpl.java
  24. 17 0
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/impl/ParttemperaturemainServiceImpl.java
  25. 17 0
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/impl/ParttemperaturesubServiceImpl.java
  26. 52 4
      realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/task/SaticScheduleTask.java
  27. 20 54
      realtime/failurestatistics-server/src/test/java/FailuresTest.java
  28. 108 0
      realtime/healthmodel-server/pom.xml
  29. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/HealthmodelMain.java
  30. 155 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/config/GeneratorCodeConfig.java
  31. 102 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/config/MybatisConfig.java
  32. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/AlarmcountController.java
  33. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/AlarmsnapController.java
  34. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/Alertrule2Controller.java
  35. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/AlertrulefailureController.java
  36. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/AlertrulefailuresubController.java
  37. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/AlertrulesubController.java
  38. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/CurvefittingmainController.java
  39. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/CurvefittingsubController.java
  40. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/HealthcurrencyController.java
  41. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/HealthsystemController.java
  42. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/HealthsystemsubController.java
  43. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/LosspowerrateController.java
  44. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/MismapController.java
  45. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/PartbjcountController.java
  46. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/PartbjcountsubController.java
  47. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/RecommenmainController.java
  48. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/Statejudgmentrecord2Controller.java
  49. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/WindfarmController.java
  50. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/WindturbinebjcountController.java
  51. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/Windturbineinfoday3Controller.java
  52. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/Windturbineinfodaytop2Controller.java
  53. 20 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/WobugeqController.java
  54. 21 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/dataSources/DataSource.java
  55. 79 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/dataSources/DataSourceAspect.java
  56. 50 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/dataSources/DataSourceContextHolder.java
  57. 13 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/dataSources/DataSourceType.java
  58. 28 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/dataSources/DynamicDataSource.java
  59. 212 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/init/CacheContext.java
  60. 211 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/init/Constant.java
  61. 26 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/init/InitialConfig.java
  62. 28 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/AlarmcountMapper.java
  63. 24 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/AlarmsnapMapper.java
  64. 29 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/Alertrule2Mapper.java
  65. 16 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/AlertrulefailureMapper.java
  66. 25 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/AlertrulefailuresubMapper.java
  67. 16 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/AlertrulesubMapper.java
  68. 25 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/CurvefittingmainMapper.java
  69. 28 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/CurvefittingsubMapper.java
  70. 17 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/EquipmentmodelMapper.java
  71. 16 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/HealthcurrencyMapper.java
  72. 26 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/HealthsystemMapper.java
  73. 25 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/HealthsystemsubMapper.java
  74. 17 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/LineMapper.java
  75. 34 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/LosspowerrateMapper.java
  76. 16 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/MismapMapper.java
  77. 42 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/PartbjcountMapper.java
  78. 31 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/PartbjcountsubMapper.java
  79. 31 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/PartstatisticsmainMapper.java
  80. 17 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/ProjectMapper.java
  81. 34 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/RecommenmainMapper.java
  82. 43 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/Statejudgmentrecord2Mapper.java
  83. 16 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindfarmMapper.java
  84. 17 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/Windpowerinfoday3Mapper.java
  85. 17 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindpowerinfodayMapper.java
  86. 17 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindpowerstationMapper.java
  87. 17 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindpowerstationtestingpointMapper.java
  88. 18 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindturbineMapper.java
  89. 24 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindturbineSqlMapper.java
  90. 49 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindturbinebjcountMapper.java
  91. 25 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/Windturbineinfoday3Mapper.java
  92. 26 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/Windturbineinfodaytop2Mapper.java
  93. 17 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindturbinetestingpointaiMapper.java
  94. 17 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindturbinetestingpointdiMapper.java
  95. 27 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WobugeqMapper.java
  96. 44 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/model/auto/Alarmcount.java
  97. 114 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/model/auto/Alarmsnap.java
  98. 80 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/model/auto/Alertrule2.java
  99. 51 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/model/auto/Alertrulefailure.java
  100. 0 0
      realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/model/auto/Alertrulefailuresub.java

File diff suppressed because it is too large
+ 28 - 10
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/mapper/auto/EarlywarningmainMapper.java


File diff suppressed because it is too large
+ 1 - 1
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/mapper/auto/PartstatisticsmainMapper.java


+ 13 - 0
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/mapper/auto/ParttemperaturemainMapper.java

@@ -1,7 +1,13 @@
 package com.gyee.failurestatistics.mapper.auto;
 
 import com.gyee.failurestatistics.model.auto.Parttemperaturemain;
+import com.gyee.failurestatistics.model.auto.Parttemperaturemain;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
 
 /**
  * <p>
@@ -13,4 +19,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ParttemperaturemainMapper extends BaseMapper<Parttemperaturemain> {
 
+
+    @Delete(" delete from Parttemperaturemain where recodedate=#{recodedate} ")
+    public int deleteParttemperaturemain(@Param(value = "recodedate") Date recodedate);
+
+
+    @Insert(" INSERT INTO Parttemperaturemain(id,recodedate,wpid,wtid,wtname,trange,tsnumber) VALUES(#{id,jdbcType=VARCHAR},#{recodedate},#{wpid,jdbcType=VARCHAR},#{wtid,jdbcType=VARCHAR},#{wtname,jdbcType=VARCHAR},#{trange,jdbcType=VARCHAR},#{tsnumber,jdbcType=INTEGER}) ")
+    public int insertParttemperaturemain(Parttemperaturemain parttemperaturemain);
 }

+ 12 - 0
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/mapper/auto/ParttemperaturesubMapper.java

@@ -1,7 +1,13 @@
 package com.gyee.failurestatistics.mapper.auto;
 
 import com.gyee.failurestatistics.model.auto.Parttemperaturesub;
+import com.gyee.failurestatistics.model.auto.Parttemperaturesub;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
 
 /**
  * <p>
@@ -13,4 +19,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ParttemperaturesubMapper extends BaseMapper<Parttemperaturesub> {
 
+    @Delete(" delete from Parttemperaturesub where recodedate=#{recodedate} ")
+    public int deleteParttemperaturesub(@Param(value = "recodedate") Date recodedate);
+
+
+    @Insert(" INSERT INTO Parttemperaturesub(id,recodedate,wpid,wtid,wtname,trange,tsnumber,pointname,partname) VALUES(#{id,jdbcType=VARCHAR},#{recodedate},#{wpid,jdbcType=VARCHAR},#{wtid,jdbcType=VARCHAR},#{wtname,jdbcType=VARCHAR},#{trange,jdbcType=VARCHAR},#{tsnumber,jdbcType=INTEGER},#{pointname,jdbcType=VARCHAR},#{partname,jdbcType=VARCHAR}) ")
+    public int insertParttemperaturesub(Parttemperaturesub parttemperaturesub);
 }

+ 4 - 5
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Earlywarningmain.java

@@ -1,15 +1,14 @@
 package com.gyee.failurestatistics.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 com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
-import java.util.Date;
-
-import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.Date;
+
 /**
  * <p>
  * 

+ 1 - 1
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Earlywarningsub.java

@@ -4,7 +4,7 @@ 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 java.util.Date;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.TableField;

+ 1 - 1
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Failurestatisticsmain.java

@@ -3,7 +3,7 @@ package com.gyee.failurestatistics.model.auto;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.TableField;

+ 1 - 1
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Partpowerstatticsmain.java

@@ -4,7 +4,7 @@ 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 java.util.Date;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.TableField;

+ 1 - 1
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Partpowerstatticssub.java

@@ -4,7 +4,7 @@ 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 java.util.Date;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.TableField;

+ 1 - 1
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Partstatisticsmain.java

@@ -4,7 +4,7 @@ package com.gyee.failurestatistics.model.auto;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.TableField;

+ 2 - 2
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Partstatisticssub.java

@@ -4,7 +4,7 @@ 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 java.util.Date;
 import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -31,7 +31,7 @@ public class Partstatisticssub extends Model {
     private BigDecimal tid;
 
     @TableField("RECODEDATE")
-    private LocalDateTime recodedate;
+    private Date recodedate;
 
     @TableField("WPID")
     private String wpid;

+ 5 - 3
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Parttemperaturemain.java

@@ -4,7 +4,9 @@ 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 java.util.Date;
+import java.util.Date;
+
 import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -28,7 +30,7 @@ public class Parttemperaturemain extends Model {
     private String id;
 
     @TableField("RECODEDATE")
-    private LocalDateTime recodedate;
+    private Date recodedate;
 
     @TableField("WPID")
     private String wpid;
@@ -43,7 +45,7 @@ public class Parttemperaturemain extends Model {
     private String trange;
 
     @TableField("TSNUMBER")
-    private BigDecimal tsnumber;
+    private Integer tsnumber;
 
 
 }

+ 5 - 3
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Parttemperaturesub.java

@@ -4,7 +4,9 @@ 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 java.util.Date;
+import java.util.Date;
+
 import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -28,7 +30,7 @@ public class Parttemperaturesub extends Model {
     private String id;
 
     @TableField("RECODEDATE")
-    private LocalDateTime recodedate;
+    private Date recodedate;
 
     @TableField("WPID")
     private String wpid;
@@ -43,7 +45,7 @@ public class Parttemperaturesub extends Model {
     private String trange;
 
     @TableField("TSNUMBER")
-    private BigDecimal tsnumber;
+    private Integer tsnumber;
 
     @TableField("POINTNAME")
     private String pointname;

+ 5 - 5
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/model/auto/Windturbinetestingpointai.java

@@ -1,6 +1,6 @@
 package com.gyee.failurestatistics.model.auto;
 
-import java.math.BigDecimal;
+
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -47,16 +47,16 @@ public class Windturbinetestingpointai extends Model {
     private String modelid;
 
     @TableField("MAXVAL")
-    private BigDecimal maxval;
+    private Double maxval;
 
     @TableField("MINVAL")
-    private BigDecimal minval;
+    private Double minval;
 
     @TableField("REASONABLEMAXVAL")
-    private BigDecimal reasonablemaxval;
+    private Double reasonablemaxval;
 
     @TableField("REASONABLEMINVAL")
-    private BigDecimal reasonableminval;
+    private Double reasonableminval;
 
     @TableField("WINDTURBINEID")
     private String windturbineid;

+ 108 - 74
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/EarlywarningService.java

@@ -1,7 +1,6 @@
 package com.gyee.failurestatistics.service;
 
 import com.gyee.common.model.StringUtils;
-
 import com.gyee.failurestatistics.init.CacheContext;
 import com.gyee.failurestatistics.model.auto.Earlywarningmain;
 import com.gyee.failurestatistics.model.auto.Earlywarningsub;
@@ -14,9 +13,6 @@ import com.gyee.failurestatistics.vo.ShutdowneventVo;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.Map.Entry;
 
@@ -34,73 +30,111 @@ public class EarlywarningService {
     private IEarlywarningsubService earlywarningsubService;
 
 
+    private final String  ALARMHISTORY="ALARMHISTORY";
     public void saveEarlywarningmain() throws Exception {
 
 
-        Calendar cal = Calendar.getInstance();
-        cal.set(Calendar.HOUR_OF_DAY, 0);
-        cal.set(Calendar.MINUTE, 0);
-        cal.set(Calendar.SECOND, 0);
-        Date endDate = cal.getTime();
-        cal.set(Calendar.DAY_OF_MONTH, -1);
-        Date beginDate = cal.getTime();
-
-        Map<String, List<EventVo>> day1nummap = getCountMap(beginDate, endDate);
-        //Map<String, Map<String, List<ShutdowneventVo>>> day1eventmap = getEventMap(beginDate, endDate);
-        Map<String, Integer> day1ordermap = getCountOrderNum(beginDate, endDate);
-
-        cal = Calendar.getInstance();
-        cal.set(Calendar.HOUR_OF_DAY, 0);
-        cal.set(Calendar.MINUTE, 0);
-        cal.set(Calendar.SECOND, 0);
-        endDate = cal.getTime();
-        cal.set(Calendar.DAY_OF_MONTH, -3);
-        beginDate = cal.getTime();
-
-        Map<String, List<EventVo>> day3nummap = getCountMap(beginDate, endDate);
-        //Map<String, Map<String, List<ShutdowneventVo>>> day3eventmap = getEventMap(beginDate, endDate);
-        Map<String, Integer> day3ordermap = getCountOrderNum(beginDate, endDate);
-        cal = Calendar.getInstance();
-        cal.set(Calendar.HOUR_OF_DAY, 0);
-        cal.set(Calendar.MINUTE, 0);
-        cal.set(Calendar.SECOND, 0);
-        endDate = cal.getTime();
-        cal.set(Calendar.DAY_OF_MONTH, -7);
-        beginDate = cal.getTime();
-        Map<String, List<EventVo>> day7nummap = getCountMap(beginDate, endDate);
-        //Map<String, Map<String, List<ShutdowneventVo>>> day7eventmap = getEventMap(beginDate, endDate);
-        Map<String, Integer> day7ordermap = getCountOrderNum(beginDate, endDate);
-        cal = Calendar.getInstance();
-        cal.set(Calendar.HOUR_OF_DAY, 0);
-        cal.set(Calendar.MINUTE, 0);
-        cal.set(Calendar.SECOND, 0);
-        endDate = cal.getTime();
-        cal.set(Calendar.DAY_OF_MONTH, -15);
-        beginDate = cal.getTime();
-        Map<String, List<EventVo>> day15nummap = getCountMap(beginDate, endDate);
-        //Map<String, Map<String, List<ShutdowneventVo>>> day15eventmap = getEventMap(beginDate, endDate);
-        Map<String, Integer> day15ordermap = getCountOrderNum(beginDate, endDate);
-        cal = Calendar.getInstance();
-        cal.set(Calendar.HOUR_OF_DAY, 0);
-        cal.set(Calendar.MINUTE, 0);
-        cal.set(Calendar.SECOND, 0);
-        endDate = cal.getTime();
-        cal.set(Calendar.MONTH, -1);
-        beginDate = cal.getTime();
-        Map<String, List<EventVo>> month1nummap = getCountMap(beginDate, endDate);
-        //	Map<String, Map<String, List<ShutdowneventVo>>> month1eventmap = getEventMap(beginDate, endDate);
-        Map<String, Integer> month1ordermap = getCountOrderNum(beginDate, endDate);
-
-
-
-
-        cal = Calendar.getInstance();
-        cal.set(Calendar.HOUR_OF_DAY, 0);
-        cal.set(Calendar.MINUTE, 0);
-        cal.set(Calendar.SECOND, 0);
+
         for (Windpowerstation wp : CacheContext.wpls) {
             if (wp.getId().endsWith("FDC")) {
 
+                String wpname=wp.getId().substring(0,wp.getId().indexOf("_"));
+                StringBuilder alerthistory1=new StringBuilder(ALARMHISTORY).append("_").append(wpname).append("_");
+                StringBuilder alerthistory2=new StringBuilder(ALARMHISTORY).append("_").append(wpname).append("_");
+
+                Calendar cal = Calendar.getInstance();
+                cal.set(Calendar.HOUR_OF_DAY, 0);
+                cal.set(Calendar.MINUTE, 0);
+                cal.set(Calendar.SECOND, 0);
+
+                int year=cal.get(Calendar.YEAR);
+                int month=cal.get(Calendar.MONTH)+1;
+
+                alerthistory2.append(year);
+                if(month<10)
+                {
+                    alerthistory2.append("0").append(month);
+                }else
+                {
+                    alerthistory2.append(month);
+                }
+                cal.add(Calendar.MONTH, -1);
+
+                year=cal.get(Calendar.YEAR);
+                month=cal.get(Calendar.MONTH)+1;
+                alerthistory1.append(year);
+                if(month<10)
+                {
+                    alerthistory1.append("0").append(month);
+                }else
+                {
+                    alerthistory1.append(month);
+                }
+
+
+                cal = Calendar.getInstance();
+                cal.set(Calendar.HOUR_OF_DAY, 0);
+                cal.set(Calendar.MINUTE, 0);
+                cal.set(Calendar.SECOND, 0);
+                Date endDate = cal.getTime();
+                cal.set(Calendar.DAY_OF_MONTH, -1);
+                Date beginDate = cal.getTime();
+
+                Map<String, List<EventVo>> day1nummap = getCountMap(String.valueOf(alerthistory1),String.valueOf(alerthistory2),beginDate, endDate);
+                //Map<String, Map<String, List<ShutdowneventVo>>> day1eventmap = getEventMap(beginDate, endDate);
+                Map<String, Integer> day1ordermap = getCountOrderNum(String.valueOf(alerthistory1),String.valueOf(alerthistory2),beginDate, endDate);
+
+                cal = Calendar.getInstance();
+                cal.set(Calendar.HOUR_OF_DAY, 0);
+                cal.set(Calendar.MINUTE, 0);
+                cal.set(Calendar.SECOND, 0);
+                endDate = cal.getTime();
+                cal.set(Calendar.DAY_OF_MONTH, -3);
+                beginDate = cal.getTime();
+
+                Map<String, List<EventVo>> day3nummap = getCountMap(String.valueOf(alerthistory1),String.valueOf(alerthistory2),beginDate, endDate);
+                //Map<String, Map<String, List<ShutdowneventVo>>> day3eventmap = getEventMap(beginDate, endDate);
+                Map<String, Integer> day3ordermap = getCountOrderNum(String.valueOf(alerthistory1),String.valueOf(alerthistory2),beginDate, endDate);
+                cal = Calendar.getInstance();
+                cal.set(Calendar.HOUR_OF_DAY, 0);
+                cal.set(Calendar.MINUTE, 0);
+                cal.set(Calendar.SECOND, 0);
+                endDate = cal.getTime();
+                cal.set(Calendar.DAY_OF_MONTH, -7);
+                beginDate = cal.getTime();
+                Map<String, List<EventVo>> day7nummap = getCountMap(String.valueOf(alerthistory1),String.valueOf(alerthistory2),beginDate, endDate);
+                //Map<String, Map<String, List<ShutdowneventVo>>> day7eventmap = getEventMap(beginDate, endDate);
+                Map<String, Integer> day7ordermap = getCountOrderNum(String.valueOf(alerthistory1),String.valueOf(alerthistory2),beginDate, endDate);
+                cal = Calendar.getInstance();
+                cal.set(Calendar.HOUR_OF_DAY, 0);
+                cal.set(Calendar.MINUTE, 0);
+                cal.set(Calendar.SECOND, 0);
+                endDate = cal.getTime();
+                cal.set(Calendar.DAY_OF_MONTH, -15);
+                beginDate = cal.getTime();
+                Map<String, List<EventVo>> day15nummap = getCountMap(String.valueOf(alerthistory1),String.valueOf(alerthistory2),beginDate, endDate);
+                //Map<String, Map<String, List<ShutdowneventVo>>> day15eventmap = getEventMap(beginDate, endDate);
+                Map<String, Integer> day15ordermap = getCountOrderNum(String.valueOf(alerthistory1),String.valueOf(alerthistory2),beginDate, endDate);
+                cal = Calendar.getInstance();
+                cal.set(Calendar.HOUR_OF_DAY, 0);
+                cal.set(Calendar.MINUTE, 0);
+                cal.set(Calendar.SECOND, 0);
+                endDate = cal.getTime();
+                cal.set(Calendar.MONTH, -1);
+                beginDate = cal.getTime();
+                Map<String, List<EventVo>> month1nummap = getCountMap(String.valueOf(alerthistory1),String.valueOf(alerthistory2),beginDate, endDate);
+                //	Map<String, Map<String, List<ShutdowneventVo>>> month1eventmap = getEventMap(beginDate, endDate);
+                Map<String, Integer> month1ordermap = getCountOrderNum(String.valueOf(alerthistory1),String.valueOf(alerthistory2),beginDate, endDate);
+
+
+
+
+                cal = Calendar.getInstance();
+                cal.set(Calendar.HOUR_OF_DAY, 0);
+                cal.set(Calendar.MINUTE, 0);
+                cal.set(Calendar.SECOND, 0);
+
+
                 System.out.println("开始统计"+wp.getName()+"预警排名和次数统计");
                 List<Windturbine> wtls = CacheContext.wtsmap.get(wp.getId());
                 Map<String, Integer> synthesistopordermap =getSynthesistopOrderNum(wtls,day1ordermap, day3ordermap, day7ordermap, day15ordermap, month1ordermap);
@@ -362,15 +396,15 @@ public class EarlywarningService {
      * @return
      */
     @SuppressWarnings({ "unchecked", "rawtypes" })
-    public Map<String, List<EventVo>> getCountMap(Date beginDate, Date endDate) {
+    public Map<String, List<EventVo>> getCountMap(String alerthistory1,String alerthistory2,Date beginDate, Date endDate) {
 
 
         Map<String, List<EventVo>> map = new HashMap<String, List<EventVo>>();
 
-        if (StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate)) {
+        if (StringUtils.notEmp(alerthistory1) && StringUtils.notEmp(alerthistory2) && StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate)) {
 
 
-            List<EventVo> list =earlywarningmainService.getCountMap(beginDate, endDate);
+            List<EventVo> list =earlywarningmainService.getCountMap(alerthistory1,alerthistory2,beginDate, endDate);
 
             if (!list.isEmpty()) {
                 for (EventVo vo : list) {
@@ -400,14 +434,14 @@ public class EarlywarningService {
      * @return
      */
     @SuppressWarnings({ "unchecked", "rawtypes" })
-    public Map<String, Integer> getCountOrderNum(Date beginDate, Date endDate) {
+    public Map<String, Integer> getCountOrderNum(String alerthistory1,String alerthistory2,Date beginDate, Date endDate) {
 
 
         Map<String, Integer> map = new HashMap<String, Integer>();
 
-        if (StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate)) {
+        if (StringUtils.notEmp(alerthistory1) && StringUtils.notEmp(alerthistory2) && StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate)) {
 
-            List<EventVo> list = earlywarningmainService.getCountOrderNum(beginDate, endDate);
+            List<EventVo> list = earlywarningmainService.getCountOrderNum(alerthistory1,alerthistory2,beginDate, endDate);
 
             if (!list.isEmpty()) {
                 String wpId = list.get(0).getWpId();
@@ -508,15 +542,15 @@ public class EarlywarningService {
      * @return
      */
     @SuppressWarnings({ "unchecked", "rawtypes" })
-    public Map<String, Map<String, List<ShutdowneventVo>>> getEventMap(Date beginDate, Date endDate) {
+    public Map<String, Map<String, List<ShutdowneventVo>>> getEventMap(String alerthistory1,String alerthistory2,Date beginDate, Date endDate) {
 
 
         Map<String, Map<String, List<ShutdowneventVo>>> map = new HashMap<String, Map<String, List<ShutdowneventVo>>>();
 
-        if (StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate)) {
+        if (StringUtils.notEmp(alerthistory1) && StringUtils.notEmp(alerthistory2) && StringUtils.notEmp(beginDate) && StringUtils.notEmp(endDate)) {
 
 
-            List<ShutdowneventVo> list = earlywarningmainService.getEventMap(beginDate, endDate);
+            List<ShutdowneventVo> list = earlywarningmainService.getEventMap(alerthistory1,alerthistory2,beginDate, endDate);
 
             if (!list.isEmpty()) {
                 for (ShutdowneventVo vo : list) {

+ 467 - 0
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/PartstatisticsService.java

@@ -0,0 +1,467 @@
+package com.gyee.failurestatistics.service;
+
+import com.gyee.common.model.PointData;
+import com.gyee.common.model.StringUtils;
+import com.gyee.failurestatistics.init.CacheContext;
+import com.gyee.failurestatistics.init.Constant;
+import com.gyee.failurestatistics.model.auto.*;
+import com.gyee.failurestatistics.service.auto.IPartstatisticsmainService;
+import com.gyee.failurestatistics.service.auto.IPartpowerstatticssubService;
+import com.gyee.failurestatistics.util.DateUtils;
+import com.gyee.failurestatistics.util.realtimesource.EdosUtil;
+import com.gyee.failurestatistics.util.realtimesource.IEdosUtil;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.Map.Entry;
+
+/**
+ * @ClassName : PartstatisticsService
+ * @Description : 部件健康状态统计service
+ */
+@Service
+public class PartstatisticsService {
+
+    private IEdosUtil ednaApiUtil = new EdosUtil();
+    @Resource
+    private IPartstatisticsmainService partstatisticsmainService;
+
+
+    private final String DAY1NUM ="day1num";
+    private final String DAY3NUM ="day3num";
+    private final String DAY7NUM ="day7num";
+    private final String DAY15NUM ="day15num";
+    private final String MONTH1NUM ="month1num";
+    private final String SYNTHESISNUM ="synthesisnum";
+
+//	private final long STEP = 900*2;
+//	private final int DAYSTEP = 96/2;
+
+    private final long STEP = 900;
+    private final int DAYSTEP = 96;
+
+
+    SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
+    SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+
+    public void deletePartstatisticsmain(Date recodedate) {
+        partstatisticsmainService.deletePartstatisticsmain(recodedate);
+    }
+
+    private void getPartTargetValue(Windturbine wt,String code, Date endDate, Date beginDate,long daynum,  Map<String, Windturbinetestingpointai> map,Map<String,Map<String,Integer>> partmap) throws Exception {
+
+        Map<String,Integer> resultmap=new HashMap<String,Integer>();
+
+        if(map.containsKey(code))
+        {
+            Windturbinetestingpointai point = map.get(code);
+
+            List<PointData> pointls = ednaApiUtil.getHistoryDatasSnap(point, beginDate.getTime() / 1000, endDate.getTime() / 1000, (long) (daynum * DAYSTEP), STEP);
+
+            if (!pointls.isEmpty()) {
+                int i=0;
+
+                int number=0;
+                for(PointData pd:pointls)
+                {
+
+                    if(pd.getPointValueInDouble()==4)
+                    {
+                        number++;
+                    }
+
+                    i++;
+
+                    switch (i) {
+                        case DAYSTEP:
+                            resultmap.put(DAY1NUM, number);
+                            break;
+                        case DAYSTEP*3:
+                            resultmap.put(DAY3NUM, number);
+                            break;
+                        case DAYSTEP*7:
+                            resultmap.put(DAY7NUM, number);
+                            break;
+                        case DAYSTEP*15:
+                            resultmap.put(DAY15NUM, number);
+                            break;
+                        default:
+                            break;
+                    }
+                }
+
+                resultmap.put(MONTH1NUM, number);
+            }else
+            {
+                resultmap.put(DAY1NUM, 0);
+                resultmap.put(DAY3NUM, 0);
+                resultmap.put(DAY7NUM, 0);
+                resultmap.put(DAY15NUM, 0);
+                resultmap.put(MONTH1NUM, 0);
+            }
+        }else
+        {
+            resultmap.put(DAY1NUM, 0);
+            resultmap.put(DAY3NUM, 0);
+            resultmap.put(DAY7NUM, 0);
+            resultmap.put(DAY15NUM, 0);
+            resultmap.put(MONTH1NUM, 0);
+        }
+
+        partmap.put(wt.getId(), resultmap);
+    }
+
+    public void savePartstatisticsmain() throws Exception {
+
+        Calendar cal = Calendar.getInstance();
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.SECOND, 0);
+        Date endDate = cal.getTime();
+        cal.add(Calendar.MONTH, -1);
+        Date beginDate = cal.getTime();
+
+        int daynum = DateUtils.daysDiff(beginDate, endDate);
+        for (Windpowerstation wp : CacheContext.wpls) {
+            if (wp.getId().endsWith("FDC")) {
+
+                System.out.println("开始统计" + wp.getName() + "部件健康状况和故障数量统计");
+                List<Windturbine> wtls = CacheContext.wtsmap.get(wp.getId());
+
+                Map<String, Map<String, Integer>> clxmap = new HashMap<String, Map<String, Integer>>();
+                Map<String, Map<String, Integer>> fdjxmap = new HashMap<String, Map<String, Integer>>();
+                Map<String, Map<String, Integer>> bjmap = new HashMap<String, Map<String, Integer>>();
+                Map<String, Map<String, Integer>> zkxmap = new HashMap<String, Map<String, Integer>>();
+
+                for (Windturbine wt : wtls) {
+
+                    Map<String, Windturbinetestingpointai> map = CacheContext.wtpAimap.get(wt.getId());
+
+                    getPartTargetValue(wt, Constant.CLXJKZT, endDate, beginDate, daynum, map,clxmap);
+                    getPartTargetValue(wt, Constant.FDJJKZT, endDate, beginDate, daynum, map,fdjxmap);
+                    getPartTargetValue(wt, Constant.BJJKZT, endDate, beginDate, daynum, map,bjmap);
+                    getPartTargetValue(wt, Constant.ZKJKZT, endDate, beginDate, daynum, map,zkxmap);
+
+                }
+
+                Map<String, Map<String, Integer>> ordermap = new HashMap<String, Map<String, Integer>>();
+
+
+                setPartOrderMap(clxmap,fdjxmap,bjmap,zkxmap, ordermap, wtls);
+
+
+                cal = Calendar.getInstance();
+                cal.set(Calendar.HOUR_OF_DAY, 0);
+                cal.set(Calendar.MINUTE, 0);
+                cal.set(Calendar.SECOND, 0);
+                for (Windturbine wt : wtls) {
+
+                    Partstatisticsmain po = new Partstatisticsmain();
+
+                    po.setId(StringUtils.getUUID());
+                    po.setWpid(wp.getId());
+                    po.setWpname(wp.getName());
+                    po.setWtid(wt.getId());
+                    po.setWtname(wt.getName());
+                    po.setRecodedate(cal.getTime());
+
+
+                    /*********************************************************************************/
+                    po.setDay1clx(clxmap.get(wt.getId()).get(DAY1NUM));
+                    po.setDay1fdj(fdjxmap.get(wt.getId()).get(DAY1NUM));
+                    po.setDay1bj(bjmap.get(wt.getId()).get(DAY1NUM));
+                    po.setDay1zk(zkxmap.get(wt.getId()).get(DAY1NUM));
+                    po.setDay1bpq(0);
+                    po.setDay1ph(0);
+                    po.setDay1zz(0);
+                    po.setDay1jc(0);
+
+                    po.setDay1clxname("严重");
+                    po.setDay1fdjname("严重");
+                    po.setDay1bjname("严重");
+                    po.setDay1zkname("严重");
+                    po.setDay1bpqname("严重");
+                    po.setDay1phname("严重");
+                    po.setDay1zzname("严重");
+                    po.setDay1jcname("严重");
+
+                    po.setDay1topnum(ordermap.get(wt.getId()).get(DAY1NUM));
+
+                    /*********************************************************************************/
+                    po.setDay3clx(clxmap.get(wt.getId()).get(DAY3NUM));
+                    po.setDay3fdj(fdjxmap.get(wt.getId()).get(DAY3NUM));
+                    po.setDay3bj(bjmap.get(wt.getId()).get(DAY3NUM));
+                    po.setDay3zk(zkxmap.get(wt.getId()).get(DAY3NUM));
+                    po.setDay3bpq(0);
+                    po.setDay3ph(0);
+                    po.setDay3zz(0);
+                    po.setDay3jc(0);
+
+                    po.setDay3clxname("严重");
+                    po.setDay3fdjname("严重");
+                    po.setDay3bjname("严重");
+                    po.setDay3zkname("严重");
+                    po.setDay3bpqname("严重");
+                    po.setDay3phname("严重");
+                    po.setDay3zzname("严重");
+                    po.setDay3jcname("严重");
+
+                    po.setDay3topnum(ordermap.get(wt.getId()).get(DAY3NUM));
+
+                    /*********************************************************************************/
+                    po.setDay7clx(clxmap.get(wt.getId()).get(DAY7NUM));
+                    po.setDay7fdj(fdjxmap.get(wt.getId()).get(DAY7NUM));
+                    po.setDay7bj(bjmap.get(wt.getId()).get(DAY7NUM));
+                    po.setDay7zk(zkxmap.get(wt.getId()).get(DAY7NUM));
+                    po.setDay7bpq(0);
+                    po.setDay7ph(0);
+                    po.setDay7zz(0);
+                    po.setDay7jc(0);
+
+                    po.setDay7clxname("严重");
+                    po.setDay7fdjname("严重");
+                    po.setDay7bjname("严重");
+                    po.setDay7zkname("严重");
+                    po.setDay7bpqname("严重");
+                    po.setDay7phname("严重");
+                    po.setDay7zzname("严重");
+                    po.setDay7jcname("严重");
+
+                    po.setDay7topnum(ordermap.get(wt.getId()).get(DAY7NUM));
+
+                    /*********************************************************************************/
+                    po.setDay15clx(clxmap.get(wt.getId()).get(DAY15NUM));
+                    po.setDay15fdj(fdjxmap.get(wt.getId()).get(DAY15NUM));
+                    po.setDay15bj(bjmap.get(wt.getId()).get(DAY15NUM));
+                    po.setDay15zk(zkxmap.get(wt.getId()).get(DAY15NUM));
+                    po.setDay15bpq(0);
+                    po.setDay15ph(0);
+                    po.setDay15zz(0);
+                    po.setDay15jc(0);
+
+                    po.setDay15clxname("严重");
+                    po.setDay15fdjname("严重");
+                    po.setDay15bjname("严重");
+                    po.setDay15zkname("严重");
+                    po.setDay15bpqname("严重");
+                    po.setDay15phname("严重");
+                    po.setDay15zzname("严重");
+                    po.setDay15jcname("严重");
+
+                    po.setDay15topnum(ordermap.get(wt.getId()).get(DAY15NUM));
+
+                    /*********************************************************************************/
+                    po.setMonth1clx(clxmap.get(wt.getId()).get(MONTH1NUM));
+                    po.setMonth1fdj(fdjxmap.get(wt.getId()).get(MONTH1NUM));
+                    po.setMonth1bj(bjmap.get(wt.getId()).get(MONTH1NUM));
+                    po.setMonth1zk(zkxmap.get(wt.getId()).get(MONTH1NUM));
+                    po.setMonth1bpq(0);
+                    po.setMonth1ph(0);
+                    po.setMonth1zz(0);
+                    po.setMonth1jc(0);
+
+                    po.setMonth1clxname("严重");
+                    po.setMonth1fdjname("严重");
+                    po.setMonth1bjname("严重");
+                    po.setMonth1zkname("严重");
+                    po.setMonth1bpqname("严重");
+                    po.setMonth1phname("严重");
+                    po.setMonth1zzname("严重");
+                    po.setMonth1jcname("严重");
+
+                    po.setMonth1topnum(ordermap.get(wt.getId()).get(MONTH1NUM));
+
+                    /*********************************************************************************/
+                    po.setSynthesistopnum(ordermap.get(wt.getId()).get(SYNTHESISNUM));
+
+                    /*********************************************************************************/
+
+                    insertPartstatisticsmain(po);
+
+                }
+                System.out.println("结束统计" + wp.getName() + "部件健康状况和故障数量统计");
+
+            }
+
+        }
+
+    }
+
+
+
+    /**
+     * 进行排名分天排名
+     *
+     * @param partordermap
+     */
+    private void setPartOrderMap(Map<String, Map<String, Integer>> clxmap,
+                                 Map<String, Map<String, Integer>> fdjmap,
+                                 Map<String, Map<String, Integer>> bjmap,
+                                 Map<String, Map<String, Integer>> zkmap,
+                                 Map<String, Map<String, Integer>> partordermap,List<Windturbine> wtls) {
+
+
+        Map<String, Integer> day1map=new HashMap<String, Integer>();
+        Map<String, Integer> day3map=new HashMap<String, Integer>();
+        Map<String, Integer> day7map=new HashMap<String, Integer>();
+        Map<String, Integer> day15map=new HashMap<String, Integer>();
+        Map<String, Integer> month1map=new HashMap<String, Integer>();
+
+        /**
+         * 遍历风机集合,将四大部件严重数量合计,将严重状态数量作为value赋值到key为风机编号的不同天数map集合中
+         */
+
+        for (Windturbine wt : wtls) {
+
+            int day1num=clxmap.get(wt.getId()).get(DAY1NUM)+fdjmap.get(wt.getId()).get(DAY1NUM)+
+                    bjmap.get(wt.getId()).get(DAY1NUM)+zkmap.get(wt.getId()).get(DAY1NUM);
+            int day3num=clxmap.get(wt.getId()).get(DAY3NUM)+fdjmap.get(wt.getId()).get(DAY3NUM)+
+                    bjmap.get(wt.getId()).get(DAY3NUM)+zkmap.get(wt.getId()).get(DAY3NUM);
+            int day7num=clxmap.get(wt.getId()).get(DAY7NUM)+fdjmap.get(wt.getId()).get(DAY7NUM)+
+                    bjmap.get(wt.getId()).get(DAY7NUM)+zkmap.get(wt.getId()).get(DAY7NUM);
+            int day15num=clxmap.get(wt.getId()).get(DAY15NUM)+fdjmap.get(wt.getId()).get(DAY15NUM)+
+                    bjmap.get(wt.getId()).get(DAY15NUM)+zkmap.get(wt.getId()).get(DAY15NUM);
+            int month1num=clxmap.get(wt.getId()).get(MONTH1NUM)+fdjmap.get(wt.getId()).get(MONTH1NUM)+
+                    bjmap.get(wt.getId()).get(MONTH1NUM)+zkmap.get(wt.getId()).get(MONTH1NUM);
+
+            day1map.put(wt.getId(), day1num);
+            day3map.put(wt.getId(), day3num);
+            day7map.put(wt.getId(), day7num);
+            day15map.put(wt.getId(), day15num);
+            month1map.put(wt.getId(), month1num);
+
+
+        }
+        /**
+         * 对不同天数的风机严重状况map进分类排序
+         */
+        day1map=getMapOrder(day1map);
+        day3map=getMapOrder(day3map);
+        day7map=getMapOrder(day7map);
+        day15map=getMapOrder(day15map);
+        month1map=getMapOrder(month1map);
+        /**
+         * 进行不同天数的综合排名
+         */
+        Map<String, Integer> synthesistopummap=getSynthesistopOrderNum(wtls,day1map,day3map,day7map,day15map,month1map );
+
+        /**
+         * 将排名结果封装到二级map中
+         *
+         */
+        for (Windturbine wt : wtls) {
+
+            Map<String, Integer> map=new HashMap<String, Integer>();
+            map.put(DAY1NUM, day1map.get(wt.getId()));
+            map.put(DAY3NUM, day3map.get(wt.getId()));
+            map.put(DAY7NUM, day7map.get(wt.getId()));
+            map.put(DAY15NUM, day15map.get(wt.getId()));
+            map.put(MONTH1NUM, month1map.get(wt.getId()));
+            map.put(SYNTHESISNUM, synthesistopummap.get(wt.getId()));
+            partordermap.put(wt.getId(), map);
+        }
+    }
+
+    private Map<String, Integer> getMapOrder(Map<String, Integer> map) {
+        // 这里将map.entrySet()转换成list
+        List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
+        // 然后通过比较器来实现排序
+        Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
+            // 升序排序
+            public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
+                return o1.getValue().compareTo(o2.getValue());
+            }
+
+        });
+        map = new TreeMap<String, Integer>();
+        int i = 1;
+        for (Map.Entry<String, Integer> mapping : list) {
+            // System.out.println(mapping.getKey()+":"+mapping.getValue());
+            map.put(mapping.getKey(), i);
+            i++;
+        }
+        return map;
+    }
+
+
+    /**
+     * 风机编号》Integer 获得统计综合排名顺序号
+     *
+     * @return
+     */
+
+    public Map<String, Integer> getSynthesistopOrderNum(List<Windturbine> wtls, Map<String, Integer> day1ordermap, Map<String, Integer> day3ordermap, Map<String, Integer> day7ordermap, Map<String, Integer> day15ordermap, Map<String, Integer> month1ordermap) {
+
+        Map<String, Integer> synthesistopordermap = new TreeMap<String, Integer>();
+
+        if (StringUtils.notEmp(wtls) && !wtls.isEmpty() && StringUtils.notEmp(day3ordermap) && StringUtils.notEmp(day7ordermap) && StringUtils.notEmp(day15ordermap) && StringUtils.notEmp(month1ordermap)) {
+            for (Windturbine wt : wtls) {
+                int day1 = 0;
+                int day3 = 0;
+                int day7 = 0;
+                int day15 = 0;
+                int month1 = 0;
+
+                if (day1ordermap.containsKey(wt.getId())) {
+                    day1 = day1ordermap.get(wt.getId());
+                } else {
+                    day1 = wtls.size();
+                }
+                if (day3ordermap.containsKey(wt.getId())) {
+                    day3 = day3ordermap.get(wt.getId());
+                } else {
+                    day3 = wtls.size();
+                }
+
+                if (day7ordermap.containsKey(wt.getId())) {
+                    day7 = day7ordermap.get(wt.getId());
+                } else {
+                    day7 = wtls.size();
+                }
+
+                if (day15ordermap.containsKey(wt.getId())) {
+                    day15 = day15ordermap.get(wt.getId());
+                } else {
+                    day15 = wtls.size();
+                }
+
+                if (month1ordermap.containsKey(wt.getId())) {
+                    month1 = month1ordermap.get(wt.getId());
+                } else {
+                    month1 = wtls.size();
+                }
+                synthesistopordermap.put(wt.getId(), day1 + day3 + day7 + day15 + month1);
+            }
+        }
+
+        // 这里将map.entrySet()转换成list
+        List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(synthesistopordermap.entrySet());
+        // 然后通过比较器来实现排序
+        Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
+            // 升序排序
+            public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
+                return o1.getValue().compareTo(o2.getValue());
+            }
+
+        });
+        synthesistopordermap = new TreeMap<String, Integer>();
+        int i = 1;
+        for (Map.Entry<String, Integer> mapping : list) {
+            // System.out.println(mapping.getKey()+":"+mapping.getValue());
+            synthesistopordermap.put(mapping.getKey(), i);
+            i++;
+        }
+        return synthesistopordermap;
+    }
+
+
+    public int insertPartstatisticsmain(Partstatisticsmain po) {
+
+        return partstatisticsmainService.insertPartstatisticsmain(po);
+    }
+}

+ 421 - 0
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/ParttemperatureService.java

@@ -0,0 +1,421 @@
+package com.gyee.failurestatistics.service;
+
+import com.gyee.common.model.PointData;
+import com.gyee.common.model.StringUtils;
+import com.gyee.failurestatistics.init.CacheContext;
+import com.gyee.failurestatistics.init.Constant;
+import com.gyee.failurestatistics.model.auto.*;
+import com.gyee.failurestatistics.service.auto.IParttemperaturemainService;
+import com.gyee.failurestatistics.service.auto.IParttemperaturesubService;
+import com.gyee.failurestatistics.util.DateUtils;
+import com.gyee.failurestatistics.util.realtimesource.EdosUtil;
+import com.gyee.failurestatistics.util.realtimesource.IEdosUtil;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.Map.Entry;
+
+/**
+ * @ClassName : ParttemperatureService
+ * @Description : 部件温度统计service
+ */
+@Service
+public class ParttemperatureService {
+
+    private IEdosUtil ednaApiUtil = new EdosUtil();
+    @Resource
+    private IParttemperaturemainService parttemperaturemainService;
+    @Resource
+    private IParttemperaturesubService parttemperaturesubService;
+    private final long STEP = 900;
+    private final long DAYSTEP = 96;
+
+    SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
+    SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+
+    private String CLXSRZYW1 = "AI038";// 齿轮箱输入轴油温1
+    private String CLXSRZYW2 = "AI039";// 齿轮箱输入轴油温2
+    private String CLXRKYW = "AI040";// 齿轮箱入口温度
+    private String CLXYW = "AI041";// 齿轮箱油温
+
+    private String FDJZCWDA = "AI052";// 发电机轴承温度A
+    private String FDJZCWDB = "AI053";// 发电机轴承温度B
+    private String FDJUXYZWD = "AI045";// 发电机U相绕组温度
+    private String FDJVXYZWD = "AI047";// 发电机V相绕组温度
+    private String FDJWXYZWD = "AI049";// 发电机W相绕组温度
+    private String FDJLQFWD = "AI054";// 发电机冷却风温度
+
+    private String BJDRQWD = "AI113";// 变浆电容器温度
+    private String BJDRDY = "AI236";// 变浆电容温度
+    private String BJDLQWD = "AI239";// 变浆电流器温度
+    private String BJDJWD = "AI242";// 电机温度
+    private String BJKZGWD = "AI233";// 变浆控制柜温度
+
+    private String TDGWD = "AI069";// 塔底柜温度
+    private String TDJGWD = "AI070";// 塔顶机柜温度
+
+    public void deleteParttemperaturemain(Date recodedate) {
+        parttemperaturemainService.deleteParttemperaturemain(recodedate);
+    }
+
+    
+
+    public int insertParttemperaturemain(Parttemperaturemain po) {
+
+        return parttemperaturemainService.insertParttemperaturemain(po);
+    }
+
+    public void saveParttemperaturestattics() throws Exception {
+
+        System.out.println("开始统计温度对应部件指标统计");
+
+        Calendar cal = Calendar.getInstance();
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.SECOND, 0);
+        Date endDate = cal.getTime();
+        cal.add(Calendar.DAY_OF_MONTH, -1);
+        Date beginDate = cal.getTime();
+
+        List<String> codels = new ArrayList<String>();
+        Map<String, String> codeParentmap = new HashMap<String, String>();
+        Map<String, String> codenamemap = new HashMap<String, String>();
+
+        initialCodeValue(codels, codeParentmap, codenamemap);
+
+        cal.add(Calendar.DAY_OF_MONTH, 1);
+
+        deleteParttemperaturemain(cal.getTime());
+        for (Windpowerstation wp : CacheContext.wpls) {
+            if (wp.getId().endsWith("FDC")) {
+
+                List<Windturbine> wtls = CacheContext.wtsmap.get(wp.getId());
+
+                // 初始化当日数据
+                statticsData(cal,endDate, beginDate, wtls,codeParentmap, codenamemap);
+
+
+            }
+
+        }
+
+        System.out.println("结束统计温度对应部件指标统计");
+
+    }
+
+
+    private void statticsData(Calendar cal,Date endDate, Date beginDate, List<Windturbine> wtls,Map<String, String> codeParentmap,Map<String, String> codenamemap) throws Exception {
+
+
+
+        for (Windturbine wt : wtls) {
+
+            Map<String, Windturbinetestingpointai> map = CacheContext.wtpAimap.get(wt.getId());
+
+
+            Map<String, Double> wdmap = getWdValue(wt, Constant.TPOINT_WT_JCWD, endDate, beginDate, map);
+
+
+            Map<String, Double> cLXSRZYW1map = getPartTargetValue(wt, CLXSRZYW1, endDate, beginDate, map);
+            Map<String, Double> cLXSRZYW2map = getPartTargetValue(wt, CLXSRZYW2, endDate, beginDate, map);
+            Map<String, Double> cLXRKYWmap = getPartTargetValue(wt, CLXRKYW, endDate, beginDate, map);
+            Map<String, Double> cLXYWmap = getPartTargetValue(wt, CLXYW, endDate, beginDate, map);
+
+            Map<String, Double> fDJZCWDAmap = getPartTargetValue(wt, FDJZCWDA, endDate, beginDate, map);
+            Map<String, Double> fDJZCWDBmap = getPartTargetValue(wt, FDJZCWDB, endDate, beginDate, map);
+            Map<String, Double> fDJUXYZWDmap = getPartTargetValue(wt, FDJUXYZWD, endDate, beginDate, map);
+            Map<String, Double> fDJVXYZWDmap = getPartTargetValue(wt, FDJVXYZWD, endDate, beginDate, map);
+            Map<String, Double> fDJWXYZWDmap = getPartTargetValue(wt, FDJWXYZWD, endDate, beginDate, map);
+            Map<String, Double> fDJLQFWDmap = getPartTargetValue(wt, FDJLQFWD, endDate, beginDate, map);
+
+            Map<String, Double> bJDRQWDmap = getPartTargetValue(wt, BJDRQWD, endDate, beginDate, map);
+            Map<String, Double> bJDRDYmap = getPartTargetValue(wt, BJDRDY, endDate, beginDate, map);
+            Map<String, Double> bJDLQWDmap = getPartTargetValue(wt, BJDLQWD, endDate, beginDate, map);
+            Map<String, Double> bJDJWDmap = getPartTargetValue(wt, BJDJWD, endDate, beginDate, map);
+            Map<String, Double> bJKZGWDmap = getPartTargetValue(wt, BJKZGWD, endDate, beginDate, map);
+
+            Map<String, Double> tDGWDmap = getPartTargetValue(wt, TDGWD, endDate, beginDate, map);
+            Map<String, Double> tDJGWDmap = getPartTargetValue(wt, TDJGWD, endDate, beginDate, map);
+
+
+            Map<String, Map<String, Integer>> pointmap =new HashMap<>();
+            if (!wdmap.isEmpty()  ) {
+
+                Set<Map.Entry<String, Double>> wdset = wdmap.entrySet();
+                //按照温度区间》测点》统计数量
+                for (Iterator<Map.Entry<String, Double>> wdit = wdset.iterator(); wdit.hasNext();) {
+
+                    Map.Entry<String, Double> wdentry = (Map.Entry<String, Double>) wdit.next();
+
+
+                    setPointValues(CLXSRZYW1, cLXSRZYW1map, pointmap, wdentry);
+                    setPointValues(CLXSRZYW2, cLXSRZYW2map, pointmap, wdentry);
+                    setPointValues(CLXRKYW, cLXRKYWmap, pointmap, wdentry);
+                    setPointValues(CLXYW, cLXYWmap, pointmap, wdentry);
+
+                    setPointValues(FDJZCWDA, fDJZCWDAmap, pointmap, wdentry);
+                    setPointValues(FDJZCWDB, fDJZCWDBmap, pointmap, wdentry);
+                    setPointValues(FDJUXYZWD, fDJUXYZWDmap, pointmap, wdentry);
+                    setPointValues(FDJVXYZWD, fDJVXYZWDmap, pointmap, wdentry);
+                    setPointValues(FDJWXYZWD, fDJWXYZWDmap, pointmap, wdentry);
+                    setPointValues(FDJLQFWD, fDJLQFWDmap, pointmap, wdentry);
+
+                    setPointValues(BJDRQWD, bJDRQWDmap, pointmap, wdentry);
+                    setPointValues(BJDRDY, bJDRDYmap, pointmap, wdentry);
+                    setPointValues(BJDLQWD, bJDLQWDmap, pointmap, wdentry);
+                    setPointValues(BJDJWD, bJDJWDmap, pointmap, wdentry);
+                    setPointValues(BJKZGWD, bJKZGWDmap, pointmap, wdentry);
+
+                    setPointValues(TDGWD, tDGWDmap, pointmap, wdentry);
+                    setPointValues(TDJGWD, tDJGWDmap, pointmap, wdentry);
+                }
+
+
+                Set<Map.Entry<String, Map<String, Integer>>> pointset = pointmap.entrySet();
+                //按照温度区间》测点》统计数量
+                for (Iterator<Map.Entry<String, Map<String, Integer>>> pointit = pointset.iterator(); pointit.hasNext();) {
+
+                    Map.Entry<String, Map<String, Integer>> pointentry = (Map.Entry<String, Map<String, Integer>>) pointit.next();
+
+                    int num=0;
+                    Parttemperaturemain po = new Parttemperaturemain();
+                    po.setId(StringUtils.getUUID());
+                    po.setWpid(wt.getWindpowerstationid());
+                    po.setWtid(wt.getId());
+                    po.setWtname(wt.getName());
+                    po.setRecodedate(cal.getTime());
+                    po.setTrange(pointentry.getKey());
+
+                    Set<Map.Entry<String, Integer>> pset = pointentry.getValue().entrySet();
+                    //测点》统计数量
+                    for (Iterator<Map.Entry<String, Integer>> pit = pset.iterator(); pit.hasNext();) {
+
+                        Map.Entry<String, Integer> pentry = (Map.Entry<String, Integer>) pit.next();
+                        Parttemperaturesub sub = new Parttemperaturesub();
+                        sub.setId(StringUtils.getUUID());
+                        sub.setWpid(wt.getWindpowerstationid());
+                        sub.setWtid(wt.getId());
+                        sub.setWtname(wt.getName());
+                        sub.setRecodedate(cal.getTime());
+                        sub.setTrange(pointentry.getKey());
+                        sub.setPointname(codenamemap.get(pentry.getKey()));
+                        sub.setPartname(codeParentmap.get(pentry.getKey()));
+                        sub.setTsnumber(pentry.getValue());
+                        num=num+pentry.getValue();
+                        parttemperaturesubService.insertParttemperaturesub(sub);
+                    }
+
+                    po.setTsnumber(num);
+                    insertParttemperaturemain(po);
+                }
+
+
+
+            } else {
+                //System.out.println("初始化当日数据报错!");
+            }
+
+        }
+    }
+
+    private void setPointValues(String code,Map<String, Double> valuemap, Map<String, Map<String, Integer>> pointmap, Map.Entry<String, Double> wdentry) {
+
+        if(StringUtils.notEmp(valuemap))
+        {
+            String wdkey=getPoStringInfo(wdentry.getValue());
+
+            if(pointmap.containsKey(wdkey))
+            {
+                Map<String, Integer> pmap=pointmap.get(wdkey);
+
+                if(pmap.containsKey(code))
+                {
+                    int num=pmap.get(code);
+
+                    num=num+setPointValue(wdentry.getKey(), valuemap);
+                    pmap.put(code, num);
+                    pointmap.put(wdkey, pmap);
+                }else
+                {
+                    int num=0;
+                    num=num+setPointValue(wdentry.getKey(), valuemap);
+                    pmap.put(code, num);
+                    pointmap.put(wdkey, pmap);
+                }
+
+            }else
+            {
+                Map<String, Integer> pmap=new HashMap<>();
+                int num=0;
+                num=num+setPointValue(wdentry.getKey(), valuemap);
+                pmap.put(code, num);
+                pointmap.put(wdkey, pmap);
+            }
+        }
+
+    }
+
+    private String getPoStringInfo(double value) {
+        StringBuilder sb = new StringBuilder();
+        int num =0;
+        int WDSTEP = 5;
+        if (value < 0) {
+            num = (int) value / WDSTEP;
+            sb.append((num - 1) * WDSTEP).append("-").append(num * WDSTEP);
+        } else {
+            num = (int) value / WDSTEP;
+            sb.append(num * WDSTEP).append("-").append((num + 1) * WDSTEP);
+        }
+        return String.valueOf(sb);
+    }
+
+    private void initialCodeValue(List<String> codels, Map<String, String> codeParentmap, Map<String, String> codenamemap) {
+
+        codels.add(CLXSRZYW1);
+        codels.add(CLXSRZYW2);
+        codels.add(CLXRKYW);
+        codels.add(CLXYW);
+
+        codels.add(FDJZCWDA);
+        codels.add(FDJZCWDB);
+        codels.add(FDJUXYZWD);
+        codels.add(FDJVXYZWD);
+        codels.add(FDJWXYZWD);
+        codels.add(FDJLQFWD);
+
+        codels.add(BJDRQWD);
+        codels.add(BJDRDY);
+        codels.add(BJDLQWD);
+        codels.add(BJDJWD);
+        codels.add(BJKZGWD);
+
+        codels.add(TDGWD);
+        codels.add(TDJGWD);
+
+        codeParentmap.put(CLXSRZYW1, "clx");
+        codeParentmap.put(CLXSRZYW2, "clx");
+        codeParentmap.put(CLXRKYW, "clx");
+        codeParentmap.put(CLXYW, "clx");
+
+        codeParentmap.put(FDJZCWDA, "fdj");
+        codeParentmap.put(FDJZCWDB, "fdj");
+        codeParentmap.put(FDJUXYZWD, "fdj");
+        codeParentmap.put(FDJVXYZWD, "fdj");
+        codeParentmap.put(FDJWXYZWD, "fdj");
+        codeParentmap.put(FDJLQFWD, "fdj");
+
+        codeParentmap.put(BJDRQWD, "bj");
+        codeParentmap.put(BJDRDY, "bj");
+        codeParentmap.put(BJDLQWD, "bj");
+        codeParentmap.put(BJDJWD, "bj");
+        codeParentmap.put(BJKZGWD, "bj");
+
+        codeParentmap.put(TDGWD, "zk");
+        codeParentmap.put(TDJGWD, "zk");
+
+        codenamemap.put(CLXSRZYW1, "齿轮箱输入轴油温1");
+        codenamemap.put(CLXSRZYW2, "齿轮箱输入轴油温2");
+        codenamemap.put(CLXRKYW, "齿轮箱入口温度");
+        codenamemap.put(CLXYW, "齿轮箱油温");
+
+        codenamemap.put(FDJZCWDA, "发电机轴承温度A");
+        codenamemap.put(FDJZCWDB, "发电机轴承温度B");
+        codenamemap.put(FDJUXYZWD, "发电机U相绕组温度");
+        codenamemap.put(FDJVXYZWD, "发电机V相绕组温度");
+        codenamemap.put(FDJWXYZWD, "发电机W相绕组温度");
+        codenamemap.put(FDJLQFWD, "发电机冷却风温度");
+
+        codenamemap.put(BJDRQWD, "变浆电容器温度");
+        codenamemap.put(BJDRDY, "变浆电容温度");
+        codenamemap.put(BJDLQWD, "变浆电流器温度");
+        codenamemap.put(BJDJWD, "电机温度");
+        codenamemap.put(BJKZGWD, "变浆控制柜温度");
+
+        codenamemap.put(TDGWD, "塔底柜温度");
+        codenamemap.put(TDJGWD, "塔顶机柜温度");
+    }
+
+    private int setPointValue(String step,Map<String, Double> pointmap) {
+        int num=0;
+        if (pointmap.containsKey(step)) {
+
+            Double value=pointmap.get(step);
+            if(value>0)
+            {
+                num=1;
+            }
+        }
+        return num;
+    }
+
+
+    private Map<String, Double> getPartTargetValue(Windturbine wt, String code, Date endDate, Date beginDate, Map<String, Windturbinetestingpointai> map) throws Exception {
+
+        Map<String, Double> resultmap = new TreeMap<String, Double>();
+
+        if (map.containsKey(code)) {
+            Windturbinetestingpointai point = map.get(code);
+
+            double max=null!=point.getReasonablemaxval()?point.getReasonablemaxval():10000.0;
+            double min=null!=point.getReasonableminval()?point.getReasonableminval():0.0;
+            try {
+                List<PointData> pointls = ednaApiUtil.getHistoryDatasSnap(point, beginDate.getTime() / 1000, endDate.getTime() / 1000, DAYSTEP, STEP);
+
+                if (!pointls.isEmpty()) {
+
+                    for (PointData pd : pointls) {
+                        Date date = DateUtils.parseLongToDate(pd.getPointTime() * 1000);
+                        double value=pd.getPointValueInDouble();
+                        if(value>max || value<min)
+                        {
+                            resultmap.put(df2.format(date), 1.0);
+                        }else
+                        {
+                            resultmap.put(df2.format(date), 0.0);
+                        }
+
+                    }
+
+                }
+            } catch (Exception e) {
+                System.out.println(e.getMessage()+point.getId());
+            }
+
+        }
+
+        return resultmap;
+    }
+
+
+    private Map<String, Double> getWdValue(Windturbine wt, String code, Date endDate, Date beginDate, Map<String, Windturbinetestingpointai> map) throws Exception {
+
+        Map<String, Double> resultmap = new TreeMap<String, Double>();
+
+        if (map.containsKey(code)) {
+            Windturbinetestingpointai point = map.get(code);
+
+            try {
+                List<PointData> pointls = ednaApiUtil.getHistoryDatasSnap(point, beginDate.getTime() / 1000, endDate.getTime() / 1000, DAYSTEP, STEP);
+
+                if (!pointls.isEmpty()) {
+
+                    for (PointData pd : pointls) {
+                        Date date = DateUtils.parseLongToDate(pd.getPointTime() * 1000);
+                        double value=pd.getPointValueInDouble();
+                        resultmap.put(df2.format(date), value);
+                    }
+
+                }
+            } catch (Exception e) {
+                System.out.println(e.getMessage()+point.getId());
+            }
+
+        }
+
+        return resultmap;
+    }
+
+}

+ 3 - 4
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/IEarlywarningmainService.java

@@ -1,6 +1,5 @@
 package com.gyee.failurestatistics.service.auto;
 
-import com.gyee.failurestatistics.model.auto.Earlywarningmain;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.gyee.failurestatistics.model.auto.Earlywarningmain;
 import com.gyee.failurestatistics.vo.EventVo;
@@ -23,9 +22,9 @@ public interface IEarlywarningmainService extends IService<Earlywarningmain> {
 
     public int insertEarlywarningmain(Earlywarningmain earlywarningmain);
 
-    public List<EventVo> getCountMap(Date beginDate, Date endDate);
+    public List<EventVo> getCountMap(String alerthistory1,String alerthistory2, Date beginDate, Date endDate);
 
-    public List<EventVo> getCountOrderNum(Date beginDate, Date endDate);
+    public List<EventVo> getCountOrderNum(String alerthistory1,String alerthistory2,Date beginDate, Date endDate);
 
-    public List<ShutdowneventVo> getEventMap(Date beginDate, Date endDate);
+    public List<ShutdowneventVo> getEventMap(String alerthistory1,String alerthistory2,Date beginDate, Date endDate);
 }

+ 6 - 0
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/IPartstatisticsmainService.java

@@ -1,8 +1,11 @@
 package com.gyee.failurestatistics.service.auto;
 
 import com.gyee.failurestatistics.model.auto.Partstatisticsmain;
+import com.gyee.failurestatistics.model.auto.Partstatisticsmain;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Date;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IPartstatisticsmainService extends IService<Partstatisticsmain> {
 
+    public int deletePartstatisticsmain(Date recodedate);
+
+    public int insertPartstatisticsmain(Partstatisticsmain partstatisticsmain);
 }

+ 6 - 0
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/IParttemperaturemainService.java

@@ -1,8 +1,11 @@
 package com.gyee.failurestatistics.service.auto;
 
 import com.gyee.failurestatistics.model.auto.Parttemperaturemain;
+import com.gyee.failurestatistics.model.auto.Parttemperaturemain;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Date;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IParttemperaturemainService extends IService<Parttemperaturemain> {
 
+    public int deleteParttemperaturemain(Date recodedate);
+
+    public int insertParttemperaturemain(Parttemperaturemain parttemperaturemain);
 }

+ 6 - 0
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/IParttemperaturesubService.java

@@ -1,8 +1,11 @@
 package com.gyee.failurestatistics.service.auto;
 
 import com.gyee.failurestatistics.model.auto.Parttemperaturesub;
+import com.gyee.failurestatistics.model.auto.Parttemperaturesub;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Date;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IParttemperaturesubService extends IService<Parttemperaturesub> {
 
+    public int deleteParttemperaturesub(Date recodedate);
+
+    public int insertParttemperaturesub(Parttemperaturesub parttemperaturesub);
 }

+ 7 - 9
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/impl/EarlywarningmainServiceImpl.java

@@ -1,11 +1,9 @@
 package com.gyee.failurestatistics.service.auto.impl;
 
-import com.gyee.failurestatistics.mapper.auto.EarlywarningmainMapper;
-import com.gyee.failurestatistics.model.auto.Earlywarningmain;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.failurestatistics.mapper.auto.EarlywarningmainMapper;
 import com.gyee.failurestatistics.model.auto.Earlywarningmain;
 import com.gyee.failurestatistics.service.auto.IEarlywarningmainService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.failurestatistics.vo.EventVo;
 import com.gyee.failurestatistics.vo.ShutdowneventVo;
 import org.springframework.stereotype.Service;
@@ -39,17 +37,17 @@ public class EarlywarningmainServiceImpl extends ServiceImpl<EarlywarningmainMap
     }
 
     @Override
-    public List<EventVo> getCountMap(Date beginDate, Date endDate) {
-        return earlywarningmainMapper.getCountMap(beginDate, endDate);
+    public List<EventVo> getCountMap(String alerthistory1,String alerthistory2,Date beginDate, Date endDate) {
+        return earlywarningmainMapper.getCountMap(alerthistory1,alerthistory2,beginDate, endDate);
     }
 
     @Override
-    public List<EventVo> getCountOrderNum(Date beginDate, Date endDate) {
-        return earlywarningmainMapper.getCountOrderNum(beginDate, endDate);
+    public List<EventVo> getCountOrderNum(String alerthistory1,String alerthistory2,Date beginDate, Date endDate) {
+        return earlywarningmainMapper.getCountOrderNum(alerthistory1,alerthistory2,beginDate, endDate);
     }
 
     @Override
-    public List<ShutdowneventVo> getEventMap(Date beginDate, Date endDate) {
-        return earlywarningmainMapper.getEventMap(beginDate, endDate);
+    public List<ShutdowneventVo> getEventMap(String alerthistory1,String alerthistory2,Date beginDate, Date endDate) {
+        return earlywarningmainMapper.getEventMap(alerthistory1,alerthistory2,beginDate, endDate);
     }
 }

+ 17 - 0
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/impl/PartstatisticsmainServiceImpl.java

@@ -1,11 +1,16 @@
 package com.gyee.failurestatistics.service.auto.impl;
 
+import com.gyee.failurestatistics.mapper.auto.PartstatisticsmainMapper;
+import com.gyee.failurestatistics.model.auto.Partstatisticsmain;
 import com.gyee.failurestatistics.model.auto.Partstatisticsmain;
 import com.gyee.failurestatistics.mapper.auto.PartstatisticsmainMapper;
 import com.gyee.failurestatistics.service.auto.IPartstatisticsmainService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +22,16 @@ import org.springframework.stereotype.Service;
 @Service
 public class PartstatisticsmainServiceImpl extends ServiceImpl<PartstatisticsmainMapper, Partstatisticsmain> implements IPartstatisticsmainService {
 
+    @Resource
+    private PartstatisticsmainMapper partstatisticsmainMapper;
+
+    @Override
+    public int deletePartstatisticsmain(Date recodedate) {
+        return  partstatisticsmainMapper.deletePartstatisticsmain(recodedate);
+    }
+
+    @Override
+    public int insertPartstatisticsmain(Partstatisticsmain partstatisticsmain) {
+        return  partstatisticsmainMapper.insertPartstatisticsmain(partstatisticsmain);
+    }
 }

+ 17 - 0
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/impl/ParttemperaturemainServiceImpl.java

@@ -1,11 +1,16 @@
 package com.gyee.failurestatistics.service.auto.impl;
 
+import com.gyee.failurestatistics.mapper.auto.ParttemperaturemainMapper;
+import com.gyee.failurestatistics.model.auto.Parttemperaturemain;
 import com.gyee.failurestatistics.model.auto.Parttemperaturemain;
 import com.gyee.failurestatistics.mapper.auto.ParttemperaturemainMapper;
 import com.gyee.failurestatistics.service.auto.IParttemperaturemainService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +22,16 @@ import org.springframework.stereotype.Service;
 @Service
 public class ParttemperaturemainServiceImpl extends ServiceImpl<ParttemperaturemainMapper, Parttemperaturemain> implements IParttemperaturemainService {
 
+    @Resource
+    private ParttemperaturemainMapper parttemperaturemainMapper;
+
+    @Override
+    public int deleteParttemperaturemain(Date recodedate) {
+        return  parttemperaturemainMapper.deleteParttemperaturemain(recodedate);
+    }
+
+    @Override
+    public int insertParttemperaturemain(Parttemperaturemain parttemperaturemain) {
+        return  parttemperaturemainMapper.insertParttemperaturemain(parttemperaturemain);
+    }
 }

+ 17 - 0
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/service/auto/impl/ParttemperaturesubServiceImpl.java

@@ -1,11 +1,16 @@
 package com.gyee.failurestatistics.service.auto.impl;
 
+import com.gyee.failurestatistics.mapper.auto.ParttemperaturesubMapper;
+import com.gyee.failurestatistics.model.auto.Parttemperaturesub;
 import com.gyee.failurestatistics.model.auto.Parttemperaturesub;
 import com.gyee.failurestatistics.mapper.auto.ParttemperaturesubMapper;
 import com.gyee.failurestatistics.service.auto.IParttemperaturesubService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +22,16 @@ import org.springframework.stereotype.Service;
 @Service
 public class ParttemperaturesubServiceImpl extends ServiceImpl<ParttemperaturesubMapper, Parttemperaturesub> implements IParttemperaturesubService {
 
+    @Resource
+    private ParttemperaturesubMapper parttemperaturesubMapper;
+
+    @Override
+    public int deleteParttemperaturesub(Date recodedate) {
+        return  parttemperaturesubMapper.deleteParttemperaturesub(recodedate);
+    }
+
+    @Override
+    public int insertParttemperaturesub(Parttemperaturesub parttemperaturesub) {
+        return  parttemperaturesubMapper.insertParttemperaturesub(parttemperaturesub);
+    }
 }

+ 52 - 4
realtime/failurestatistics-server/src/main/java/com/gyee/failurestatistics/task/SaticScheduleTask.java

@@ -4,12 +4,9 @@ package com.gyee.failurestatistics.task;
 
 
 import com.gyee.common.util.DateUtils;
-import com.gyee.failurestatistics.service.EarlywarningService;
-import com.gyee.failurestatistics.service.FailurestatisticsService;
-import com.gyee.failurestatistics.service.PartpowerstatticsService;
+import com.gyee.failurestatistics.service.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -34,6 +31,10 @@ public class SaticScheduleTask {
     private EarlywarningService earlywarningService;
     @Resource
     private PartpowerstatticsService partpowerstatticsService;
+    @Resource
+    private PartstatisticsService partstatisticsService;
+    @Resource
+    private ParttemperatureService parttemperatureService;
 
 
     //3.添加定时任务
@@ -106,4 +107,51 @@ public class SaticScheduleTask {
 
         logger.info("部件功率统计调度任务处理完成!........");
     }
+
+    /**
+     * 部件健康状态统计
+     */
+    @Scheduled(cron = "0 49 9 * * ?")
+    //或直接指定时间间隔,例如:5 秒
+    //@Scheduled(fixedRate=5000)
+    private void configureTasks4()  {
+
+
+        logger.info("部件健康状态统计调度程序执行开始!........");
+
+        try {
+
+            partstatisticsService.deletePartstatisticsmain(DateUtils.truncate(new Date()));
+            partstatisticsService.savePartstatisticsmain();
+        } catch (Exception e) {
+
+            e.printStackTrace();
+        }
+
+        logger.info("部件健康状态统计调度任务处理完成!........");
+    }
+
+    /**
+     * 部件温度统计
+     */
+    @Scheduled(cron = "0 23 10 * * ?")
+    //或直接指定时间间隔,例如:5 秒
+    //@Scheduled(fixedRate=5000)
+    private void configureTasks5()  {
+
+
+        logger.info("部件温度统计调度程序执行开始!........");
+
+        try {
+
+            parttemperatureService.deleteParttemperaturemain(DateUtils.truncate(new Date()));
+            parttemperatureService.saveParttemperaturestattics();
+        } catch (Exception e) {
+
+            e.printStackTrace();
+        }
+
+        logger.info("部件温度统计调度任务处理完成!........");
+    }
+
 }

+ 20 - 54
realtime/failurestatistics-server/src/test/java/FailuresTest.java

@@ -1,16 +1,9 @@
-
 import com.gyee.failurestatistics.FailurestatisticsMain;
-import com.gyee.failurestatistics.service.FailurestatisticsService;
-
+import com.gyee.failurestatistics.service.EarlywarningService;
 import com.gyee.failurestatistics.util.SpringUtils;
 import lombok.SneakyThrows;
 import org.springframework.boot.SpringApplication;
 
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
 public class FailuresTest {
 
     @SneakyThrows
@@ -19,57 +12,30 @@ public class FailuresTest {
         SpringApplication.run(FailurestatisticsMain.class, args);
 
 
+//
+//        FailurestatisticsService failurestatisticsService= SpringUtils.getBean("failurestatisticsService");
+//
+//
+//        Calendar cal = Calendar.getInstance();
+//        cal.set(Calendar.HOUR_OF_DAY, 0);
+//        cal.set(Calendar.MINUTE, 0);
+//        cal.set(Calendar.SECOND, 0);
+//        Date endDate = cal.getTime();
+//        //cal.set(Calendar.DAY_OF_MONTH, -1);
+//        cal.set(Calendar.YEAR, -20);
+//        Date beginDate = cal.getTime();
+//        Map<String, Integer> map =failurestatisticsService.getCountOrderNum(beginDate,endDate);
+//
+//
+//         System.out.println(map.size());
 
-        FailurestatisticsService failurestatisticsService= SpringUtils.getBean("failurestatisticsService");
-
-
-        Calendar cal = Calendar.getInstance();
-        cal.set(Calendar.HOUR_OF_DAY, 0);
-        cal.set(Calendar.MINUTE, 0);
-        cal.set(Calendar.SECOND, 0);
-        Date endDate = cal.getTime();
-        //cal.set(Calendar.DAY_OF_MONTH, -1);
-        cal.set(Calendar.YEAR, -20);
-        Date beginDate = cal.getTime();
-        Map<String, Integer> map =failurestatisticsService.getCountOrderNum(beginDate,endDate);
 
 
-         System.out.println(map.size());
+        EarlywarningService earlywarningService= SpringUtils.getBean("earlywarningService");
 
+        earlywarningService.saveEarlywarningmain();
 
 
-//        AjaxResult ar = singleAnalysisController.singleanalysisSub(wtId,year,month);
-//
-//        Map<String,Object> map=( Map<String,Object>)ar.get("data");
-//        for(SingleAnalysisVo wtd:vos)
-//        {
-//            System.out.println(wtd.getXfqr()+"----------------"+wtd.getXfqrhgl());
-//        }
-//
-//        AjaxResult ar = singleAnalysisController.singleanalysisChart(wtId,year,month);
-//
-//        Map<String, List<SingleAnalysisVo>> map=( Map<String,List<SingleAnalysisVo>>)ar.get("data");
-//        List<SingleAnalysisVo> vos=map.get("ff");
-//        for(SingleAnalysisVo wtd:vos)
-//        {
-//            System.out.println(wtd.getFdl()+"----------------"+wtd.getFs());
-//        }
-//
-//        System.out.println("---------------------------------------------------------------------------------");
-//        vos=map.get("ws");
-//        for(SingleAnalysisVo wtd:vos)
-//        {
-//            System.out.println(wtd.getGzss()+"----------------"+wtd.getJxss()+"----------------"+wtd.getXdss()
-//                    +"----------------"+wtd.getXnss()+"----------------"+wtd.getSlss());
-//        }
-//        System.out.println("---------------------------------------------------------------------------------");
-//        vos=map.get("jd");
-//        for(SingleAnalysisVo wtd:vos)
-//        {
-//            System.out.println(wtd.getJfpl()+"----------------"+wtd.getTjxs());
-//        }
-//
-//
-//
+        System.out.println("test!");
     }
 }

+ 108 - 0
realtime/healthmodel-server/pom.xml

@@ -0,0 +1,108 @@
+<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>realtime</artifactId>
+        <groupId>com.gyee</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>healthmodel-server</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</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-spring-boot-starter</artifactId>
+            <version>1.1.10</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-aop</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-generator</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+            <version>2.3.28</version>
+        </dependency>
+        <!--mysql-connector-java-->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.oracle</groupId>
+            <artifactId>ojdbc6</artifactId>
+            <version>11.2.0.3</version>
+        </dependency>
+        <dependency>
+            <groupId>com.microsoft.sqlserver</groupId>
+            <artifactId>sqljdbc4</artifactId>
+            <version>4.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.gyee</groupId>
+            <artifactId>common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.17</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-configuration-processor</artifactId>
+            <optional>true</optional>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/HealthmodelMain.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel;
+
+import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
+import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
+
+/**
+ * @ClassName : HealthmodelMain
+ **/
+@SpringBootApplication
+@MapperScan("com.gyee.healthmodel.mapper")
+public class HealthmodelMain {
+    public static void main(String[] args) {
+        SpringApplication.run(HealthmodelMain.class, args);
+    }
+}

+ 155 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/config/GeneratorCodeConfig.java

@@ -0,0 +1,155 @@
+package com.gyee.healthmodel.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("gdprod");
+        dsc.setPassword("gd123");
+        dsc.setUrl("jdbc:oracle:thin:@10.0.118.71:1521:gdsj");
+        mpg.setDataSource(dsc);
+
+//        dsc.setDriverName("com.cloudera.impala.jdbc41.Driver");
+//        dsc.setUrl("jdbc:impala://192.168.1.67:21050/gyee_test");
+//        mpg.setDataSource(dsc);
+
+//        dsc.setDriverName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
+//        dsc.setUsername("sa");
+//        dsc.setPassword("Gd!123456");
+//        dsc.setUrl("jdbc:sqlserver://10.0.118.71:1433;DatabaseName=fdeamnew");
+//        mpg.setDataSource(dsc);
+
+        // 包配置
+        PackageConfig pc = new PackageConfig();
+//        pc.setModuleName(scanner("模块名"));
+        pc.setParent("com.gyee.healthmodel");
+        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();
+    }
+}

+ 102 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/config/MybatisConfig.java

@@ -0,0 +1,102 @@
+package com.gyee.healthmodel.config;
+
+import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
+
+import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
+import com.gyee.healthmodel.dataSources.DataSourceType;
+import com.gyee.healthmodel.dataSources.DynamicDataSource;
+import org.apache.ibatis.session.SqlSessionFactory;
+
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.SqlSessionTemplate;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+import org.springframework.transaction.PlatformTransactionManager;
+
+import javax.sql.DataSource;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Mybatis多数据源配置
+ * 参考文章:https://www.cnblogs.com/geekdc/p/10963476.html
+ * @ClassName: MybatisConfig
+ * @author gyee
+ * @date 2019-12-06 21:11
+ */
+@Configuration
+@MapperScan("com.gyee.healthmodel.mapper")
+public class MybatisConfig {
+
+    @Bean(name = "master")
+    @ConfigurationProperties("spring.datasource.druid.master")
+    public DataSource masterDataSource()
+    {
+        return DruidDataSourceBuilder.create().build();
+    }
+
+    @Bean(name = "slave")
+    @ConfigurationProperties("spring.datasource.druid.slave")
+//    @ConditionalOnProperty(prefix = "spring.datasource.druid.slave", name = "enabled", havingValue = "true")
+    public DataSource slaveDataSource()
+    {
+        return DruidDataSourceBuilder.create().build();
+    }
+
+    @Bean(name = "ticket")
+    @ConfigurationProperties("spring.datasource.druid.ticket")
+//    @ConditionalOnProperty(prefix = "spring.datasource.druid.ticket", name = "enabled", havingValue = "true")
+    public DataSource ticketDataSource()
+    {
+        return DruidDataSourceBuilder.create().build();
+    }
+
+    @Bean(name = "dynamicDataSource")
+    @Primary
+    public DynamicDataSource dataSource(@Qualifier("master")DataSource masterDataSource, @Qualifier("slave")DataSource slaveDataSource, @Qualifier("ticket")DataSource ticketDataSource)
+    {
+        Map<Object, Object> targetDataSources = new HashMap<>();
+        targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
+    	targetDataSources.put(DataSourceType.SLAVE.name(),slaveDataSource);
+        targetDataSources.put(DataSourceType.TICKET.name(),ticketDataSource);
+        return new DynamicDataSource(masterDataSource(), targetDataSources);
+    }
+
+    @Bean
+    public SqlSessionFactory sqlSessionFactory(DynamicDataSource dynamicDataSource) throws Exception {
+        MybatisSqlSessionFactoryBean factoryBean=new MybatisSqlSessionFactoryBean();
+        //SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
+        factoryBean.setDataSource(dynamicDataSource);
+//        factoryBean.setTypeAliasesPackage();
+        // 设置mapper.xml的位置路径
+//        Resource[] resources = new PathMatchingResourcePatternResolver().getResources("classpath*:mapper/**/*Mapper.xml");
+//        factoryBean.setMapperLocations(resources);
+        return factoryBean.getObject();
+    }
+    
+    /**
+     * 配置@Transactional注解事务
+     * @param dynamicDataSource
+     * @return
+     * @author gyee
+     * @Date 2019年12月7日 上午11:31:33
+     */
+    @Bean
+    public PlatformTransactionManager transactionManager(DynamicDataSource dynamicDataSource){
+        return new DataSourceTransactionManager(dynamicDataSource);
+    }
+
+    @Bean
+    public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory)
+    {
+        return new SqlSessionTemplate(sqlSessionFactory);
+    }
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/AlarmcountController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@RestController
+@RequestMapping("//alarmcount")
+public class AlarmcountController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/AlarmsnapController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@RestController
+@RequestMapping("//alarmsnap")
+public class AlarmsnapController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/Alertrule2Controller.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@RestController
+@RequestMapping("//alertrule2")
+public class Alertrule2Controller {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/AlertrulefailureController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@RestController
+@RequestMapping("//alertrulefailure")
+public class AlertrulefailureController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/AlertrulefailuresubController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@RestController
+@RequestMapping("//alertrulefailuresub")
+public class AlertrulefailuresubController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/AlertrulesubController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+@RestController
+@RequestMapping("//alertrulesub")
+public class AlertrulesubController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/CurvefittingmainController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+@RestController
+@RequestMapping("//curvefittingmain")
+public class CurvefittingmainController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/CurvefittingsubController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+@RestController
+@RequestMapping("//curvefittingsub")
+public class CurvefittingsubController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/HealthcurrencyController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+@RestController
+@RequestMapping("//healthcurrency")
+public class HealthcurrencyController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/HealthsystemController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+@RestController
+@RequestMapping("//healthsystem")
+public class HealthsystemController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/HealthsystemsubController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+@RestController
+@RequestMapping("//healthsystemsub")
+public class HealthsystemsubController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/LosspowerrateController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-12
+ */
+@RestController
+@RequestMapping("//losspowerrate")
+public class LosspowerrateController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/MismapController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-02-09
+ */
+@RestController
+@RequestMapping("//mismap")
+public class MismapController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/PartbjcountController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@RestController
+@RequestMapping("//partbjcount")
+public class PartbjcountController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/PartbjcountsubController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@RestController
+@RequestMapping("//partbjcountsub")
+public class PartbjcountsubController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/RecommenmainController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-02-09
+ */
+@RestController
+@RequestMapping("//recommenmain")
+public class RecommenmainController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/Statejudgmentrecord2Controller.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+@RestController
+@RequestMapping("//statejudgmentrecord2")
+public class Statejudgmentrecord2Controller {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/WindfarmController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+@RestController
+@RequestMapping("//windfarm")
+public class WindfarmController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/WindturbinebjcountController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@RestController
+@RequestMapping("//windturbinebjcount")
+public class WindturbinebjcountController {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/Windturbineinfoday3Controller.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-12
+ */
+@RestController
+@RequestMapping("//windturbineinfoday3")
+public class Windturbineinfoday3Controller {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/Windturbineinfodaytop2Controller.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+@RestController
+@RequestMapping("//windturbineinfodaytop2")
+public class Windturbineinfodaytop2Controller {
+
+}

+ 20 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/controller/auto/WobugeqController.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmodel.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+@RestController
+@RequestMapping("//wobugeq")
+public class WobugeqController {
+
+}

+ 21 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/dataSources/DataSource.java

@@ -0,0 +1,21 @@
+package com.gyee.healthmodel.dataSources;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 自定义注解,用于类或方法上,优先级:方法>类
+ * @ClassName: DataSource
+ * @author gyee
+ * @date 2019-12-06 21:15
+ */
+@Target({ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface DataSource {
+	/**
+     * 切换数据源名称
+     */
+	DataSourceType value() default DataSourceType.MASTER;
+}

+ 79 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/dataSources/DataSourceAspect.java

@@ -0,0 +1,79 @@
+package com.gyee.healthmodel.dataSources;
+
+
+import com.gyee.healthmodel.util.StringUtils;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.core.annotation.Order;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+
+/**
+ * 多数据源处理
+ * @ClassName: DataSourceAspect
+ * @author gyee
+ * @date 2019-12-07 18:40
+ */
+@Aspect
+@Component
+@Order(1)
+@EnableAsync
+public class DataSourceAspect {
+	//private static final Logger log = LoggerFactory.getLogger(DataSourceAspect.class);
+
+	@Pointcut("@annotation(com.gyee.healthmodel.dataSources.DataSource)")
+    public void dsPointCut()
+    {
+
+    }
+
+	@Around("dsPointCut()")
+    public Object around(ProceedingJoinPoint point) throws Throwable
+    {
+        MethodSignature signature = (MethodSignature) point.getSignature();
+
+        Method method = signature.getMethod();
+
+        DataSource dataSource = method.getAnnotation(DataSource.class);
+
+        if (null!=dataSource)
+        {
+            DataSourceContextHolder.setDataSource(dataSource.value().name());
+        }
+
+        try
+        {
+            return point.proceed();
+        }
+        finally
+        {
+            // 销毁数据源 在执行方法之后
+        	DataSourceContextHolder.clearDataSource();
+        }
+    }
+
+	 /**
+     * 获取需要切换的数据源
+     */
+    public DataSource getDataSource(ProceedingJoinPoint point)
+    {
+        MethodSignature signature = (MethodSignature) point.getSignature();
+        Class<? extends Object> targetClass = point.getTarget().getClass();
+        DataSource targetDataSource = targetClass.getAnnotation(DataSource.class);
+        if (StringUtils.isNotNull(targetDataSource))
+        {
+            return targetDataSource;
+        }
+        else
+        {
+            Method method = signature.getMethod();
+            DataSource dataSource = method.getAnnotation(DataSource.class);
+            return dataSource;
+        }
+    }
+}

+ 50 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/dataSources/DataSourceContextHolder.java

@@ -0,0 +1,50 @@
+package com.gyee.healthmodel.dataSources;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 动态数据源上下文管理:设置数据源,获取数据源,清除数据源
+ * @ClassName: DataSourceContextHolder
+ * @author gyee
+ * @date 2019-12-06 21:08
+ */
+public class DataSourceContextHolder {
+	private static final Logger log = LoggerFactory.getLogger(DataSourceContextHolder.class);
+   /**
+    * 使用ThreadLocal维护变量,ThreadLocal为每个使用该变量的线程提供独立的变量副本,
+    * 所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。
+    */
+    private static final ThreadLocal<String> CONTEXT_HOLDER = new ThreadLocal<>();
+
+    /**
+     * 设置数据源
+     * @param type
+     * @author gyee
+     * @Date 2019年12月7日 下午6:38:55
+     */
+    public static void setDataSource(String type){
+
+        log.info("当前使用的数据源为:{}", type);
+    	CONTEXT_HOLDER.set(type);
+    }
+
+    /**
+     * 获得数据源的变量
+     * @return
+     * @author gyee
+     * @Date 2019年12月7日 下午6:39:00
+     */
+    public static String getDataSource(){
+        return CONTEXT_HOLDER.get();
+    }
+
+    /**
+     * 清除数据源
+     * @author gyee
+     * @Date 2019年12月7日 下午6:39:06
+     */
+    public static void clearDataSource(){
+    	CONTEXT_HOLDER.remove();
+    }
+}

+ 13 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/dataSources/DataSourceType.java

@@ -0,0 +1,13 @@
+package com.gyee.healthmodel.dataSources;
+
+/**
+ * 列出所有数据源
+ * @ClassName: DataSourceType
+ * @author gyee
+ * @date 2019-12-06 21:02
+ */
+public enum DataSourceType {
+	MASTER,
+	SLAVE,
+	TICKET
+}

+ 28 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/dataSources/DynamicDataSource.java

@@ -0,0 +1,28 @@
+package com.gyee.healthmodel.dataSources;
+
+import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
+
+import java.util.Map;
+
+/**
+ * 动态数据源
+ * @ClassName: DynamicDataSource
+ * @author gyee
+ * @date 2019-12-07 18:39
+ */
+public class DynamicDataSource extends AbstractRoutingDataSource {
+	
+	public DynamicDataSource(javax.sql.DataSource dataSource, Map<Object, Object> targetDataSources)
+    {
+        super.setDefaultTargetDataSource(dataSource);
+        super.setTargetDataSources(targetDataSources);
+        super.afterPropertiesSet();
+    }
+
+	@Override
+	protected Object determineCurrentLookupKey() {
+		
+		return DataSourceContextHolder.getDataSource();
+	}
+
+}

+ 212 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/init/CacheContext.java

@@ -0,0 +1,212 @@
+package com.gyee.healthmodel.init;
+
+
+import com.gyee.healthmodel.model.auto.*;
+import com.gyee.healthmodel.service.auto.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CacheContext
+ * @Author : xieshengjie
+ * @Date: 2021/9/29 17:33
+ * @Description : 初始化
+ */
+@Component
+public class CacheContext implements CommandLineRunner {
+
+
+    private static final Logger log = LoggerFactory.getLogger(CacheContext.class);
+
+    @Autowired
+    private IWindturbineService windturbineService;
+    @Autowired
+    private IWindpowerstationService windpowerstationService;
+    @Autowired
+    private IProjectService projectService;
+    @Autowired
+    private ILineService lineService;
+    @Autowired
+    private IEquipmentmodelService equipmentmodelService;
+    @Autowired
+    private IWindturbinetestingpointaiService windturbineTestingAiService;
+    @Autowired
+    private IWindpowerstationtestingpointService windpowerstationtestingpointService;
+    @Resource
+    private IWindturbineSqlService windturbineSqlService;
+    @Resource
+    private IMismapService mismapService;
+    public static Map<String, Windturbine> wtmap = new HashMap<String, Windturbine>(); // 风电机MAP
+
+
+    public static Map<String, Windpowerstation> wpmap = new HashMap<>();
+
+    public static List<Windpowerstation> wpls = new ArrayList<Windpowerstation>(); // 风电场LIST集合
+
+    public static List<Windturbine> wtls = new ArrayList<Windturbine>(); // 风电机LIST集合
+
+    public static List<Alertrule2> alarmrulels = new ArrayList<>();
+    public static Map<String, Map<String, Windturbinetestingpointai>> wtpAimap = new HashMap<>();// 风电机测点AI表
+
+    public static Map<String,Map<String, Windpowerstationtestingpoint>> wppointmap =new HashMap<>();
+
+    public static List<Project> projects = new ArrayList<>();
+    public static Map<String, List<Windturbine>> wtlinemap = new HashMap<String, List<Windturbine>>(); // 风电机线路MAP风电机LIST集合
+    public static List<Line> lines = new ArrayList<>();
+
+    public static Map<String, List<Windturbine>> wtsmap = new HashMap<String, List<Windturbine>>(); // 风电场MAP风电机LIST集合
+    public static List<Project> pjls = new ArrayList<>();
+
+    public static Map<String, Project> pjmap = new HashMap<String, Project>(); // 项目MAP
+    public static Map<String, Line> lnmap = new HashMap<String, Line>(); // 线路MAP
+    public static List<Equipmentmodel> mlls = new ArrayList<Equipmentmodel>();// 风电机模型LIST集合
+    public static Map<String, Equipmentmodel> mlmap = new HashMap<String, Equipmentmodel>();// 风电机模型
+
+    public static Map<String, String> mismap = new HashMap<String, String>(); // 映射生产系统风机信息
+    @Override
+    public void run(String... args) throws Exception {
+
+        log.info("-------------------------------缓存开始--------------------------------------");
+        List<Mismap> misls=mismapService.list();
+
+        if (!misls.isEmpty()) {
+            for (Mismap st : misls) {
+                mismap.put(st.getSiskey(), st.getMiskey());
+            }
+        }
+
+        List<Windpowerstation> wptempls = windpowerstationService.list();
+        wptempls.stream().filter(i->i.getCompanyid().equals("1")).forEach(i->{
+            wpls.add(i);
+            wpmap.put(i.getId(),i);
+        });
+
+        List<Project> pjtempls  = projectService.list();
+
+        if (!pjtempls.isEmpty()) {
+            pjtempls.stream().filter(i->wpmap.containsKey(i.getWindpowerstationid())).forEach(i->{
+                pjls.add(i);
+                pjmap.put(i.getId(),i);
+            });
+        }
+        List<Line> templines = lineService.list();
+        if (!templines.isEmpty()) {
+            templines.stream().filter(i->pjmap.containsKey(i.getProjectid())).forEach(i->{
+                lines.add(i);
+                lnmap.put(i.getId(),i);
+            });
+        }
+        List<Windturbine> wttempls =windturbineService.list();
+        if (!wttempls.isEmpty()) {
+            wttempls.stream().filter(i->wpmap.containsKey(i.getWindpowerstationid())).forEach(i->{
+                wtls.add(i);
+            });
+        }
+        mlls = equipmentmodelService.list();
+        if (!mlls.isEmpty()) {
+            for (Equipmentmodel model : mlls) {
+                mlmap.put(model.getId(), model);
+            }
+        }
+
+
+
+        if (!wtls.isEmpty()) {
+            List<Windturbine> list = null;
+            for (Windturbine wt : wtls) {
+                wtmap.put(wt.getId(), wt);
+                if (wtsmap.containsKey(wt.getWindpowerstationid())) {
+                    list = wtsmap.get(wt.getWindpowerstationid());
+                    list.add(wt);
+                } else {
+                    list = new ArrayList<Windturbine>();
+                    list.add(wt);
+                    wtsmap.put(wt.getWindpowerstationid(), list);
+                }
+
+                if (wtlinemap.containsKey(wt.getLineid())) {
+                    List<Windturbine> wts = wtlinemap.get(wt.getLineid());
+                    wts.add(wt);
+                } else {
+                    List<Windturbine> wts = new ArrayList<Windturbine>();
+                    wts.add(wt);
+                    wtlinemap.put(wt.getLineid(), wts);
+                }
+            }
+        }
+
+
+        List<Windturbinetestingpointai> WindturbinetestingpointaiList = windturbineTestingAiService.list();
+        Map<String, Windturbinetestingpointai> map = null;
+
+        if(WindturbinetestingpointaiList != null && !WindturbinetestingpointaiList.isEmpty()){
+            for(Windturbinetestingpointai mp : WindturbinetestingpointaiList){
+                if(wtpAimap.containsKey(mp.getWindturbineid())){
+                    map = wtpAimap.get(mp.getWindturbineid());
+                    map.put(mp.getUniformcode(), mp);
+                }else{
+                    map = new HashMap<String, Windturbinetestingpointai>();
+                    map.put(mp.getUniformcode(), mp);
+                    wtpAimap.put(mp.getWindturbineid(), map);
+                }
+            }
+        }
+
+
+        List<Windpowerstationtestingpoint> wplist = windpowerstationtestingpointService.list();
+        for (Windpowerstationtestingpoint Windpowerstationtestingpoint : wplist) {
+            if (wppointmap.containsKey(Windpowerstationtestingpoint.getWindpowerstationid())){
+                wppointmap.get(Windpowerstationtestingpoint.getWindpowerstationid()).put(Windpowerstationtestingpoint.getUniformcode(),Windpowerstationtestingpoint);
+            }else{
+                Map<String,Windpowerstationtestingpoint> wpmap = new HashMap<>();
+                wpmap.put(Windpowerstationtestingpoint.getUniformcode(),Windpowerstationtestingpoint);
+                wppointmap.put(Windpowerstationtestingpoint.getWindpowerstationid(),wpmap);
+            }
+        }
+
+        log.info("-------------------------------缓存结束--------------------------------------");
+    }
+//  取redis
+//    private Logger logger = LoggerFactory.getLogger(CacheContext.class);
+//    @Resource
+//    private IWindturbinetestingpointService windturbinetestingpointService;
+//    @Resource
+//    private RedisService redisService;
+//
+//    public static Map<String, Map<String, Windturbinetestingpoint>> wtpAimap = new HashMap<>();// 风电机测点表
+//
+//    @Override
+//    public void run(String... args) {
+//        logger.info("--------------------------------缓存开始--------------------------------");
+//        if (redisService.hasKey("WT")){
+//            String wt = redisService.get("WT");
+//            wtpAimap = (Map<String, Map<String, Windturbinetestingpoint>>) JSONUtils.parse(wt);
+//        }else {
+//            List<Windturbinetestingpoint> windturbinetestingpointList = windturbinetestingpointService.list();
+//            Map<String, Windturbinetestingpoint> map = null;
+//
+//            if(windturbinetestingpointList != null && !windturbinetestingpointList.isEmpty()){
+//                for(Windturbinetestingpoint mp : windturbinetestingpointList){
+//                    if(wtpAimap.containsKey(mp.getWindturbineid())){
+//                        map = wtpAimap.get(mp.getWindturbineid());
+//                        map.put(mp.getUniformcode(), mp);
+//                    }else{
+//                        map = new HashMap<String, Windturbinetestingpoint>();
+//                        map.put(mp.getUniformcode(), mp);
+//                        wtpAimap.put(mp.getWindturbineid(), map);
+//                    }
+//                }
+//            }
+//        }
+//        logger.info("--------------------------------缓存结束--------------------------------");
+//    }
+}

+ 211 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/init/Constant.java

@@ -0,0 +1,211 @@
+package com.gyee.healthmodel.init;
+
+/**
+ * 
+ * 
+ * 项目名称:nxfd 类名称:Constant 类描述: 创建人:石林 创建时间:2014-3-4 上午10:07:03 修改人:shilinno1
+ * 修改时间:2014-3-4 上午10:07:03 修改备注:
+ * 
+ * @version
+ * 
+ */
+public class Constant {
+    /**
+     * EdnaAPI 时间间隔
+     */
+    public static final Long EDNAAPI_PRIED = 30l;
+    public static final Long TOP_PRIED = 1800l;
+
+    public static final String TPOINT_ALL_RFDL = "RFDL"; // 汇总日发电量
+    public static final String TPOINT_ALL_YFDL = "YFDL"; // 汇总月发电量
+    public static final String TPOINT_ALL_NFDL = "NFDL"; // 汇总年发电量
+    public static final String TPOINT_ALL_SJGL = "RPJGL"; // 汇总日实际功率
+    public static final String TPOINT_ALL_PJFS = "RPJFS"; // 汇总日平均风速
+
+    public static final String TPOINT_WP_FGLYC = "FCFGCDQ0001,FCFGCDQ0003,FCFGCDQ0005,FCFGCDQ0007,FCFGCDQ0009,FCFGCDQ0011,FCFGCDQ0013,FCFGCDQ0015";
+    public static final String TPOINT_WP_FGLYC2 = "FCFGCDQ0002,FCFGCDQ0004,FCFGCDQ0006,FCFGCDQ0008,FCFGCDQ0010,FCFGCDQ0012,FCFGCDQ0014,FCFGCDQ0016";
+    public static final String TPOINT_WP_FGLYC24 = "FCFGCDQ0004,FCFGCDQ0008,FCFGCDQ0012,FCFGCDQ0016";
+    public static final String ycPoints2 = "FCFGCDQ0001,FCFGCDQ0002,FCFGCDQ0003,FCFGCDQ0004,FCFGCDQ0005,FCFGCDQ0006,FCFGCDQ0007,FCFGCDQ0008,FCFGCDQ0009,FCFGCDQ0010,FCFGCDQ0011,FCFGCDQ0012,FCFGCDQ0013,FCFGCDQ0014,FCFGCDQ0015,FCFGCDQ0016";
+    public static final String TPOINT_WP_YCGL = "RPJGL"; // 风场预测功率短期次天00:00:00
+    public static final String TPOINT_WP_PJFS = "RPJFS"; // 电场日平均风速
+
+    public static final String TPOINT_WP_SWDL = "SWDLB"; // 风场上网电量
+    public static final String TPOINT_WP_GWDL = "GWGWB"; // 风场购网电量
+    public static final String TPOINT_WP_NWGWDL = "NWGWB"; // 农网购网电量
+    /**
+     * 空气温度
+     */
+    public static final String TPOINT_WP_FCCFTWD = "FCCFTWD";// 温度
+
+    public static int WAITING_STATUS = 0;// 待机
+    public static int RUN_STATUS = 1;// 并网
+    public static int FAULT_STATUS = 2;// 故障停机
+    public static int INTERRUPTION_STATUS = 3;// 通讯中断
+    public static int MAINTENANCE_STATUS = 4;// 维护停机
+    public static String FAULT_NAME = "故障";
+    public static String MAINTENANCE_NAME = "维护";
+    public static String WAITING_NAME = "待机";
+    public static String RUN_NAME = "运行";
+    public static String INTERRUPTION_NAME = "离线";
+
+    public static final String TPOINT_WP_SJGL = "SSZGL"; // 日实际功率
+    public static final String TPOINT_WP_SFDL = "SFDL";// 总发电量(升压站)
+    public static final String TPOINT_WP_SSFS = "SSFS"; // 实时平均风速
+    public static final String TPOINT_WP_RFDL = "RFDLB"; // 日发电量
+    public static final String TPOINT_WP_YFDL = "YFDLB"; // 月发电量
+    public static final String TPOINT_WP_NFDL = "NFDLB"; // 年发电量
+
+    public static final String TPOINT_WT_RFDL = "RFDL";// 风机日发电量与SCADA日风场发电量
+    public static final String TPOINT_WT_DCRFDL = "AI064";// 导出单机发电量
+    public static final String TPOINT_WT_YFDL = "YFDL";// 风机月发电量
+    public static final String TPOINT_WT_NFDL = "NFDL";// 风机年发电量
+
+    public static final String TPOINT_WT_RFDL2 = "RFDLREAD";// 逆变器日发电量
+
+    public static final String TPOINT_WT_XDTS = "XDTS";// 限电台数
+    public static final String TPOINT_WT_YXTS = "YXTS";// 运行台数
+    public static final String TPOINT_WT_DJTS = "DJTS"; // 待机台数
+    public static final String TPOINT_WT_WHTJ = "WHTJ";// 维护台数
+    public static final String TPOINT_WT_GZTJ = "GZTJ";// 故障台数
+    public static final String TPOINT_WT_TXZD = "TXZD";// 离线台数
+
+    public static final String TPOINT_WT_U1YZDL = "AI061";// U1项绕组电流
+    public static final String TPOINT_WT_U2YZDL = "AI062";// U2项绕组电流
+    public static final String TPOINT_WT_U3YZDL = "AI063";// U3项绕组电流
+    public static final String TPOINT_WT_U1YZDY = "AI058";// U1项绕组电压
+    public static final String TPOINT_WT_U2YZDY = "AI059";// U2项绕组电压
+    public static final String TPOINT_WT_U3YZDY = "AI060";// U3项绕组电压
+    public static final String TPOINT_WT_FDJZS = "AI128";// 发电机转速
+    public static final String TPOINT_WT_U1YZWD = "AI045";// U1绕组温度
+    public static final String TPOINT_WT_V1YZWD = "AI047";// V1绕组温度
+    public static final String TPOINT_WT_W1YZWD = "AI049";// W1绕组温度
+    public static final String TPOINT_WT_YLZS = "AI012";// 叶轮转速
+    public static final String TPOINT_WT_FJJJJ = "AI085";// 风机浆距角
+	public static final String TPOINT_WT_DWZWD = "AI038";// 齿轮箱轴1温度
+    public static final String TPOINT_WT_GWZWD = "AI039";// 齿轮箱轴2温度
+    public static final String TPOINT_WT_CLXWD = "AI041";// 齿轮箱油温
+    public static final String TPOINT_WT_BJJD1 = "AI076";// 变桨角度1
+    public static final String TPOINT_WT_PHWZ = "AI034";// 偏航位置
+    public static final String TPOINT_WT_PJFS = "RPJFS"; // 日平均风速
+    public static final String TPOINT_WT_FJGL = "AI130";// 风机功率
+    public static final String TPOINT_WT_PJGL = "RPJGL";// 风机平均功率
+    public static final String TPOINT_WT_GLYS = "AI067";// 功率因数
+    public static final String TPOINT_WT_JCWWD = "AI056";// 机舱外温度
+    public static final String TPOINT_WT_JCWD = "AI057";// 机舱温度
+    public static final String TPOINT_WT_TDGWD = "AI069";// 塔底柜温度
+    public static final String TPOINT_WT_JCGWD = "AI069";// 机舱柜温度
+    public static final String TPOINT_WT_FJFX = "AI008";// 风机风向
+    public static final String TPOINT_WT_DFJD = "AI036";// 对风角度
+    public static final String TPOINT_WT_FJPL = "AI068";// 风机频率
+    public static final String TPOINT_WT_WGGL = "AI131";// 无功功率
+    public static final String TPOINT_WT_FJKYL = "AI001";// 风机可用率
+    public static final String TPOINT_WT_FJZSXZ = "AI051";// 风机转速限值
+    public static final String TPOINT_WT_FJSSFS = "AI022";// 风机实时风速
+
+    public static final String TPOINT_WT_FDJZCAWD = "AI052";// 发电机轴承A温度
+    public static final String TPOINT_WT_FDJZCBWD = "AI053";// 发电机轴承B温度
+
+    public static final String TPOINT_WT_FJGLKZXZ = "AI426";// UP97 取值 功率控制限值
+    public static final String TPOINT_WT_LLGL = "BZGL";// 风机理论功率
+    public static final String TPOINT_WT_YFGL = "ZSGL";// 风机应发功率
+    public static final String TPOINT_WT_RFDLBZ = "RFDLZS";// 日理论发电量
+
+    // public static final String TPOINT_WT_RFDLBZ = "RFDLLL";//日理论发电量
+
+    public static final String TPOINT_WT_RFDLZS = "RFDLZS";// 日应发电量
+
+    public static final String TPOINT_WT_NBQJLDY = "AIG061";// 逆变器交流电压
+    public static final String TPOINT_WT_NBQJLDL = "AIG060";// 逆变器交流电流
+    public static final String TPOINT_WT_NBQZLDY = "AIG081";// 逆变器直流电压
+    public static final String TPOINT_WT_NBQZLDL = "AIG078";// 逆变器直流电流
+
+    public static final String TPOINT_WT_NBQPL = "AIG073";// 逆变器频率
+    public static final String TPOINT_WT_NBQGLYSSZ = "AIG069";// 功率因数设置
+    public static final String TPOINT_WT_NBQGLYSSZ2 = "AIG104";// 功率因数设置
+    public static final String TPOINT_WT_NBQZFDL = "AIG064";// 逆变相总发电量
+    public static final String TPOINT_WT_NBQKQWD = "AIG071";// 逆变器空气温度
+    public static final String TPOINT_WT_NBQXL = "AIG072";// 逆变器效率
+
+    public static final String RFDLD = "RFDLD"; // 日理论发电量
+    public static final String RFDLE = "RFDLE"; // 日应发发电量
+    public static final String FJZT = "FJZT"; // 风场状态
+
+    public static final String ZBZGL = "ZBZGL";// 理论功率
+    public static final String ZSGLZZSGL = "ZZSGL";// 应发功率
+
+    public static final String RLZSSDL = "RLZSSDL"; // 日场内受累检修
+    public static final String RSZSSDL = "RSZSSDL"; // 日场内受累故障
+    public static final String RWZSSDL = "RWZSSDL"; // 日场外受累电网
+    public static final String RTZSSDL = "RTZSSDL"; // 日场外受累天气
+
+    public static final String YLZSSDL = "YLZSSDL"; // 月场内受累检修
+    public static final String YSZSSDL = "YSZSSDL"; // 月场内受累故障
+    public static final String YWZSSDL = "YWZSSDL"; // 月场外受累电网
+    public static final String YTZSSDL = "YTZSSDL"; // 月场外受累天气
+
+    public static final String NLZSSDL = "NLZSSDL"; // 年场内受累检修
+    public static final String NSZSSDL = "NSZSSDL"; // 年场内受累故障
+    public static final String NWZSSDL = "NWZSSDL"; // 年场外受累电网
+    public static final String NTZSSDL = "NTZSSDL"; // 年场外受累天气
+
+    public static final String RQFSSDL = "RQFSSDL"; // 日欠发损失电量
+    public static final String RGZSSDL = "RGZSSDL"; // 日故障损失电量
+    public static final String RJXSSDL = "RJXSSDL"; // 日检修损失电量
+    public static final String RXDSSDL = "RXDSSDL"; // 日限电损失电量
+
+    public static final String YQFSSDL = "YQFSSDL"; // 月欠发损失电量
+    public static final String YGZSSDL = "YGZSSDL"; // 月故障损失电量
+    public static final String YJXSSDL = "YJXSSDL"; // 月检修损失电量
+    public static final String YXDSSDL = "YXDSSDL"; // 月限电损失电量
+
+    public static final String NQFSSDL = "NQFSSDL"; // 年欠发损失电量
+    public static final String NGZSSDL = "NGZSSDL"; // 年故障损失电量
+    public static final String NJXSSDL = "NJXSSDL"; // 年检修损失电量
+    public static final String NXDSSDL = "NXDSSDL"; // 年限电损失电量
+
+    public static final String FCCFTFS10 = "FCCFTFS10";// 测风塔10米风速
+    public static final String FCCFTFS30 = "FCCFTFS30";// 测风塔30米风速
+    public static final String FCCFTFS50 = "FCCFTFS50";// 测风塔50米风速
+    public static final String FCCFTFS60 = "FCCFTFS60";// 测风塔60米风速
+    public static final String FCCFTFS70 = "FCCFTFS70";// 测风塔70米风速
+    public static final String FCCFTFS80 = "FCCFTFS80";// 测风塔80米风速
+
+    public static final String FCCFTFX10 = "FCCFTFX10";// 测风塔10米风向
+    public static final String FCCFTFX30 = "FCCFTFX30";// 测风塔30米风向
+    public static final String FCCFTFX50 = "FCCFTFX50";// 测风塔50米风向
+    public static final String FCCFTFX60 = "FCCFTFX60";// 测风塔60米风向
+    public static final String FCCFTFX70 = "FCCFTFX70";// 测风塔70米风向
+    public static final String FCCFTFX80 = "FCCFTFX80";// 测风塔80米风向
+
+    public static final String FCCFTWD = "FCCFTWD";// 测风塔温度
+    public static final String FCCFTSD = "FCCFTSD";// 测风塔湿度
+    public static final String FCCFTYQ = "FCCFTYQ";// 测风塔压强
+    
+    public static final String FJJKJL = "JKJL001";//风机健康状态值
+    public static final String CLXJKJL = "JKJL002";//齿轮箱健康状态值
+    public static final String FDJJKJL = "JKJL003";//发电机健康状态值
+    public static final String BJJKJL = "JKJL004";//变浆健康值
+    public static final String ZKJKJL = "JKJL005";//主控健康状态值
+    
+    public static final String FJLHSL = "JKSLLH001";//风机良好健康状态数量
+    public static final String FJZCSL = "JKSLHG001";//风机正常健康状态数量
+    public static final String FJZYSL = "JKSLZY001";//风机注意健康状态数量
+    public static final String FJYZSL = "JKSLYZ001";//风机严重健康状态数量
+    
+    public static final String YCFJJKZT4HOUR = "JKYC001";//风机健康状态未来4小时
+    public static final String YCFJJKZT1DAY = "JKYC006";//风机健康状态未来1天
+    public static final String YCFJJKZT3DAY = "JKYC011";//风机健康状态未来3天
+    public static final String YCFJJKZT7DAY = "JKYC016";//风机健康状态未来7天
+    public static final String YCFJJKZT1MONTH = "JKYC021";//风机健康状态未来1个月
+    
+    public static final String FJJKZZ = "JKZT100";//风机健康总状态得分
+    
+    public static final String FJJKZT = "JKZT001";//风机健康状态
+    public static final String CLXJKZT = "JKZT002";//齿轮箱健康状态
+    public static final String FDJJKZT = "JKZT003";//发电机健康状态
+    public static final String BJJKZT = "JKZT004";//变浆健康
+    public static final String ZKJKZT = "JKZT005";//主控健康状态
+    
+    
+    
+}

+ 26 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/init/InitialConfig.java

@@ -0,0 +1,26 @@
+package com.gyee.healthmodel.init;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * 读取项目相关配置
+ * 
+ * @author gyee
+ */
+@Component
+@ConfigurationProperties(prefix = "edos")
+public class InitialConfig
+{
+
+    /**数据适配器网址 **/
+    private static String baseurl;
+
+    public static String getBaseurl() {
+        return baseurl;
+    }
+
+    public  void setBaseurl(String baseurl) {
+        InitialConfig.baseurl = baseurl;
+    }
+}

+ 28 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/AlarmcountMapper.java

@@ -0,0 +1,28 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Alarmcount;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windturbinebjcount;
+import com.gyee.healthmodel.model.auto.Windturbineinfoday3;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+public interface AlarmcountMapper extends BaseMapper<Alarmcount> {
+
+    @Select(" select * from alarmcount where time is not null and snapid=#{alertvalue} and  alarmdate>=#{beginDate} and alarmdate<=#{endDate}   ")
+    public List<Alarmcount> findAlarmcount(@Param(value = "snapid") Long snapid,@Param(value = "beginDate") Date beginDate, @Param(value = "endDate")Date endDate);
+
+}

+ 24 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/AlarmsnapMapper.java

@@ -0,0 +1,24 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Alarmsnap;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windturbinebjcount;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+public interface AlarmsnapMapper extends BaseMapper<Alarmsnap> {
+
+    @Select(" select * from alarmsnap where alertvalue=#{alertvalue}  and windturbineid=#{wtid} ")
+    List<Alarmsnap> getAlarmsnapList(  @Param(value = "wtid")String wtid,@Param(value = "alertvalue") Long alertvalue);
+
+}

+ 29 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/Alertrule2Mapper.java

@@ -0,0 +1,29 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Alarmsnap;
+import com.gyee.healthmodel.model.auto.Alertrule2;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+public interface Alertrule2Mapper extends BaseMapper<Alertrule2> {
+
+
+    @Select(" select * from alertrule2 where station=#{station} and modelid=#{modelid} ")
+    List<Alertrule2> findAlertRuleList(@Param(value = "station") String station, @Param(value = "modelid")String modelid);
+
+
+    @Select(" select * from alertrule2 where station=#{station} and modelid=#{modelid} and name=#{name} ")
+    List<Alertrule2> getAlertRuleIdByName(@Param(value = "station") String station, @Param(value = "modelid")String modelid, @Param(value = "name")String name);
+
+}

+ 16 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/AlertrulefailureMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Alertrulefailure;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+public interface AlertrulefailureMapper extends BaseMapper<Alertrulefailure> {
+
+}

+ 25 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/AlertrulefailuresubMapper.java

@@ -0,0 +1,25 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Alertrulefailuresub;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windturbineinfoday3;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+public interface AlertrulefailuresubMapper extends BaseMapper<Alertrulefailuresub> {
+
+    @Select(" select altype from alertrulefailuresub where tid==#{tid}  ")
+    public List<String> getPartByAlertruleid(@Param(value = "tid") String tid);
+
+}

+ 16 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/AlertrulesubMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Alertrulesub;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+public interface AlertrulesubMapper extends BaseMapper<Alertrulesub> {
+
+}

+ 25 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/CurvefittingmainMapper.java

@@ -0,0 +1,25 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Curvefittingmain;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windturbineinfoday3;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+public interface CurvefittingmainMapper extends BaseMapper<Curvefittingmain> {
+
+    @Select(" select * from Curvefittingmain t where recorddate>=#{beginDate} and recorddate<=#{endDate}  order by recorddate desc   ")
+    public List<Curvefittingmain> getCurvefittingByDate(@Param(value = "beginDate") Date beginDate, @Param(value = "endDate")Date endDate);
+
+}

+ 28 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/CurvefittingsubMapper.java

@@ -0,0 +1,28 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Curvefittingmain;
+import com.gyee.healthmodel.model.auto.Curvefittingsub;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+public interface CurvefittingsubMapper extends BaseMapper<Curvefittingsub> {
+
+    @Select(" select * from Curvefittingsub t where recorddate>=#{beginDate} and recorddate<=#{endDate}   and speed>=5   and speed<=10  order BY recorddate,speed  ")
+    public List<Curvefittingsub> getCurvefittingByDate(@Param(value = "beginDate") Date beginDate, @Param(value = "endDate")Date endDate);
+
+    @Select(" select * from Curvefittingsub t where windturbineid=#{wtId} and recorddate<=#{recorddate}   and speed>=#{min}   and speed<=#{max}  order BY recorddate,speed  ")
+    public List<Curvefittingsub> getCurvefittingByParams( @Param(value = "recorddate")Date recorddate,@Param(value = "wtId") String wtId,@Param(value = "min")Double min,@Param(value = "max")Double max);
+
+}

+ 17 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/EquipmentmodelMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Equipmentmodel;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-11
+ */
+public interface EquipmentmodelMapper extends BaseMapper<Equipmentmodel> {
+
+}

+ 16 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/HealthcurrencyMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Healthcurrency;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+public interface HealthcurrencyMapper extends BaseMapper<Healthcurrency> {
+
+}

+ 26 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/HealthsystemMapper.java

@@ -0,0 +1,26 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Healthsystem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windturbineinfoday3;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+public interface HealthsystemMapper extends BaseMapper<Healthsystem> {
+
+
+    @Select(" select * from HealthSystem t where gstatus=1  order BY id  ")
+    public List<Healthsystem> queryHealthSystem();
+
+}

+ 25 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/HealthsystemsubMapper.java

@@ -0,0 +1,25 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Healthsystem;
+import com.gyee.healthmodel.model.auto.Healthsystemsub;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+public interface HealthsystemsubMapper extends BaseMapper<Healthsystemsub> {
+
+
+    @Select(" select * from HealthSystemSub t where hid=#{hid}  order BY id   ")
+    public List<Healthsystemsub> queryHealthSystemSub(@Param(value = "hid") String hid);
+}

+ 17 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/LineMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Line;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-21
+ */
+public interface LineMapper extends BaseMapper<Line> {
+
+}

+ 34 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/LosspowerrateMapper.java

@@ -0,0 +1,34 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Losspowerrate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.vo.EventVo;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-12
+ */
+public interface LosspowerrateMapper extends BaseMapper<Losspowerrate> {
+
+    @Delete(" delete from Losspowerrate where time=#{time} ")
+    public int deleteLosspowerrate(@Param(value = "time") String time);
+
+
+    @Insert("  INSERT INTO Losspowerrate(time,wtid,realpower,losspower,rate,wpid) VALUES(#{time,jdbcType=VARCHAR},#{wtid,jdbcType=VARCHAR},#{realpower,jdbcType=DECIMAL},#{losspower,jdbcType=DECIMAL},#{rate,jdbcType=DECIMAL},#{wpid,jdbcType=VARCHAR}) ")
+    public int insertLosspowerrate(Losspowerrate losspowerrate);
+
+    @Select("  select time,wtid,realpower,losspower,rate,wpid from Losspowerrate t where  time=#{time}  order by wtid ")
+    public List<Losspowerrate> getLosspowerrateByMonth(@Param(value = "time")String time);
+
+}

+ 16 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/MismapMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Mismap;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-02-09
+ */
+public interface MismapMapper extends BaseMapper<Mismap> {
+
+}

+ 42 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/PartbjcountMapper.java

@@ -0,0 +1,42 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Partbjcount;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Partbjcount;
+import com.gyee.healthmodel.model.auto.Windturbineinfoday3;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+public interface PartbjcountMapper extends BaseMapper<Partbjcount> {
+
+
+    @Delete(" delete from Partbjcount ")
+    public int deletePartbjcountAll();
+
+
+    @Insert(" insert into partbjcount(id,lnid,alertruleid,part,recodedate) values(#{id,jdbcType=VARCHAR},#{lnid,jdbcType=VARCHAR},#{alertruleid,jdbcType=VARCHAR},#{part,jdbcType=VARCHAR},#{recodedate}) ")
+    public int insertPartbjcount(Partbjcount Partbjcount);
+
+
+    @Delete(" delete from Partbjcount where recodedate=#{recodedate} ")
+    public int deletePartbjcount(@Param(value = "recodedate") Date recodedate);
+
+
+    @Select(" select * from Partbjcount t where recorddate=#{recodedate}    ")
+    public List<Partbjcount> getPartbjcount(@Param(value = "recodedate") Date recodedate);
+
+
+}

+ 31 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/PartbjcountsubMapper.java

@@ -0,0 +1,31 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Partbjcount;
+import com.gyee.healthmodel.model.auto.Partbjcountsub;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+public interface PartbjcountsubMapper extends BaseMapper<Partbjcountsub> {
+
+    @Delete(" delete from Partbjcountsub ")
+    public int deletePartbjcountsub();
+
+
+    @Insert(" insert into Partbjcountsub(id,wtid,count,reference,rid) values(#{id,jdbcType=VARCHAR},#{wtid,jdbcType=VARCHAR},#{count,jdbcType=INTEGER},#{reference,jdbcType=DOUBLE},#{rid,jdbcType=VARCHAR}) ")
+    public int insertPartbjcountsub(Partbjcountsub partbjcountsub);
+
+    @Delete(" delete from Partbjcountsub where rid=#{rid} ")
+    public int deletePartbjcount(@Param(value = "rid") String rid);
+}

+ 31 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/PartstatisticsmainMapper.java

@@ -0,0 +1,31 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import com.gyee.healthmodel.model.auto.Partstatisticsmain;
+import com.gyee.healthmodel.model.auto.Windturbineinfoday3;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-10
+ */
+public interface PartstatisticsmainMapper extends BaseMapper<Partstatisticsmain> {
+
+
+
+    @Select(" select * from Partstatisticsmain t where recodedate=#{recodedate}    order by recodedate desc   ")
+    public List<Partstatisticsmain> findPartstatisticsmain(@Param(value = "recodedate") Date recodedate);
+
+
+}

+ 17 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/ProjectMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Project;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-21
+ */
+public interface ProjectMapper extends BaseMapper<Project> {
+
+}

File diff suppressed because it is too large
+ 34 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/RecommenmainMapper.java


+ 43 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/Statejudgmentrecord2Mapper.java

@@ -0,0 +1,43 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Alertrule2;
+import com.gyee.healthmodel.model.auto.Partstatisticsmain;
+import com.gyee.healthmodel.model.auto.Statejudgmentrecord2;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windturbineinfoday3;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+public interface Statejudgmentrecord2Mapper extends BaseMapper<Statejudgmentrecord2> {
+
+
+    @Delete(" delete from Statejudgmentrecord2 ")
+    public int deleteStatejudge();
+
+
+    @Insert(" INSERT INTO Statejudgmentrecord2(id,wpid,wtid,statejudgment,recodedate,score,formula,part1,part2,part3,mark) VALUES(#{id,jdbcType=INTEGER},#{wpid,jdbcType=VARCHAR},#{wtid,jdbcType=VARCHAR},#{statejudgment,jdbcType=VARCHAR},#{recodedate},#{score,jdbcType=DOUBLE},#{formula,jdbcType=VARCHAR},#{part1,jdbcType=VARCHAR},#{part2,jdbcType=VARCHAR},#{part3,jdbcType=VARCHAR},#{mark,jdbcType=VARCHAR}) ")
+    public int insertStatejudgmentrecord2(Statejudgmentrecord2 statejudgmentrecord2);
+
+
+
+    @Select(" select * from Statejudgmentrecord2 where  mark like '%推荐检修%' ")
+    public List<Statejudgmentrecord2> findStatejudgmentrecord2();
+
+
+
+
+
+}

+ 16 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindfarmMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Windfarm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+public interface WindfarmMapper extends BaseMapper<Windfarm> {
+
+}

+ 17 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/Windpowerinfoday3Mapper.java

@@ -0,0 +1,17 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windpowerinfoday3;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-26
+ */
+public interface Windpowerinfoday3Mapper extends BaseMapper<Windpowerinfoday3> {
+
+}

+ 17 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindpowerinfodayMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windpowerinfoday;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-26
+ */
+public interface WindpowerinfodayMapper extends BaseMapper<Windpowerinfoday> {
+
+}

+ 17 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindpowerstationMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windpowerstation;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-01
+ */
+public interface WindpowerstationMapper extends BaseMapper<Windpowerstation> {
+
+}

+ 17 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindpowerstationtestingpointMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windpowerstationtestingpoint;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-10
+ */
+public interface WindpowerstationtestingpointMapper extends BaseMapper<Windpowerstationtestingpoint> {
+
+}

+ 18 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindturbineMapper.java

@@ -0,0 +1,18 @@
+package com.gyee.healthmodel.mapper.auto;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windturbine;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-05-25
+ */
+public interface WindturbineMapper extends BaseMapper<Windturbine> {
+
+}

+ 24 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindturbineSqlMapper.java

@@ -0,0 +1,24 @@
+package com.gyee.healthmodel.mapper.auto;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Losspowerrate;
+import com.gyee.healthmodel.model.auto.Windturbine;
+import com.gyee.healthmodel.model.auto.WindturbineSql;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ */
+public interface WindturbineSqlMapper extends BaseMapper<WindturbineSql> {
+
+
+
+}

+ 49 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindturbinebjcountMapper.java

@@ -0,0 +1,49 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Partbjcount;
+import com.gyee.healthmodel.model.auto.Statejudgmentrecord2;
+import com.gyee.healthmodel.model.auto.Windturbinebjcount;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windturbineinfoday3;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+public interface WindturbinebjcountMapper extends BaseMapper<Windturbinebjcount> {
+
+
+    @Delete(" delete from Windturbinebjcount ")
+    public int deleteWindturbineBjCountData();
+
+
+    @Insert(" insert into windturbinebjcount (id,wtid,lnid,wpid,alertruleid,alertrulename,part,count,reference,recodedate) values(#{id,jdbcType=VARCHAR},#{wtid,jdbcType=VARCHAR},#{lnid,jdbcType=VARCHAR},#{wpid,jdbcType=VARCHAR},#{alertruleid,jdbcType=VARCHAR},#{alertrulename,jdbcType=VARCHAR},#{part,jdbcType=VARCHAR},#{count,jdbcType=INTEGER},#{reference,jdbcType=DOUBLE},#{recodedate}) ")
+    public int insertWindturbineBjCount(Windturbinebjcount windturbinebjcount);
+
+
+    @Select(" select * from WindturbinebjCount where alertruleid=#{alertruleid}  and lnid=#{lnid}   ")
+    public List<Windturbinebjcount> queryWindturbinebjCountByLineAndAlertrule(@Param(value = "alertruleid") String alertruleid, @Param(value = "lnid")String lnid);
+
+    @Select(" select lnid from Windturbinebjcount where alertruleid=#{alertruleid}  group by lnid   ")
+    public List<String> queryWindturbinebjCountLine(@Param(value = "alertruleid") String alertruleid);
+
+
+
+    @Delete(" delete from Windturbinebjcount where recodedate=#{recodedate} ")
+    public int deleteWindturbinebjcount(@Param(value = "recodedate") Date recodedate);
+
+
+
+
+}

+ 25 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/Windturbineinfoday3Mapper.java

@@ -0,0 +1,25 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Windturbineinfoday3;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-12
+ */
+public interface Windturbineinfoday3Mapper extends BaseMapper<Windturbineinfoday3> {
+
+    @Select(" select * from windturbineinfoday3 t where recorddate>=#{beginDate} and recorddate<=#{endDate}  order by recorddate desc   ")
+    public List<Windturbineinfoday3> getWindturbineinfoday3(@Param(value = "beginDate") Date beginDate, @Param(value = "endDate")Date endDate);
+
+
+}

+ 26 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/Windturbineinfodaytop2Mapper.java

@@ -0,0 +1,26 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.model.auto.Windturbineinfoday3;
+import com.gyee.healthmodel.model.auto.Windturbineinfodaytop2;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+public interface Windturbineinfodaytop2Mapper extends BaseMapper<Windturbineinfodaytop2> {
+
+
+    @Select(" select * from Windturbineinfodaytop2 t where type=1 and recorddate=#{recorddate}   ")
+    public List<Windturbineinfodaytop2> findXnfx(@Param(value = "recorddate")Date recorddate);
+
+}

+ 17 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindturbinetestingpointaiMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windturbinetestingpointai;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-10
+ */
+public interface WindturbinetestingpointaiMapper extends BaseMapper<Windturbinetestingpointai> {
+
+}

+ 17 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WindturbinetestingpointdiMapper.java

@@ -0,0 +1,17 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmodel.model.auto.Windturbinetestingpointdi;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-10
+ */
+public interface WindturbinetestingpointdiMapper extends BaseMapper<Windturbinetestingpointdi> {
+
+}

+ 27 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/mapper/auto/WobugeqMapper.java

@@ -0,0 +1,27 @@
+package com.gyee.healthmodel.mapper.auto;
+
+import com.gyee.healthmodel.dataSources.DataSource;
+import com.gyee.healthmodel.dataSources.DataSourceType;
+import com.gyee.healthmodel.model.auto.Losspowerrate;
+import com.gyee.healthmodel.model.auto.Wobugeq;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-20
+ */
+public interface WobugeqMapper extends BaseMapper<Wobugeq> {
+
+    @Select(" select bugnum from wobugeq where wtnum=#{wtnum}  and  TRANSMITTIME>=#{beginDate} and TRANSMITTIME<=#{endDate} ")
+    public List<Wobugeq> getWobugeqs(@Param(value = "wtnum")Integer wtnum,@Param(value = "beginDate") Date beginDate, @Param(value = "endDate")Date endDate);
+
+}

+ 44 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/model/auto/Alarmcount.java

@@ -0,0 +1,44 @@
+package com.gyee.healthmodel.model.auto;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.util.Date;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("ALARMCOUNT")
+public class Alarmcount extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableField("ID")
+    private Long id;
+
+    @TableField("ALARMDATE")
+    private Date alarmdate;
+
+    @TableField("SNAPID")
+    private Long snapid;
+
+    @TableField("COUNT")
+    private Integer count;
+
+    @TableField("TIME")
+    private Double time;
+
+
+}

+ 114 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/model/auto/Alarmsnap.java

@@ -0,0 +1,114 @@
+package com.gyee.healthmodel.model.auto;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("ALARMSNAP")
+public class Alarmsnap extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Long id;
+
+    @TableField("STATIONID")
+    private String stationid;
+
+    @TableField("PROJECTID")
+    private String projectid;
+
+    @TableField("LINEID")
+    private String lineid;
+
+    @TableField("WINDTURBINEID")
+    private String windturbineid;
+
+    @TableField("ALERTVALUE")
+    private BigDecimal alertvalue;
+
+    @TableField("CATEGORY1")
+    private String category1;
+
+    @TableField("CATEGORY2")
+    private String category2;
+
+    @TableField("CATEGORY3")
+    private String category3;
+
+    @TableField("RANK")
+    private String rank;
+
+    @TableField("ISOPENED")
+    private Integer isopened;
+
+    @TableField("STATIONNAME")
+    private String stationname;
+
+    @TableField("PROJECTNAME")
+    private String projectname;
+
+    @TableField("LINENAME")
+    private String linename;
+
+    @TableField("WINDTURBINENAME")
+    private String windturbinename;
+
+    @TableField("ALERTTEXT")
+    private String alerttext;
+
+    @TableField("MODELID")
+    private String modelid;
+
+    @TableField("TESTINGPOINTKEY")
+    private String testingpointkey;
+
+    @TableField("LASTUPDATETIME")
+    private Date lastupdatetime;
+
+    @TableField("DATAINFO")
+    private String datainfo;
+
+    @TableField("ISCONFIRMED")
+    private Integer isconfirmed;
+
+    @TableField("CONFIRMTIME")
+    private Date confirmtime;
+
+    @TableField("LASTUPDATEPERSON")
+    private String lastupdateperson;
+
+    @TableField("IFIXPICTURE")
+    private String ifixpicture;
+
+    @TableField("IFIXTAG")
+    private String ifixtag;
+
+    @TableField("LASTCLOSETIME")
+    private Date lastclosetime;
+
+    @TableField("LASTCLOSEPERSON")
+    private String lastcloseperson;
+
+    @TableField("CONFIRMPERSON")
+    private String confirmperson;
+
+
+}

+ 80 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/model/auto/Alertrule2.java

@@ -0,0 +1,80 @@
+package com.gyee.healthmodel.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("ALERTRULE2")
+public class Alertrule2 extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("DESCRIPTION")
+    private String description;
+
+    @TableField("EXPRESSION")
+    private String expression;
+
+    @TableField("TAG")
+    private String tag;
+
+    @TableField("RANK")
+    private String rank;
+
+    @TableField("ENABLED")
+    private Integer enabled;
+
+    @TableField("MODELID")
+    private String modelid;
+
+    @TableField("EDNAVALUE")
+    private Long ednavalue;
+
+    @TableField("CATEGORY")
+    private String category;
+
+    @TableField("RANGE")
+    private String range;
+
+    @TableField("STATION")
+    private String station;
+
+    @TableField("WINDTURBINE")
+    private String windturbine;
+
+    @TableField("LINE")
+    private String line;
+
+    @TableField("PROJECT")
+    private String project;
+
+    @TableField("ELECTRICAL")
+    private String electrical;
+
+    @TableField("TASKSTART")
+    private String taskstart;
+
+    @TableField("RELATEDPARTS")
+    private String relatedparts;
+
+
+}

+ 51 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/model/auto/Alertrulefailure.java

@@ -0,0 +1,51 @@
+package com.gyee.healthmodel.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 com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 石林
+ * @since 2022-01-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("ALERTRULEFAILURE")
+public class Alertrulefailure extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("TID")
+    private String tid;
+
+    @TableField("GZPC")
+    private String gzpc;
+
+    @TableField("GZYY")
+    private String gzyy;
+
+    @TableField("GQJ")
+    private String gqj;
+
+    @TableField("XQSC")
+    private BigDecimal xqsc;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("MODEL")
+    private String model;
+
+
+}

+ 0 - 0
realtime/healthmodel-server/src/main/java/com/gyee/healthmodel/model/auto/Alertrulefailuresub.java


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