Преглед изворни кода

1.梳理计算

Signed-off-by: wangt <wt9213@hotmail.com>
wangt пре 1 година
родитељ
комит
badf6fa2a0
87 измењених фајлова са 2670 додато и 3753 уклоњено
  1. 3 8
      .idea/compiler.xml
  2. 0 13
      .idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_11.xml
  3. 0 13
      .idea/libraries/Maven__ch_qos_logback_logback_core_1_2_11.xml
  4. 0 13
      .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_12_6.xml
  5. 0 13
      .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_12_6.xml
  6. 0 13
      .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_12_6_1.xml
  7. 0 13
      .idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_12_6.xml
  8. 0 13
      .idea/libraries/Maven__com_github_ulisesbocchio_jasypt_spring_boot_2_1_1.xml
  9. 0 13
      .idea/libraries/Maven__com_github_ulisesbocchio_jasypt_spring_boot_starter_2_1_1.xml
  10. 0 13
      .idea/libraries/Maven__com_jayway_jsonpath_json_path_2_5_0.xml
  11. 0 13
      .idea/libraries/Maven__com_melloware_jasypt_1_9_4.xml
  12. 0 13
      .idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
  13. 0 13
      .idea/libraries/Maven__io_micrometer_micrometer_core_1_7_11.xml
  14. 0 13
      .idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml
  15. 0 13
      .idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml
  16. 0 13
      .idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml
  17. 0 13
      .idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_22.xml
  18. 0 13
      .idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_22.xml
  19. 0 13
      .idea/libraries/Maven__net_minidev_accessors_smart_2_4_8.xml
  20. 0 13
      .idea/libraries/Maven__net_minidev_json_smart_2_4_8.xml
  21. 0 13
      .idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml
  22. 0 13
      .idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml
  23. 0 13
      .idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml
  24. 0 13
      .idea/libraries/Maven__org_assertj_assertj_core_3_19_0.xml
  25. 0 13
      .idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml
  26. 0 13
      .idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_12.xml
  27. 0 13
      .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_7_2.xml
  28. 0 13
      .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_2.xml
  29. 0 13
      .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_2.xml
  30. 0 13
      .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_7_2.xml
  31. 0 13
      .idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_2.xml
  32. 0 13
      .idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_2.xml
  33. 0 13
      .idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml
  34. 0 13
      .idea/libraries/Maven__org_mockito_mockito_core_3_9_0.xml
  35. 0 13
      .idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_9_0.xml
  36. 0 13
      .idea/libraries/Maven__org_objenesis_objenesis_3_2.xml
  37. 0 13
      .idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
  38. 0 13
      .idea/libraries/Maven__org_ow2_asm_asm_9_1.xml
  39. 0 13
      .idea/libraries/Maven__org_projectlombok_lombok_1_18_24.xml
  40. 0 13
      .idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml
  41. 0 13
      .idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml
  42. 0 13
      .idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml
  43. 0 13
      .idea/libraries/Maven__org_springframework_boot_spring_boot_2_5_13.xml
  44. 0 13
      .idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_5_13.xml
  45. 0 13
      .idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_5_13.xml
  46. 0 13
      .idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_5_13.xml
  47. 0 13
      .idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_2_5_13.xml
  48. 0 13
      .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_5_13.xml
  49. 0 13
      .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_5_13.xml
  50. 0 13
      .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_5_13.xml
  51. 0 13
      .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_5_13.xml
  52. 0 13
      .idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_5_13.xml
  53. 0 13
      .idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_5_13.xml
  54. 0 13
      .idea/libraries/Maven__org_springframework_spring_aop_5_3_19.xml
  55. 0 13
      .idea/libraries/Maven__org_springframework_spring_beans_5_3_19.xml
  56. 0 13
      .idea/libraries/Maven__org_springframework_spring_context_5_3_19.xml
  57. 0 13
      .idea/libraries/Maven__org_springframework_spring_core_5_3_19.xml
  58. 0 13
      .idea/libraries/Maven__org_springframework_spring_expression_5_3_19.xml
  59. 0 13
      .idea/libraries/Maven__org_springframework_spring_jcl_5_3_19.xml
  60. 0 13
      .idea/libraries/Maven__org_springframework_spring_test_5_3_19.xml
  61. 0 13
      .idea/libraries/Maven__org_xmlunit_xmlunit_core_2_8_4.xml
  62. 0 13
      .idea/libraries/Maven__org_yaml_snakeyaml_1_28.xml
  63. 1 1
      .idea/misc.xml
  64. 0 2
      .idea/modules.xml
  65. 1 1
      .idea/vcs.xml
  66. 172 321
      .idea/workspace.xml
  67. 10 10
      TwoParameterWeibullProbabilityPlotOutput.txt
  68. 4 7
      neim-biz/src/main/java/com/jiayue/biz/controller/PdfController.java
  69. 52 40
      neim-biz/src/main/java/com/jiayue/biz/job/AirDensityJob.java
  70. 2 3
      neim-biz/src/main/java/com/jiayue/biz/job/FileAnalysisJob.java
  71. 4 6
      neim-biz/src/main/java/com/jiayue/biz/job/RedisCacheUpdateJob.java
  72. 2 2
      neim-biz/src/main/java/com/jiayue/biz/service/PdfService.java
  73. 3 8
      neim-biz/src/main/java/com/jiayue/biz/service/WindDataCalculationService.java
  74. 1 1
      neim-biz/src/main/java/com/jiayue/biz/service/impl/DataRecalculationImpl.java
  75. 19 13
      neim-biz/src/main/java/com/jiayue/biz/service/impl/EmailImpl.java
  76. 389 301
      neim-biz/src/main/java/com/jiayue/biz/service/impl/PdfServiceImpl.java
  77. 15 14
      neim-biz/src/main/java/com/jiayue/biz/service/impl/RealTimeDisplayServiceImpl.java
  78. 358 444
      neim-biz/src/main/java/com/jiayue/biz/service/impl/WindDataCalculationServiceImpl.java
  79. 10 16
      neim-biz/src/main/java/com/jiayue/biz/service/impl/WindTowerInfoServiceImpl.java
  80. 5 7
      neim-biz/src/main/java/com/jiayue/biz/util/CalculationUtil.java
  81. 60 0
      neim-biz/src/main/java/com/jiayue/biz/util/DateTimeUtil.java
  82. 1 1
      neim-biz/src/main/resources/logback-nerp.xml
  83. 1 194
      neim-system/neim-system.iml
  84. 10 8
      neim-ui/src/views/resourceAssessment/chart/rose.vue
  85. 428 425
      neim-ui/src/views/resourceAssessment/chart/turIntensity.vue
  86. 257 257
      neim-ui/src/views/resourceAssessment/chart/windShear.vue
  87. 862 870
      neim-ui/src/views/resourceAssessment/chart/wsAndWpd.vue

+ 3 - 8
.idea/compiler.xml

@@ -11,17 +11,12 @@
         <module name="neim-system" />
       </profile>
     </annotationProcessing>
-    <bytecodeTargetLevel>
-      <module name="neim" target="1.8" />
-      <module name="neim-biz" target="1.8" />
-      <module name="neim-system" target="1.8" />
-    </bytecodeTargetLevel>
   </component>
   <component name="JavacSettings">
     <option name="ADDITIONAL_OPTIONS_OVERRIDE">
-      <module name="neim" options="-bootclasspath $PROJECT_DIR$/../../../soft/jdk1.8.0_202/jre\lib\rt.jar;$PROJECT_DIR$/../../../soft/jdk1.8.0_202/jre\lib\jce.jar;$PROJECT_DIR$/../../../soft/jdk1.8.0_202/jre\lib\jsse.jar -Xlint:deprecation" />
-      <module name="neim-biz" options="-bootclasspath $PROJECT_DIR$/../../../soft/jdk1.8.0_202/jre\lib\rt.jar;$PROJECT_DIR$/../../../soft/jdk1.8.0_202/jre\lib\jce.jar;$PROJECT_DIR$/../../../soft/jdk1.8.0_202/jre\lib\jsse.jar -Xlint:deprecation" />
-      <module name="neim-system" options="-bootclasspath $PROJECT_DIR$/../../../soft/jdk1.8.0_202/jre\lib\rt.jar;$PROJECT_DIR$/../../../soft/jdk1.8.0_202/jre\lib\jce.jar;$PROJECT_DIR$/../../../soft/jdk1.8.0_202/jre\lib\jsse.jar -Xlint:deprecation" />
+      <module name="neim" options="-bootclasspath &quot;D:\soft\idea\IntelliJ IDEA 2023.2.4\jbr\lib\rt.jar;D:\soft\idea\IntelliJ IDEA 2023.2.4\jbr\lib\jce.jar;D:\soft\idea\IntelliJ IDEA 2023.2.4\jbr\lib\jsse.jar&quot; -Xlint:deprecation" />
+      <module name="neim-biz" options="-bootclasspath &quot;D:\soft\idea\IntelliJ IDEA 2023.2.4\jbr\lib\rt.jar;D:\soft\idea\IntelliJ IDEA 2023.2.4\jbr\lib\jce.jar;D:\soft\idea\IntelliJ IDEA 2023.2.4\jbr\lib\jsse.jar&quot; -Xlint:deprecation" />
+      <module name="neim-system" options="-bootclasspath &quot;D:\soft\idea\IntelliJ IDEA 2023.2.4\jbr\lib\rt.jar;D:\soft\idea\IntelliJ IDEA 2023.2.4\jbr\lib\jce.jar;D:\soft\idea\IntelliJ IDEA 2023.2.4\jbr\lib\jsse.jar&quot; -Xlint:deprecation" />
     </option>
   </component>
 </project>

+ 0 - 13
.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_11.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: ch.qos.logback:logback-classic:1.2.11">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.2.11/logback-classic-1.2.11.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.2.11/logback-classic-1.2.11-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.2.11/logback-classic-1.2.11-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_11.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: ch.qos.logback:logback-core:1.2.11">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.2.11/logback-core-1.2.11.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.2.11/logback-core-1.2.11-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.2.11/logback-core-1.2.11-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_12_6.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.12.6">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.12.6/jackson-annotations-2.12.6.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.12.6/jackson-annotations-2.12.6-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.12.6/jackson-annotations-2.12.6-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_12_6.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: com.fasterxml.jackson.core:jackson-core:2.12.6">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.12.6/jackson-core-2.12.6.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.12.6/jackson-core-2.12.6-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.12.6/jackson-core-2.12.6-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_12_6_1.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: com.fasterxml.jackson.core:jackson-databind:2.12.6.1">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.12.6.1/jackson-databind-2.12.6.1.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.12.6.1/jackson-databind-2.12.6.1-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.12.6.1/jackson-databind-2.12.6.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_12_6.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.6">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.12.6/jackson-datatype-jsr310-2.12.6.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.12.6/jackson-datatype-jsr310-2.12.6-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.12.6/jackson-datatype-jsr310-2.12.6-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__com_github_ulisesbocchio_jasypt_spring_boot_2_1_1.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: com.github.ulisesbocchio:jasypt-spring-boot:2.1.1">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/github/ulisesbocchio/jasypt-spring-boot/2.1.1/jasypt-spring-boot-2.1.1.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/com/github/ulisesbocchio/jasypt-spring-boot/2.1.1/jasypt-spring-boot-2.1.1-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/github/ulisesbocchio/jasypt-spring-boot/2.1.1/jasypt-spring-boot-2.1.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__com_github_ulisesbocchio_jasypt_spring_boot_starter_2_1_1.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: com.github.ulisesbocchio:jasypt-spring-boot-starter:2.1.1">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/github/ulisesbocchio/jasypt-spring-boot-starter/2.1.1/jasypt-spring-boot-starter-2.1.1.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/com/github/ulisesbocchio/jasypt-spring-boot-starter/2.1.1/jasypt-spring-boot-starter-2.1.1-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/github/ulisesbocchio/jasypt-spring-boot-starter/2.1.1/jasypt-spring-boot-starter-2.1.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_5_0.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: com.jayway.jsonpath:json-path:2.5.0">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/jayway/jsonpath/json-path/2.5.0/json-path-2.5.0.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/com/jayway/jsonpath/json-path/2.5.0/json-path-2.5.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/jayway/jsonpath/json-path/2.5.0/json-path-2.5.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__com_melloware_jasypt_1_9_4.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: com.melloware:jasypt:1.9.4">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/melloware/jasypt/1.9.4/jasypt-1.9.4.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/com/melloware/jasypt/1.9.4/jasypt-1.9.4-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/melloware/jasypt/1.9.4/jasypt-1.9.4-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__io_micrometer_micrometer_core_1_7_11.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: io.micrometer:micrometer-core:1.7.11">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/io/micrometer/micrometer-core/1.7.11/micrometer-core-1.7.11.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/io/micrometer/micrometer-core/1.7.11/micrometer-core-1.7.11-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/io/micrometer/micrometer-core/1.7.11/micrometer-core-1.7.11-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: jakarta.activation:jakarta.activation-api:1.2.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_22.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: net.bytebuddy:byte-buddy:1.10.22">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/net/bytebuddy/byte-buddy/1.10.22/byte-buddy-1.10.22.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/net/bytebuddy/byte-buddy/1.10.22/byte-buddy-1.10.22-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/net/bytebuddy/byte-buddy/1.10.22/byte-buddy-1.10.22-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_22.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: net.bytebuddy:byte-buddy-agent:1.10.22">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/net/bytebuddy/byte-buddy-agent/1.10.22/byte-buddy-agent-1.10.22.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/net/bytebuddy/byte-buddy-agent/1.10.22/byte-buddy-agent-1.10.22-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/net/bytebuddy/byte-buddy-agent/1.10.22/byte-buddy-agent-1.10.22-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__net_minidev_accessors_smart_2_4_8.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: net.minidev:accessors-smart:2.4.8">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/accessors-smart/2.4.8/accessors-smart-2.4.8.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/accessors-smart/2.4.8/accessors-smart-2.4.8-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/accessors-smart/2.4.8/accessors-smart-2.4.8-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__net_minidev_json_smart_2_4_8.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: net.minidev:json-smart:2.4.8">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/json-smart/2.4.8/json-smart-2.4.8.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/json-smart/2.4.8/json-smart-2.4.8-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/net/minidev/json-smart/2.4.8/json-smart-2.4.8-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.apache.logging.log4j:log4j-api:2.17.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-api/2.17.2/log4j-api-2.17.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-api/2.17.2/log4j-api-2.17.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-api/2.17.2/log4j-api-2.17.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.17.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-to-slf4j/2.17.2/log4j-to-slf4j-2.17.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-to-slf4j/2.17.2/log4j-to-slf4j-2.17.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/apache/logging/log4j/log4j-to-slf4j/2.17.2/log4j-to-slf4j-2.17.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.apiguardian:apiguardian-api:1.1.0">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_assertj_assertj_core_3_19_0.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.assertj:assertj-core:3.19.0">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/assertj/assertj-core/3.19.0/assertj-core-3.19.0.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/assertj/assertj-core/3.19.0/assertj-core-3.19.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/assertj/assertj-core/3.19.0/assertj-core-3.19.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.hamcrest:hamcrest:2.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest/2.2/hamcrest-2.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest/2.2/hamcrest-2.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_12.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.hdrhistogram:HdrHistogram:2.1.12">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_7_2.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.junit.jupiter:junit-jupiter:5.7.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter/5.7.2/junit-jupiter-5.7.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter/5.7.2/junit-jupiter-5.7.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter/5.7.2/junit-jupiter-5.7.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_2.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-api/5.7.2/junit-jupiter-api-5.7.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-api/5.7.2/junit-jupiter-api-5.7.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-api/5.7.2/junit-jupiter-api-5.7.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_2.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-engine/5.7.2/junit-jupiter-engine-5.7.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-engine/5.7.2/junit-jupiter-engine-5.7.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-engine/5.7.2/junit-jupiter-engine-5.7.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_7_2.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-params/5.7.2/junit-jupiter-params-5.7.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-params/5.7.2/junit-jupiter-params-5.7.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-params/5.7.2/junit-jupiter-params-5.7.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_2.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.junit.platform:junit-platform-commons:1.7.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-commons/1.7.2/junit-platform-commons-1.7.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-commons/1.7.2/junit-platform-commons-1.7.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-commons/1.7.2/junit-platform-commons-1.7.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_2.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.junit.platform:junit-platform-engine:1.7.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-engine/1.7.2/junit-platform-engine-1.7.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-engine/1.7.2/junit-platform-engine-1.7.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-engine/1.7.2/junit-platform-engine-1.7.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.latencyutils:LatencyUtils:2.0.3">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_mockito_mockito_core_3_9_0.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.mockito:mockito-core:3.9.0">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/mockito/mockito-core/3.9.0/mockito-core-3.9.0.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/mockito/mockito-core/3.9.0/mockito-core-3.9.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/mockito/mockito-core/3.9.0/mockito-core-3.9.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_9_0.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.mockito:mockito-junit-jupiter:3.9.0">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/mockito/mockito-junit-jupiter/3.9.0/mockito-junit-jupiter-3.9.0.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/mockito/mockito-junit-jupiter/3.9.0/mockito-junit-jupiter-3.9.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/mockito/mockito-junit-jupiter/3.9.0/mockito-junit-jupiter-3.9.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_objenesis_objenesis_3_2.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.objenesis:objenesis:3.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/objenesis/objenesis/3.2/objenesis-3.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/objenesis/objenesis/3.2/objenesis-3.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/objenesis/objenesis/3.2/objenesis-3.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.opentest4j:opentest4j:1.2.0">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.ow2.asm:asm:9.1">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm/9.1/asm-9.1.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm/9.1/asm-9.1-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm/9.1/asm-9.1-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_projectlombok_lombok_1_18_24.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.projectlombok:lombok:1.18.24">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.18.24/lombok-1.18.24.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.18.24/lombok-1.18.24-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.18.24/lombok-1.18.24-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.skyscreamer:jsonassert:1.5.0">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.slf4j:jul-to-slf4j:1.7.36">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jul-to-slf4j/1.7.36/jul-to-slf4j-1.7.36.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jul-to-slf4j/1.7.36/jul-to-slf4j-1.7.36-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jul-to-slf4j/1.7.36/jul-to-slf4j-1.7.36-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.slf4j:slf4j-api:1.7.36">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_boot_spring_boot_2_5_13.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework.boot:spring-boot:2.5.13">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/2.5.13/spring-boot-2.5.13.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/2.5.13/spring-boot-2.5.13-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot/2.5.13/spring-boot-2.5.13-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_5_13.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework.boot:spring-boot-actuator:2.5.13">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-actuator/2.5.13/spring-boot-actuator-2.5.13.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-actuator/2.5.13/spring-boot-actuator-2.5.13-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-actuator/2.5.13/spring-boot-actuator-2.5.13-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_5_13.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.5.13">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-actuator-autoconfigure/2.5.13/spring-boot-actuator-autoconfigure-2.5.13.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-actuator-autoconfigure/2.5.13/spring-boot-actuator-autoconfigure-2.5.13-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-actuator-autoconfigure/2.5.13/spring-boot-actuator-autoconfigure-2.5.13-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_5_13.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.5.13">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-autoconfigure/2.5.13/spring-boot-autoconfigure-2.5.13.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-autoconfigure/2.5.13/spring-boot-autoconfigure-2.5.13-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-autoconfigure/2.5.13/spring-boot-autoconfigure-2.5.13-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_2_5_13.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework.boot:spring-boot-configuration-processor:2.5.13">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-configuration-processor/2.5.13/spring-boot-configuration-processor-2.5.13.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-configuration-processor/2.5.13/spring-boot-configuration-processor-2.5.13-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-configuration-processor/2.5.13/spring-boot-configuration-processor-2.5.13-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_5_13.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework.boot:spring-boot-starter:2.5.13">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter/2.5.13/spring-boot-starter-2.5.13.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter/2.5.13/spring-boot-starter-2.5.13-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter/2.5.13/spring-boot-starter-2.5.13-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_5_13.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.5.13">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-actuator/2.5.13/spring-boot-starter-actuator-2.5.13.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-actuator/2.5.13/spring-boot-starter-actuator-2.5.13-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-actuator/2.5.13/spring-boot-starter-actuator-2.5.13-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_5_13.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework.boot:spring-boot-starter-logging:2.5.13">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-logging/2.5.13/spring-boot-starter-logging-2.5.13.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-logging/2.5.13/spring-boot-starter-logging-2.5.13-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-logging/2.5.13/spring-boot-starter-logging-2.5.13-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_5_13.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework.boot:spring-boot-starter-test:2.5.13">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-test/2.5.13/spring-boot-starter-test-2.5.13.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-test/2.5.13/spring-boot-starter-test-2.5.13-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-test/2.5.13/spring-boot-starter-test-2.5.13-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_5_13.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework.boot:spring-boot-test:2.5.13">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test/2.5.13/spring-boot-test-2.5.13.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test/2.5.13/spring-boot-test-2.5.13-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test/2.5.13/spring-boot-test-2.5.13-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_5_13.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.5.13">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test-autoconfigure/2.5.13/spring-boot-test-autoconfigure-2.5.13.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test-autoconfigure/2.5.13/spring-boot-test-autoconfigure-2.5.13-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-test-autoconfigure/2.5.13/spring-boot-test-autoconfigure-2.5.13-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_spring_aop_5_3_19.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework:spring-aop:5.3.19">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/5.3.19/spring-aop-5.3.19.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/5.3.19/spring-aop-5.3.19-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/5.3.19/spring-aop-5.3.19-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_spring_beans_5_3_19.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework:spring-beans:5.3.19">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/5.3.19/spring-beans-5.3.19.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/5.3.19/spring-beans-5.3.19-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/5.3.19/spring-beans-5.3.19-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_spring_context_5_3_19.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework:spring-context:5.3.19">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.3.19/spring-context-5.3.19.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.3.19/spring-context-5.3.19-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.3.19/spring-context-5.3.19-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_spring_core_5_3_19.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework:spring-core:5.3.19">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.3.19/spring-core-5.3.19.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.3.19/spring-core-5.3.19-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.3.19/spring-core-5.3.19-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_spring_expression_5_3_19.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework:spring-expression:5.3.19">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/5.3.19/spring-expression-5.3.19.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/5.3.19/spring-expression-5.3.19-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/5.3.19/spring-expression-5.3.19-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_spring_jcl_5_3_19.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework:spring-jcl:5.3.19">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jcl/5.3.19/spring-jcl-5.3.19.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jcl/5.3.19/spring-jcl-5.3.19-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jcl/5.3.19/spring-jcl-5.3.19-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_springframework_spring_test_5_3_19.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.springframework:spring-test:5.3.19">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-test/5.3.19/spring-test-5.3.19.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-test/5.3.19/spring-test-5.3.19-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-test/5.3.19/spring-test-5.3.19-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_8_4.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.xmlunit:xmlunit-core:2.8.4">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/xmlunit/xmlunit-core/2.8.4/xmlunit-core-2.8.4.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/xmlunit/xmlunit-core/2.8.4/xmlunit-core-2.8.4-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/xmlunit/xmlunit-core/2.8.4/xmlunit-core-2.8.4-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 0 - 13
.idea/libraries/Maven__org_yaml_snakeyaml_1_28.xml

@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: org.yaml:snakeyaml:1.28">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.28/snakeyaml-1.28.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.28/snakeyaml-1.28-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/yaml/snakeyaml/1.28/snakeyaml-1.28-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>

+ 1 - 1
.idea/misc.xml

@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
   <component name="MavenProjectsManager">
     <option name="originalFiles">
       <list>

+ 0 - 2
.idea/modules.xml

@@ -2,8 +2,6 @@
 <project version="4">
   <component name="ProjectModuleManager">
     <modules>
-      <module fileurl="file://$PROJECT_DIR$/neim.iml" filepath="$PROJECT_DIR$/neim.iml" />
-      <module fileurl="file://$PROJECT_DIR$/neim-biz/neim-biz.iml" filepath="$PROJECT_DIR$/neim-biz/neim-biz.iml" />
       <module fileurl="file://$PROJECT_DIR$/neim-system/neim-system.iml" filepath="$PROJECT_DIR$/neim-system/neim-system.iml" />
     </modules>
   </component>

+ 1 - 1
.idea/vcs.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="VcsDirectoryMappings">
-    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+    <mapping directory="" vcs="Git" />
   </component>
 </project>

+ 172 - 321
.idea/workspace.xml

@@ -4,319 +4,94 @@
     <option name="autoReloadType" value="SELECTIVE" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="12555237-475b-4aab-811e-0cafb2577a56" name="Changes" comment="1.计算实际数据数量未过滤非选择时间区间,造成缺失率出现负数">
-      <change afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/domain/ProjectProgressInfo.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/mapper/ProjectProgressInfoMapper.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/ProjectProgressInfoService.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/WindDataCalculationService.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/ProjectProgressInfoServiceImpl.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/WindDataCalculationServiceImpl.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/neim-ui/src/views/largeScreenPage/Subpage/projectEvolve_BAK.vue" afterDir="false" />
+    <list default="true" id="12555237-475b-4aab-811e-0cafb2577a56" name="Changes" comment="1.梳理计算">
       <change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/jarRepositories.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/jarRepositories.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_11.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_11.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_12_6.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_12_6.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_12_6_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_12_6.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_github_ulisesbocchio_jasypt_spring_boot_2_1_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_github_ulisesbocchio_jasypt_spring_boot_starter_2_1_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_5_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_melloware_jasypt_1_9_4.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__io_micrometer_micrometer_core_1_7_11.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_22.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_22.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__net_minidev_accessors_smart_2_4_8.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__net_minidev_json_smart_2_4_8.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_assertj_assertj_core_3_19_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_12.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_7_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_7_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_7_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_7_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_7_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_7_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_mockito_mockito_core_3_9_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_9_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_objenesis_objenesis_3_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_projectlombok_lombok_1_18_24.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_5_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_5_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_5_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_5_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_2_5_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_5_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_5_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_5_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_5_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_5_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_5_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_aop_5_3_19.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_beans_5_3_19.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_context_5_3_19.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_core_5_3_19.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_expression_5_3_19.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_jcl_5_3_19.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_test_5_3_19.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_8_4.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_yaml_snakeyaml_1_28.xml" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/runConfigurations.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/TwoParameterWeibullProbabilityPlotOutput.txt" beforeDir="false" afterPath="$PROJECT_DIR$/TwoParameterWeibullProbabilityPlotOutput.txt" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/pom.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/controller/DataRecalculationController.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/controller/DataRecalculationController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/controller/HomePageController.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/controller/HomePageController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/controller/ProjectController.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/controller/ProjectController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/controller/WindTowerCalculationDataController.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/controller/WindTowerCalculationDataController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/domain/WindTowerCalculationData.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/domain/WindTowerCalculationData.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/controller/PdfController.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/controller/PdfController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/job/AirDensityJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/job/AirDensityJob.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/job/FileAnalysisJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/job/FileAnalysisJob.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/job/ModbusReciveJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/job/ModbusReciveJob.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/job/WindTowerCalculationDataJob.java" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/HomePageService.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/HomePageService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/ProjectService.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/ProjectService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/WindTowerCalculationDataService.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/WindTowerCalculationDataService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/job/RedisCacheUpdateJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/job/RedisCacheUpdateJob.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/PdfService.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/PdfService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/WindDataCalculationService.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/WindDataCalculationService.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/DataRecalculationImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/DataRecalculationImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/HomePageServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/HomePageServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/EmailImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/EmailImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/PdfServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/PdfServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/ProjectInfoServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/ProjectInfoServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/ProjectServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/ProjectServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/WindDirectionStatisticsDataServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/WindDirectionStatisticsDataServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/WindTowerCalculationDataServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/WindTowerCalculationDataServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/RealTimeDisplayServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/RealTimeDisplayServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/WindDataCalculationServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/WindDataCalculationServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/WindTowerInfoServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/WindTowerInfoServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/util/CalculationUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/util/CalculationUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/util/CommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/util/CommonUtil.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/util/DateTimeUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/util/DateTimeUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/application-dev.yml" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/resources/application-dev.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/html/ie.html" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/html/ie.html.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/img/bg.png" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/img/fengche.png" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/app.60c5599b.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/app.60c5599b.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-1208fcbe.793cbdf1.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-1208fcbe.793cbdf1.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-171ca186.99047b9c.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-171ca186.99047b9c.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-24c54c5f.25ee122e.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-24c54c5f.25ee122e.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-28506e6c.1487a511.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-2af653b1.55d20a16.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-2af653b1.55d20a16.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-32ea1202.153aa359.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-32ea1202.153aa359.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-345dd7f2.bbc9fa95.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-345dd7f2.bbc9fa95.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-3724ee0c.c7a6b184.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-3724ee0c.c7a6b184.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-3ca6096f.9f7e2498.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-3ca6096f.9f7e2498.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-444dbb2e.3e10cd59.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-444dbb2e.3e10cd59.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-46876428.680532d0.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-46876428.680532d0.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-47fed2d0.f9e52dca.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-47fed2d0.f9e52dca.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-48223c1b.139f8fef.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-48223c1b.139f8fef.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-55d183ec.4e8637e7.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-55d183ec.4e8637e7.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-57c7bd1b.84f98409.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-57c7bd1b.84f98409.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-59e3a2aa.db9979c1.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-59e3a2aa.db9979c1.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-5a5e4b3e.95f72f1d.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-5a5e4b3e.95f72f1d.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-5b83c289.ce2a2394.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-5b83c289.ce2a2394.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-5bcac654.179c4f24.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-5bcac654.179c4f24.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-5e857f95.daa871e9.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-5e857f95.daa871e9.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-67417c65.43ccdbe8.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-67417c65.43ccdbe8.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-6a51e97f.5a402cd2.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-6a51e97f.5a402cd2.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-6ad04947.f9e52dca.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-6ad04947.f9e52dca.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-7c4ca7cb.b3dde55f.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-7c4ca7cb.b3dde55f.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-7ca6e6a6.2e9373c8.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-7ca6e6a6.2e9373c8.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-7d80f20e.4b262291.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-7d80f20e.4b262291.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-7d993ace.3a987f25.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-7d993ace.3a987f25.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-b8e2922c.26edb5dd.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-b8e2922c.26edb5dd.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-c28ad000.17fbdb6b.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-c28ad000.17fbdb6b.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-d58e2ee6.925aad09.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-d58e2ee6.925aad09.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-fc6a2dd6.38c474aa.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-fc6a2dd6.38c474aa.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-libs.cecb3c02.css" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/css/chunk-libs.cecb3c02.css.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/fonts/element-icons.535877f5.woff" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/fonts/element-icons.732389de.ttf" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/img/401.089007e7.gif" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/img/404.a57b6f31.png" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/img/404_cloud.0f4bc32b.png" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/img/background.a568162c.svg" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/img/bg.110420cf.png" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/img/dark.412ca67e.svg" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/img/fengche.2a8cc8d4.png" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/img/light.4183aad0.svg" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/img/logo.31dfca28.png" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/app.2fbc47d9.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/app.2fbc47d9.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/app.bcc75f64.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/app.bcc75f64.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/app.d306d330.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/app.d306d330.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-005cb0c7.d78b238c.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-005cb0c7.d78b238c.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-02de484e.f44ecb0c.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-02de484e.f44ecb0c.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-0d5b0085.2d9a9351.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-0d5b0085.2d9a9351.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-1208fcbe.4b270fa8.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-1208fcbe.4b270fa8.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-171ca186.5fa16332.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-171ca186.5fa16332.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-210a75fa.07aa30da.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-210a75fa.07aa30da.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-210ca3e9.14cdb213.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-210ca3e9.14cdb213.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-210ce324.4abfccff.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-210ce324.4abfccff.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-24c54c5f.a70141cc.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-24c54c5f.a70141cc.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2727631f.7cff2b3d.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2727631f.7cff2b3d.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-28506e6c.ed468711.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-28506e6c.ed468711.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2af653b1.3048c7b2.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2af653b1.3048c7b2.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2ccc379c.f0d982bc.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2ccc379c.f0d982bc.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0a3b04.d989512b.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0a3b04.d989512b.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0b1626.43374031.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0b1626.43374031.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0b2b28.9ffc10ea.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0b2b28.9ffc10ea.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0bce05.8f619b9f.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0bce05.8f619b9f.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0c8e18.22b64a5c.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0c8e18.22b64a5c.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0c94ba.7dc353e0.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0c94ba.7dc353e0.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0d0818.5ecb9cc0.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0d0818.5ecb9cc0.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0da2ea.6c3b83f3.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0da2ea.6c3b83f3.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0dd9c6.f7dbe80e.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0dd9c6.f7dbe80e.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0de3b1.0dd0775e.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0de3b1.0dd0775e.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0e2366.68f2ed78.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0e2366.68f2ed78.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0f012d.1bde8e38.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d0f012d.1bde8e38.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d20955d.d61e817f.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d20955d.d61e817f.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d2102b6.a5e01d67.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d2102b6.a5e01d67.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d212b99.b700d975.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d212b99.b700d975.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d217a3b.89a9c10c.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d217a3b.89a9c10c.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d217c9e.8ec1968a.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d217c9e.8ec1968a.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d21a3bb.8a51ac4c.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d21a3bb.8a51ac4c.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d22252c.60d0f445.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d22252c.60d0f445.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d230898.77a5396f.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-2d230898.77a5396f.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-32ea1202.b7b49c42.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-32ea1202.b7b49c42.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-345dd7f2.22da2a83.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-345dd7f2.22da2a83.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3724ee0c.175c2e37.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3724ee0c.175c2e37.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-38a7cfc8.7b2a35b0.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-38a7cfc8.7b2a35b0.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-39413ce8.3787794b.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-39413ce8.3787794b.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3a08d90c.31842239.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3a08d90c.31842239.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3ca6096f.9442c104.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3ca6096f.9442c104.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3ca6096f.bdbd75af.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3ca6096f.bdbd75af.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3de27d00.a2c026ea.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3de27d00.a2c026ea.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3f93175c.cff35383.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-3f93175c.cff35383.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-444dbb2e.8201de86.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-444dbb2e.8201de86.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-46876428.6d4cac1f.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-46876428.6d4cac1f.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-47fed2d0.8c937d89.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-47fed2d0.8c937d89.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-48223c1b.c3f7af43.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-48223c1b.c3f7af43.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-529f242d.ecf94593.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-529f242d.ecf94593.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-55d183ec.74459cf8.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-55d183ec.74459cf8.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-56f22bce.670a716b.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-56f22bce.670a716b.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-57c7bd1b.e693d395.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-57c7bd1b.e693d395.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-582b2a7a.d62f2480.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-582b2a7a.d62f2480.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-59e3a2aa.ad5ef7f6.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-59e3a2aa.ad5ef7f6.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5a5e4b3e.34b6b724.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5a5e4b3e.34b6b724.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5a5e4b3e.ddfb37b6.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5a5e4b3e.ddfb37b6.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5b83c289.8613a998.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5b83c289.8613a998.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5bcac654.d2d0b32f.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5bcac654.d2d0b32f.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5e857f95.2c045003.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5e857f95.2c045003.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5e857f95.659a3da1.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-5e857f95.659a3da1.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-60006966.ae364316.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-60006966.ae364316.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-612b035f.ebbe22c6.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-612b035f.ebbe22c6.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-67417c65.75833f9f.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-67417c65.75833f9f.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-68702101.246af57d.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-68702101.246af57d.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-68dadb0c.77b3d78e.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-68dadb0c.77b3d78e.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-6a51e97f.6a9bafd6.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-6a51e97f.6a9bafd6.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-6ad04947.6ed1118e.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-6ad04947.6ed1118e.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-717fd199.ba53c8d0.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-717fd199.ba53c8d0.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7c4ca7cb.3d01db05.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7c4ca7cb.3d01db05.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7ca6e6a6.a015c8ac.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7ca6e6a6.a015c8ac.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7ca6e6a6.b5e59ae9.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7ca6e6a6.b5e59ae9.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7d80f20e.1c5d1181.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7d80f20e.1c5d1181.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7d993ace.f9835958.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7d993ace.f9835958.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7fa21b9b.5829dc1a.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-7fa21b9b.5829dc1a.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-8579d4da.cd51487e.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-8579d4da.cd51487e.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-873ec724.73d9e1b0.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-873ec724.73d9e1b0.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-8ee3fc10.e082d0cc.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-8ee3fc10.e082d0cc.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-9e2b9738.4c09625c.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-9e2b9738.4c09625c.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-a1cbecf6.84d8e5d8.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-a1cbecf6.84d8e5d8.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-b8e2922c.8f45b1f7.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-b8e2922c.8f45b1f7.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-be1c46e2.b94d95b6.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-be1c46e2.b94d95b6.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-c28ad000.97d8556d.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-c28ad000.97d8556d.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-d19c1a98.aceece2c.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-d19c1a98.aceece2c.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-d58e2ee6.69d4087e.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-d58e2ee6.69d4087e.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-e2ef1232.5ac34eb0.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-e2ef1232.5ac34eb0.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-ec22a596.5782a3f2.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-ec22a596.5782a3f2.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-elementUI.fc6f1a32.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-elementUI.fc6f1a32.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-fc6a2dd6.ac3ff710.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-fc6a2dd6.ac3ff710.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-libs.2340f19c.js" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/static/js/chunk-libs.2340f19c.js.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/templates/favicon.ico" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/templates/index.html" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/templates/index.html.gz" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/templates/robots.txt" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-biz/src/main/resources/logback-nerp.xml" beforeDir="false" afterPath="$PROJECT_DIR$/neim-biz/src/main/resources/logback-nerp.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/neim-system/neim-system.iml" beforeDir="false" afterPath="$PROJECT_DIR$/neim-system/neim-system.iml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-system/src/main/java/com/jiayue/framework/config/ResourcesConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/neim-system/src/main/java/com/jiayue/framework/config/ResourcesConfig.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-ui/src/api/biz/dataQuery/homePage.js" beforeDir="false" afterPath="$PROJECT_DIR$/neim-ui/src/api/biz/dataQuery/homePage.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-ui/src/api/biz/dataQuery/project.js" beforeDir="false" afterPath="$PROJECT_DIR$/neim-ui/src/api/biz/dataQuery/project.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-ui/src/plugins/download.js" beforeDir="false" afterPath="$PROJECT_DIR$/neim-ui/src/plugins/download.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-ui/src/utils/dateTimeFormat.js" beforeDir="false" afterPath="$PROJECT_DIR$/neim-ui/src/utils/dateTimeFormat.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-ui/src/views/dataQuery/project/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/neim-ui/src/views/dataQuery/project/index.vue" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/neim-ui/src/views/largeScreenPage/Subpage/projectEvolve.vue" beforeDir="false" afterPath="$PROJECT_DIR$/neim-ui/src/views/largeScreenPage/Subpage/projectEvolve.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-ui/src/views/resourceAssessment/chart/rose.vue" beforeDir="false" afterPath="$PROJECT_DIR$/neim-ui/src/views/resourceAssessment/chart/rose.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-ui/src/views/resourceAssessment/chart/turIntensity.vue" beforeDir="false" afterPath="$PROJECT_DIR$/neim-ui/src/views/resourceAssessment/chart/turIntensity.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-ui/src/views/resourceAssessment/chart/windShear.vue" beforeDir="false" afterPath="$PROJECT_DIR$/neim-ui/src/views/resourceAssessment/chart/windShear.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/neim-ui/src/views/resourceAssessment/chart/wsAndWpd.vue" beforeDir="false" afterPath="$PROJECT_DIR$/neim-ui/src/views/resourceAssessment/chart/wsAndWpd.vue" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -340,6 +115,12 @@
     </option>
   </component>
   <component name="Git.Settings">
+    <option name="PATH_TO_GIT" value="D:\soft\Git\bin\git.exe" />
+    <option name="PREVIOUS_COMMIT_AUTHORS">
+      <list>
+        <option value="wangt &lt;123456&gt;" />
+      </list>
+    </option>
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
   </component>
   <component name="GitSEFilterConfiguration">
@@ -363,6 +144,9 @@
   <component name="ProjectCodeStyleSettingsMigration">
     <option name="version" value="2" />
   </component>
+  <component name="ProjectColorInfo">{
+  &quot;associatedIndex&quot;: 4
+}</component>
   <component name="ProjectId" id="2Nu1EBsmt0OXdRP0zIPnSEWzDjr" />
   <component name="ProjectLevelVcsManager" settingsEditedManually="true">
     <ConfirmationsSetting value="2" id="Add" />
@@ -371,26 +155,34 @@
     <option name="hideEmptyMiddlePackages" value="true" />
     <option name="showLibraryContents" value="true" />
   </component>
-  <component name="PropertiesComponent">{
-  &quot;keyToString&quot;: {
-    &quot;ASKED_MARK_IGNORED_FILES_AS_EXCLUDED&quot;: &quot;true&quot;,
-    &quot;RequestMappingsPanelOrder0&quot;: &quot;0&quot;,
-    &quot;RequestMappingsPanelOrder1&quot;: &quot;1&quot;,
-    &quot;RequestMappingsPanelWidth0&quot;: &quot;75&quot;,
-    &quot;RequestMappingsPanelWidth1&quot;: &quot;75&quot;,
-    &quot;ToolWindowLeetcode.ShowToolbar&quot;: &quot;false&quot;,
-    &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
-    &quot;last_opened_file_path&quot;: &quot;D:/work/project/neim/neim-ui/src/api/biz/dataQuery&quot;,
-    &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
-    &quot;project.structure.last.edited&quot;: &quot;Libraries&quot;,
-    &quot;project.structure.proportion&quot;: &quot;0.0&quot;,
-    &quot;project.structure.side.proportion&quot;: &quot;0.72068965&quot;,
-    &quot;settings.editor.selected.configurable&quot;: &quot;settings.saveactions&quot;,
-    &quot;spring.configuration.checksum&quot;: &quot;11e2f58b52e83c10fcdf618b08664f48&quot;,
-    &quot;ts.external.directory.path&quot;: &quot;D:\\soft\\IntelliJ IDEA 2022.1.3\\plugins\\JavaScriptLanguage\\jsLanguageServicesImpl\\external&quot;,
-    &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
+  <component name="PropertiesComponent"><![CDATA[{
+  "keyToString": {
+    "ASKED_MARK_IGNORED_FILES_AS_EXCLUDED": "true",
+    "RequestMappingsPanelOrder0": "0",
+    "RequestMappingsPanelOrder1": "1",
+    "RequestMappingsPanelWidth0": "75",
+    "RequestMappingsPanelWidth1": "75",
+    "RunOnceActivity.OpenProjectViewOnStart": "true",
+    "RunOnceActivity.ShowReadmeOnStart": "true",
+    "ToolWindowLeetcode.ShowToolbar": "false",
+    "WebServerToolWindowFactoryState": "false",
+    "git-widget-placeholder": "master",
+    "last_opened_file_path": "D:/soft/node-v12.9.1-win-x64/node.exe",
+    "node.js.detected.package.eslint": "true",
+    "node.js.detected.package.tslint": "true",
+    "node.js.selected.package.eslint": "(autodetect)",
+    "node.js.selected.package.tslint": "(autodetect)",
+    "nodejs_interpreter_path": "D:/soft/node-v12.9.1-win-x64/node",
+    "nodejs_package_manager_path": "npm",
+    "project.structure.last.edited": "Problems",
+    "project.structure.proportion": "0.15",
+    "project.structure.side.proportion": "0.72068965",
+    "settings.editor.selected.configurable": "vcs.Git",
+    "spring.configuration.checksum": "11e2f58b52e83c10fcdf618b08664f48",
+    "ts.external.directory.path": "D:\\soft\\idea\\IntelliJ IDEA 2023.2.4\\plugins\\javascript-impl\\jsLanguageServicesImpl\\external",
+    "vue.rearranger.settings.migration": "true"
   }
-}</component>
+}]]></component>
   <component name="ReactorSettings">
     <option name="notificationShown" value="true" />
   </component>
@@ -460,12 +252,50 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
+    <configuration name="build:stage" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
+      <package-json value="$PROJECT_DIR$/neim-ui/package.json" />
+      <command value="run" />
+      <scripts>
+        <script value="build:stage" />
+      </scripts>
+      <node-interpreter value="project" />
+      <envs />
+      <method v="2" />
+    </configuration>
+    <configuration name="clean-cache" type="js.build_tools.npm">
+      <package-json value="$PROJECT_DIR$/neim-ui/package.json" />
+      <command value="cache" />
+      <arguments value="clean --force" />
+      <node-interpreter value="project" />
+      <envs />
+      <method v="2" />
+    </configuration>
     <configuration name="dev" type="js.build_tools.npm" nameIsGenerated="true">
       <package-json value="$PROJECT_DIR$/neim-ui/package.json" />
       <command value="run" />
       <scripts>
         <script value="dev" />
       </scripts>
+      <node-interpreter value="$PROJECT_DIR$/../../soft/node-v12.9.1-win-x64/node" />
+      <envs />
+      <method v="2" />
+    </configuration>
+    <configuration name="lint" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
+      <package-json value="$PROJECT_DIR$/neim-ui/package.json" />
+      <command value="run" />
+      <scripts>
+        <script value="lint" />
+      </scripts>
+      <node-interpreter value="project" />
+      <envs />
+      <method v="2" />
+    </configuration>
+    <configuration name="preview" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
+      <package-json value="$PROJECT_DIR$/neim-ui/package.json" />
+      <command value="run" />
+      <scripts>
+        <script value="preview" />
+      </scripts>
       <node-interpreter value="project" />
       <envs />
       <method v="2" />
@@ -473,10 +303,17 @@
     <list>
       <item itemvalue="Application.com.jiayue.biz.controller.HomePageController" />
       <item itemvalue="npm.dev" />
+      <item itemvalue="npm.clean-cache" />
+      <item itemvalue="npm.build:stage" />
+      <item itemvalue="npm.lint" />
+      <item itemvalue="npm.preview" />
       <item itemvalue="Spring Boot.NeimApplication" />
     </list>
     <recent_temporary>
       <list>
+        <item itemvalue="npm.lint" />
+        <item itemvalue="npm.preview" />
+        <item itemvalue="npm.build:stage" />
         <item itemvalue="Application.com.jiayue.biz.controller.HomePageController" />
       </list>
     </recent_temporary>
@@ -522,6 +359,10 @@
       <workItem from="1698731205535" duration="19053000" />
       <workItem from="1698818478401" duration="3133000" />
       <workItem from="1698988414084" duration="1333000" />
+      <workItem from="1699338135589" duration="14000" />
+      <workItem from="1699508603646" duration="95423000" />
+      <workItem from="1700189240186" duration="11236000" />
+      <workItem from="1700555195308" duration="486000" />
     </task>
     <task id="LOCAL-00001" summary="1.开启健康监控节点-用于迁移内网后往公司邮箱发送每日健康监控&#10;2.修改通道数据选择场站时,带入风机名称bug&#10;3.待做项和注意项备注">
       <created>1694163606551</created>
@@ -616,7 +457,9 @@
     <MESSAGE value="1.调整测风塔排序" />
     <MESSAGE value="1.eol文件添加层高 A 解析" />
     <MESSAGE value="1.计算实际数据数量未过滤非选择时间区间,造成缺失率出现负数" />
-    <option name="LAST_COMMIT_MESSAGE" value="1.计算实际数据数量未过滤非选择时间区间,造成缺失率出现负数" />
+    <MESSAGE value="1.新一階段問題修復" />
+    <MESSAGE value="1.梳理计算" />
+    <option name="LAST_COMMIT_MESSAGE" value="1.梳理计算" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
@@ -626,6 +469,14 @@
           <line>191</line>
           <option name="timeStamp" value="7" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/neim-biz/src/main/java/com/jiayue/biz/service/impl/PdfServiceImpl.java</url>
+          <line>347</line>
+          <properties>
+            <option name="lambda-ordinal" value="-1" />
+          </properties>
+          <option name="timeStamp" value="58" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
   </component>

+ 10 - 10
TwoParameterWeibullProbabilityPlotOutput.txt

@@ -1,25 +1,25 @@
 Two Parameter Weibull Probability Plot
 
-Wednesday, 1 November 2023, 10.47
+Thursday, 16 November 2023, 14.41
 
 Unweighted constrained simplex regression
 
-Gradient:  1.0126        s.e. 0.0067
-Intercept: -0.0966       s.e. 0.0463
+Gradient:  1.014         s.e. 0.0072
+Intercept: -0.1007       s.e. 0.0459
 
-Correlation Coefficient, r: 0.9973
-Critical Value for r:       0.0334
+Correlation Coefficient, r: 0.9919
+Critical Value for r:       0.0352
 Significance level used:    5.0%
-Sum of squares:             62.3871
+Sum of squares:             159.8244
 
 Best Estimates of the Parameters
-sigma:  7.0092      'pseudo-linear' s.e. 0.0226
-gamma:  2.1561      'pseudo-linear' s.e. 0.0164
+sigma:  6.3335      'pseudo-linear' s.e. 0.0242
+gamma:  1.9796      'pseudo-linear' s.e. 0.0163
 
 The 'pseudo-linear' s.e.s are a lower limit to the s.e. and may significantly underestimate the s.e.
 See documentation, http://www.ee.ucl.ac.uk/~mflanaga/java/ProbabilityPlot.html, for details
 
 'Pseudo-linear' Parameter-Parameter Correlation Coefficients
         sigma       gamma       
-sigma   1.0         0.4088      
-gamma   0.4088      1.0         
+sigma   1.0         0.4669      
+gamma   0.4669      1.0         

+ 4 - 7
neim-biz/src/main/java/com/jiayue/biz/controller/PdfController.java

@@ -1,10 +1,8 @@
 package com.jiayue.biz.controller;
 
-import com.jiayue.biz.service.HomePageService;
 import com.jiayue.biz.service.PdfService;
 import com.jiayue.common.core.controller.BaseController;
 import com.jiayue.common.core.domain.AjaxResult;
-import com.jiayue.common.core.page.TableDataInfo;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -12,8 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Date;
-import java.util.List;
-import java.util.Map;
 
 
 /**
@@ -31,16 +27,17 @@ public class PdfController extends BaseController {
 
     @GetMapping("/generatePDF")
     public AjaxResult getWindTowerInfo(String equipmentId, String height, Long startDay, Long endDay) {
-        return AjaxResult.success(pdfService.generatePDF(equipmentId, height,new Date(startDay),new Date(endDay)));
+        return AjaxResult.success(pdfService.generatePDF(equipmentId, height, new Date(startDay), new Date(endDay)));
     }
 
     @GetMapping("/getDataTime")
     public AjaxResult getDataTime() {
         return AjaxResult.success(pdfService.getDataTime());
     }
+
     @GetMapping("/getDataTimeForEveryTower")
-    public AjaxResult getDataTimeForEveryTower(){
-        return AjaxResult.success(pdfService.getDataTimeForEveryTower());
+    public AjaxResult getDataTimeForEveryTower() {
+        return AjaxResult.success(pdfService.getDataTimeForEveryTower(false));
     }
 
 

+ 52 - 40
neim-biz/src/main/java/com/jiayue/biz/job/AirDensityJob.java

@@ -84,50 +84,62 @@ public class AirDensityJob {
         //传入时间的月末
         Date endMonthDate = DateTimeUtil.endOfMonth(endDate);
         for (WindTowerInfo windTowerInfo : windTowerInfoList) {
-            String equipmentNo = windTowerInfo.getEquipmentNo();
-            WindTowerCalculationData lastData = windTowerCalculationDataService.getLastDataCalculation(equipmentNo);
-            List<Entity> lastRealData = prophaseWeatherDataService.getLastData(equipmentNo);
-            if (lastData != null && lastRealData != null) {
-                Timestamp timestamp = (Timestamp) lastRealData.get(0).get("last (ts)");
-                //获取统计数据最后数据的时间
-                long lastTime = DateUtil.endOfDay(lastData.getTime()).getTime();
-                //获取邮件数据最后数据的时间
-                long realTime = DateUtil.endOfDay(new Date(timestamp.getTime())).getTime();
-                //如果两个时间相等则不需要计算
-                if (lastTime == realTime) {
-                    continue;
-                }
-                //如果邮件的数据比统计数据的时候大8天 则取统计数据的时间作为开始时间
-                if (realTime - lastTime >= 60 * 60 * 24 * 1000 * 8) {
-                    startDate = new Date(lastTime);
+            try {
+                String equipmentNo = windTowerInfo.getEquipmentNo();
+                WindTowerCalculationData lastData = windTowerCalculationDataService.getLastDataCalculation(equipmentNo);
+                List<Entity> lastRealData = prophaseWeatherDataService.getLastData(equipmentNo);
+                if (lastData != null && lastRealData != null) {
+                    Timestamp timestamp = (Timestamp) lastRealData.get(0).get("last (ts)");
+                    //获取统计数据最后数据的时间
+                    long lastTime = DateUtil.endOfDay(lastData.getTime()).getTime();
+                    //获取邮件数据最后数据的时间
+                    long realTime = DateUtil.endOfDay(new Date(timestamp.getTime())).getTime();
+                    //如果两个时间相等则不需要计算
+                    if (lastTime == realTime) {
+                        continue;
+                    }
+                    //如果邮件的数据比统计数据的时候大8天 则取统计数据的时间作为开始时间
+                    if (realTime - lastTime >= 60 * 60 * 24 * 1000 * 8) {
+                        startDate = new Date(lastTime);
+                    }
+
+                } else {
+                    List<Entity> firstRealData = prophaseWeatherDataService.getFirstData(equipmentNo);
+                    if (firstRealData.size() > 0) {
+                        startDate = (Timestamp) firstRealData.get(0).get("first (ts)");
+                    }
                 }
+                //传入时间的月初
+                Date startMonthDate = DateTimeUtil.beginOfMonth(startDate);
 
-            } else {
-                List<Entity> firstRealData = prophaseWeatherDataService.getFirstData(equipmentNo);
-                if (firstRealData.size() > 0) {
-                    startDate = (Timestamp) firstRealData.get(0).get("first (ts)");
+                //风数据查询
+                List<ProphaseAnemometryData> prophaseAnemometryDataList = prophaseAnemometryDataService.selectAll(equipmentNo, new Timestamp(startMonthDate.getTime()), new Timestamp(endMonthDate.getTime()));
+                if (null == prophaseAnemometryDataList || prophaseAnemometryDataList.isEmpty()) {
+                    log.warn("计算设备:{} 无测风塔数据", equipmentNo);
+                    continue;
+                }
+                //环境数据查询
+                List<ProphaseWeatherData> prophaseWeatherDataList = prophaseWeatherDataService.selectPublicData(equipmentNo, new Timestamp(startMonthDate.getTime()), new Timestamp(endMonthDate.getTime()));
+                if (null == prophaseWeatherDataList || prophaseWeatherDataList.isEmpty()) {
+                    log.warn("计算设备:{} 无环境数据", equipmentNo);
+                    continue;
                 }
+                //统计数据
+                List<WindTowerCalculationData> windTowerCalculationDataList = windTowerCalculationDataService.getByBetweenTimeAndEquipmentId(startMonthDate, endMonthDate, equipmentNo);
+
+                //计算结果集合
+                ArrayList<WindTowerCalculationData> dataList = new ArrayList<>();
+                Map<String, EquipmentAttribute> equipmentAttributeMap = equipmentAttributeList.stream().collect(Collectors.toMap(x -> x.getFieldName() + "", x -> x, (x1, x2) -> x1));
+                dataList = windDataCalculationService.calcu(dataList, startDate, endDate, equipmentNo, prophaseAnemometryDataList, prophaseWeatherDataList, equipmentAttributeMap, windTowerCalculationDataList, windTowerInfo);
+
+                log.info("数据计算完成,开始保存:{}", dataList.size());
+                // 统计概述
+                statisticsSituationService.statisticsSituation(windTowerInfo, statisticsSituations, equipmentAttributeList);
+                //保存
+                windTowerCalculationDataService.saveBatchByEquipmentId(dataList, equipmentNo);
+            } catch (Exception e) {
+                log.error("计算设备:{} 统计数据异常:{} ", windTowerInfo.getEquipmentNo(), e);
             }
-            //传入时间的月初
-            Date startMonthDate = DateTimeUtil.beginOfMonth(startDate);
-
-            //风数据查询
-            List<ProphaseAnemometryData> prophaseAnemometryDataList = prophaseAnemometryDataService.selectAll(equipmentNo, new Timestamp(startMonthDate.getTime()), new Timestamp(endMonthDate.getTime()));
-            //环境数据查询
-            List<ProphaseWeatherData> prophaseWeatherDataList = prophaseWeatherDataService.selectPublicData(equipmentNo, new Timestamp(startMonthDate.getTime()), new Timestamp(endMonthDate.getTime()));
-            //统计数据
-            List<WindTowerCalculationData> windTowerCalculationDataList = windTowerCalculationDataService.getByBetweenTimeAndEquipmentId(startMonthDate, endMonthDate, equipmentNo);
-
-            //计算结果集合
-            ArrayList<WindTowerCalculationData> dataList = new ArrayList<>();
-            Map<String, EquipmentAttribute> equipmentAttributeMap = equipmentAttributeList.stream().collect(Collectors.toMap(x -> x.getFieldName() + "", x -> x, (x1, x2) -> x1));
-            dataList = windDataCalculationService.calcu(dataList, startDate, endDate, equipmentNo, prophaseAnemometryDataList, prophaseWeatherDataList, equipmentAttributeMap, windTowerCalculationDataList, windTowerInfo);
-
-            log.info("数据计算完成,开始保存:{}", dataList.size());
-            // 统计概述
-            statisticsSituationService.statisticsSituation(windTowerInfo, statisticsSituations, equipmentAttributeList);
-            //保存
-            windTowerCalculationDataService.saveBatchByEquipmentId(dataList, equipmentNo);
         }
     }
 

+ 2 - 3
neim-biz/src/main/java/com/jiayue/biz/job/FileAnalysisJob.java

@@ -20,7 +20,6 @@ import org.springframework.stereotype.Service;
  */
 @Slf4j
 @Service
-@EnableScheduling
 public class FileAnalysisJob {
 
     @Autowired
@@ -43,11 +42,11 @@ public class FileAnalysisJob {
     //@Scheduled(fixedDelay = 60000)
     public void fileAnalysis() {
 
-        log.debug("文件解析定时任务执行开始");
+        log.info("文件解析定时任务执行开始");
 
         this.emailImpl.readMail();
 
-        log.debug("文件解析定时任务执行完成");
+        log.info("文件解析定时任务执行完成");
 
     }
 

+ 4 - 6
neim-biz/src/main/java/com/jiayue/biz/job/RedisCacheUpdateJob.java

@@ -1,15 +1,11 @@
 package com.jiayue.biz.job;
 
 
-import com.jiayue.biz.service.ProphaseAnemometryDataService;
-import com.jiayue.biz.service.ProphaseWeatherDataService;
+import com.jiayue.biz.service.PdfService;
 import com.jiayue.biz.service.WindTowerInfoService;
-import com.jiayue.biz.service.impl.AnalysisDataImpl;
-import com.jiayue.biz.service.impl.EmailImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
 
@@ -26,6 +22,8 @@ public class RedisCacheUpdateJob {
 
     @Autowired
     WindTowerInfoService windTowerInfoService;
+    @Autowired
+    PdfService pdfService;
 
     /**
      * 更新测风塔选择框
@@ -33,11 +31,11 @@ public class RedisCacheUpdateJob {
     public void updateWindTowerSeleter() {
 
         windTowerInfoService.listEquipmentIdAndDataTime(true);
+        pdfService.getDataTimeForEveryTower(true);
 
         log.info("更新测风塔选择框数据到redis缓存中");
 
     }
 
 
-
 }

+ 2 - 2
neim-biz/src/main/java/com/jiayue/biz/service/PdfService.java

@@ -2,7 +2,6 @@ package com.jiayue.biz.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.jiayue.biz.domain.WindTowerDataParentTable;
-import com.jiayue.biz.domain.WindTowerInfo;
 
 import java.util.Date;
 import java.util.List;
@@ -19,7 +18,8 @@ public interface PdfService extends IService<WindTowerDataParentTable> {
 
     //数据时间范围
     List<Map<String, Object>> getDataTime();
+
     //数据时间范围(pdf使用)
-    List<Map<String, Object>> getDataTimeForEveryTower();
+    List<Map<String, Object>> getDataTimeForEveryTower(boolean b);
 
 }

+ 3 - 8
neim-biz/src/main/java/com/jiayue/biz/service/WindDataCalculationService.java

@@ -36,8 +36,6 @@ public interface WindDataCalculationService {
      * 日均数据计算
      *
      * @param dataList
-     * @param startDate
-     * @param endDate
      * @param equipmentNo
      * @param prophaseAnemometryDataList
      * @param prophaseWeatherDataList
@@ -45,7 +43,7 @@ public interface WindDataCalculationService {
      * @param windTowerCalculationDataList
      * @return
      */
-    ArrayList<WindTowerCalculationData> calcuForDay(ArrayList<WindTowerCalculationData> dataList, Date startDate, Date endDate, String equipmentNo, List<ProphaseAnemometryData> prophaseAnemometryDataList
+    ArrayList<WindTowerCalculationData> calcuForDay(ArrayList<WindTowerCalculationData> dataList, String equipmentNo, List<ProphaseAnemometryData> prophaseAnemometryDataList
             , List<ProphaseWeatherData> prophaseWeatherDataList, Map<String, EquipmentAttribute> equipmentAttributeMap
             , List<WindTowerCalculationData> windTowerCalculationDataList, WindTowerInfo windTowerInfo);
 
@@ -53,16 +51,13 @@ public interface WindDataCalculationService {
      * 月均数据计算
      *
      * @param dataList
-     * @param startDate
-     * @param endDate
      * @param equipmentNo
      * @param prophaseAnemometryDataList
      * @param prophaseWeatherDataList
      * @param equipmentAttributeMap
-     * @param windTowerCalculationDataList
      * @return
      */
-    ArrayList<WindTowerCalculationData> calcuForMonth(ArrayList<WindTowerCalculationData> dataList, Date startDate, Date endDate, String equipmentNo
+    ArrayList<WindTowerCalculationData> calcuForMonth(ArrayList<WindTowerCalculationData> dataList, String equipmentNo
             , List<ProphaseAnemometryData> prophaseAnemometryDataList, List<ProphaseWeatherData> prophaseWeatherDataList, Map<String, EquipmentAttribute> equipmentAttributeMap
-            , List<WindTowerCalculationData> windTowerCalculationDataList, WindTowerInfo windTowerInfo);
+            , WindTowerInfo windTowerInfo);
 }

+ 1 - 1
neim-biz/src/main/java/com/jiayue/biz/service/impl/DataRecalculationImpl.java

@@ -637,7 +637,7 @@ public class DataRecalculationImpl implements DataRecalculationService {
             log.info("计算统计数据保存执行完毕");
             return AjaxResult.success("数据已经重新统计");
         } catch (Exception e) {
-            log.info("数据统计计算时异常");
+            log.info("数据统计计算时异常:{}",e);
             return AjaxResult.error("数据统计计算时异常");
         }
     }

+ 19 - 13
neim-biz/src/main/java/com/jiayue/biz/service/impl/EmailImpl.java

@@ -1,17 +1,5 @@
 package com.jiayue.biz.service.impl;
 
-import java.io.*;
-import java.security.Security;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.stream.Collectors;
-
-import javax.mail.*;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import javax.mail.internet.MimeUtility;
-
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jiayue.biz.domain.Email;
 import com.jiayue.biz.domain.EmailWindTowerInfo;
@@ -27,6 +15,18 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import javax.mail.*;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+import javax.mail.internet.MimeUtility;
+import javax.mail.search.*;
+import java.io.*;
+import java.security.Security;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
 /**
  * 使用imap协议获取未读邮件数
  *
@@ -110,7 +110,13 @@ public class EmailImpl extends ServiceImpl<EmailMapper, Email> implements EmailS
                 // 获得收件箱中的未读邮件数
                 log.warn("未读邮件数: {}", folder.getUnreadMessageCount());
                 log.warn("总邮件个数: {}", folder.getMessageCount());
-                Message[] messages1 = folder.getMessages();
+                Calendar cal = Calendar.getInstance();
+                cal.add(Calendar.DAY_OF_MONTH, -10);
+                SearchTerm term = new SentDateTerm(ComparisonTerm.GE, cal.getTime());
+                FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false); //false代表未读,true代表已读
+                SearchTerm comparisonAndTerm = new AndTerm(term, ft);
+                Message[] messages1 = folder.search(comparisonAndTerm);
+
                 for (Message message : messages1) {
                     //存在附件返回true 不存在返回false
                     Flags flags = message.getFlags();

Разлика између датотеке није приказан због своје велике величине
+ 389 - 301
neim-biz/src/main/java/com/jiayue/biz/service/impl/PdfServiceImpl.java


+ 15 - 14
neim-biz/src/main/java/com/jiayue/biz/service/impl/RealTimeDisplayServiceImpl.java

@@ -1,32 +1,26 @@
 package com.jiayue.biz.service.impl;
 
 import cn.hutool.db.Entity;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.jiayue.biz.domain.*;
+import com.jiayue.biz.domain.ProphaseAnemometryData;
+import com.jiayue.biz.domain.ProphaseWeatherData;
+import com.jiayue.biz.domain.WindTowerInfo;
 import com.jiayue.biz.eunms.WindDirectionEnum;
-import com.jiayue.biz.mapper.ProphaseAnemometryDataMapper;
-import com.jiayue.biz.mapper.ProphaseWeatherDataMapper;
-import com.jiayue.biz.mapper.WindTowerDataParentTableMapper;
 import com.jiayue.biz.service.*;
 import com.jiayue.biz.util.CalculationUtil;
 import com.jiayue.biz.util.DateTimeUtil;
-import com.jiayue.biz.util.SEDateUtil;
 import com.jiayue.common.core.redis.RedisCache;
 import com.jiayue.common.utils.DateUtil;
 import flanagan.analysis.ProbabilityPlot;
 import lombok.AllArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.sql.Array;
 import java.sql.Timestamp;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 @Service
 @AllArgsConstructor
@@ -298,7 +292,11 @@ public class RealTimeDisplayServiceImpl implements RealTimeDisplayService {
     public List<Object> weibull(Long startTime, Long endTime, String equipmentId, String height) {
         //查询实时数据
         List<ProphaseAnemometryData> prophaseAnemometryDataList = prophaseAnemometryDataService.selectWsAve(equipmentId, new Timestamp(startTime), new Timestamp(endTime));
-        List<ProphaseAnemometryData> dataList = prophaseAnemometryDataList.stream().filter(p -> p.getLayerHeight().equals(height)).collect(Collectors.toList());
+        List<ProphaseAnemometryData> dataList = prophaseAnemometryDataList.stream().filter(p -> null != p.getWsAve() && p.getWsAve() >= 0 &&
+                p.getWsAve() <= 60 && p.getLayerHeight().equals(height)).collect(Collectors.toList());
+
+        Map<String, List<ProphaseAnemometryData>> prophaseHourMap = dataList.stream()
+                .collect(Collectors.groupingBy(x -> DateTimeUtil.getFormatDateStrForHH(x.getTs().getTime())));
 
 
         ArrayList<Object> densityList1 = new ArrayList<>();
@@ -314,7 +312,10 @@ public class RealTimeDisplayServiceImpl implements RealTimeDisplayService {
         //平均风速
         BigDecimal avgWs = BigDecimal.ZERO;
         //过滤风速集合
-        List<Float> floatList = dataList.stream().map(ProphaseAnemometryData::getWsAve).collect(Collectors.toList());
+        List<Float> floatList = new ArrayList<>();
+        prophaseHourMap.forEach((hour, value) -> {
+            floatList.add(value.stream().collect(Collectors.averagingDouble(ProphaseAnemometryData::getWsAve)).floatValue());
+        });
         //求风速总值
         double sum = floatList.stream().mapToDouble(p -> p).sum();
         double[] doubles = floatList.stream().mapToDouble(p -> p).toArray();
@@ -331,8 +332,8 @@ public class RealTimeDisplayServiceImpl implements RealTimeDisplayService {
             double K = probabilityPlot.weibullTwoParGamma();
             double A = probabilityPlot.weibullTwoParSigma();
             //放入AK 平均风速返回给前台
-            map2.put("K", K);
-            map2.put("A", A);
+            map2.put("K", new BigDecimal(K).setScale(4, BigDecimal.ROUND_UP).doubleValue());
+            map2.put("A", new BigDecimal(A).setScale(4, BigDecimal.ROUND_UP).doubleValue());
             map2.put("avgWs", avgWs.doubleValue());
 
             for (double ws : doubles) {
@@ -771,7 +772,7 @@ public class RealTimeDisplayServiceImpl implements RealTimeDisplayService {
             Map<String, Object> map = new HashMap<>();
             List<ProphaseAnemometryData> heightAndWindDirectionOrg = CalculationUtil.getForHeightAndWindDirectionEnum(prophaseAnemometryDataList, value);
             //过滤数据中的-99
-            List<ProphaseAnemometryData> heightAndWindDirectionEnum = heightAndWindDirectionOrg.stream().filter(p->p.getWsAve()!=-99 && p.getWsSta()!=-99).collect(Collectors.toList());
+            List<ProphaseAnemometryData> heightAndWindDirectionEnum = heightAndWindDirectionOrg.stream().filter(p -> p.getWsAve() != -99 && p.getWsSta() != -99).collect(Collectors.toList());
             //总风速
             double wsSum = heightAndWindDirectionEnum.stream().mapToDouble(ProphaseAnemometryData::getWsAve).sum();
             //总方差

Разлика између датотеке није приказан због своје велике величине
+ 358 - 444
neim-biz/src/main/java/com/jiayue/biz/service/impl/WindDataCalculationServiceImpl.java


+ 10 - 16
neim-biz/src/main/java/com/jiayue/biz/service/impl/WindTowerInfoServiceImpl.java

@@ -1,28 +1,22 @@
 package com.jiayue.biz.service.impl;
 
 import cn.hutool.core.util.StrUtil;
-import cn.hutool.db.Entity;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jiayue.biz.domain.Equipment;
 import com.jiayue.biz.domain.ProjectInfo;
-import com.jiayue.biz.domain.StatisticsSituation;
+import com.jiayue.biz.domain.WindTowerInfo;
+import com.jiayue.biz.mapper.WindTowerInfoMapper;
 import com.jiayue.biz.service.ProjectInfoService;
 import com.jiayue.biz.service.ProphaseWeatherDataService;
-import com.jiayue.biz.util.SortListUtil;
+import com.jiayue.biz.service.WindTowerInfoService;
 import com.jiayue.common.core.redis.RedisCache;
 import com.jiayue.common.utils.DateUtil;
-import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.jiayue.biz.mapper.WindTowerInfoMapper;
-import com.jiayue.biz.domain.WindTowerInfo;
-import com.jiayue.biz.service.WindTowerInfoService;
 
-import java.sql.Struct;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
@@ -130,8 +124,8 @@ public class WindTowerInfoServiceImpl extends ServiceImpl<WindTowerInfoMapper, W
     }
 
     public List<Map<String, String>> listEquipmentIdAndDataTime(boolean updateFlag) {
-        if ( !updateFlag ){
-            if(redisCache.getCacheObject("listEquipmentIdAndDataTime") != null ) {
+        if (!updateFlag) {
+            if (redisCache.getCacheObject("listEquipmentIdAndDataTime") != null) {
                 log.info("从缓存中获取【listEquipmentIdAndDataTime】");
                 return redisCache.getCacheObject("listEquipmentIdAndDataTime");
             }
@@ -171,8 +165,8 @@ public class WindTowerInfoServiceImpl extends ServiceImpl<WindTowerInfoMapper, W
 
         Map<String, String> map;
 
-        SortListUtil<WindTowerInfo> sortList = new SortListUtil<WindTowerInfo>();
-        sortList.Sort(windTowerInfos, "getCreateTime", "desc");
+       /* SortListUtil<WindTowerInfo> sortList = new SortListUtil<WindTowerInfo>();
+        sortList.Sort(windTowerInfos, "getCreateTime", "desc");*/
         for (WindTowerInfo w : windTowerInfos) {
             map = new HashMap<>();
             map.put("value", w.getEquipmentNo());
@@ -183,9 +177,9 @@ public class WindTowerInfoServiceImpl extends ServiceImpl<WindTowerInfoMapper, W
             Map<String, Long> dataTimeStartAndEnd = prophaseWeatherDataService.getDataTimeStartAndEnd(w.getEquipmentNo());
 
             String str;
-            if(dataTimeStartAndEnd.get("startTime") == 0l || dataTimeStartAndEnd.get("endTime") == 0l) {
+            if (dataTimeStartAndEnd.get("startTime") == 0l || dataTimeStartAndEnd.get("endTime") == 0l) {
                 str = "";
-            }else {
+            } else {
                 str = sdf.format(new Date(dataTimeStartAndEnd.get("startTime"))) + "-" + sdf.format(new Date(dataTimeStartAndEnd.get("endTime")));
             }
             map.put("date", str);

+ 5 - 7
neim-biz/src/main/java/com/jiayue/biz/util/CalculationUtil.java

@@ -84,19 +84,17 @@ public class CalculationUtil {
      *
      * @return 风能密度
      */
-    public static BigDecimal windEnergyDensity(List<ProphaseAnemometryData> anemometryData, List<ProphaseWeatherData> weatherData) {
+    public static BigDecimal windEnergyDensity(List<ProphaseAnemometryData> anemometryData, Map<String, ProphaseWeatherData> prophaseWeatherDataMap) {
 
         BigDecimal density = new BigDecimal(-99);
         try {
             if (anemometryData.size() != 0) {
                 BigDecimal wpdSum = new BigDecimal(0);
                 for (ProphaseAnemometryData anemometryDatum : anemometryData) {
-                    List<ProphaseWeatherData> collect = weatherData.stream()
-                            .filter(w -> w.getTs().getTime() == anemometryDatum.getTs().getTime()
-                                    && anemometryDatum.getWsAve() != null && anemometryDatum.getWsAve() != -99
-                                    && w.getAirDensity() != null && w.getAirDensity() != -99).collect(Collectors.toList());
-                    if (collect.size() > 0) {
-                        wpdSum = wpdSum.add(getWpdCalculate(getBigDecimal(collect.get(0).getAirDensity()), getBigDecimal(anemometryDatum.getWsAve())));
+                    ProphaseWeatherData prophaseWeatherData = prophaseWeatherDataMap.get(anemometryDatum.getTs().getTime() + "");
+
+                    if (null != prophaseWeatherData) {
+                        wpdSum = wpdSum.add(getWpdCalculate(getBigDecimal(prophaseWeatherData.getAirDensity()), getBigDecimal(anemometryDatum.getWsAve())));
                     }
                 }
                 density = wpdSum.divide(BigDecimal.valueOf(anemometryData.size()), 2, RoundingMode.HALF_UP);

+ 60 - 0
neim-biz/src/main/java/com/jiayue/biz/util/DateTimeUtil.java

@@ -205,6 +205,66 @@ public class DateTimeUtil {
     }
 
     /**
+     * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm
+     *
+     * @param dateDate
+     * @return
+     */
+    public static String getFormatDateStr2(Long dateDate) {
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+        String dateString = formatter.format(dateDate);
+        return dateString;
+    }
+
+    /**
+     * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm
+     *
+     * @param dateDate
+     * @return
+     */
+    public static String getFormatDateStrForHH(Long dateDate) {
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH");
+        String dateString = formatter.format(dateDate);
+        return dateString;
+    }
+
+    /**
+     * 将长时间格式时间转换为字符串 yyyy-MM-dd
+     *
+     * @param dateDate
+     * @return
+     */
+    public static String getFormatDateStrForDay(Long dateDate) {
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+        String dateString = formatter.format(dateDate);
+        return dateString;
+    }
+
+    /**
+     * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm
+     *
+     * @param dateDate
+     * @return
+     */
+    public static String getFormatDateStrForHour(Long dateDate) {
+        SimpleDateFormat formatter = new SimpleDateFormat("HH");
+        String dateString = formatter.format(dateDate);
+        return dateString;
+    }
+
+    /**
+     * 将长时间格式时间转换为字符串 yyyy-MM-dd
+     *
+     * @param dateDate
+     * @return
+     */
+    public static String getFormatDateStrForMonth(Long dateDate) {
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
+        String dateString = formatter.format(dateDate);
+        return dateString;
+    }
+
+    /**
      * 将时间格式字符串转换为时间 HH:mm
      *
      * @param strDate

+ 1 - 1
neim-biz/src/main/resources/logback-nerp.xml

@@ -99,7 +99,7 @@
         <appender-ref ref="logFile"/>
     </logger>
 
-
+    <logger name="flanagan.analysis.ProbabilityPlot" level="OFF" additivity="false"/>
     <logger name="org" level="info" additivity="true">
         <appender-ref ref="logFile"/>
     </logger>

+ 1 - 194
neim-system/neim-system.iml

@@ -1,201 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+<module version="4">
   <component name="FacetManager">
-    <facet type="web" name="Web">
-      <configuration>
-        <webroots />
-      </configuration>
-    </facet>
     <facet type="Spring" name="Spring">
       <configuration />
     </facet>
   </component>
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.11" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.11" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.17.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.17.2" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.36" level="project" />
-    <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:5.5.6" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.5.6" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.5.6" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:5.5.6" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.4.1" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.2.0" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.4.1" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.3.0" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.2" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.62" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.2.3.Final" level="project" />
-    <orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.3.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.12.0" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.12.6.1" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.12.6" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.12.6" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.80" level="project" />
-    <orderEntry type="library" name="Maven: commons-io:commons-io:2.11.0" level="project" />
-    <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:4.1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi:4.1.2" level="project" />
-    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.15" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-math3:3.6.1" level="project" />
-    <orderEntry type="library" name="Maven: com.zaxxer:SparseBitSet:1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:4.1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:3.1.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.19" level="project" />
-    <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.06" level="project" />
-    <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.28" level="project" />
-    <orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:6.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.76.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.76.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.76.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.76.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.76.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.76.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.4.17" level="project" />
-    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.9.0" level="project" />
-    <orderEntry type="library" name="Maven: eu.bitwalker:UserAgentUtils:1.21" level="project" />
-    <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.4.3.4" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.3.4" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:4.0.3" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.3.4" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.4.3.4" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.4.3.4" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.7" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.6" level="project" />
-    <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.7.18" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.velocity:velocity-engine-core:2.3" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.36" level="project" />
-    <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
-    <orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:2.3.2" level="project" />
-    <orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.15" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.12.6" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.6" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.12.6" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.19" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: io.undertow:undertow-core:2.2.17.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.8.6.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.wildfly.common:wildfly-common:1.5.4.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.wildfly.client:wildfly-client-config:1.0.1.Final" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.jboss.xnio:xnio-nio:3.8.6.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.threads:jboss-threads:3.1.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.undertow:undertow-servlet:2.2.17.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.undertow:undertow-websockets-jsr:2.2.17.Final" level="project" />
-    <orderEntry type="library" name="Maven: jakarta.servlet:jakarta.servlet-api:4.0.4" level="project" />
-    <orderEntry type="library" name="Maven: jakarta.websocket:jakarta.websocket-api:1.1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.2.16" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:druid:1.2.16" level="project" />
-    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.28" level="project" />
-    <orderEntry type="library" name="Maven: com.github.penggle:kaptcha:2.3.2" level="project" />
-    <orderEntry type="library" name="Maven: com.jhlabs:filters:2.0.235-1" level="project" />
-    <orderEntry type="library" name="Maven: com.github.oshi:oshi-core:6.1.2" level="project" />
-    <orderEntry type="library" name="Maven: net.java.dev.jna:jna:5.10.0" level="project" />
-    <orderEntry type="library" name="Maven: net.java.dev.jna:jna-platform:5.10.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-boot-starter:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-oas:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger.core.v3:swagger-annotations:2.1.2" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger.core.v3:swagger-models:2.1.2" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spi:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-schema:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-core:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: io.github.classgraph:classgraph:4.8.83" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-webmvc:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-webflux:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:3.0.0" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.mapstruct:mapstruct:1.3.1.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-data-rest:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-bean-validators:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:3.0.0" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:2.0.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.6.2" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.6.2" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-configuration-processor:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: com.github.ulisesbocchio:jasypt-spring-boot-starter:2.1.1" level="project" />
-    <orderEntry type="library" name="Maven: com.github.ulisesbocchio:jasypt-spring-boot:2.1.1" level="project" />
-    <orderEntry type="library" name="Maven: com.melloware:jasypt:1.9.4" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.5.13" level="project" />
-    <orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.7.11" level="project" />
-    <orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.12" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.24" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.5.13" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.5.13" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.5.13" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.5.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.4.8" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:2.4.8" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:9.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.19.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.9.0" level="project" />
-    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.22" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.22" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:3.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.9.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.3.19" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.8.4" level="project" />
-  </component>
 </module>

+ 10 - 8
neim-ui/src/views/resourceAssessment/chart/rose.vue

@@ -76,8 +76,8 @@
       getRoseData() {
         let wdData = this.roseChart.wd
         let powerData = this.roseChart.power
-        var wd = [wdData[0].N, wdData[15].NNW, wdData[14].NW, wdData[13].WNW, wdData[12].W, wdData[11].WSW, wdData[10].SW, wdData[9].SSW, wdData[8].S, wdData[7].SSE, wdData[6].SE, wdData[5].ESE, wdData[4].E, wdData[3].ENE, wdData[2].NE, wdData[1].NNE]
-        var power = [powerData[0].N, powerData[15].NNW, powerData[14].NW, powerData[13].WNW, powerData[12].W, powerData[11].WSW, powerData[10].SW, powerData[9].SSW, powerData[8].S, powerData[7].SSE, powerData[6].SE, powerData[5].ESE, powerData[4].E, powerData[3].ENE, powerData[2].NE, powerData[1].NNE]
+        var wd = [wdData[0].N, wdData[1].NNE, wdData[2].NE, wdData[3].ENE, wdData[4].E, wdData[5].ESE, wdData[6].SE, wdData[7].SSE, wdData[8].S, wdData[9].SSW, wdData[10].SW, wdData[11].WSW, wdData[12].W, wdData[13].WNW, wdData[14].NW, wdData[15].NNW]
+        var power = [powerData[0].N, powerData[1].NNE, powerData[2].NE, powerData[3].ENE, powerData[4].E, powerData[5].ESE, powerData[6].SE, powerData[7].SSE, powerData[8].S, powerData[9].SSW, powerData[10].SW, powerData[11].WSW, powerData[12].W, powerData[13].WNW, powerData[14].NW, powerData[15].NNW]
         this.drawWdRose(wd)
         this.drawPowerRose(power)
         this.getMonthWdCharts()
@@ -93,7 +93,7 @@
             let data = item.data
             let wd = []
             if(data !=null){
-              wd = [data[0].N, data[15].NNW, data[14].NW, data[13].WNW, data[12].W, data[11].WSW, data[10].SW, data[9].SSW, data[8].S, data[7].SSE, data[6].SE, data[5].ESE, data[4].E, data[3].ENE, data[2].NE, data[1].NNE]
+              wd = [data[0].N, data[1].NNE, data[2].NE, data[3].ENE, data[4].E, data[5].ESE, data[6].SE, data[7].SSE, data[8].S, data[9].SSW, data[10].SW, data[11].WSW, data[12].W, data[13].WNW, data[14].NW, data[15].NNW]
             }
             this.drawMonthRose(`wdItem${index}`,wd,item.time)
           })
@@ -101,7 +101,7 @@
             let data = item.data
             let power =[]
             if(data != null){
-              power= [data[0].N, data[15].NNW, data[14].NW, data[13].WNW, data[12].W, data[11].WSW, data[10].SW, data[9].SSW, data[8].S, data[7].SSE, data[6].SE, data[5].ESE, data[4].E, data[3].ENE, data[2].NE, data[1].NNE]
+              power=[data[0].N, data[1].NNE, data[2].NE, data[3].ENE, data[4].E, data[5].ESE, data[6].SE, data[7].SSE, data[8].S, data[9].SSW, data[10].SW, data[11].WSW, data[12].W, data[13].WNW, data[14].NW, data[15].NNW]
             }
             this.drawMonthRose(`powerItem${index}`,power,item.time)
           })
@@ -131,8 +131,9 @@
               },
             },
             axisLabel: {color: '#000',fontSize:20, fontWeight: 'bolder'},
-            data: ['N', 'NNW', 'NW', 'WNW', 'W', 'WSW', 'SW', 'SSW', 'S',
-              'SSE', 'SE', 'ESE', 'E', 'ENE', 'NE', 'NNE'],
+            data: [
+              'N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW',
+              'WSW', 'W', 'WNW', 'NW', 'NNW'],
             z: 10
           },
           radiusAxis: {
@@ -186,8 +187,9 @@
               },
             },
             axisLabel: {color: '#000',fontSize:20, fontWeight: 'bolder'},
-            data: ['N', 'NNW', 'NW', 'WNW', 'W', 'WSW', 'SW', 'SSW', 'S',
-              'SSE', 'SE', 'ESE', 'E', 'ENE', 'NE', 'NNE'],
+            data:[
+              'N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW',
+              'WSW', 'W', 'WNW', 'NW', 'NNW'],
             z: 10
           },
           radiusAxis: {

+ 428 - 425
neim-ui/src/views/resourceAssessment/chart/turIntensity.vue

@@ -1,13 +1,13 @@
 <template>
   <div>
     <div style="height: 1200px;">
-      <h1 class="h2Text" >7.环境湍流强度</h1><!--style="margin-top: 100px"-->
-      <h2 class="h3Text">{{this.info.height}}m 风速代表湍流强度</h2>
+      <h1 class="h2Text">7.环境湍流强度</h1><!--style="margin-top: 100px"-->
+      <h2 class="h3Text">{{ this.info.height }}m 风速代表湍流强度</h2>
       <div>
         <div id="turIntensityChart"/>
       </div>
 
-      <h2 class="h3Text">{{this.info.height}}m 风速代表湍流强度日变化</h2>
+      <h2 class="h3Text">{{ this.info.height }}m 风速代表湍流强度日变化</h2>
       <div>
         <el-table
           :show-header="false"
@@ -27,7 +27,7 @@
           <el-table-column prop="amount8" align="center"></el-table-column>
         </el-table>
       </div>
-      <h2 class="h3Text">{{this.info.height}}m 风速代表湍流强度年变化</h2>
+      <h2 class="h3Text">{{ this.info.height }}m 风速代表湍流强度年变化</h2>
       <div>
         <el-table
           :show-header="false"
@@ -48,452 +48,455 @@
     </div>
 
     <div style="margin-top: 250px">
-      <h2 class="h3Text">{{this.info.height}}m 高度代表湍流和平均湍流分扇区统计</h2>
+      <h2 class="h3Text">{{ this.info.height }}m 高度代表湍流和平均湍流分扇区统计</h2>
       <div id="turIntensityRose"/>
     </div>
   </div>
 </template>
 
 <script>
-    export default {
-        name: "turIntensity",
-      props: {
-        param: {
-          type: Object,
-        },
-        infoParam: {
-          type: Object,
-        }
-      },
-      data() {
-        return {
-          info: this.infoParam,
-          height: null,
-          turIntensityChart: null,
-          turIntensityRose: null,
-          tableData:[],
-          monthTableData:[],
-          IEC3A: [1.016, 0.568, 0.4187, 0.344, 0.2992, 0.2693, 0.2480, 0.2320, 0.2196, 0.2096, 0.2015, 0.1947, 0.1889, 0.184, 0.1797, 0.176, 0.1727, 0.1698, 0.1672, 0.1648, 0.1627, 0.1607, 0.1590, 0.1573,0.1558],
-          IEC3B: [0.889, 0.497, 0.3663, 0.3010, 0.2618, 0.2357, 0.2170, 0.203, 0.1921, 0.1834, 0.1762, 0.1703, 0.1653, 0.161, 0.1572, 0.1540, 0.1511, 0.1486, 0.1462, 0.1442, 0.1423, 0.14063, 0.1391, 0.1377,0.1364],
-          IEC3C: [0.7620, 0.4260, 0.3140, 0.258, 0.2244, 0.2020, 0.186, 0.174, 0.1647, 0.1572, 0.1511, 0.146, 0.1417, 0.1380, 0.1348, 0.132, 0.1295, 0.1273, 0.1254, 0.1236, 0.122, 0.1205, 0.1192, 0.118,0.1169],
-          turIntensity: {},
-          turIntensityCharts: {},
-          turIntensityRoseData: {}
-        }
-      },
-      watch: {
-        param: function (newValue, oldValue) {
-          let data = newValue
-          this.turIntensity = data.turIntensity
-          this.turIntensityCharts = data.turIntensityCharts.sort(function(a,b){return a[0]-b[0]})// 防止后台排序失效
-          this.turIntensityRoseData = data.turIntensityRose
-          this.getTurIntensityCharts()
-        },
-        infoParam: function (newValue, oldValue) { // 根据父组件传过来的场站id来查询对应层高的风速和风向
-          this.info = newValue
-        }
-      },
-      destroyed() {
-        if (!this.turIntensityChart && !this.turIntensityRose) {
-          return
-        }
-        if(this.turIntensityChart){
-          this.turIntensityChart.dispose()
-          this.turIntensityChart = null
-        }
-         if(this.turIntensityRose){
-          this.turIntensityRose.dispose()
-          this.turIntensityRose = null
-        }
+export default {
+  name: "turIntensity",
+  props: {
+    param: {
+      type: Object,
+    },
+    infoParam: {
+      type: Object,
+    }
+  },
+  data() {
+    return {
+      info: this.infoParam,
+      height: null,
+      turIntensityChart: null,
+      turIntensityRose: null,
+      tableData: [],
+      monthTableData: [],
+      IEC3A: [1.016, 0.568, 0.4187, 0.344, 0.2992, 0.2693, 0.2480, 0.2320, 0.2196, 0.2096, 0.2015, 0.1947, 0.1889, 0.184, 0.1797, 0.176, 0.1727, 0.1698, 0.1672, 0.1648, 0.1627, 0.1607, 0.1590, 0.1573, 0.1558],
+      IEC3B: [0.889, 0.497, 0.3663, 0.3010, 0.2618, 0.2357, 0.2170, 0.203, 0.1921, 0.1834, 0.1762, 0.1703, 0.1653, 0.161, 0.1572, 0.1540, 0.1511, 0.1486, 0.1462, 0.1442, 0.1423, 0.14063, 0.1391, 0.1377, 0.1364],
+      IEC3C: [0.7620, 0.4260, 0.3140, 0.258, 0.2244, 0.2020, 0.186, 0.174, 0.1647, 0.1572, 0.1511, 0.146, 0.1417, 0.1380, 0.1348, 0.132, 0.1295, 0.1273, 0.1254, 0.1236, 0.122, 0.1205, 0.1192, 0.118, 0.1169],
+      turIntensity: {},
+      turIntensityCharts: {},
+      turIntensityRoseData: {}
+    }
+  },
+  watch: {
+    param: function (newValue, oldValue) {
+      let data = newValue
+      this.turIntensity = data.turIntensity
+      this.turIntensityCharts = data.turIntensityCharts.sort(function (a, b) {
+        return a[0] - b[0]
+      })// 防止后台排序失效
+      this.turIntensityRoseData = data.turIntensityRose
+      this.getTurIntensityCharts()
+    },
+    infoParam: function (newValue, oldValue) { // 根据父组件传过来的场站id来查询对应层高的风速和风向
+      this.info = newValue
+    }
+  },
+  destroyed() {
+    if (!this.turIntensityChart && !this.turIntensityRose) {
+      return
+    }
+    if (this.turIntensityChart) {
+      this.turIntensityChart.dispose()
+      this.turIntensityChart = null
+    }
+    if (this.turIntensityRose) {
+      this.turIntensityRose.dispose()
+      this.turIntensityRose = null
+    }
 
-      },
-      mounted(){
-        // this.getTurIntensityCharts()
-      },
-      methods:{
-        getTurIntensityCharts(){
-          this.drawWsChart(this.turIntensityCharts)
-          this.getTurIntensity()
-          this.getTurIntensityRose()
-        },
-        getTurIntensity(){
-          if(JSON.stringify(this.turIntensity)!='{}'){
-            // console.log(res.data)
-            let data = this.turIntensity
-            this.tableData = []
-            this.monthTableData = []
-            this.tableData = this.spliceDayTable(data.dayTurInsity,data.aveDayTurInsity)
-            this.monthTableData = [
-              {
-                amount0: "月份",
-                amount1: data.monthTime[0],
-                amount2: data.monthTime[1],
-                amount3: data.monthTime[2],
-                amount4: data.monthTime[3],
-                amount5: data.monthTime[4],
-                amount6: data.monthTime[5]
-              },
-              {
-                amount0: "湍流强度",
-                amount1: data.yearTurInsity[0],
-                amount2: data.yearTurInsity[1],
-                amount3: data.yearTurInsity[2],
-                amount4: data.yearTurInsity[3],
-                amount5: data.yearTurInsity[4],
-                amount6: data.yearTurInsity[5]
-              },
-              {
-                amount0: "月份",
-                amount1: data.monthTime[6],
-                amount2: data.monthTime[7],
-                amount3: data.monthTime[8],
-                amount4: data.monthTime[9],
-                amount5: data.monthTime[10],
-                amount6: data.monthTime[11]
-              },
-              {
-                amount0: "湍流强度",
-                amount1: data.yearTurInsity[6],
-                amount2: data.yearTurInsity[7],
-                amount3: data.yearTurInsity[8],
-                amount4: data.yearTurInsity[9],
-                amount5: data.yearTurInsity[10],
-                amount6: data.yearTurInsity[11]
-              },
-              {
-                amount0: "平均湍流强度",
-                amount1: data.aveYearTurInsity,
-                amount2: 0,
-                amount3: 0,
-                amount4: 0,
-                amount5: 0,
-                amount6: 0,
-                amount7: 0,
-                amount8: 0
-              }
-            ]
+  },
+  mounted() {
+    // this.getTurIntensityCharts()
+  },
+  methods: {
+    getTurIntensityCharts() {
+      this.drawWsChart(this.turIntensityCharts)
+      this.getTurIntensity()
+      this.getTurIntensityRose()
+    },
+    getTurIntensity() {
+      if (JSON.stringify(this.turIntensity) != '{}') {
+        // console.log(res.data)
+        let data = this.turIntensity
+        this.tableData = []
+        this.monthTableData = []
+        this.tableData = this.spliceDayTable(data.dayTurInsity, data.aveDayTurInsity)
+        this.monthTableData = [
+          {
+            amount0: "月份",
+            amount1: data.monthTime[0],
+            amount2: data.monthTime[1],
+            amount3: data.monthTime[2],
+            amount4: data.monthTime[3],
+            amount5: data.monthTime[4],
+            amount6: data.monthTime[5]
+          },
+          {
+            amount0: "湍流强度",
+            amount1: data.yearTurInsity[0],
+            amount2: data.yearTurInsity[1],
+            amount3: data.yearTurInsity[2],
+            amount4: data.yearTurInsity[3],
+            amount5: data.yearTurInsity[4],
+            amount6: data.yearTurInsity[5]
+          },
+          {
+            amount0: "月份",
+            amount1: data.monthTime[6],
+            amount2: data.monthTime[7],
+            amount3: data.monthTime[8],
+            amount4: data.monthTime[9],
+            amount5: data.monthTime[10],
+            amount6: data.monthTime[11]
+          },
+          {
+            amount0: "湍流强度",
+            amount1: data.yearTurInsity[6],
+            amount2: data.yearTurInsity[7],
+            amount3: data.yearTurInsity[8],
+            amount4: data.yearTurInsity[9],
+            amount5: data.yearTurInsity[10],
+            amount6: data.yearTurInsity[11]
+          },
+          {
+            amount0: "平均湍流强度",
+            amount1: data.aveYearTurInsity,
+            amount2: 0,
+            amount3: 0,
+            amount4: 0,
+            amount5: 0,
+            amount6: 0,
+            amount7: 0,
+            amount8: 0
           }
+        ]
+      }
+    },
+    getTurIntensityRose() {
+      let turIntensity = this.turIntensityRoseData.turIntensity
+      let data = [turIntensity[0].N, turIntensity[15].NNW, turIntensity[14].NW, turIntensity[13].WNW, turIntensity[12].W, turIntensity[11].WSW, turIntensity[10].SW, turIntensity[9].SSW, turIntensity[8].S, turIntensity[7].SSE, turIntensity[6].SE, turIntensity[5].ESE, turIntensity[4].E, turIntensity[3].ENE, turIntensity[2].NE, turIntensity[1].NNE, turIntensity[0].N]
+      let aveTurIntensity = this.turIntensityRoseData.aveTurIntensity
+      let aveData = [aveTurIntensity[0].N, aveTurIntensity[15].NNW, aveTurIntensity[14].NW, aveTurIntensity[13].WNW, aveTurIntensity[12].W, aveTurIntensity[11].WSW, aveTurIntensity[10].SW, aveTurIntensity[9].SSW, aveTurIntensity[8].S, aveTurIntensity[7].SSE, aveTurIntensity[6].SE, aveTurIntensity[5].ESE, aveTurIntensity[4].E, aveTurIntensity[3].ENE, aveTurIntensity[2].NE, aveTurIntensity[1].NNE, aveTurIntensity[0].N]
+      this.drawTurIntensityRose(data, aveData)
+    },
+    drawWsChart(tur) {
+      this.turIntensityChart = this.$echarts.init(document.getElementById('turIntensityChart'))
+      let option = {
+        legend: {
+          data: ['Representative TI', 'IEC3A', 'IEC3B', 'IEC3C'],
+          textStyle: {
+            color: '#000000',
+            fontSize: '20px'
+          },
+          itemGap: 50,
+          // top: '8%'
         },
-        getTurIntensityRose(){
-          let turIntensity = this.turIntensityRoseData.turIntensity
-          let data = [turIntensity[0].N, turIntensity[15].NNW, turIntensity[14].NW, turIntensity[13].WNW, turIntensity[12].W, turIntensity[11].WSW, turIntensity[10].SW, turIntensity[9].SSW, turIntensity[8].S, turIntensity[7].SSE, turIntensity[6].SE, turIntensity[5].ESE, turIntensity[4].E, turIntensity[3].ENE, turIntensity[2].NE, turIntensity[1].NNE, turIntensity[0].N]
-          let aveTurIntensity = this.turIntensityRoseData.aveTurIntensity
-          let aveData = [aveTurIntensity[0].N, aveTurIntensity[15].NNW, aveTurIntensity[14].NW, aveTurIntensity[13].WNW, aveTurIntensity[12].W, aveTurIntensity[11].WSW, aveTurIntensity[10].SW, aveTurIntensity[9].SSW, aveTurIntensity[8].S, aveTurIntensity[7].SSE, aveTurIntensity[6].SE, aveTurIntensity[5].ESE, aveTurIntensity[4].E, aveTurIntensity[3].ENE, aveTurIntensity[2].NE, aveTurIntensity[1].NNE,aveTurIntensity[0].N]
-          this.drawTurIntensityRose(data,aveData)
+        grid: {
+          // top: '5%',
+          left: '3%',
+          right: '3%',
+          bottom: '5%',
+          containLabel: true
         },
-        drawWsChart(tur) {
-          this.turIntensityChart = this.$echarts.init(document.getElementById('turIntensityChart'))
-          let option = {
-            legend: {
-              data: ['Representative TI', 'IEC3A', 'IEC3B', 'IEC3C'],
-              textStyle: {
-                color: '#000000',
-                fontSize:'20px'
-              },
-              itemGap: 50,
-              // top: '8%'
-            },
-            grid: {
-              // top: '5%',
-              left: '3%',
-              right: '3%',
-              bottom: '5%',
-              containLabel: true
-            },
-            color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
-            xAxis: {
-              type: 'category',
-              nameLocation: 'center',
-              name: 'Spd(m/s)',
-              nameGap: 30,
-              boundaryGap: false,
-              axisLine: {
-                lineStyle: {
-                  color: '#000000',
-                  width: 3
-                }
-              },
-              nameTextStyle: {
-                color: '#000000',
-                fontSize: 20
-              },
-              axisLabel: {
-                interval:1,
-                textStyle:{
-                  color: '#000000',
-                  fontSize: 20,
-                  fontWeight: 'bold'
-                }
-              },
-              data: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]
-            },
-            yAxis: [{
-              type: 'value',
-              alignTicks: true,
-              nameLocation: 'center',
-              name: 'TI',
-              max: 1.2,
-              nameGap: 40,
-              axisLine: {
-                show:true,
-                lineStyle: {
-                  color: '#000000',
-                  width: 3
-                }
-              },
-              nameTextStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bolder'
-              },
-              splitLine:{
-                lineStyle:{
-                  color:'#000',
-                  width:2
-                }
-              },
-              axisLabel: {
-                textStyle:{
-                  color: '#000000',
-                  fontSize: 20,
-                  fontWeight: 'bold'
-                }
-              },
-            }, {
-              type: 'value',
-              alignTicks: true,
-              axisLine: {
-                show: true,
-                lineStyle: {
-                  color: '#000000',
-                  width: 3
-                }
-              },
-            }],
-            series: [
-              {
-                name: 'Representative TI',
-                type: 'line',
-                symbol: "none",
-                smooth: 0.45,
-                data: tur,
-              },
-              {
-                name: 'IEC3A',
-                type: 'line',
-                symbol: "none",
-                data: this.IEC3A
-              },
-              {
-                name: 'IEC3B',
-                type: 'line',
-                symbol: "none",
-                data: this.IEC3B
-              },
-              {
-                name: 'IEC3C',
-                type: 'line',
-                symbol: "none",
-                data: this.IEC3C
-              }
-            ]
-          }
-          this.turIntensityChart.setOption(option)
-          window.addEventListener('resize', () => {
-            if (this.turIntensityChart) {
-              this.turIntensityChart.resize()
+        color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
+        xAxis: {
+          type: 'category',
+          nameLocation: 'center',
+          name: 'Spd(m/s)',
+          nameGap: 30,
+          boundaryGap: false,
+          axisLine: {
+            lineStyle: {
+              color: '#000000',
+              width: 3
             }
-          })
+          },
+          nameTextStyle: {
+            color: '#000000',
+            fontSize: 20
+          },
+          axisLabel: {
+            interval: 1,
+            textStyle: {
+              color: '#000000',
+              fontSize: 20,
+              fontWeight: 'bold'
+            }
+          },
+          data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
         },
-        /*湍流玫瑰图*/
-        drawTurIntensityRose(data,aveData) {
-          this.turIntensityRose = this.$echarts.init(document.getElementById('turIntensityRose'))
-          var option = {
-            color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
-            angleAxis: {
-              type: 'category',
-              startAngle: 100,
-              axisTick: false,
-              splitLine: {
-                show: true,
-                lineStyle: {
-                  color: '#000',
-                },
-              },
-              axisLabel: {color: '#000', fontSize:20, fontWeight: 'bolder'},
-              data: ['N', 'NNW', 'NW', 'WNW', 'W', 'WSW', 'SW', 'SSW', 'S',
-                'SSE', 'SE', 'ESE', 'E', 'ENE', 'NE', 'NNE']
+        yAxis: [{
+          type: 'value',
+          alignTicks: true,
+          nameLocation: 'center',
+          name: 'TI',
+          max: 1.2,
+          nameGap: 40,
+          axisLine: {
+            show: true,
+            lineStyle: {
+              color: '#000000',
+              width: 3
+            }
+          },
+          nameTextStyle: {
+            color: '#000000',
+            fontSize: 20,
+            fontWeight: 'bolder'
+          },
+          splitLine: {
+            lineStyle: {
+              color: '#000',
+              width: 2
+            }
+          },
+          axisLabel: {
+            textStyle: {
+              color: '#000000',
+              fontSize: 20,
+              fontWeight: 'bold'
+            }
+          },
+        }, {
+          type: 'value',
+          alignTicks: true,
+          axisLine: {
+            show: true,
+            lineStyle: {
+              color: '#000000',
+              width: 3
+            }
+          },
+        }],
+        series: [
+          {
+            name: 'Representative TI',
+            type: 'line',
+            symbol: "none",
+            smooth: 0.45,
+            data: tur,
+          },
+          {
+            name: 'IEC3A',
+            type: 'line',
+            symbol: "none",
+            data: this.IEC3A
+          },
+          {
+            name: 'IEC3B',
+            type: 'line',
+            symbol: "none",
+            data: this.IEC3B
+          },
+          {
+            name: 'IEC3C',
+            type: 'line',
+            symbol: "none",
+            data: this.IEC3C
+          }
+        ]
+      }
+      this.turIntensityChart.setOption(option)
+      window.addEventListener('resize', () => {
+        if (this.turIntensityChart) {
+          this.turIntensityChart.resize()
+        }
+      })
+    },
+    /*湍流玫瑰图*/
+    drawTurIntensityRose(data, aveData) {
+      this.turIntensityRose = this.$echarts.init(document.getElementById('turIntensityRose'))
+      var option = {
+        color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
+        angleAxis: {
+          type: 'category',
+          startAngle: 100,
+          axisTick: false,
+          splitLine: {
+            show: true,
+            lineStyle: {
+              color: '#000',
             },
-            radiusAxis: {
-              splitLine: {
-                show: true,
-                lineStyle: {
-                  color: '#000',
-                },
-              },
-              axisLabel: {color: '#000', fontSize:20, fontWeight: 'bolder', rotate: 30},
-              interval: 0.2 ,
+          },
+          axisLabel: {color: '#000', fontSize: 20, fontWeight: 'bolder'},
+          data: ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW',
+            'WSW', 'W', 'WNW', 'NW', 'NNW']
+        },
+        radiusAxis: {
+          splitLine: {
+            show: true,
+            lineStyle: {
+              color: '#000',
             },
+          },
+          axisLabel: {color: '#000', fontSize: 20, fontWeight: 'bolder', rotate: 30},
+          interval: 0.2,
+        },
 
-            polar: {
-              center: ['50%', '47%'],
-            },
-            series: [{
-              type: 'line',
-              data: data,
-              symbol: "none",
-              coordinateSystem: 'polar',
-              lineStyle:{
-                width:3
-              }
-            },
-              {
-                type: 'line',
-                data: aveData,
-                symbol: "none",
-                coordinateSystem: 'polar',
-                lineStyle:{
-                  width:3
-                }
-              }],
-          };
-          this.turIntensityRose.setOption(option)
-          window.addEventListener('resize', () => {
-            if (this.turIntensityRose) {
-              this.turIntensityRose.resize()
+        polar: {
+          center: ['50%', '47%'],
+        },
+        series: [{
+          type: 'line',
+          data: data,
+          symbol: "none",
+          coordinateSystem: 'polar',
+          lineStyle: {
+            width: 3
+          }
+        },
+          {
+            type: 'line',
+            data: aveData,
+            symbol: "none",
+            coordinateSystem: 'polar',
+            lineStyle: {
+              width: 3
             }
-          })
+          }],
+      };
+      this.turIntensityRose.setOption(option)
+      window.addEventListener('resize', () => {
+        if (this.turIntensityRose) {
+          this.turIntensityRose.resize()
+        }
+      })
 
+    },
+    /*拼接日变化表格*/
+    spliceDayTable(day, aveDay) {
+      let data = [
+        {
+          amount0: "时间",
+          amount1: "0:00",
+          amount2: "1:00",
+          amount3: "2:00",
+          amount4: "3:00",
+          amount5: "4:00",
+          amount6: "5:00",
+          amount7: "6:00",
+          amount8: "7:00"
         },
-        /*拼接日变化表格*/
-        spliceDayTable(day,aveDay){
-          let data = [
-            {
-              amount0: "时间",
-              amount1: "0:00",
-              amount2: "1:00",
-              amount3: "2:00",
-              amount4: "3:00",
-              amount5: "4:00",
-              amount6: "5:00",
-              amount7: "6:00",
-              amount8: "7:00"
-            },
-            {
-              amount0: "湍流强度",
-              amount1: day[0],
-              amount2: day[1],
-              amount3: day[2],
-              amount4: day[3],
-              amount5: day[4],
-              amount6: day[5],
-              amount7: day[6],
-              amount8: day[7]
-            },
-            {
-              amount0: "时间",
-              amount1: "8:00",
-              amount2: "9:00",
-              amount3: "10:00",
-              amount4: "11:00",
-              amount5: "12:00",
-              amount6: "13:00",
-              amount7: "14:00",
-              amount8: "15:00"
-            },
-            {
-              amount0: "湍流强度",
-              amount1: day[8],
-              amount2: day[9],
-              amount3: day[10],
-              amount4: day[11],
-              amount5: day[12],
-              amount6: day[13],
-              amount7: day[14],
-              amount8: day[15]
-            },
-            {
-              amount0: "时间",
-              amount1: "16:00",
-              amount2: "17:00",
-              amount3: "18:00",
-              amount4: "19:00",
-              amount5: "20:00",
-              amount6: "21:00",
-              amount7: "22:00",
-              amount8: "23:00"
-            },
-            {
-              amount0: "湍流强度",
-              amount1: day[16],
-              amount2: day[17],
-              amount3: day[18],
-              amount4: day[19],
-              amount5: day[20],
-              amount6: day[21],
-              amount7: day[22],
-              amount8: day[23]
-            },
-            {
-              amount0: "平均湍流强度",
-              amount1: aveDay,
-              amount2: 0,
-              amount3: 0,
-              amount4: 0,
-              amount5: 0,
-              amount6: 0,
-              amount7: 0,
-              amount8: 0
-            }
-          ]
-          return data
+        {
+          amount0: "湍流强度",
+          amount1: day[0],
+          amount2: day[1],
+          amount3: day[2],
+          amount4: day[3],
+          amount5: day[4],
+          amount6: day[5],
+          amount7: day[6],
+          amount8: day[7]
         },
-        /*表格合并单元格*/
-        arraySpanMethod({row, column, rowIndex, columnIndex}) {
-          if (rowIndex === 6) {
-            if (columnIndex === 1) {
-              return {
-                rowspan: 1,
-                colspan: 8
-              }
-            }
-          }
+        {
+          amount0: "时间",
+          amount1: "8:00",
+          amount2: "9:00",
+          amount3: "10:00",
+          amount4: "11:00",
+          amount5: "12:00",
+          amount6: "13:00",
+          amount7: "14:00",
+          amount8: "15:00"
         },
-        monthArraySpanMethod({row, column, rowIndex, columnIndex}) {
-          if (rowIndex === 4) {
-            if (columnIndex === 1) {
-              return {
-                rowspan: 1,
-                colspan: 6
-              }
-            }
-          }
+        {
+          amount0: "湍流强度",
+          amount1: day[8],
+          amount2: day[9],
+          amount3: day[10],
+          amount4: day[11],
+          amount5: day[12],
+          amount6: day[13],
+          amount7: day[14],
+          amount8: day[15]
         },
+        {
+          amount0: "时间",
+          amount1: "16:00",
+          amount2: "17:00",
+          amount3: "18:00",
+          amount4: "19:00",
+          amount5: "20:00",
+          amount6: "21:00",
+          amount7: "22:00",
+          amount8: "23:00"
+        },
+        {
+          amount0: "湍流强度",
+          amount1: day[16],
+          amount2: day[17],
+          amount3: day[18],
+          amount4: day[19],
+          amount5: day[20],
+          amount6: day[21],
+          amount7: day[22],
+          amount8: day[23]
+        },
+        {
+          amount0: "平均湍流强度",
+          amount1: aveDay,
+          amount2: 0,
+          amount3: 0,
+          amount4: 0,
+          amount5: 0,
+          amount6: 0,
+          amount7: 0,
+          amount8: 0
+        }
+      ]
+      return data
+    },
+    /*表格合并单元格*/
+    arraySpanMethod({row, column, rowIndex, columnIndex}) {
+      if (rowIndex === 6) {
+        if (columnIndex === 1) {
+          return {
+            rowspan: 1,
+            colspan: 8
+          }
+        }
       }
-    }
+    },
+    monthArraySpanMethod({row, column, rowIndex, columnIndex}) {
+      if (rowIndex === 4) {
+        if (columnIndex === 1) {
+          return {
+            rowspan: 1,
+            colspan: 6
+          }
+        }
+      }
+    },
+  }
+}
 </script>
 
 <style scoped>
-  .myTable {
-    width: 100%;
-    margin-top: 20px;
-    color: black;
-    font-size: 23px;
-    /*font-weight: bold;*/
-  }
+.myTable {
+  width: 100%;
+  margin-top: 20px;
+  color: black;
+  font-size: 23px;
+  /*font-weight: bold;*/
+}
 
-  #turIntensityChart, #turIntensityRose {
-    width: 100%;
-    height: 450px;
-  }
+#turIntensityChart, #turIntensityRose {
+  width: 100%;
+  height: 450px;
+}
 
-  .h3Text {
-    margin-top: 40px;
-    font-weight: bolder;
-  }
-  .h2Text {
-    font-size: 35px;
-    margin-top: 20px;
-    font-weight: bolder;
-  }
+.h3Text {
+  margin-top: 40px;
+  font-weight: bolder;
+}
+
+.h2Text {
+  font-size: 35px;
+  margin-top: 20px;
+  font-weight: bolder;
+}
 </style>

+ 257 - 257
neim-ui/src/views/resourceAssessment/chart/windShear.vue

@@ -54,240 +54,105 @@
 </template>
 
 <script>
-  export default {
-    name: "windShear",
-    props: {
-      param: {
-        type: Object,
-      },
-      infoParam: {
-        type: Object,
-      }
+export default {
+  name: "windShear",
+  props: {
+    param: {
+      type: Object,
     },
-    data() {
-      return {
-        info: this.infoParam,
-        height: null,
-        shearChart: null,
-        tableData: [],
-        monthTableData: [],
-        windShear: {},
-        windShearRose: {}
-      }
+    infoParam: {
+      type: Object,
+    }
+  },
+  data() {
+    return {
+      info: this.infoParam,
+      height: null,
+      shearChart: null,
+      tableData: [],
+      monthTableData: [],
+      windShear: {},
+      windShearRose: {}
+    }
+  },
+  watch: {
+    param: function (newValue, oldValue) {
+      // console.log(newValue)
+      let data = newValue
+      this.windShear = data.windShear,
+        this.windShearRose = data.windShearRose
+      this.getWindShearRose()
     },
-    watch: {
-      param: function (newValue, oldValue) {
-        // console.log(newValue)
-        let data = newValue
-        this.windShear = data.windShear,
-          this.windShearRose = data.windShearRose
-        this.getWindShearRose()
-      },
-      infoParam: function (newValue, oldValue) { // 根据父组件传过来的场站id来查询对应层高的风速和风向
-        this.info = newValue
+    infoParam: function (newValue, oldValue) { // 根据父组件传过来的场站id来查询对应层高的风速和风向
+      this.info = newValue
 
-      }
-    },
-    destroyed() {
-      if (!this.shearChart) {
-        return
-      }
-      this.shearChart.dispose()
-      this.shearChart = null
-    },
-    mounted() {
-      // this.getWindShearRose()
+    }
+  },
+  destroyed() {
+    if (!this.shearChart) {
+      return
+    }
+    this.shearChart.dispose()
+    this.shearChart = null
+  },
+  mounted() {
+    // this.getWindShearRose()
+  },
+  methods: {
+    /*风切变玫瑰图数据*/
+    getWindShearRose() {
+      let data = this.windShearRose
+      var shear = [data[0].N, data[1].NNE, data[2].NE, data[3].ENE, data[4].E, data[5].ESE, data[6].SE, data[7].SSE, data[8].S, data[9].SSW, data[10].SW, data[11].WSW, data[12].W, data[13].WNW, data[14].NW, data[15].NNW]
+      this.drawWdRose(shear)
+      this.getWindShear()
     },
-    methods: {
-      /*风切变玫瑰图数据*/
-      getWindShearRose() {
-        let data = this.windShearRose
-        var shear = [data[0].N, data[15].NNW, data[14].NW, data[13].WNW, data[12].W, data[11].WSW, data[10].SW, data[9].SSW, data[8].S, data[7].SSE, data[6].SE, data[5].ESE, data[4].E, data[3].ENE, data[2].NE, data[1].NNE]
-        this.drawWdRose(shear)
-        this.getWindShear()
-      },
-      /*风切变日/年变化*/
-      getWindShear() {
-        if (JSON.stringify(this.windShear) != '{}') {
-          let data = this.windShear
-          this.tableData = []
-          this.monthTableData = []
-          this.tableData = this.spliceDayTable(data.dayShear, data.aveDayShear)
-          this.monthTableData = [
-            {
-              amount0: "月份",
-              amount1: data.monthTime[0],
-              amount2: data.monthTime[1],
-              amount3: data.monthTime[2],
-              amount4: data.monthTime[3],
-              amount5: data.monthTime[4],
-              amount6: data.monthTime[5]
-            },
-            {
-              amount0: "综合风剪切幂指数",
-              amount1: data.yearShear[0],
-              amount2: data.yearShear[1],
-              amount3: data.yearShear[2],
-              amount4: data.yearShear[3],
-              amount5: data.yearShear[4],
-              amount6: data.yearShear[5]
-            },
-            {
-              amount0: "月份",
-              amount1: data.monthTime[6],
-              amount2: data.monthTime[7],
-              amount3: data.monthTime[8],
-              amount4: data.monthTime[9],
-              amount5: data.monthTime[10],
-              amount6: data.monthTime[11]
-            },
-            {
-              amount0: "综合风剪切幂指数",
-              amount1: data.yearShear[6],
-              amount2: data.yearShear[7],
-              amount3: data.yearShear[8],
-              amount4: data.yearShear[9],
-              amount5: data.yearShear[10],
-              amount6: data.yearShear[11]
-            },
-            {
-              amount0: "平均综合风剪切幂指数",
-              amount1: data.aveYearShear,
-              amount2: 0,
-              amount3: 0,
-              amount4: 0,
-              amount5: 0,
-              amount6: 0,
-              amount7: 0,
-              amount8: 0
-            }
-          ]
-        }
-      },
-      /*风切变玫瑰图*/
-      drawWdRose(data) {
-        this.shearChart = this.$echarts.init(document.getElementById('shearChart'))
-        var option = {
-          title: {
-            text: '综合风切幂指数',
-            textStyle: {
-              color: '#000',
-            }
-          },
-          color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
-          angleAxis: {
-            type: 'category',
-            startAngle: 100,
-            axisTick: false,
-            splitLine: {
-              show: true,
-              lineStyle: {
-                color: '#000',
-              },
-            },
-            axisLabel: {color: '#000', fontSize: 20, fontWeight: 'bolder'},
-            data: ['N', 'NNW', 'NW', 'WNW', 'W', 'WSW', 'SW', 'SSW', 'S',
-              'SSE', 'SE', 'ESE', 'E', 'ENE', 'NE', 'NNE']
-          },
-          radiusAxis: {
-            splitLine: {
-              show: true,
-              lineStyle: {
-                color: '#000',
-              },
-            },
-            axisLabel: {show:false,color: '#000', fontSize: 20, fontWeight: 'bolder', rotate: 30},
-          },
-
-          polar: {
-            center: ['50%', '47%'],
-          },
-          series: [{
-            type: 'bar',
-            data: data,
-            coordinateSystem: 'polar'
-          }],
-        };
-        this.shearChart.setOption(option)
-        window.addEventListener('resize', () => {
-          if (this.shearChart) {
-            this.shearChart.resize()
-          }
-        })
-
-      },
-      /*拼接日变化表格*/
-      spliceDayTable(dayShear, aveDayShear) {
-        let data = [
-          {
-            amount0: "时间",
-            amount1: "0:00",
-            amount2: "1:00",
-            amount3: "2:00",
-            amount4: "3:00",
-            amount5: "4:00",
-            amount6: "5:00",
-            amount7: "6:00",
-            amount8: "7:00"
-          },
+    /*风切变日/年变化*/
+    getWindShear() {
+      if (JSON.stringify(this.windShear) != '{}') {
+        let data = this.windShear
+        this.tableData = []
+        this.monthTableData = []
+        this.tableData = this.spliceDayTable(data.dayShear, data.aveDayShear)
+        this.monthTableData = [
           {
-            amount0: "综合风剪切幂指数",
-            amount1: dayShear[0],
-            amount2: dayShear[1],
-            amount3: dayShear[2],
-            amount4: dayShear[3],
-            amount5: dayShear[4],
-            amount6: dayShear[5],
-            amount7: dayShear[6],
-            amount8: dayShear[7]
-          },
-          {
-            amount0: "时间",
-            amount1: "8:00",
-            amount2: "9:00",
-            amount3: "10:00",
-            amount4: "11:00",
-            amount5: "12:00",
-            amount6: "13:00",
-            amount7: "14:00",
-            amount8: "15:00"
+            amount0: "月份",
+            amount1: data.monthTime[0],
+            amount2: data.monthTime[1],
+            amount3: data.monthTime[2],
+            amount4: data.monthTime[3],
+            amount5: data.monthTime[4],
+            amount6: data.monthTime[5]
           },
           {
             amount0: "综合风剪切幂指数",
-            amount1: dayShear[8],
-            amount2: dayShear[9],
-            amount3: dayShear[10],
-            amount4: dayShear[11],
-            amount5: dayShear[12],
-            amount6: dayShear[13],
-            amount7: dayShear[14],
-            amount8: dayShear[15]
+            amount1: data.yearShear[0],
+            amount2: data.yearShear[1],
+            amount3: data.yearShear[2],
+            amount4: data.yearShear[3],
+            amount5: data.yearShear[4],
+            amount6: data.yearShear[5]
           },
           {
-            amount0: "时间",
-            amount1: "16:00",
-            amount2: "17:00",
-            amount3: "18:00",
-            amount4: "19:00",
-            amount5: "20:00",
-            amount6: "21:00",
-            amount7: "22:00",
-            amount8: "23:00"
+            amount0: "月份",
+            amount1: data.monthTime[6],
+            amount2: data.monthTime[7],
+            amount3: data.monthTime[8],
+            amount4: data.monthTime[9],
+            amount5: data.monthTime[10],
+            amount6: data.monthTime[11]
           },
           {
             amount0: "综合风剪切幂指数",
-            amount1: dayShear[16],
-            amount2: dayShear[17],
-            amount3: dayShear[18],
-            amount4: dayShear[19],
-            amount5: dayShear[20],
-            amount6: dayShear[21],
-            amount7: dayShear[22],
-            amount8: dayShear[23]
+            amount1: data.yearShear[6],
+            amount2: data.yearShear[7],
+            amount3: data.yearShear[8],
+            amount4: data.yearShear[9],
+            amount5: data.yearShear[10],
+            amount6: data.yearShear[11]
           },
           {
             amount0: "平均综合风剪切幂指数",
-            amount1: aveDayShear,
+            amount1: data.aveYearShear,
             amount2: 0,
             amount3: 0,
             amount4: 0,
@@ -297,54 +162,189 @@
             amount8: 0
           }
         ]
-        return data
-      },
-      /*表格合并单元格*/
-      arraySpanMethod({row, column, rowIndex, columnIndex}) {
-        if (rowIndex === 6) {
-          if (columnIndex === 1) {
-            return {
-              rowspan: 1,
-              colspan: 8
-            }
+      }
+    },
+    /*风切变玫瑰图*/
+    drawWdRose(data) {
+      this.shearChart = this.$echarts.init(document.getElementById('shearChart'))
+      var option = {
+        title: {
+          text: '综合风切幂指数',
+          textStyle: {
+            color: '#000',
           }
+        },
+        color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
+        angleAxis: {
+          type: 'category',
+          startAngle: 100,
+          axisTick: false,
+          splitLine: {
+            show: true,
+            lineStyle: {
+              color: '#000',
+            },
+          },
+          axisLabel: {color: '#000', fontSize: 20, fontWeight: 'bolder'},
+          data: ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW',
+            'WSW', 'W', 'WNW', 'NW', 'NNW']
+        },
+        radiusAxis: {
+          splitLine: {
+            show: true,
+            lineStyle: {
+              color: '#000',
+            },
+          },
+          axisLabel: {show: false, color: '#000', fontSize: 20, fontWeight: 'bolder', rotate: 30},
+        },
+
+        polar: {
+          center: ['50%', '47%'],
+        },
+        series: [{
+          type: 'bar',
+          data: data,
+          coordinateSystem: 'polar'
+        }],
+      };
+      this.shearChart.setOption(option)
+      window.addEventListener('resize', () => {
+        if (this.shearChart) {
+          this.shearChart.resize()
         }
-      },
-      monthArraySpanMethod({row, column, rowIndex, columnIndex}) {
-        if (rowIndex === 4) {
-          if (columnIndex === 1) {
-            return {
-              rowspan: 1,
-              colspan: 6
-            }
+      })
+
+    },
+    /*拼接日变化表格*/
+    spliceDayTable(dayShear, aveDayShear) {
+      let data = [
+        {
+          amount0: "时间",
+          amount1: "0:00",
+          amount2: "1:00",
+          amount3: "2:00",
+          amount4: "3:00",
+          amount5: "4:00",
+          amount6: "5:00",
+          amount7: "6:00",
+          amount8: "7:00"
+        },
+        {
+          amount0: "综合风剪切幂指数",
+          amount1: dayShear[0],
+          amount2: dayShear[1],
+          amount3: dayShear[2],
+          amount4: dayShear[3],
+          amount5: dayShear[4],
+          amount6: dayShear[5],
+          amount7: dayShear[6],
+          amount8: dayShear[7]
+        },
+        {
+          amount0: "时间",
+          amount1: "8:00",
+          amount2: "9:00",
+          amount3: "10:00",
+          amount4: "11:00",
+          amount5: "12:00",
+          amount6: "13:00",
+          amount7: "14:00",
+          amount8: "15:00"
+        },
+        {
+          amount0: "综合风剪切幂指数",
+          amount1: dayShear[8],
+          amount2: dayShear[9],
+          amount3: dayShear[10],
+          amount4: dayShear[11],
+          amount5: dayShear[12],
+          amount6: dayShear[13],
+          amount7: dayShear[14],
+          amount8: dayShear[15]
+        },
+        {
+          amount0: "时间",
+          amount1: "16:00",
+          amount2: "17:00",
+          amount3: "18:00",
+          amount4: "19:00",
+          amount5: "20:00",
+          amount6: "21:00",
+          amount7: "22:00",
+          amount8: "23:00"
+        },
+        {
+          amount0: "综合风剪切幂指数",
+          amount1: dayShear[16],
+          amount2: dayShear[17],
+          amount3: dayShear[18],
+          amount4: dayShear[19],
+          amount5: dayShear[20],
+          amount6: dayShear[21],
+          amount7: dayShear[22],
+          amount8: dayShear[23]
+        },
+        {
+          amount0: "平均综合风剪切幂指数",
+          amount1: aveDayShear,
+          amount2: 0,
+          amount3: 0,
+          amount4: 0,
+          amount5: 0,
+          amount6: 0,
+          amount7: 0,
+          amount8: 0
+        }
+      ]
+      return data
+    },
+    /*表格合并单元格*/
+    arraySpanMethod({row, column, rowIndex, columnIndex}) {
+      if (rowIndex === 6) {
+        if (columnIndex === 1) {
+          return {
+            rowspan: 1,
+            colspan: 8
           }
         }
-      },
-    }
+      }
+    },
+    monthArraySpanMethod({row, column, rowIndex, columnIndex}) {
+      if (rowIndex === 4) {
+        if (columnIndex === 1) {
+          return {
+            rowspan: 1,
+            colspan: 6
+          }
+        }
+      }
+    },
   }
+}
 </script>
 
 <style scoped>
-  #shearChart {
-    width: 100%;
-    height: 550px;
-  }
+#shearChart {
+  width: 100%;
+  height: 550px;
+}
 
-  .myTable {
-    width: 100%;
-    margin-top: 20px;
-    color: black;
-    font-size: 23px;
-  }
+.myTable {
+  width: 100%;
+  margin-top: 20px;
+  color: black;
+  font-size: 23px;
+}
 
-  .h3Text {
-    margin-top: 20px;
-    font-weight: bolder;
-  }
+.h3Text {
+  margin-top: 20px;
+  font-weight: bolder;
+}
 
-  .h2Text {
-    font-size: 35px;
-    margin-top: 20px;
-    font-weight: bolder;
-  }
+.h2Text {
+  font-size: 35px;
+  margin-top: 20px;
+  font-weight: bolder;
+}
 </style>

+ 862 - 870
neim-ui/src/views/resourceAssessment/chart/wsAndWpd.vue

@@ -67,262 +67,520 @@
 </template>
 
 <script>
-  import {
-    getWsAndWpd,
-    getWsAndWsSta,
-    get24WsAndWpd,
-    getMonthWsAndWpd,
-    getMonthWpdTable,
-    getYearWsAndWpd,
-    getPdfWeibull
-  } from "@/api/biz/dataQuery/pdf";
-  export default {
-    name: "wsAndWpd",
-    props: {
-      param: {
-        type: Object,
-      },
-      infoParam: {
-        type: Object,
-      }
+export default {
+  name: "wsAndWpd",
+  props: {
+    param: {
+      type: Object,
     },
-    data() {
-      return {
-        info: this.infoParam,
-        height: null,
-        wsAndWpdChart: null,
-        wsAndStaChart: null,
-        weibullCharts: null,
-        yearWsAndWpdChart: null,
-        transData: [],
-        transTitle: [],
-        originTitle: ["1:00", "2:00", "3:00", "4:00", "5:00", "6:00", "7:00", "8:00", "9:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", "22:00", "23:00", "24:00", "平均"],
-        monthTransData: [],
-        monthTransTitle: [],
-        // monthOriginTitle: ["1月", "2月", "3月", "4月", "5月","6月","7月","8月","9月","10月","11月","12月","平均"],
-        monthOriginTitle: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月", "平均"],
-        monthList: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
-        /*威布尔*/
-        weibullData: [],
-        wsAndWpd: {}, //风速和风功率密度时间序列数据
-        wsAndWsStaData: {}, //风速和风速标准差数据
-        windPowerDensityAndAverageWindSpeed: {}, //风速和风功率密度日变化数据
-        monthWpdTable: {}, //各月日变化表格数据
-        MonthWsAndWpd: {}, //各月日曲线数据
-        yearWsAndWpd: {}, //风速和风速密度年变化数据
-        weibull: {} //威布尔
-      }
+    infoParam: {
+      type: Object,
+    }
+  },
+  data() {
+    return {
+      info: this.infoParam,
+      height: null,
+      wsAndWpdChart: null,
+      wsAndStaChart: null,
+      weibullCharts: null,
+      yearWsAndWpdChart: null,
+      transData: [],
+      transTitle: [],
+      originTitle: ["1:00", "2:00", "3:00", "4:00", "5:00", "6:00", "7:00", "8:00", "9:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", "22:00", "23:00", "24:00", "平均"],
+      monthTransData: [],
+      monthTransTitle: [],
+      // monthOriginTitle: ["1月", "2月", "3月", "4月", "5月","6月","7月","8月","9月","10月","11月","12月","平均"],
+      monthOriginTitle: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月", "平均"],
+      monthList: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
+      /*威布尔*/
+      weibullData: [],
+      wsAndWpd: {}, //风速和风功率密度时间序列数据
+      wsAndWsStaData: {}, //风速和风速标准差数据
+      windPowerDensityAndAverageWindSpeed: {}, //风速和风功率密度日变化数据
+      monthWpdTable: {}, //各月日变化表格数据
+      MonthWsAndWpd: {}, //各月日曲线数据
+      yearWsAndWpd: {}, //风速和风速密度年变化数据
+      weibull: {} //威布尔
+    }
+  },
+  watch: {
+    param: function (newValue, oldValue) { // 根据父组件传过来的场站id来查询对应层高的风速和风向
+      let data = newValue
+      this.wsAndWpd = data.wsAndWpd
+      this.wsAndWsStaData = data.wsAndWsStaData
+      this.windPowerDensityAndAverageWindSpeed = data.windPowerDensityAndAverageWindSpeed
+      this.monthWpdTable = data.monthWpdTable
+      this.MonthWsAndWpd = data.MonthWsAndWpd
+      this.yearWsAndWpd = data.yearWsAndWpd
+      this.weibull = data.weibull
+      const _self = this
+      this.$nextTick(() => {
+        _self.getWsAndWpdData()
+      })
     },
-    watch: {
-      param: function (newValue, oldValue) { // 根据父组件传过来的场站id来查询对应层高的风速和风向
-        let data = newValue
-        this.wsAndWpd = data.wsAndWpd
-        this.wsAndWsStaData = data.wsAndWsStaData
-        this.windPowerDensityAndAverageWindSpeed = data.windPowerDensityAndAverageWindSpeed
-        this.monthWpdTable = data.monthWpdTable
-        this.MonthWsAndWpd = data.MonthWsAndWpd
-        this.yearWsAndWpd = data.yearWsAndWpd
-        this.weibull = data.weibull
-        const _self = this
-        this.$nextTick(() => {
-          _self.getWsAndWpdData()
-        })
-      },
-      infoParam: function (newValue, oldValue) { // 根据父组件传过来的场站id来查询对应层高的风速和风向
-        this.info = newValue
-      }
+    infoParam: function (newValue, oldValue) { // 根据父组件传过来的场站id来查询对应层高的风速和风向
+      this.info = newValue
+    }
+  },
+  destroyed() {
+    if (!this.wsAndWpdChart && !this.wsAndStaChart && !this.weibullCharts && !this.yearWsAndWpdChart) {
+      return
+    }
+    if (this.wsAndWpdChart != null) {
+      this.wsAndWpdChart.dispose()
+      this.wsAndWpdChart = null
+    }
+    if (this.wsAndStaChart != null) {
+      this.wsAndStaChart.dispose()
+      this.wsAndStaChart = null
+    }
+    if (this.weibullCharts != null) {
+      this.weibullCharts.dispose()
+      this.weibullCharts = null
+    }
+    if (this.yearWsAndWpdChart != null) {
+      this.yearWsAndWpdChart.dispose()
+      this.yearWsAndWpdChart = null
+    }
+  },
+  mounted() {
+    // this.getWsAndWpdData()
+  },
+  methods: {
+    //根据指定字段 规则排序 这里是获取时间的时间戳然后比较 升序
+    sortData(a, b) {
+      return new Date(a.submissionTime).getTime() - new Date(b.submissionTime).getTime()
     },
-    destroyed() {
-      if (!this.wsAndWpdChart && !this.wsAndStaChart && !this.weibullCharts && !this.yearWsAndWpdChart) {
-        return
+    /*风速和风功率密度时间序列数据*/
+    getWsAndWpdData() {
+      // this.info= {height:120,equipmentId:'006172'}
+      let ws = this.wsAndWpd.ws.sort(this.sortData)
+      let wpd = this.wsAndWpd.wpd.sort(this.sortData)
+      let wsData = []
+      let wpdData = []
+      let timeData = []
+      for (let i = 0; i < ws.length; i++) {
+        timeData.push(ws[i][0])
+        wsData.push(ws[i][1])
       }
-      if (this.wsAndWpdChart != null) {
-        this.wsAndWpdChart.dispose()
-        this.wsAndWpdChart = null
+      for (let i = 0; i < wpd.length; i++) {
+        wpdData.push(wpd[i][1])
       }
-      if (this.wsAndStaChart != null) {
-        this.wsAndStaChart.dispose()
-        this.wsAndStaChart = null
-      }
-      if (this.weibullCharts != null) {
-        this.weibullCharts.dispose()
-        this.weibullCharts = null
-      }
-      if (this.yearWsAndWpdChart != null) {
-        this.yearWsAndWpdChart.dispose()
-        this.yearWsAndWpdChart = null
+      this.drawWsChart(ws, wpd, wsData, wpdData, timeData)
+      this.getWsAndStaData()
+      this.get24WsAndWpd()
+      this.getMonthWsAndWpd()
+      this.getMonthWpdTable()
+      this.getYearWsAndWpd()
+      this.getPdfWeibull()
+    }
+    ,
+    /*风速和风速标准差数据*/
+    getWsAndStaData() {
+      // this.info= {height:120,equipmentId:'006172'}
+      let ws = this.wsAndWsStaData.ws.sort(this.sortData)
+      let wsSta = this.wsAndWsStaData.wsSta.sort(this.sortData)
+      this.drawWsStaChart(ws, wsSta)
+    }
+    ,
+    /*风速和风功率密度日变化数据*/
+    get24WsAndWpd() {
+      // this.info= {height:120,equipmentId:'006172'}
+      this.transTitle = this.windPowerDensityAndAverageWindSpeed.table.tableHeader
+      let ws = []
+      let wsSta = []
+      if (this.windPowerDensityAndAverageWindSpeed.AverageWindSpeed != undefined) {
+        ws = this.windPowerDensityAndAverageWindSpeed.AverageWindSpeed
       }
-    },
-    mounted() {
-      // this.getWsAndWpdData()
-    },
-    methods: {
-      //根据指定字段 规则排序 这里是获取时间的时间戳然后比较 升序
-      sortData(a, b) {
-        return new Date(a.submissionTime).getTime() - new Date(b.submissionTime).getTime()
-      },
-      /*风速和风功率密度时间序列数据*/
-      getWsAndWpdData() {
-        // this.info= {height:120,equipmentId:'006172'}
-        let ws = this.wsAndWpd.ws.sort(this.sortData)
-        let wpd = this.wsAndWpd.wpd.sort(this.sortData)
-        let wsData = []
-        let wpdData = []
-        let timeData = []
-        for (let i = 0; i < ws.length; i++) {
-          timeData.push(ws[i][0])
-          wsData.push(ws[i][1])
-        }
-        for (let i = 0; i < wpd.length; i++) {
-          wpdData.push(wpd[i][1])
-        }
-        this.drawWsChart(ws, wpd, wsData, wpdData, timeData)
-        this.getWsAndStaData()
-        this.get24WsAndWpd()
-        this.getMonthWsAndWpd()
-        this.getMonthWpdTable()
-        this.getYearWsAndWpd()
-        this.getPdfWeibull()
+      if (this.windPowerDensityAndAverageWindSpeed.WindPowerDensity != undefined) {
+        wsSta = this.windPowerDensityAndAverageWindSpeed.WindPowerDensity
       }
-      ,
-      /*风速和风速标准差数据*/
-      getWsAndStaData() {
-        // this.info= {height:120,equipmentId:'006172'}
-        let ws = this.wsAndWsStaData.ws.sort(this.sortData)
-        let wsSta = this.wsAndWsStaData.wsSta.sort(this.sortData)
-        this.drawWsStaChart(ws, wsSta)
+      this.draw24WsAndWpdChart(ws, wsSta)
+      //把原始数据通过集合收集
+      let matrixData = this.windPowerDensityAndAverageWindSpeed.table.data
+      // 加入标题拼接最终的数据
+      this.transData = matrixData[0].map((col, i) => {
+        return [this.originTitle[i], ...matrixData.map((row) => {
+          return row[i]
+        })]
+      })
+    }
+    ,
+    /*各月日曲线数据*/
+    getMonthWsAndWpd() {
+      let data = this.MonthWsAndWpd
+      data.forEach((item, index) => {
+        this.drawMonthWsAndWpdChart(`item${index}`, item.ws, item.wpd, item.time)
+      })
+    }
+    ,
+    /*各月日变化表格数据*/
+    getMonthWpdTable() {
+      this.monthTransTitle = this.monthWpdTable.tableHeader
+      this.monthOriginTitle = this.monthWpdTable.month
+      //把原始数据通过集合收集
+      let matrixData = this.monthWpdTable.data
+      // 加入标题拼接最终的数据
+      this.monthTransData = matrixData[0].map((col, i) => {
+        return [this.monthOriginTitle[i], ...matrixData.map((row) => {
+          return row[i]
+        })]
+      })
+    }
+    ,
+    /*风速和风速密度年变化数据*/
+    getYearWsAndWpd() {
+      this.drawYearWsAndWpdChart(this.yearWsAndWpd.wsList, this.yearWsAndWpd.wpdList, this.yearWsAndWpd.time)
+    }
+    ,
+    /*威布尔*/
+    getPdfWeibull() {
+      // 防止后台排序失效
+      this.weibull.wsFrequency = this.weibull.wsFrequency.sort(function (a, b) {
+        return a[0] - b[0]
+      })
+      this.weibull.weibull = this.weibull.weibull.sort(function (a, b) {
+        return a[0] - b[0]
+      })
+      this.drawFrequeryChart(this.weibull.weibull, this.weibull.wsFrequency)
+      this.weibullData = []
+      this.weibullData = [{
+        amount0: "平均风速(m/s)",
+        amount1: this.weibull.wsAve,
+      }, {
+        amount0: "尺度参数A(m/s)",
+        amount1: this.weibull.A,
+      }, {
+        amount0: "形状参数K",
+        amount1: this.weibull.K,
+      }]
+      this.$emit('loading', false)
+    }
+    ,
+    /*风速和风功率密度时间序列曲线*/
+    drawWsChart(ws, wpd, wsData, wpdData, timeData) {
+      this.wsAndWpdChart = this.$echarts.init(document.getElementById('wsAndWpdChart'))
+      let option = {
+        legend: {
+          data: [this.info.height + 'm spd', this.info.height + 'm Wpd'],
+          textStyle: {
+            color: '#000000',
+            fontSize: '20px'
+          },
+          itemGap: 50,
+          // top: '8%'
+        },
+        grid: {
+          // top: '5%',
+          left: '10%',
+          right: '10%',
+          bottom: '.5%',
+          containLabel: true
+        },
+        color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
+        xAxis: {
+          type: 'category',
+          boundaryGap: false,
+          axisLine: {
+            lineStyle: {
+              color: '#000000',
+              width: 3
+            }
+          },
+          nameTextStyle: {
+            color: '#000000',
+            fontSize: 20
+          },
+          axisLabel: {
+            interval: 35,
+            textStyle: {
+              color: '#000000',
+              fontSize: 20,
+              fontWeight: 'bold'
+            },
+            formatter: function (value) {
+              return value.slice(0, 7);
+              ;
+            }
+          },
+          data: timeData,
+        },
+        yAxis: [{
+          type: 'value',
+          alignTicks: true,
+          nameLocation: 'center',
+          name: 'Spd(m/s)',
+          nameGap: 40,
+          axisLine: {
+            show: true,
+            lineStyle: {
+              color: '#000000',
+              width: 3
+            }
+          },
+          nameTextStyle: {
+            color: '#000000',
+            fontSize: 20,
+            fontWeight: 'bolder'
+          },
+          splitLine: {
+            lineStyle: {
+              color: '#000',
+              width: 2
+            }
+          },
+          axisLabel: {
+            textStyle: {
+              color: '#000000',
+              fontSize: 20,
+              fontWeight: 'bold'
+            }
+          },
+          interval: Math.ceil(Math.ceil(Math.max(...wsData)) / 5),
+          max: Math.ceil(Math.ceil(Math.max(...wsData)) / 5) * 5,
+        }, {
+          type: 'value',
+          nameLocation: 'center',
+          name: 'Wpd(W/m^2)',
+          nameGap: 90,
+          axisLine: {
+            show: true,
+            lineStyle: {
+              color: '#000000',
+              width: 3
+            }
+          },
+          nameTextStyle: {
+            color: '#000000',
+            fontSize: 20,
+            fontWeight: 'bolder'
+          },
+          axisLabel: {
+            textStyle: {
+              color: '#000000',
+              fontSize: 20,
+              fontWeight: 'bold'
+            }
+          },
+          interval: Math.ceil(Math.ceil(Math.max(...wpdData)) / 5),
+          max: Math.ceil(Math.ceil(Math.max(...wpdData)) / 5) * 5,
+        }],
+        series: [
+          {
+            name: this.info.height + 'm spd',
+            type: 'line',
+            symbol: "none",
+            data: ws,
+          },
+          {
+            name: this.info.height + 'm Wpd',
+            type: 'line',
+            yAxisIndex: 1,
+            symbol: "none",
+            data: wpd,
+          }
+        ]
       }
-      ,
-      /*风速和风功率密度日变化数据*/
-      get24WsAndWpd() {
-        // this.info= {height:120,equipmentId:'006172'}
-        this.transTitle = this.windPowerDensityAndAverageWindSpeed.table.tableHeader
-        let ws = []
-        let wsSta = []
-        if (this.windPowerDensityAndAverageWindSpeed.AverageWindSpeed != undefined) {
-          ws = this.windPowerDensityAndAverageWindSpeed.AverageWindSpeed
+      this.wsAndWpdChart.setOption(option)
+      window.addEventListener('resize', () => {
+        if (this.wsAndWpdChart) {
+          this.wsAndWpdChart.resize()
         }
-        if (this.windPowerDensityAndAverageWindSpeed.WindPowerDensity != undefined) {
-          wsSta = this.windPowerDensityAndAverageWindSpeed.WindPowerDensity
-        }
-        this.draw24WsAndWpdChart(ws, wsSta)
-        //把原始数据通过集合收集
-        let matrixData = this.windPowerDensityAndAverageWindSpeed.table.data
-        // 加入标题拼接最终的数据
-        this.transData = matrixData[0].map((col, i) => {
-          return [this.originTitle[i], ...matrixData.map((row) => {
-            return row[i]
-          })]
-        })
-      }
-      ,
-      /*各月日曲线数据*/
-      getMonthWsAndWpd() {
-        let data = this.MonthWsAndWpd
-        data.forEach((item, index) => {
-          this.drawMonthWsAndWpdChart(`item${index}`, item.ws, item.wpd, item.time)
-        })
-      }
-      ,
-      /*各月日变化表格数据*/
-      getMonthWpdTable() {
-        this.monthTransTitle = this.monthWpdTable.tableHeader
-        this.monthOriginTitle = this.monthWpdTable.month
-        //把原始数据通过集合收集
-        let matrixData = this.monthWpdTable.data
-        // 加入标题拼接最终的数据
-        this.monthTransData = matrixData[0].map((col, i) => {
-          return [this.monthOriginTitle[i], ...matrixData.map((row) => {
-            return row[i]
-          })]
-        })
+      })
+    }
+    ,
+    /*风速和风速标准差时间序列曲线*/
+    drawWsStaChart(ws, wsSta) {
+      let wsData = []
+      let wsStaData = []
+      for (let data of ws) {
+        wsData.push(data[1])
       }
-      ,
-      /*风速和风速密度年变化数据*/
-      getYearWsAndWpd() {
-        this.drawYearWsAndWpdChart(this.yearWsAndWpd.wsList, this.yearWsAndWpd.wpdList, this.yearWsAndWpd.time)
+      for (let data of wsSta) {
+        wsStaData.push(data[1])
       }
-      ,
-      /*威布尔*/
-      getPdfWeibull() {
-        // 防止后台排序失效
-        this.weibull.wsFrequency = this.weibull.wsFrequency.sort(function (a, b) {
-          return a[0] - b[0]
-        })
-        this.weibull.weibull = this.weibull.weibull.sort(function (a, b) {
-          return a[0] - b[0]
-        })
-        this.drawFrequeryChart(this.weibull.weibull, this.weibull.wsFrequency)
-        this.weibullData = []
-        this.weibullData = [{
-          amount0: "平均风速(m/s)",
-          amount1: this.weibull.wsAve,
-        }, {
-          amount0: "尺度参数A(m/s)",
-          amount1: this.weibull.A,
-        }, {
-          amount0: "形状参数K",
-          amount1: this.weibull.K,
-        }]
-        this.$emit('loading', false)
-      }
-      ,
-      /*风速和风功率密度时间序列曲线*/
-      drawWsChart(ws, wpd, wsData, wpdData, timeData) {
-        this.wsAndWpdChart = this.$echarts.init(document.getElementById('wsAndWpdChart'))
-        let option = {
-          legend: {
-            data: [this.info.height + 'm spd', this.info.height + 'm Wpd'],
+      this.wsAndStaChart = this.$echarts.init(document.getElementById('wsAndStaChart'))
+      let option = {
+        legend: {
+          data: [this.info.height + 'm spd', this.info.height + 'm Std'],
+          textStyle: {
+            color: '#000000',
+            fontSize: '20px'
+          },
+          itemGap: 50,
+          // top: '8%'
+        },
+        grid: {
+          // top: '5%',
+          left: '10%',
+          right: '10%',
+          bottom: '.5%',
+          containLabel: true
+        },
+        color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
+        xAxis: {
+          type: 'category',
+          boundaryGap: false,
+          axisLine: {
+            show: true,
+            lineStyle: {
+              color: '#000000',
+              width: 3
+            }
+          },
+          nameTextStyle: {
+            color: '#000000',
+            fontSize: 20
+          },
+          axisLabel: {
+            interval: 35,
             textStyle: {
               color: '#000000',
-              fontSize: '20px'
+              fontSize: 20,
+              fontWeight: 'bold'
             },
-            itemGap: 50,
-            // top: '8%'
+            formatter: function (value) {
+              return value.slice(0, 7);
+            }
           },
-          grid: {
-            // top: '5%',
-            left: '10%',
-            right: '10%',
-            bottom: '.5%',
-            containLabel: true
+        },
+        yAxis: [{
+          type: 'value',
+          alignTicks: true,
+          nameLocation: 'center',
+          name: 'Spd(m/s)',
+          nameGap: 40,
+          axisLine: {
+            show: true,
+            lineStyle: {
+              color: '#000000',
+              width: 3
+            }
           },
-          color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
-          xAxis: {
-            type: 'category',
-            boundaryGap: false,
-            axisLine: {
-              lineStyle: {
-                color: '#000000',
-                width: 3
-              }
-            },
-            nameTextStyle: {
+          nameTextStyle: {
+            color: '#000000',
+            fontSize: 20,
+            fontWeight: 'bolder'
+          },
+          axisLabel: {
+            textStyle: {
               color: '#000000',
-              fontSize: 20
-            },
-            axisLabel: {
-              interval: 35,
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bold'
-              },
-              formatter: function (value) {
-                return value.slice(0, 7);
-                ;
-              }
-            },
-            data: timeData,
+              fontSize: 20,
+              fontWeight: 'bold'
+            }
+          },
+          splitLine: {lineStyle: {color: '#000'}},
+          interval: Math.ceil(Math.ceil(Math.max(...wsData)) / 5),
+          max: Math.ceil(Math.ceil(Math.max(...wsData)) / 5) * 5,
+        }, {
+          type: 'value',
+          alignTicks: true,
+          nameLocation: 'center',
+          name: 'Std(m/s)',
+          nameGap: 40,
+          axisLine: {
+            show: true,
+            lineStyle: {
+              color: '#000000',
+              width: 3
+            }
+          }, nameTextStyle: {
+            color: '#000000',
+            fontSize: 20,
+            fontWeight: 'bolder'
+          },
+          axisLabel: {
+            textStyle: {
+              color: '#000000',
+              fontSize: 20,
+              fontWeight: 'bold'
+            }
+          },
+          splitLine: {lineStyle: {color: '#000'}},
+          axisTick: {show: false},
+          interval: Math.ceil(Math.ceil(Math.max(...wsStaData)) / 5),
+          max: Math.ceil(Math.ceil(Math.max(...wsStaData)) / 5) * 5,
+        }],
+        series: [
+          {
+            name: this.info.height + 'm spd',
+            type: 'line',
+            symbol: "none",
+            data: ws,
+          },
+          {
+            name: this.info.height + 'm Std',
+            type: 'line',
+            symbol: "none",
+            yAxisIndex: 1,
+            data: wsSta,
+          }
+        ]
+      }
+      this.wsAndStaChart.setOption(option)
+      window.addEventListener('resize', () => {
+        if (this.wsAndStaChart) {
+          this.wsAndStaChart.resize()
+        }
+      })
+    }
+    ,
+    /*风速和风功率密度时间序列曲线*/
+    draw24WsAndWpdChart(ws, wpd) {
+      this.day24WsAndWpdChart = this.$echarts.init(document.getElementById('day24WsAndWpdChart'))
+      let option = {
+        legend: {
+          data: [this.info.height + 'm spd', this.info.height + 'm Wpd'],
+          textStyle: {
+            color: '#000000',
+            fontSize: '20px',
+            fontWeight: 'bolder'
+          },
+          itemGap: 50,
+          // top: '8%'
+        },
+        grid: {
+          // top: '5%',
+          left: '10%',
+          right: '10%',
+          bottom: '.5%',
+          containLabel: true
+        },
+        color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
+        xAxis: {
+          type: 'category',
+          boundaryGap: true,
+          axisLine: {
+            lineStyle: {
+              color: '#000000',
+              width: 3
+            }
+          },
+          nameTextStyle: {
+            color: '#000000',
+            fontSize: 20
           },
-          yAxis: [{
+          axisLabel: {
+            interval: 1,
+            textStyle: {
+              color: '#000000',
+              fontSize: 20,
+              fontWeight: 'bold'
+            }
+          },
+          axisTick: {alignWithLabel: true},
+          data: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']
+        },
+        yAxis: [
+          {
             type: 'value',
             alignTicks: true,
             nameLocation: 'center',
             name: 'Spd(m/s)',
-            nameGap: 40,
+            nameGap: 20,
             axisLine: {
-              show:true,
+              show: true,
               lineStyle: {
                 color: '#000000',
                 width: 3
@@ -342,12 +600,12 @@
             axisLabel: {
               textStyle: {
                 color: '#000000',
-                fontSize: 20,
+                fontSize: 14,
                 fontWeight: 'bold'
               }
             },
-            interval: Math.ceil(Math.ceil(Math.max(...wsData)) / 5),
-            max: Math.ceil(Math.ceil(Math.max(...wsData)) / 5) * 5,
+            interval: Math.ceil(Math.ceil(Math.max(...ws)) / 5),
+            max: Math.ceil(Math.ceil(Math.max(...ws)) / 5) * 5,
           }, {
             type: 'value',
             nameLocation: 'center',
@@ -372,701 +630,435 @@
                 fontWeight: 'bold'
               }
             },
-            interval: Math.ceil(Math.ceil(Math.max(...wpdData)) / 5),
-            max: Math.ceil(Math.ceil(Math.max(...wpdData)) / 5) * 5,
+            interval: Math.ceil(Math.ceil(Math.max(...wpd)) / 5),
+            max: Math.ceil(Math.ceil(Math.max(...wpd)) / 5) * 5,
           }],
-          series: [
-            {
-              name: this.info.height + 'm spd',
-              type: 'line',
-              symbol: "none",
-              data: ws,
-            },
-            {
-              name: this.info.height + 'm Wpd',
-              type: 'line',
-              yAxisIndex: 1,
-              symbol: "none",
-              data: wpd,
-            }
-          ]
-        }
-        this.wsAndWpdChart.setOption(option)
-        window.addEventListener('resize', () => {
-          if (this.wsAndWpdChart) {
-            this.wsAndWpdChart.resize()
+        series: [
+          {
+            name: this.info.height + 'm spd',
+            type: 'line',
+            symbol: "none",
+            data: ws,
+          },
+          {
+            name: this.info.height + 'm Wpd',
+            type: 'bar',
+            yAxisIndex: 1,
+            symbol: "none",
+            data: wpd,
           }
-        })
+        ]
       }
-      ,
-      /*风速和风速标准差时间序列曲线*/
-      drawWsStaChart(ws, wsSta) {
-        let wsData = []
-        let wsStaData = []
-        for(let data of ws){
-          wsData.push(data[1])
-        }for(let data of wsSta){
-          wsStaData.push(data[1])
+      this.day24WsAndWpdChart.setOption(option)
+      window.addEventListener('resize', () => {
+        if (this.day24WsAndWpdChart) {
+          this.day24WsAndWpdChart.resize()
         }
-        this.wsAndStaChart = this.$echarts.init(document.getElementById('wsAndStaChart'))
-        let option = {
-          legend: {
-            data: [this.info.height + 'm spd', this.info.height + 'm Std'],
-            textStyle: {
+      })
+    }
+    ,
+    /*风速和风功率密度各月日曲线*/
+    drawMonthWsAndWpdChart(name, ws, wpd, title) {
+      let myCharts = this.$echarts.init(document.getElementById(name))
+      // myCharts.clear()
+      let option = {
+        title: {
+          text: title,
+          textStyle: {
+            fontSize: 20,
+          }
+        },
+        grid: {
+          top: '20%',
+          left: '5%',
+          right: '5%',
+          bottom: '0%',
+          containLabel: true
+        },
+        color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
+        xAxis: {
+          type: 'category',
+          boundaryGap: true,
+          axisLine: {
+            lineStyle: {
               color: '#000000',
-              fontSize: '20px'
-            },
-            itemGap: 50,
-            // top: '8%'
+              width: 2
+            }
           },
-          grid: {
-            // top: '5%',
-            left: '10%',
-            right: '10%',
-            bottom: '.5%',
-            containLabel: true
+          axisLabel: {
+            interval: 4,
+            textStyle: {
+              color: '#000000',
+              fontSize: 20,
+              fontWeight: 'bold'
+            }
           },
-          color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
-          xAxis: {
-            type: 'category',
-            boundaryGap: false,
-            axisLine: {
-              show:true,
-              lineStyle: {
-                color: '#000000',
-                width: 3
-              }
-            },
-            nameTextStyle: {
+          axisTick: {alignWithLabel: true},
+          data: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']
+        },
+        yAxis: [{
+          type: 'value',
+          alignTicks: true,
+          axisLine: {
+            show: true,
+            lineStyle: {
               color: '#000000',
-              fontSize: 20
-            },
-            axisLabel: {
-              interval: 35,
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bold'
-              },
-              formatter: function (value) {
-                return value.slice(0, 7);
-              }
+              width: 2
             },
           },
-          yAxis: [{
-            type: 'value',
-            alignTicks: true,
-            nameLocation: 'center',
-            name: 'Spd(m/s)',
-            nameGap: 40,
-            axisLine: {
-              show:true,
-              lineStyle: {
-                color: '#000000',
-                width: 3
-              }
-            },
-            nameTextStyle: {
+          splitLine: {
+            lineStyle: {
+              color: '#000',
+              width: 2
+            }
+          },
+          axisLabel: {
+            textStyle: {
               color: '#000000',
               fontSize: 20,
-              fontWeight: 'bolder'
-            },
-            axisLabel: {
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bold'
-              }
-            },
-            splitLine: {lineStyle: {color: '#000'}},
-            interval: Math.ceil(Math.ceil(Math.max(...wsData)) / 5),
-            max: Math.ceil(Math.ceil(Math.max(...wsData)) / 5) * 5,
-          }, {
-            type: 'value',
-            alignTicks: true,
-            nameLocation: 'center',
-            name: 'Std(m/s)',
-            nameGap: 40,
-            axisLine: {
-              show:true,
-              lineStyle: {
-                color: '#000000',
-                width: 3
-              }
-            }, nameTextStyle: {
+              fontWeight: 'bold'
+            }
+          },
+          axisTick: {show: false},
+          interval: Math.ceil(Math.ceil(Math.max(...ws)) / 5),
+          max: Math.ceil(Math.ceil(Math.max(...ws)) / 5) * 5,
+        }, {
+          type: 'value',
+          axisLine: {
+            show: true,
+            lineStyle: {
+              color: '#000000',
+              width: 2
+            }
+          },
+          axisLabel: {
+            textStyle: {
               color: '#000000',
               fontSize: 20,
-              fontWeight: 'bolder'
-            },
-            axisLabel: {
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bold'
-              }
-            },
-            splitLine: {lineStyle: {color: '#000'}},
-            axisTick: {show: false},
-            interval: Math.ceil(Math.ceil(Math.max(...wsStaData)) / 5),
-            max: Math.ceil(Math.ceil(Math.max(...wsStaData)) / 5) * 5,
-          }],
-          series: [
-            {
-              name: this.info.height + 'm spd',
-              type: 'line',
-              symbol: "none",
-              data: ws,
-            },
-            {
-              name: this.info.height + 'm Std',
-              type: 'line',
-              symbol: "none",
-              yAxisIndex: 1,
-              data: wsSta,
+              fontWeight: 'bold'
             }
-          ]
-        }
-        this.wsAndStaChart.setOption(option)
-        window.addEventListener('resize', () => {
-          if (this.wsAndStaChart) {
-            this.wsAndStaChart.resize()
+          },
+          axisTick: {show: false},
+          interval: Math.ceil(Math.ceil(Math.max(...wpd)) / 5),
+          max: Math.ceil(Math.ceil(Math.max(...wpd)) / 5) * 5,
+          min: 0
+        }],
+        series: [
+          {
+            name: this.info.height + 'm spd',
+            type: 'line',
+            symbol: "none",
+            data: ws,
+          },
+          {
+            name: this.info.height + 'm Wpd',
+            type: 'line',
+            yAxisIndex: 1,
+            symbol: "none",
+            data: wpd,
           }
-        })
+        ]
       }
-      ,
-      /*风速和风功率密度时间序列曲线*/
-      draw24WsAndWpdChart(ws, wpd) {
-        this.day24WsAndWpdChart = this.$echarts.init(document.getElementById('day24WsAndWpdChart'))
-        let option = {
-          legend: {
-            data: [this.info.height + 'm spd', this.info.height + 'm Wpd'],
-            textStyle: {
+      myCharts.setOption(option)
+      window.addEventListener('resize', () => {
+        if (myCharts) {
+          myCharts.resize()
+        }
+      })
+    }
+    ,
+    /*风速和风速密度年变化曲线*/
+    drawYearWsAndWpdChart(ws, wpd, time) {
+      this.yearWsAndWpdChart = this.$echarts.init(document.getElementById('yearWsAndWpdChart'))
+      let option = {
+        legend: {
+          data: ['Spd', 'Wpd'],
+          textStyle: {
+            color: '#000000',
+            fontSize: '20px'
+          },
+          itemGap: 50,
+          // top: '8%'
+        },
+        grid: {
+          // top: '5%',
+          left: '5%',
+          right: '5%',
+          bottom: '0%',
+          containLabel: true
+        },
+        color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
+        xAxis: {
+          type: 'category',
+          boundaryGap: true,
+          axisLine: {
+            lineStyle: {
               color: '#000000',
-              fontSize: '20px',
-              fontWeight: 'bolder'
-            },
-            itemGap: 50,
-            // top: '8%'
+              width: 2
+            }
           },
-          grid: {
-            // top: '5%',
-            left: '10%',
-            right: '10%',
-            bottom: '.5%',
-            containLabel: true
+          axisLabel: {
+            interval: 1,
+            textStyle: {
+              color: '#000000',
+              fontSize: 20,
+              fontWeight: 'bold'
+            }
           },
-          color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
-          xAxis: {
-            type: 'category',
-            boundaryGap: true,
-            axisLine: {
-              lineStyle: {
-                color: '#000000',
-                width: 3
-              }
-            },
-            nameTextStyle: {
+          axisTick: {alignWithLabel: true},
+          // data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
+          data: time
+        },
+        yAxis: [{
+          type: 'value',
+          alignTicks: true,
+          nameLocation: 'center',
+          name: 'Spd(m/s)',
+          nameGap: 20,
+          axisLine: {
+            show: true,
+            lineStyle: {
               color: '#000000',
-              fontSize: 20
-            },
-            axisLabel: {
-              interval: 1,
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bold'
-              }
-            },
-            axisTick: {alignWithLabel: true},
-            data: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']
+              width: 3
+            }
           },
-          yAxis: [
-            {
-              type: 'value',
-              alignTicks: true,
-              nameLocation: 'center',
-              name: 'Spd(m/s)',
-              nameGap: 20,
-              axisLine: {
-                show:true,
-                lineStyle: {
-                  color: '#000000',
-                  width: 3
-                }
-              },
-              nameTextStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bolder'
-              },
-              splitLine: {
-                lineStyle: {
-                  color: '#000',
-                  width: 2
-                }
-              },
-              axisLabel: {
-                textStyle: {
-                  color: '#000000',
-                  fontSize: 14,
-                  fontWeight: 'bold'
-                }
-              },
-              interval: Math.ceil(Math.ceil(Math.max(...ws)) / 5),
-              max: Math.ceil(Math.ceil(Math.max(...ws)) / 5) * 5,
-            }, {
-              type: 'value',
-              nameLocation: 'center',
-              name: 'Wpd(W/m^2)',
-              nameGap: 90,
-              axisLine: {
-                show:true,
-                lineStyle: {
-                  color: '#000000',
-                  width: 3
-                }
-              },
-              nameTextStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bolder'
-              },
-              axisLabel: {
-                textStyle: {
-                  color: '#000000',
-                  fontSize: 20,
-                  fontWeight: 'bold'
-                }
-              },
-              interval: Math.ceil(Math.ceil(Math.max(...wpd)) / 5),
-              max: Math.ceil(Math.ceil(Math.max(...wpd)) / 5) * 5,
-            }],
-          series: [
-            {
-              name: this.info.height + 'm spd',
-              type: 'line',
-              symbol: "none",
-              data: ws,
-            },
-            {
-              name: this.info.height + 'm Wpd',
-              type: 'bar',
-              yAxisIndex: 1,
-              symbol: "none",
-              data: wpd,
+          nameTextStyle: {
+            color: '#000000',
+            fontSize: 20,
+            fontWeight: 'bolder'
+          },
+          splitLine: {
+            lineStyle: {
+              color: '#000',
+              width: 2
             }
-          ]
-        }
-        this.day24WsAndWpdChart.setOption(option)
-        window.addEventListener('resize', () => {
-          if (this.day24WsAndWpdChart) {
-            this.day24WsAndWpdChart.resize()
-          }
-        })
-      }
-      ,
-      /*风速和风功率密度各月日曲线*/
-      drawMonthWsAndWpdChart(name, ws, wpd, title) {
-        let myCharts = this.$echarts.init(document.getElementById(name))
-        // myCharts.clear()
-        let option = {
-          title: {
-            text: title,
+          },
+          axisLabel: {
             textStyle: {
+              color: '#000000',
               fontSize: 20,
+              fontWeight: 'bold'
             }
           },
-          grid: {
-            top: '20%',
-            left: '5%',
-            right: '5%',
-            bottom: '0%',
-            containLabel: true
+          interval: Math.ceil(Math.ceil(Math.max(...ws)) / 5),
+          max: Math.ceil(Math.ceil(Math.max(...ws)) / 5) * 5,
+        }, {
+          type: 'value',
+          nameLocation: 'center',
+          name: 'Wpd(W/m^2)',
+          nameGap: 70,
+          axisLine: {
+            show: true,
+            lineStyle: {
+              color: '#000000',
+              width: 3
+            }
           },
-          color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
-          xAxis: {
-            type: 'category',
-            boundaryGap: true,
-            axisLine: {
-              lineStyle: {
-                color: '#000000',
-                width: 2
-              }
-            },
-            axisLabel: {
-              interval: 4,
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bold'
-              }
-            },
-            axisTick: {alignWithLabel: true},
-            data: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']
+          nameTextStyle: {
+            color: '#000000',
+            fontSize: 20,
+            fontWeight: 'bolder'
           },
-          yAxis: [{
-            type: 'value',
-            alignTicks: true,
-            axisLine: {
-              show:true,
-              lineStyle: {
-                color: '#000000',
-                width: 2
-              },
-            },
-            splitLine: {
-              lineStyle: {
-                color: '#000',
-                width: 2
-              }
-            },
-            axisLabel: {
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bold'
-              }
-            },
-            axisTick: {show: false},
-            interval: Math.ceil(Math.ceil(Math.max(...ws)) / 5),
-            max: Math.ceil(Math.ceil(Math.max(...ws)) / 5) * 5,
-          }, {
-            type: 'value',
-            axisLine: {
-              show:true,
-              lineStyle: {
-                color: '#000000',
-                width: 2
-              }
-            },
-            axisLabel: {
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bold'
-              }
-            },
-            axisTick: {show: false},
-            interval: Math.ceil(Math.ceil(Math.max(...wpd)) / 5),
-            max: Math.ceil(Math.ceil(Math.max(...wpd)) / 5) * 5,
-            min: 0
-          }],
-          series: [
-            {
-              name: this.info.height + 'm spd',
-              type: 'line',
-              symbol: "none",
-              data: ws,
-            },
-            {
-              name: this.info.height + 'm Wpd',
-              type: 'line',
-              yAxisIndex: 1,
-              symbol: "none",
-              data: wpd,
-            }
-          ]
-        }
-        myCharts.setOption(option)
-        window.addEventListener('resize', () => {
-          if (myCharts) {
-            myCharts.resize()
-          }
-        })
-      }
-      ,
-      /*风速和风速密度年变化曲线*/
-      drawYearWsAndWpdChart(ws, wpd, time) {
-        this.yearWsAndWpdChart = this.$echarts.init(document.getElementById('yearWsAndWpdChart'))
-        let option = {
-          legend: {
-            data: ['Spd', 'Wpd'],
+          axisLabel: {
             textStyle: {
               color: '#000000',
-              fontSize: '20px'
-            },
-            itemGap: 50,
-            // top: '8%'
+              fontSize: 20,
+              fontWeight: 'bold'
+            }
           },
-          grid: {
-            // top: '5%',
-            left: '5%',
-            right: '5%',
-            bottom: '0%',
-            containLabel: true
+          interval: Math.ceil(Math.ceil(Math.max(...wpd)) / 5),
+          max: Math.ceil(Math.ceil(Math.max(...wpd)) / 5) * 5,
+        }],
+        tooltip: {
+          trigger: 'axis',
+          axisPointer: {
+            type: 'shadow'
+          }
+        },
+        series: [
+          {
+            name: 'Spd',
+            type: 'line',
+            symbol: "none",
+            data: ws,
           },
-          color: ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'],
-          xAxis: {
-            type: 'category',
-            boundaryGap: true,
-            axisLine: {
-              lineStyle: {
-                color: '#000000',
-                width: 2
-              }
-            },
-            axisLabel: {
-              interval: 1,
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bold'
-              }
-            },
-            axisTick: {alignWithLabel: true},
-            // data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
-            data: time
+          {
+            name: 'Wpd',
+            type: 'bar',
+            barWidth: 60,
+            yAxisIndex: 1,
+            symbol: "none",
+            data: wpd,
+          }
+        ]
+      }
+      this.yearWsAndWpdChart.setOption(option)
+      window.addEventListener('resize', () => {
+        if (this.yearWsAndWpdChart) {
+          this.yearWsAndWpdChart.resize()
+        }
+      })
+    }
+    ,
+    /*威布尔分布*/
+    drawFrequeryChart(param, ws) {
+      this.weibullCharts = this.$echarts.init(document.getElementById('weibullCharts'))
+      var option = {
+        legend: {
+          data: ['Measured', 'Synthesized'],
+          textStyle: {
+            color: '#000000',
+            fontSize: '20px'
           },
-          yAxis: [{
-            type: 'value',
-            alignTicks: true,
-            nameLocation: 'center',
-            name: 'Spd(m/s)',
-            nameGap: 20,
-            axisLine: {
-              show:true,
-              lineStyle: {
-                color: '#000000',
-                width: 3
-              }
-            },
-            nameTextStyle: {
+          itemGap: 50,
+        },
+        grid: {
+          left: '2%',
+          right: '4%',
+          containLabel: true
+        },
+        color: ['#0ee2ea', '#ff4c0c'],
+        xAxis: {
+          type: 'category',
+          axisTick: {alignWithLabel: true},
+          axisLine: {
+            lineStyle: {
+              color: '#000000',
+              width: 2
+            }
+          },
+          axisLabel: {
+            interval: 4,
+            textStyle: {
               color: '#000000',
               fontSize: 20,
               fontWeight: 'bolder'
-            },
-            splitLine: {
-              lineStyle: {
-                color: '#000',
-                width: 2
-              }
-            },
-            axisLabel: {
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bold'
-              }
-            },
-            interval: Math.ceil(Math.ceil(Math.max(...ws)) / 5),
-            max: Math.ceil(Math.ceil(Math.max(...ws)) / 5) * 5,
-          }, {
-            type: 'value',
-            nameLocation: 'center',
-            name: 'Wpd(W/m^2)',
-            nameGap: 70,
-            axisLine: {
-              show:true,
-              lineStyle: {
-                color: '#000000',
-                width: 3
-              }
-            },
-            nameTextStyle: {
+            }
+          },
+          data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
+        },
+        yAxis: [{
+          type: 'value',
+          name: 'Frequency(%)',
+          min: 0,
+          nameLocation: 'center',
+          nameGap: 40,
+          alignTicks: true,
+          axisLabel: {
+            formatter: '{value}',
+            textStyle: {
               color: '#000000',
               fontSize: 20,
               fontWeight: 'bolder'
-            },
-            axisLabel: {
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bold'
-              }
-            },
-            interval: Math.ceil(Math.ceil(Math.max(...wpd)) / 5),
-            max: Math.ceil(Math.ceil(Math.max(...wpd)) / 5) * 5,
-          }],
-          tooltip: {
-            trigger: 'axis',
-            axisPointer: {
-              type: 'shadow'
             }
           },
-          series: [
-            {
-              name: 'Spd',
-              type: 'line',
-              symbol: "none",
-              data: ws,
-            },
-            {
-              name: 'Wpd',
-              type: 'bar',
-              barWidth: 60,
-              yAxisIndex: 1,
-              symbol: "none",
-              data: wpd,
-            }
-          ]
-        }
-        this.yearWsAndWpdChart.setOption(option)
-        window.addEventListener('resize', () => {
-          if (this.yearWsAndWpdChart) {
-            this.yearWsAndWpdChart.resize()
-          }
-        })
-      }
-      ,
-      /*威布尔分布*/
-      drawFrequeryChart(param, ws) {
-        this.weibullCharts = this.$echarts.init(document.getElementById('weibullCharts'))
-        var option = {
-          legend: {
-            data: ['Measured', 'Synthesized'],
-            textStyle: {
+          axisLine: {
+            show: true,
+            lineStyle: {
               color: '#000000',
-              fontSize: '20px'
-            },
-            itemGap: 50,
+              width: 3
+            }
           },
-          grid: {
-            left: '2%',
-            right: '4%',
-            bottom: '0.5%',
-            containLabel: true
+          nameTextStyle: {
+            color: '#000000',
+            fontSize: 20,
+            fontWeight: 'bolder'
           },
-          color: ['#0ee2ea', '#ff4c0c'],
-          xAxis: {
-            type: 'category',
-            axisTick: {alignWithLabel: true},
-            axisLine: {
-              lineStyle: {
-                color: '#000000',
-                width: 2
-              }
-            },
-            axisLabel: {
-              interval: 4,
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bolder'
-              }
-            },
-            data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
+          splitLine: {
+            lineStyle: {
+              color: '#000',
+              width: 2
+            }
           },
-          yAxis: [{
-            type: 'value',
-            name: 'Frequency(%)',
-            min: 0,
-            nameLocation: 'center',
-            nameGap: 40,
-            alignTicks: true,
-            axisLabel: {
-              formatter: '{value}',
-              textStyle: {
-                color: '#000000',
-                fontSize: 20,
-                fontWeight: 'bolder'
-              }
-            },
-            axisLine: {
-              show:true,
-              lineStyle: {
-                color: '#000000',
-                width: 3
-              }
-            },
-            nameTextStyle: {
+        }, {
+          show: false,
+          type: 'value',
+          min: 0,
+          axisLine: {
+            show: true,
+            lineStyle: {
               color: '#000000',
-              fontSize: 20,
-              fontWeight: 'bolder'
-            },
-            splitLine: {
-              lineStyle: {
-                color: '#000',
-                width: 2
-              }
-            },
-          }, {
-            show: false,
-            type: 'value',
-            axisLine: {
-              show:true,
-              lineStyle: {
-                color: '#000000',
-                width: 3
-              }
-            },
-          }],
-          series: [{
-            name: 'Measured',
-            type: 'bar',
-            smooth: false,
-            symbol: 'none', // 这句就是去掉点的
-            data: ws
-          },
-            {
-              name: 'Synthesized',
-              type: 'line',
-              smooth: 0.45,
-              symbol: 'none', // 这句就是去掉点的
-              yAxisIndex: 1, //在单个图表实例中存在多个y轴的时候有用
-              data: param
+              width: 3
             }
-          ]
-        }
-        this.weibullCharts.setOption(option, true)
-        window.addEventListener('resize', () => {
-          if (this.weibullCharts) {
-            this.weibullCharts.resize()
+          },
+        }],
+        series: [{
+          name: 'Measured',
+          type: 'bar',
+          smooth: false,
+          symbol: 'none', // 这句就是去掉点的
+          data: ws
+        },
+          {
+            name: 'Synthesized',
+            type: 'line',
+            smooth: 0.45,
+            symbol: 'none', // 这句就是去掉点的
+            yAxisIndex: 1, //在单个图表实例中存在多个y轴的时候有用
+            data: param
           }
-        })
+        ]
       }
+      this.weibullCharts.setOption(option, true)
+      window.addEventListener('resize', () => {
+        if (this.weibullCharts) {
+          this.weibullCharts.resize()
+        }
+      })
     }
   }
+}
 </script>
 
 <style scoped>
-  .chartDiv {
-    margin-top: 40px;
-  }
+.chartDiv {
+  margin-top: 40px;
+}
 
-  .myTable {
-    width: 100%;
-    /*margin-top: 500px;*/
-    color: black;
-    font-size: 20px;
-    font-weight: bold;
-  }
+.myTable {
+  width: 100%;
+  /*margin-top: 500px;*/
+  color: black;
+  font-size: 20px;
+  font-weight: bold;
+}
 
-  .myTable2 {
-    width: 100%;
-    margin-top: 50px;
-    color: black;
-    font-size: 20px;
-    font-weight: bold;
-  }
+.myTable2 {
+  width: 100%;
+  margin-top: 50px;
+  color: black;
+  font-size: 20px;
+  font-weight: bold;
+}
 
-  .myTable1 {
-    width: 100%;
-    margin-top: 50px;
-    color: black;
-    font-size: 23px;
-  }
+.myTable1 {
+  width: 100%;
+  margin-top: 50px;
+  color: black;
+  font-size: 23px;
+}
 
-  /deep/ .tableDiv .el-table .cell, /deep/ .chartDiv .el-table .cell {
-    padding: 0px;
-  }
+/deep/ .tableDiv .el-table .cell, /deep/ .chartDiv .el-table .cell {
+  padding: 0px;
+}
 
-  #wsAndWpdChart, #wsAndStaChart, #day24WsAndWpdChart, #weibullCharts, #yearWsAndWpdChart {
-    width: 100%;
-    height: 450px;
-  }
+#wsAndWpdChart, #wsAndStaChart, #day24WsAndWpdChart, #weibullCharts, #yearWsAndWpdChart {
+  width: 100%;
+  height: 450px;
+}
 
-  .h3Text {
-    margin-top: 50px;
-    font-weight: bolder;
-  }
+.h3Text {
+  margin-top: 50px;
+  font-weight: bolder;
+}
 
-  .h2Text {
-    font-size: 35px;
-    margin-top: 20px;
-    font-weight: bolder;
-  }
+.h2Text {
+  font-size: 35px;
+  margin-top: 20px;
+  font-weight: bolder;
+}
 
-  /*.tableDiv /deep/ .el-table--border .el-table__cell:first-child .cell {*/
-  /*width: 105px;*/
-  /*}*/
+/*.tableDiv /deep/ .el-table--border .el-table__cell:first-child .cell {*/
+/*width: 105px;*/
+/*}*/
 </style>

Неке датотеке нису приказане због велике количине промена