dylan 2 жил өмнө
parent
commit
868bbbc455
100 өөрчлөгдсөн 4816 нэмэгдсэн , 254 устгасан
  1. 1 0
      .idea/.name
  2. 13 0
      .idea/compiler.xml
  3. 7 0
      .idea/encodings.xml
  4. 36 0
      .idea/inspectionProfiles/Project_Default.xml
  5. 14 0
      .idea/misc.xml
  6. 124 0
      .idea/uiDesigner.xml
  7. 6 0
      .idea/vcs.xml
  8. BIN
      lib/netcdfAll-5.5.3.jar
  9. 93 0
      src/main/java/org/springblade/enums/PostCategoryEnum.java
  10. 125 0
      src/main/java/org/springblade/enums/RtuKindEnum.java
  11. 98 0
      src/main/java/org/springblade/enums/SensorTypeEnum.java
  12. 544 0
      src/main/java/org/springblade/modules/baseinfo/equipment/EquipmentInfoController.java
  13. 0 183
      src/main/java/org/springblade/modules/baseinfo/org/controller/BaseInfoOrgController.java
  14. 364 0
      src/main/java/org/springblade/modules/baseinfo/org/controller/BaseOrgController.java
  15. 18 0
      src/main/java/org/springblade/modules/baseinfo/org/entity/DeptAttEntity.java
  16. 18 0
      src/main/java/org/springblade/modules/baseinfo/org/entity/OrgEntity.java
  17. 49 0
      src/main/java/org/springblade/modules/baseinfo/org/entity/OrgTreeNodeEntity.java
  18. 30 0
      src/main/java/org/springblade/modules/baseinfo/org/mapper/DeptAttMapper.java
  19. 34 0
      src/main/java/org/springblade/modules/baseinfo/org/mapper/DeptAttMapper.xml
  20. 27 0
      src/main/java/org/springblade/modules/baseinfo/org/mapper/OrgMapper.java
  21. 11 0
      src/main/java/org/springblade/modules/baseinfo/org/mapper/OrgMapper.xml
  22. 18 0
      src/main/java/org/springblade/modules/baseinfo/org/service/IDeptAttService.java
  23. 18 0
      src/main/java/org/springblade/modules/baseinfo/org/service/IOrgService.java
  24. 18 0
      src/main/java/org/springblade/modules/baseinfo/org/service/impl/IDeptAttServiceImpl.java
  25. 18 0
      src/main/java/org/springblade/modules/baseinfo/org/service/impl/OrgServiceImpl.java
  26. 0 0
      src/main/java/org/springblade/modules/baseinfo/project/controller/BaseProjectController.java
  27. 18 0
      src/main/java/org/springblade/modules/baseinfo/project/dto/ProjectInfoDTO.java
  28. 0 0
      src/main/java/org/springblade/modules/baseinfo/project/mapper/BaseProjectInfoMapper.java
  29. 23 19
      src/main/java/org/springblade/modules/baseinfo/project/mapper/BaseProjectInfoMapper.xml
  30. 0 0
      src/main/java/org/springblade/modules/baseinfo/project/service/IBaseProjectService.java
  31. 0 0
      src/main/java/org/springblade/modules/baseinfo/project/service/impl/BaseProjectServiceImpl.java
  32. 33 6
      src/main/java/org/springblade/modules/baseinfo/region/controller/BaseRegionController.java
  33. 18 0
      src/main/java/org/springblade/modules/baseinfo/region/dto/OrgRegionInfoDTO.java
  34. 0 0
      src/main/java/org/springblade/modules/baseinfo/region/mapper/BaseRegionMapper.java
  35. 0 0
      src/main/java/org/springblade/modules/baseinfo/region/mapper/BaseRegionMapper.xml
  36. 0 0
      src/main/java/org/springblade/modules/baseinfo/region/mapper/OrgRegionMapper.java
  37. 1 1
      src/main/java/org/springblade/modules/baseinfo/region/mapper/OrgRegionMapper.xml
  38. 1 1
      src/main/java/org/springblade/modules/baseinfo/region/service/IBaseRegionService.java
  39. 0 0
      src/main/java/org/springblade/modules/baseinfo/region/service/IOrgRegionService.java
  40. 2 2
      src/main/java/org/springblade/modules/baseinfo/region/service/impl/BaseRegionServiceImpl.java
  41. 0 0
      src/main/java/org/springblade/modules/baseinfo/region/service/impl/OrgRegionServiceImpl.java
  42. 5 1
      src/main/java/org/springblade/modules/baseinfo/rtu/mapper/RtuBaseInfoMapper.java
  43. 67 4
      src/main/java/org/springblade/modules/baseinfo/rtu/mapper/RtuBaseInfoMapper.xml
  44. 18 0
      src/main/java/org/springblade/modules/baseinfo/servicePerson/dto/ServicePersonDTO.java
  45. 38 0
      src/main/java/org/springblade/modules/baseinfo/servicePerson/vo/OrgServicePersonVO.java
  46. 153 0
      src/main/java/org/springblade/modules/baseinfo/user/controller/OpenUserController.java
  47. 58 0
      src/main/java/org/springblade/modules/baseinfo/user/entity/OpenUserEntity.java
  48. 18 0
      src/main/java/org/springblade/modules/baseinfo/user/mapper/OpenUserMapper.java
  49. 127 0
      src/main/java/org/springblade/modules/baseinfo/user/mapper/OpenUserMapper.xml
  50. 4 0
      src/main/java/org/springblade/modules/baseinfo/user/service/IOpenUserService.java
  51. 18 0
      src/main/java/org/springblade/modules/baseinfo/user/service/impl/OpenUserServiceImpl.java
  52. 18 0
      src/main/java/org/springblade/modules/baseinfo/warn/controller/WarnSettingController.java
  53. 18 0
      src/main/java/org/springblade/modules/baseinfo/warn/dto/WarnSettingDTO.java
  54. 101 19
      src/main/java/org/springblade/modules/baseinfo/warn/entity/WarnSettingEntity.java
  55. 2 2
      src/main/java/org/springblade/modules/baseinfo/warn/mapper/WarnSettingMapper.java
  56. 22 8
      src/main/java/org/springblade/modules/baseinfo/warn/mapper/WarnSettingMapper.xml
  57. 3 3
      src/main/java/org/springblade/modules/baseinfo/warn/service/IWarnSettingService.java
  58. 5 5
      src/main/java/org/springblade/modules/baseinfo/warn/service/impl/WarnSettingServiceImpl.java
  59. 49 0
      src/main/java/org/springblade/modules/business/data/dto/RtuDataGroundStoreDTO.java
  60. 48 0
      src/main/java/org/springblade/modules/business/data/dto/RtuDataRainStoreDTO.java
  61. 48 0
      src/main/java/org/springblade/modules/business/data/dto/RtuDataRiverStoreDTO.java
  62. 48 0
      src/main/java/org/springblade/modules/business/data/dto/RtuDataRsvrStoreDTO.java
  63. 155 0
      src/main/java/org/springblade/modules/business/data/entity/RtuDataGroundStoreEntity.java
  64. 127 0
      src/main/java/org/springblade/modules/business/data/entity/RtuDataRainStoreEntity.java
  65. 92 0
      src/main/java/org/springblade/modules/business/data/entity/RtuDataRiverStoreEntity.java
  66. 93 0
      src/main/java/org/springblade/modules/business/data/entity/RtuDataRsvrStoreEntity.java
  67. 34 0
      src/main/java/org/springblade/modules/business/data/mapper/RtuDataGroundHistoreMapper.java
  68. 67 0
      src/main/java/org/springblade/modules/business/data/mapper/RtuDataGroundHistoreMapper.xml
  69. 34 0
      src/main/java/org/springblade/modules/business/data/mapper/RtuDataRainHistoreMapper.java
  70. 50 0
      src/main/java/org/springblade/modules/business/data/mapper/RtuDataRainHistoreMapper.xml
  71. 37 0
      src/main/java/org/springblade/modules/business/data/mapper/RtuDataRiverHistoreMapper.java
  72. 75 0
      src/main/java/org/springblade/modules/business/data/mapper/RtuDataRiverHistoreMapper.xml
  73. 35 0
      src/main/java/org/springblade/modules/business/data/mapper/RtuDataRsvrHistoreMapper.java
  74. 46 0
      src/main/java/org/springblade/modules/business/data/mapper/RtuDataRsvrHistoreMapper.xml
  75. 33 0
      src/main/java/org/springblade/modules/business/data/service/IRtuDataGroundHistoreService.java
  76. 33 0
      src/main/java/org/springblade/modules/business/data/service/IRtuDataRainHistoreService.java
  77. 33 0
      src/main/java/org/springblade/modules/business/data/service/IRtuDataRiverHistoreService.java
  78. 33 0
      src/main/java/org/springblade/modules/business/data/service/IRtuDataRsvrHistoreService.java
  79. 33 0
      src/main/java/org/springblade/modules/business/data/service/impl/RtuDataGroundHistoreServiceImpl.java
  80. 36 0
      src/main/java/org/springblade/modules/business/data/service/impl/RtuDataRainHistoreServiceImpl.java
  81. 35 0
      src/main/java/org/springblade/modules/business/data/service/impl/RtuDataRiverHistoreServiceImpl.java
  82. 35 0
      src/main/java/org/springblade/modules/business/data/service/impl/RtuDataRsvrHistoreServiceImpl.java
  83. 51 0
      src/main/java/org/springblade/modules/business/data/vo/RtuDataGroundStoreVO.java
  84. 58 0
      src/main/java/org/springblade/modules/business/data/vo/RtuDataRainStoreVO.java
  85. 96 0
      src/main/java/org/springblade/modules/business/data/vo/RtuDataRiverStoreVO.java
  86. 50 0
      src/main/java/org/springblade/modules/business/data/vo/RtuDataRsvrStoreVO.java
  87. 35 0
      src/main/java/org/springblade/modules/business/data/wrapper/RtuDataGroundHistoreWrapper.java
  88. 34 0
      src/main/java/org/springblade/modules/business/data/wrapper/RtuDataRainHistoreWrapper.java
  89. 46 0
      src/main/java/org/springblade/modules/business/data/wrapper/RtuDataRiverHistoreWrapper.java
  90. 36 0
      src/main/java/org/springblade/modules/business/data/wrapper/RtuDataRsvrHistoreWrapper.java
  91. 18 0
      src/main/java/org/springblade/modules/business/datagram/controller/RtuDatagramController.java
  92. 104 0
      src/main/java/org/springblade/modules/business/datagram/dto/RtuDatagramInfoDTO.java
  93. 71 0
      src/main/java/org/springblade/modules/business/datagram/entity/RtuDatagramInfoEntity.java
  94. 23 0
      src/main/java/org/springblade/modules/business/datagram/mapper/RtuDatagramMapper.java
  95. 14 0
      src/main/java/org/springblade/modules/business/datagram/mapper/RtuDatagramMapper.xml
  96. 22 0
      src/main/java/org/springblade/modules/business/datagram/service/IRtuDatagramService.java
  97. 27 0
      src/main/java/org/springblade/modules/business/datagram/service/impl/RtuDatagramServiceImpl.java
  98. 18 0
      src/main/java/org/springblade/modules/business/datagram/vo/RtuDatagramInfoVO.java
  99. 325 0
      src/main/java/org/springblade/modules/business/datagram/wrapper/RtuDatagramWrapper.java
  100. 24 0
      src/main/java/org/springblade/modules/business/home/Entity/OrgCountInfoEntity.java

+ 1 - 0
.idea/.name

@@ -0,0 +1 @@
+tsywxt-cloud

+ 13 - 0
.idea/compiler.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="tsywxtcloud" />
+      </profile>
+    </annotationProcessing>
+  </component>
+</project>

+ 7 - 0
.idea/encodings.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding" defaultCharsetForPropertiesFiles="UTF-8" addBOMForNewFiles="with NO BOM">
+    <file url="file://$PROJECT_DIR$" charset="UTF-8" />
+    <file url="PROJECT" charset="UTF-8" />
+  </component>
+</project>

+ 36 - 0
.idea/inspectionProfiles/Project_Default.xml

@@ -0,0 +1,36 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
+      <option name="TOP_LEVEL_CLASS_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="INNER_CLASS_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="METHOD_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
+        </value>
+      </option>
+      <option name="FIELD_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="IGNORE_DEPRECATED" value="false" />
+      <option name="IGNORE_JAVADOC_PERIOD" value="true" />
+      <option name="IGNORE_DUPLICATED_THROWS" value="false" />
+      <option name="IGNORE_POINT_TO_ITSELF" value="false" />
+      <option name="myAdditionalJavadocTags" value="date" />
+    </inspection_tool>
+  </profile>
+</component>

+ 14 - 0
.idea/misc.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>

+ 124 - 0
.idea/uiDesigner.xml

@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+</project>

+ 6 - 0
.idea/vcs.xml

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

BIN
lib/netcdfAll-5.5.3.jar


+ 93 - 0
src/main/java/org/springblade/enums/PostCategoryEnum.java

@@ -0,0 +1,93 @@
+package org.springblade.enums;
+
+public enum OrderCloseEnum {
+	/**
+	 * 进行中
+	 */
+	ACTIVE_OPEN(0, "进行中"),
+
+	/**
+	 * 关闭
+	 */
+	ACTIVE_CLOSE(1, "关闭");
+
+
+
+	private int code;
+
+	private String name;
+
+	private OrderCloseEnum(int code, String name) {
+		this.code = code;
+		this.name = name;
+	}
+
+	/**
+	 * Function:根据code来获取对应的name
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param code
+	 * @return java.lang.String
+	 * @throws Exception
+	 */
+	public static String getName(int code) {
+		for (OrderCloseEnum type : OrderCloseEnum.values()) {
+			if (type.code == code) {
+				return type.name;
+			}
+		}
+		return "";
+	}
+
+	/**
+	 * Function:根据code来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param code
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static OrderCloseEnum getEnumByCode(int code) {
+		for (OrderCloseEnum type : OrderCloseEnum.values()) {
+			if (type.code == code) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+	/**
+	 * Function:根据name来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param name
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static OrderCloseEnum getEnumByName(String name) {
+		for (OrderCloseEnum type : OrderCloseEnum.values()) {
+			if (type.name.equals(name)) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+	public int getCode() {
+		return code;
+	}
+
+	public void setCode(int code) {
+		this.code = code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+}

+ 125 - 0
src/main/java/org/springblade/enums/RtuKindEnum.java

@@ -0,0 +1,125 @@
+package org.springblade.enums;
+
+public enum WarnKindEnum {
+
+	/**
+	 * 测站离线
+	 */
+	WARN_OFFLINE(1, "测站离线"),
+
+	/**
+	 * 测站时钟异常
+	 */
+	WARN_CLOCK(2, "测站时钟异常"),
+
+	/**
+	 * 测站雨量小时报漏报
+	 */
+	WARN_RAIN_MISS_OUT(3, "测站雨量小时报漏报"),
+
+	/**
+	 * 测站水位小时报漏报
+	 */
+	WARN_WL_MISS_OUT(4, "测站水位小时报漏报"),
+
+	/**
+	 * 5分钟上报延时
+	 */
+	WARN_UP_MIN_DELAY(5, "雨量5分钟上报延时"),
+
+	/**
+	 * 小时上报延时
+	 */
+	WARN_RAIN_UP_HOUR_DELAY(6, "雨量站小时上报延时"),
+
+	/**
+	 * 水位站小时上报延时
+	 */
+	WARN_WL_UP_HOUR_DELAY(7, "水位站小时上报延时"),
+
+	/**
+	 * 雨量疑似异常值
+	 */
+	WARN_OUTLIER_VALUE(8, "雨量疑似异常值");
+
+	private int code;
+
+	private String name;
+
+	private WarnKindEnum(int code, String name) {
+		this.code = code;
+		this.name = name;
+	}
+
+	/**
+	 * Function:根据code来获取对应的name
+	 * Author: Admin
+	 * Date:2021/6/26
+	 *
+	 * @param code
+	 * @return java.lang.String
+	 * @throws Exception
+	 */
+	public static String getName(int code) {
+		for (WarnKindEnum type : WarnKindEnum.values()) {
+			if (type.code == code) {
+				return type.name;
+			}
+		}
+		return "";
+	}
+
+	/**
+	 * Function:根据code来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 *
+	 * @param code
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static WarnKindEnum getEnumByCode(int code) {
+		for (WarnKindEnum type : WarnKindEnum.values()) {
+			if (type.code == code) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+	/**
+	 * Function:根据name来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 *
+	 * @param name
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static WarnKindEnum getEnumByName(String name) {
+		for (WarnKindEnum type : WarnKindEnum.values()) {
+			if (type.name.equals(name)) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+	public int getCode() {
+		return code;
+	}
+
+	public void setCode(int code) {
+		this.code = code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+}

+ 98 - 0
src/main/java/org/springblade/enums/SensorTypeEnum.java

@@ -0,0 +1,98 @@
+package org.springblade.enums;
+
+public enum PostCategoryEnum {
+	/**
+	 * 管理岗
+	 */
+	CATEGORY_MANAGE(1, "管理岗"),
+
+	/**
+	 * 技术岗
+	 */
+	CATEGORY_SERVICE(2, "技术岗"),
+
+	/**
+	 * 其他
+	 */
+	CATEGORY_OTHERS(3, "其他");
+
+
+
+	private int code;
+
+	private String name;
+
+	private PostCategoryEnum(int code, String name) {
+		this.code = code;
+		this.name = name;
+	}
+
+	/**
+	 * Function:根据code来获取对应的name
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param code
+	 * @return java.lang.String
+	 * @throws Exception
+	 */
+	public static String getName(int code) {
+		for (PostCategoryEnum type : PostCategoryEnum.values()) {
+			if (type.code == code) {
+				return type.name;
+			}
+		}
+		return "";
+	}
+
+	/**
+	 * Function:根据code来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param code
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static PostCategoryEnum getEnumByCode(int code) {
+		for (PostCategoryEnum type : PostCategoryEnum.values()) {
+			if (type.code == code) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+	/**
+	 * Function:根据name来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param name
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static PostCategoryEnum getEnumByName(String name) {
+		for (PostCategoryEnum type : PostCategoryEnum.values()) {
+			if (type.name.equals(name)) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+	public int getCode() {
+		return code;
+	}
+
+	public void setCode(int code) {
+		this.code = code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+}

+ 544 - 0
src/main/java/org/springblade/modules/baseinfo/equipment/EquipmentInfoController.java

@@ -0,0 +1,544 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.baseinfo.rtu.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.*;
+import lombok.AllArgsConstructor;
+import org.springblade.common.cache.DictBizCache;
+import org.springblade.constant.BusinessConstant;
+import org.springblade.core.boot.ctrl.BladeController;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+
+import org.springblade.modules.baseinfo.org.service.IDeptRegionService;
+import org.springblade.modules.baseinfo.region.service.IBaseRegionService;
+import org.springblade.modules.baseinfo.rtu.dto.RtuInfoDTO;
+import org.springblade.modules.baseinfo.rtu.entity.RtuInfoEntity;
+import org.springblade.modules.baseinfo.rtu.service.IRtuBaseInfoService;
+import org.springblade.modules.baseinfo.rtu.vo.RtuInfoVO;
+import org.springblade.modules.baseinfo.rtu.vo.RtuStatisticsInfoVO;
+import org.springblade.modules.baseinfo.rtu.wrapper.RtuInfoWrapper;
+
+import org.springblade.modules.business.data.entity.RtuDataRainEntity;
+import org.springblade.modules.business.data.entity.RtuDataRiverEntity;
+import org.springblade.modules.business.data.entity.RtuDataRsvrEntity;
+import org.springblade.modules.business.data.service.IRtuDataRainService;
+import org.springblade.modules.business.data.service.IRtuDataRiverService;
+import org.springblade.modules.business.data.service.IRtuDataRsvrService;
+import org.springblade.modules.business.rtumanage.entity.RtuStatusEntity;
+import org.springblade.modules.business.rtumanage.service.IRtuManageService;
+import org.springblade.modules.business.warning.dto.RtuWarningInfoDTO;
+import org.springblade.modules.business.warning.service.IRtuWarningService;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.DictBiz;
+import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IDictBizService;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+
+
+/***
+ * Date:2022/8/22
+ * Title: 测站信息管理接口
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@RequestMapping("galaxy-business/rtu/base")
+@AllArgsConstructor
+@Api(value = "测站设备基础管理", tags = "测站设备基础管理")
+public class RtuBaseInfoController extends BladeController {
+    private final IRtuBaseInfoService rtuBaseInfoService;
+    private final IDeptService deptService;
+    private final IRtuWarningService rtuWarningService;
+    private final IRtuManageService rtuManageService;
+    private final IRtuDataRainService rtuDataRainService;
+    private final IRtuDataRiverService rtuDataRiverService;
+    private final IRtuDataRsvrService rtuDataRsvrService;
+    private final IDictBizService dictBizService;
+    private final IDeptRegionService deptRegionService;
+    private final IBaseRegionService baseInfoRegionService;
+
+
+    /**
+     * 分页
+     */
+    @GetMapping("/list")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "rtuName", value = "测站名称", paramType = "query", dataType = "string"),
+            @ApiImplicitParam(name = "rtuCode", value = "测站编码", paramType = "query", dataType = "string"),
+    })
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "不分页")
+    public R<List<RtuInfoVO>> list(@ApiIgnore RtuInfoDTO rtuInfoDTO) {
+        if (rtuInfoDTO.getRtuKind() != null && "1".equals(rtuInfoDTO.getRtuKind())) {
+            rtuInfoDTO.setIsRain(1);
+        } else if (rtuInfoDTO.getRtuKind() != null && "2".equals(rtuInfoDTO.getRtuKind())) {
+            rtuInfoDTO.setIsRiver(1);
+            rtuInfoDTO.setIsRes(1);
+        } else if (rtuInfoDTO.getRtuKind() != null && "3".equals(rtuInfoDTO.getRtuKind())) {
+            rtuInfoDTO.setIsGround(1);
+        } else if (rtuInfoDTO.getRtuKind() != null && "4".equals(rtuInfoDTO.getRtuKind())) {
+            rtuInfoDTO.setIsVideo(1);
+        }
+        LambdaQueryWrapper<RtuInfoEntity> wrapper = Wrappers.<RtuInfoEntity>query().lambda();
+        wrapper.eq(RtuInfoEntity::getIsDeleted, 0);
+        if (null != rtuInfoDTO.getRtuName()) {
+            wrapper.like(RtuInfoEntity::getRtuName, rtuInfoDTO.getRtuName());
+        }
+        if (null != rtuInfoDTO.getRtuCode()) {
+            wrapper.like(RtuInfoEntity::getRtuCode, rtuInfoDTO.getRtuCode());
+        }
+        wrapper.orderByAsc(RtuInfoEntity::getRtuCode);
+        List<RtuInfoEntity> pages = rtuBaseInfoService.list(wrapper);
+        return R.data(RtuInfoWrapper.build().listVO(pages));
+    }
+
+    /**
+     * 多表联合查询自定义分页
+     */
+    @GetMapping("/page")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "rtuName", value = "测站名称", paramType = "query", dataType = "string"),
+            @ApiImplicitParam(name = "rtuCode", value = "测站编码", paramType = "query", dataType = "string"),
+            @ApiImplicitParam(name = "adCode", value = "行政区划编码", paramType = "query", dataType = "string"),
+    })
+    @ApiOperationSupport(order = 3)
+    @ApiOperation(value = "分页")
+    public R<IPage<RtuInfoVO>> page(@ApiIgnore RtuInfoDTO rtuInfoDTO, Query query) {
+        if (rtuInfoDTO.getDeptId() == null) {
+            BladeUser user = AuthUtil.getUser();
+            if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName())) {
+//            if (rtuInfoDTO.getAdCode() == null) {
+//                rtuInfoDTO.setAdCode(BusinessConstant.REGION_NM_ADCODE);
+//            }
+            } else if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_COMPANY_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_COMPANY_SERVICE_PERSON.equals(user.getRoleName())) {
+//            if (rtuInfoDTO.getAdCode() == null) {
+//                LambdaQueryWrapper<DeptRegionEntity> deptRegionEntityLambdaQueryWrapper = Wrappers.<DeptRegionEntity>query().lambda();
+//                deptRegionEntityLambdaQueryWrapper.eq(DeptRegionEntity::getIsDeleted, 0);
+//                deptRegionEntityLambdaQueryWrapper.eq(DeptRegionEntity::getDeptId, Func.toLong(user.getDeptId()));
+//                DeptRegionEntity deptRegionEntity = deptRegionService.getOne(deptRegionEntityLambdaQueryWrapper);
+//                rtuInfoDTO.setAdCode(deptRegionEntity.getAdcd());
+//            }
+
+                    rtuInfoDTO.setOrgId(Func.toLong(user.getDeptId()));
+
+            }
+        }else{
+            if (!rtuInfoDTO.getDeptId().equals(BusinessConstant.DEPT_DH_ID)){
+                rtuInfoDTO.setOrgId(Func.toLong(rtuInfoDTO.getDeptId()));
+            }
+        }
+        if (rtuInfoDTO.getRtuKind() != null && "1".equals(rtuInfoDTO.getRtuKind())) {
+            rtuInfoDTO.setIsRain(1);
+        } else if (rtuInfoDTO.getRtuKind() != null && "2".equals(rtuInfoDTO.getRtuKind())) {
+            rtuInfoDTO.setIsRiver(1);
+            rtuInfoDTO.setIsRes(1);
+        } else if (rtuInfoDTO.getRtuKind() != null && "3".equals(rtuInfoDTO.getRtuKind())) {
+            rtuInfoDTO.setIsGround(1);
+        } else if (rtuInfoDTO.getRtuKind() != null && "4".equals(rtuInfoDTO.getRtuKind())) {
+            rtuInfoDTO.setIsVideo(1);
+        }
+        IPage<RtuInfoVO> pages = rtuBaseInfoService.selectPage(Condition.getPage(query), rtuInfoDTO);
+        List<RtuInfoVO> list = pages.getRecords();
+        for (RtuInfoVO vo : list) {
+            RtuInfoWrapper.build().entityVO(vo);
+        }
+        return R.data(pages);
+    }
+
+
+    /**
+     * 详情
+     */
+    @GetMapping("/detail")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "详情", notes = "传入RtuInfoEntity参数类")
+    public R<RtuInfoVO> detail(RtuInfoEntity rtuInfoEntity) {
+        RtuInfoEntity detail = rtuBaseInfoService.getOne(Condition.getQueryWrapper(rtuInfoEntity));
+        RtuInfoVO rtuInfoVO = RtuInfoWrapper.build().entityVO(detail);
+//        Dept dept = deptService.getById(detail.getOrgId());
+//        if (null != dept) {
+//            rtuInfoVO.setOrgName(dept.getDeptName());
+//        }
+
+//        LambdaQueryWrapper<RtuStatusEntity> statusWwrapper = Wrappers.<RtuStatusEntity>query().lambda();
+//        statusWwrapper.eq(RtuStatusEntity::getIsDeleted, 0);
+//        statusWwrapper.eq(RtuStatusEntity::getRtuCode, detail.getRtuCode());
+//        RtuStatusEntity statusEntity = rtuManageService.getOne(statusWwrapper);
+//        if (null != statusEntity) {
+//            rtuInfoVO.setLastUpTime(statusEntity.getLastUpTime());
+//        }
+//        if (detail.getIsRain() != null && detail.getIsRain() == 1) {
+//            LambdaQueryWrapper<RtuDataRainEntity> rainwrapper = Wrappers.<RtuDataRainEntity>query().lambda();
+//            rainwrapper.eq(RtuDataRainEntity::getRtuCode, detail.getRtuCode());
+//            rainwrapper.eq(RtuDataRainEntity::getIsDeleted, 0L);
+//            RtuDataRainEntity rainEntity = rtuDataRainService.getOne(rainwrapper);
+//            if (null != rainEntity) {
+//                rtuInfoVO.setDrp(rainEntity.getDrp());
+//            }
+//        }
+//        if (detail.getIsRiver() != null && detail.getIsRiver() == 1) {
+//            LambdaQueryWrapper<RtuDataRiverEntity> riverwrapper = Wrappers.<RtuDataRiverEntity>query().lambda();
+//            riverwrapper.eq(RtuDataRiverEntity::getRtuCode, detail.getRtuCode());
+//            riverwrapper.eq(RtuDataRiverEntity::getIsDeleted, 0L);
+//            RtuDataRiverEntity riverEntity = rtuDataRiverService.getOne(riverwrapper);
+//            if (null != riverEntity) {
+//                rtuInfoVO.setZ(riverEntity.getZ());
+//            }
+//        }
+//        if (detail.getIsRes() != null && detail.getIsRes() == 1) {
+//            LambdaQueryWrapper<RtuDataRsvrEntity> rsvrWrapper = Wrappers.<RtuDataRsvrEntity>query().lambda();
+//            rsvrWrapper.eq(RtuDataRsvrEntity::getRtuCode, detail.getRtuCode());
+//            rsvrWrapper.eq(RtuDataRsvrEntity::getIsDeleted, 0L);
+//            RtuDataRsvrEntity rsvrEntity = rtuDataRsvrService.getOne(rsvrWrapper);
+//            if (null != rsvrEntity) {
+//                rtuInfoVO.setRz(rsvrEntity.getRz());
+//            }
+//        }
+//        if (detail.getIsGround() != null && detail.getIsGround() == 1) {
+//
+//        }
+//        if (null != detail.getWaterSensorType()) {
+//            DictBiz dictBiz = dictBizService.getById(detail.getWaterSensorType());
+//            if (null != dictBiz) {
+//                rtuInfoVO.setWaterSensorTypeText(dictBiz.getDictValue());
+//            }
+//        }
+//        if (null != detail.getGroundSensorType()) {
+//            DictBiz dictBiz = dictBizService.getById(detail.getGroundSensorType());
+//            if (null != dictBiz) {
+//                rtuInfoVO.setGroundSensorTypeText(dictBiz.getDictValue());
+//            }
+//        }
+//        if (null != detail.getSatelliteModel()) {
+//            DictBiz dictBiz = dictBizService.getById(detail.getSatelliteModel());
+//            if (null != dictBiz) {
+//                rtuInfoVO.setSatelliteModelText(dictBiz.getDictValue());
+//            }
+//        }
+        return R.data(rtuInfoVO);
+    }
+
+
+    /**
+     * 新增
+     */
+    @PostMapping("/save")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "新增", notes = "传入rtuInfoEntity")
+    public R save(@RequestBody RtuInfoDTO dto) {
+        LambdaQueryWrapper<RtuInfoEntity> rtuwrapper = Wrappers.<RtuInfoEntity>query().lambda();
+        rtuwrapper.eq(RtuInfoEntity::getRtuCode, dto.getRtuCode());
+        rtuwrapper.eq(RtuInfoEntity::getIsDeleted, 0L);
+        RtuInfoEntity entity = rtuBaseInfoService.getOne(rtuwrapper);
+        if (null != entity) {
+            return R.fail("测站编码已存在,请确认!");
+        }
+
+        Dept dept = deptService.getById(dto.getOrgId());
+        dto.setManageCompany(dept.getDeptName());
+
+        dto.setIsRain(0);
+        dto.setIsRiver(0);
+        dto.setIsRes(0);
+        dto.setIsGround(0);
+        dto.setIsVideo(0);
+        if (dto.getSiteKind() != null && dto.getSiteKind().length > 0) {
+            for (String kind : dto.getSiteKind()) {
+                if ("1".equals(kind)) {
+                    dto.setIsRain(1);
+                } else if ("2".equals(kind)) {
+                    dto.setIsRiver(1);
+                } else if ("3".equals(kind)) {
+                    dto.setIsRes(1);
+                } else if ("4".equals(kind)) {
+                    dto.setIsGround(1);
+                } else if ("5".equals(kind)) {
+                    dto.setIsVideo(1);
+                }
+            }
+        }
+        if (null != dto.getLng() && dto.getLng().trim().length() > 0) {
+            String lng = this.getLng(dto.getLng().trim());
+            dto.setLng(lng);
+        }
+        if (null != dto.getLat() && dto.getLat().trim().length() > 0) {
+            String lat = this.getLat(dto.getLat().trim());
+            dto.setLat(lat);
+        }
+        return R.status(rtuBaseInfoService.save(dto));
+    }
+
+    /**
+     * 修改
+     */
+    @PostMapping("/update")
+    @ApiOperationSupport(order = 5)
+    @ApiOperation(value = "修改", notes = "传入RtuInfoDTO")
+    public R update(@RequestBody RtuInfoDTO dto) {
+//        LambdaQueryWrapper<RegionInfoEntity> wrapper = Wrappers.<RegionInfoEntity>query().lambda();
+//        wrapper.eq(RegionInfoEntity::getAdcd, dto.getAdCode());
+//        wrapper.eq(RegionInfoEntity::getIsDeleted, 0L);
+//        RegionInfoEntity regionInfoEntity = baseInfoRegionService.getOne(wrapper);
+//        dto.setAdDist(regionInfoEntity.getAdnm());
+//        LambdaQueryWrapper<RegionInfoEntity> citywrapper = Wrappers.<RegionInfoEntity>query().lambda();
+//        citywrapper.eq(RegionInfoEntity::getAdcd, regionInfoEntity.getParentCode());
+//        citywrapper.eq(RegionInfoEntity::getIsDeleted, 0L);
+//        regionInfoEntity = baseInfoRegionService.getOne(citywrapper);
+//        dto.setAdCity(regionInfoEntity.getAdnm());
+        Dept dept = deptService.getById(dto.getOrgId());
+        dto.setManageCompany(dept.getDeptName());
+        dto.setIsRain(0);
+        dto.setIsRiver(0);
+        dto.setIsRes(0);
+        dto.setIsGround(0);
+        dto.setIsVideo(0);
+        if (dto.getSiteKind() != null && dto.getSiteKind().length > 0) {
+            for (String kind : dto.getSiteKind()) {
+                if ("1".equals(kind)) {
+                    dto.setIsRain(1);
+                } else if ("2".equals(kind)) {
+                    dto.setIsRiver(1);
+                } else if ("3".equals(kind)) {
+                    dto.setIsRes(1);
+                } else if ("4".equals(kind)) {
+                    dto.setIsGround(1);
+                } else if ("5".equals(kind)) {
+                    dto.setIsVideo(1);
+                }
+            }
+        }
+        if (null != dto.getLng() && dto.getLng().trim().length() > 0) {
+            String lng = this.getLng(dto.getLng().trim());
+            dto.setLng(lng);
+        }
+        if (null != dto.getLat() && dto.getLat().trim().length() > 0) {
+            String lat = this.getLat(dto.getLat().trim());
+            dto.setLat(lat);
+        }
+        return R.status(rtuBaseInfoService.updateById(dto));
+    }
+
+    /**
+     * 新增或修改
+     */
+    @PostMapping("/submit")
+    @ApiOperationSupport(order = 6)
+    @ApiOperation(value = "新增或修改", notes = "传入RtuInfoDTO")
+    public R submit(@RequestBody RtuInfoDTO dto) {
+//        LambdaQueryWrapper<RegionInfoEntity> wrapper = Wrappers.<RegionInfoEntity>query().lambda();
+//        wrapper.eq(RegionInfoEntity::getAdcd, dto.getAdCode());
+//        wrapper.eq(RegionInfoEntity::getIsDeleted, 0L);
+//        RegionInfoEntity regionInfoEntity = baseInfoRegionService.getOne(wrapper);
+//        dto.setAdDist(regionInfoEntity.getAdnm());
+//        LambdaQueryWrapper<RegionInfoEntity> citywrapper = Wrappers.<RegionInfoEntity>query().lambda();
+//        citywrapper.eq(RegionInfoEntity::getAdcd, regionInfoEntity.getParentCode());
+//        citywrapper.eq(RegionInfoEntity::getIsDeleted, 0L);
+//        regionInfoEntity = baseInfoRegionService.getOne(citywrapper);
+//        dto.setAdCity(regionInfoEntity.getAdnm());
+        Dept dept = deptService.getById(dto.getOrgId());
+        dto.setManageCompany(dept.getDeptName());
+        dto.setIsRain(0);
+        dto.setIsRiver(0);
+        dto.setIsRes(0);
+        dto.setIsGround(0);
+        dto.setIsVideo(0);
+        if (dto.getSiteKind() != null && dto.getSiteKind().length > 0) {
+            for (String kind : dto.getSiteKind()) {
+                if ("1".equals(kind)) {
+                    dto.setIsRain(1);
+                } else if ("2".equals(kind)) {
+                    dto.setIsRiver(1);
+                } else if ("3".equals(kind)) {
+                    dto.setIsRes(1);
+                } else if ("4".equals(kind)) {
+                    dto.setIsGround(1);
+                } else if ("5".equals(kind)) {
+                    dto.setIsVideo(1);
+                }
+            }
+        }
+        if (null != dto.getLng() && dto.getLng().trim().length() > 0) {
+            String lng = this.getLng(dto.getLng().trim());
+            dto.setLng(lng);
+        }
+        if (null != dto.getLat() && dto.getLat().trim().length() > 0) {
+            String lat = this.getLat(dto.getLat().trim());
+            dto.setLat(lat);
+        }
+        return R.status(rtuBaseInfoService.saveOrUpdate(dto));
+    }
+
+    /**
+     * 删除
+     */
+    @PostMapping("/remove")
+    @ApiOperationSupport(order = 7)
+    @ApiOperation(value = "逻辑删除", notes = "传入ID数组")
+    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
+        boolean temp = rtuBaseInfoService.deleteLogic(Func.toLongList(ids));
+        return R.status(temp);
+    }
+
+    @GetMapping("/dict/list")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "分页")
+    public R<List<DictBiz>> dictList(@RequestParam String code) {
+        List<DictBiz> dicts = DictBizCache.getList(code);
+
+        return R.data(dicts);
+    }
+
+
+    /**
+     * 按机构统计测站信息
+     *
+     * @return
+     */
+    @GetMapping("/statistics")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "分页")
+    public R<List<RtuStatisticsInfoVO>> rtuStatistics() {
+        List<RtuStatisticsInfoVO> list = new LinkedList<>();
+        BladeUser user = AuthUtil.getUser();
+        List<Dept> root = this.deptService.getDeptChild(Func.toLong(user.getDeptId()));
+
+        for (Dept dept : root) {
+            RtuStatisticsInfoVO rtuStatisticsInfoVO = new RtuStatisticsInfoVO();
+            rtuStatisticsInfoVO.setId(dept.getId());
+            rtuStatisticsInfoVO.setOrgName(dept.getDeptName());
+            LambdaQueryWrapper<RtuInfoEntity> wrapper = Wrappers.<RtuInfoEntity>query().lambda();
+            wrapper.eq(RtuInfoEntity::getOrgId, dept.getId());
+            wrapper.eq(RtuInfoEntity::getIsDeleted, 0);
+            Long rtus = rtuBaseInfoService.count(wrapper);
+            rtuStatisticsInfoVO.setRtuCount(rtus);
+
+            RtuWarningInfoDTO rtuWarningInfoDTO = new RtuWarningInfoDTO();
+            rtuWarningInfoDTO.setDeptId(dept.getId());
+
+            Long warningRtus = rtuWarningService.warningRtuCount(rtuWarningInfoDTO);
+            rtuStatisticsInfoVO.setWarningRtuCount(warningRtus);
+
+            list.add(rtuStatisticsInfoVO);
+        }
+
+        return R.data(list);
+    }
+
+    private String getLng(String lngText) {
+        ArrayList<String> textArr = new ArrayList<>();
+        textArr.add("");
+        for (int l = 0; l < lngText.length(); l++) {
+            String subtext = lngText.substring(l, l + 1);
+            if (Func.isNumeric(subtext)) {
+                String str = textArr.get(textArr.size() - 1);
+                str += subtext;
+                textArr.set(textArr.size() - 1, str);
+            } else {
+                textArr.add("");
+            }
+        }
+        ArrayList<String> tmp = new ArrayList<>();
+        for (String text : textArr) {
+            if (text.length() > 0) {
+                tmp.add(text);
+            }
+        }
+        if (tmp.size() >= 4) {
+            //度分秒,秒有小数点
+            String v = tmp.get(2) + "." + tmp.get(3);
+            double lat = Double.parseDouble(v);
+            lat = lat / 60.0;
+            v = tmp.get(1);
+            lat = (Double.parseDouble(v) + lat) / 60.0;
+            v = tmp.get(0);
+            lat = Double.parseDouble(v) + lat;
+            return String.format("%.06f", lat);
+        } else if (tmp.size() == 3) {
+            //度分秒
+            String v = tmp.get(2);
+            double lat = Double.parseDouble(v);
+            lat = lat / 60.0;
+            v = tmp.get(1);
+            lat = (Double.parseDouble(v) + lat) / 60.0;
+            v = tmp.get(0);
+            lat = Double.parseDouble(v) + lat;
+            return String.format("%.06f", lat);
+        } else if (tmp.size() == 2) {
+            //度
+            String v = tmp.get(0) + "." + tmp.get(1);
+            double lat = Double.parseDouble(v);
+            return String.format("%.06f", lat);
+        }
+        return null;
+    }
+
+    private String getLat(String latText) {
+        ArrayList<String> textArr = new ArrayList<>();
+        textArr.add("");
+        for (int l = 0; l < latText.length(); l++) {
+            String subtext = latText.substring(l, l + 1);
+            if (Func.isNumeric(subtext)) {
+                String str = textArr.get(textArr.size() - 1);
+                str += subtext;
+                textArr.set(textArr.size() - 1, str);
+            } else {
+                textArr.add("");
+            }
+        }
+        ArrayList<String> tmp = new ArrayList<>();
+        for (String text : textArr) {
+            if (text.length() > 0) {
+                tmp.add(text);
+            }
+        }
+        if (tmp.size() >= 4) {
+            //度分秒,秒有小数点
+            String v = tmp.get(2) + "." + tmp.get(3);
+            double lat = Double.parseDouble(v);
+            lat = lat / 60.0;
+            v = tmp.get(1);
+            lat = (Double.parseDouble(v) + lat) / 60.0;
+            v = tmp.get(0);
+            lat = Double.parseDouble(v) + lat;
+            return String.format("%.06f", lat);
+        } else if (tmp.size() == 3) {
+            //度分秒
+            String v = tmp.get(2);
+            double lat = Double.parseDouble(v);
+            lat = lat / 60.0;
+            v = tmp.get(1);
+            lat = (Double.parseDouble(v) + lat) / 60.0;
+            v = tmp.get(0);
+            lat = Double.parseDouble(v) + lat;
+            return String.format("%.06f", lat);
+        } else if (tmp.size() == 2) {
+            //度
+            String v = tmp.get(0) + "." + tmp.get(1);
+            double lat = Double.parseDouble(v);
+            return String.format("%.06f", lat);
+        }
+        return null;
+    }
+}

+ 0 - 183
src/main/java/org/springblade/modules/baseinfo/org/controller/BaseInfoOrgController.java

@@ -1,183 +0,0 @@
-/**
- * Copyright 2019 DH
- * All right reserved.
- * 项目名称: 大恒泰山系统
- * 创建日期:2022/8/22
- */
-package org.springblade.modules.baseinfo.org.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import io.swagger.annotations.*;
-import lombok.AllArgsConstructor;
-import org.springblade.constant.BusinessConstant;
-import org.springblade.core.boot.ctrl.BladeController;
-import org.springblade.core.mp.support.Condition;
-import org.springblade.core.mp.support.Query;
-import org.springblade.core.secure.BladeUser;
-import org.springblade.core.secure.utils.AuthUtil;
-import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.utils.Func;
-import org.springblade.modules.baseinfo.org.dto.OrgInfoDTO;
-import org.springblade.modules.baseinfo.org.entity.DeptRegionEntity;
-import org.springblade.modules.baseinfo.org.service.IDeptRegionService;
-import org.springblade.modules.baseinfo.org.vo.OrgInfoVO;
-import org.springblade.modules.baseinfo.org.wrapper.OrgInfoWrapper;
-import org.springblade.modules.baseinfo.region.entity.RegionInfoEntity;
-import org.springblade.modules.system.entity.Dept;
-import org.springblade.modules.system.service.IDeptService;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-import springfox.documentation.annotations.ApiIgnore;
-
-import java.util.List;
-
-
-/***
- * Date:2022/8/22
- * Title: 组织机构管理
- * Description:系统管理员管理盟市,盟市管理员管理运维单位
- * @author swp
- * @version 1.0
- * Remark:认为有必要的其他信息
- */
-@RestController
-@RequestMapping("galaxy-business/baseinfo/org")
-@AllArgsConstructor
-@Api(value = "运维单位管理", tags = "运维单位管理")
-public class BaseInfoOrgController extends BladeController {
-	private final IDeptService deptService;
-	private final IDeptRegionService deptRegionService;
-
-	@GetMapping("/list")
-	@ApiOperationSupport(order = 1)
-	@ApiOperation(value = "分页")
-	public R<List<OrgInfoVO>> list() {
-		BladeUser user = AuthUtil.getUser();
-		if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName())) {
-			LambdaQueryWrapper<Dept> wrapper = Wrappers.<Dept>query().lambda();
-			wrapper.eq(Dept::getIsDeleted, 0);
-			wrapper.eq(Dept::getParentId, Func.toLong(user.getDeptId()));
-			List<Dept> pages = deptService.list(wrapper);
-			return R.data(OrgInfoWrapper.build().listVO(pages));
-		} else {
-			return R.data(null);
-		}
-	}
-
-	/**
-	 * 多表联合查询自定义分页
-	 */
-	@GetMapping("/page")
-	@ApiImplicitParams({
-		@ApiImplicitParam(name = "deptName", value = "机构名称", paramType = "query", dataType = "string"),
-	})
-	@ApiOperationSupport(order = 1)
-	@ApiOperation(value = "分页")
-	public R<IPage<OrgInfoVO>> page(@ApiIgnore Dept entity, Query query) {
-		BladeUser user = AuthUtil.getUser();
-		if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName())) {
-			LambdaQueryWrapper<Dept> wrapper = Wrappers.<Dept>query().lambda();
-			wrapper.eq(Dept::getIsDeleted, 0);
-			wrapper.eq(Dept::getParentId, Func.toLong(user.getDeptId()));
-			if (entity.getDeptName() != null && entity.getDeptName().length() > 0) {
-				wrapper.like(Dept::getDeptName, entity.getDeptName());
-			}
-			IPage<Dept> pages = deptService.page(Condition.getPage(query), wrapper);
-			return R.data(OrgInfoWrapper.build().pageVO(pages));
-		} else {
-			return R.data(null);
-		}
-	}
-
-	/**
-	 * 详情
-	 */
-	@GetMapping("/detail")
-	@ApiOperationSupport(order = 2)
-	@ApiOperation(value = "详情", notes = "传入 Dept")
-	public R<Dept> detail(Dept dept) {
-		Dept vo = deptService.getById(dept.getId());
-		return R.data(vo);
-	}
-
-
-	/**
-	 * 新增
-	 */
-	@PostMapping("/save")
-	@ApiOperationSupport(order = 3)
-	@ApiOperation(value = "新增", notes = "传入 Dept")
-	@Transactional
-	public R save(@RequestBody OrgInfoDTO dept) {
-		BladeUser user = AuthUtil.getUser();
-		dept.setFullName(dept.getDeptName());
-		dept.setParentId(Func.toLong(user.getDeptId()));
-		Dept parentDept = deptService.getById(Func.toLong(user.getDeptId()));
-		dept.setAncestors(parentDept.getAncestors() + "," + parentDept.getId());
-		if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName())) {
-			dept.setDeptCategory(2);
-		} else if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName())) {
-			dept.setDeptCategory(1);
-		}
-		if (deptService.save(dept)) {
-			DeptRegionEntity deptRegionEntity = new DeptRegionEntity();
-			deptRegionEntity.setDeptId(dept.getId());
-			if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName())) {
-				deptRegionEntity.setAdcd(dept.getAdcd());
-			} else if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName())) {
-				LambdaQueryWrapper<DeptRegionEntity> deptRegionEntityLambdaQueryWrapper = Wrappers.<DeptRegionEntity>query().lambda();
-				deptRegionEntityLambdaQueryWrapper.eq(DeptRegionEntity::getIsDeleted, 0);
-				deptRegionEntityLambdaQueryWrapper.eq(DeptRegionEntity::getDeptId, Func.toLong(user.getDeptId()));
-				DeptRegionEntity orgAdmindRegion = deptRegionService.getOne(deptRegionEntityLambdaQueryWrapper);
-				deptRegionEntity.setAdcd(orgAdmindRegion.getAdcd());
-			}
-			if (deptRegionService.save(deptRegionEntity)) {
-				return R.status(true);
-			} else {
-				return R.status(false);
-			}
-		} else {
-			return R.status(false);
-		}
-	}
-
-	/**
-	 * 修改
-	 */
-	@PostMapping("/update")
-	@ApiOperationSupport(order = 4)
-	@ApiOperation(value = "修改", notes = "传入 Dept")
-	public R update(@RequestBody Dept dept) {
-		return R.status(deptService.updateById(dept));
-	}
-
-	/**
-	 * 新增或修改
-	 */
-	@PostMapping("/submit")
-	@ApiOperationSupport(order = 6)
-	@ApiOperation(value = "新增或修改", notes = "传入 Dept")
-	public R submit(@RequestBody Dept dept) {
-		return R.status(deptService.saveOrUpdate(dept));
-	}
-
-	/**
-	 * 删除
-	 */
-	@PostMapping("/remove")
-	@ApiOperationSupport(order = 7)
-	@ApiOperation(value = "逻辑删除", notes = "传入ID数组")
-	public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
-		if (null == ids) {
-			return R.status(false);
-		}
-		List<Long> list = Func.toLongList(ids);
-		for (Long id : list) {
-			deptService.removeById(id);
-		}
-		return R.status(true);
-	}
-}

+ 364 - 0
src/main/java/org/springblade/modules/baseinfo/org/controller/BaseOrgController.java

@@ -0,0 +1,364 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.baseinfo.org.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.*;
+import lombok.AllArgsConstructor;
+import org.springblade.constant.BusinessConstant;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.baseinfo.org.dto.OrgInfoDTO;
+import org.springblade.modules.baseinfo.org.entity.DeptAttEntity;
+import org.springblade.modules.baseinfo.org.entity.DeptRegionEntity;
+import org.springblade.modules.baseinfo.org.entity.OrgEntity;
+import org.springblade.modules.baseinfo.org.entity.OrgTreeNodeEntity;
+import org.springblade.modules.baseinfo.org.service.IDeptAttService;
+import org.springblade.modules.baseinfo.org.service.IDeptRegionService;
+import org.springblade.modules.baseinfo.org.service.IOrgService;
+import org.springblade.modules.baseinfo.org.vo.OrgInfoVO;
+import org.springblade.modules.baseinfo.org.wrapper.OrgInfoWrapper;
+import org.springblade.modules.baseinfo.region.entity.RegionInfoEntity;
+import org.springblade.modules.baseinfo.region.entity.RegionTreeNodeEntity;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.service.IDeptService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import javax.annotation.Resource;
+import java.util.LinkedList;
+import java.util.List;
+
+
+/***
+ * Date:2022/8/22
+ * Title: 组织机构管理
+ * Description:系统管理员管理盟市,盟市管理员管理运维单位
+ * @author swp
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@RequestMapping("galaxy-business/baseinfo/org")
+@AllArgsConstructor
+@Api(value = "运维单位管理", tags = "运维单位管理")
+public class BaseInfoOrgController extends BladeController {
+    private final IDeptService deptService;
+    private final IDeptRegionService deptRegionService;
+    private final IOrgService orgService;
+    private final IDeptAttService deptAttService;
+
+    @Resource
+    private RedisTemplate redisTemplate;
+
+    @GetMapping("/list")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "分页")
+    public R<List<OrgInfoVO>> list() {
+        BladeUser user = AuthUtil.getUser();
+        if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName())) {
+            LambdaQueryWrapper<Dept> wrapper = Wrappers.<Dept>query().lambda();
+            wrapper.eq(Dept::getIsDeleted, 0);
+            wrapper.eq(Dept::getParentId, Func.toLong(user.getDeptId()));
+            List<Dept> pages = deptService.list(wrapper);
+            return R.data(OrgInfoWrapper.build().listVO(pages));
+        } else {
+            return R.data(null);
+        }
+    }
+
+    /**
+     * 多表联合查询自定义分页
+     */
+    @GetMapping("/page")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "deptName", value = "机构名称", paramType = "query", dataType = "string"),
+    })
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "分页")
+    public R<IPage<OrgInfoVO>> page(@ApiIgnore OrgInfoDTO dto, Query query) {
+        BladeUser user = AuthUtil.getUser();
+        if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName())) {
+            dto.setParentId(BusinessConstant.DEPT_DH_ID);
+        }else{
+            dto.setParentId(Func.toLong(user.getDeptId()));
+        }
+
+//            LambdaQueryWrapper<Dept> wrapper = Wrappers.<Dept>query().lambda();
+//            wrapper.eq(Dept::getIsDeleted, 0);
+//            wrapper.eq(Dept::getParentId, Func.toLong(user.getDeptId()));
+//            if (entity.getDeptName() != null && entity.getDeptName().length() > 0) {
+//                wrapper.like(Dept::getDeptName, entity.getDeptName());
+//            }
+            IPage<OrgInfoVO> pages = orgService.selectPage(Condition.getPage(query), dto);
+            return R.data(pages);
+//		} else {
+//			return R.data(null);
+//		}
+        }
+
+        /**
+         * 详情
+         */
+        @GetMapping("/detail")
+        @ApiOperationSupport(order = 2)
+        @ApiOperation(value = "详情", notes = "传入 Dept")
+        public R<Dept> detail (Dept dept){
+            Dept vo = deptService.getById(dept.getId());
+            return R.data(vo);
+        }
+
+
+        /**
+         * 新增
+         */
+        @PostMapping("/save")
+        @ApiOperationSupport(order = 3)
+        @ApiOperation(value = "新增", notes = "传入 Dept")
+        @Transactional
+        public R save (@RequestBody OrgInfoDTO orgInfoDTO){
+            BladeUser user = AuthUtil.getUser();
+            Dept dept = new Dept();
+            dept.setDeptName(orgInfoDTO.getDeptName());
+            dept.setFullName(orgInfoDTO.getDeptName());
+            dept.setParentId(Func.toLong(user.getDeptId()));
+            Dept parentDept = deptService.getById(Func.toLong(user.getDeptId()));
+            dept.setAncestors(parentDept.getAncestors() + "," + parentDept.getId());
+            dept.setRemark(orgInfoDTO.getRemark());
+            //if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName())) {
+            dept.setDeptCategory(2);
+//		} else if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName())) {
+//			dept.setDeptCategory(1);
+//		}
+//		if (deptService.save(dept)) {
+//			DeptRegionEntity deptRegionEntity = new DeptRegionEntity();
+//			deptRegionEntity.setDeptId(dept.getId());
+//			if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName())) {
+//				deptRegionEntity.setAdcd(dept.getAdcd());
+//			} else if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName())) {
+//				LambdaQueryWrapper<DeptRegionEntity> deptRegionEntityLambdaQueryWrapper = Wrappers.<DeptRegionEntity>query().lambda();
+//				deptRegionEntityLambdaQueryWrapper.eq(DeptRegionEntity::getIsDeleted, 0);
+//				deptRegionEntityLambdaQueryWrapper.eq(DeptRegionEntity::getDeptId, Func.toLong(user.getDeptId()));
+//				DeptRegionEntity orgAdmindRegion = deptRegionService.getOne(deptRegionEntityLambdaQueryWrapper);
+//				deptRegionEntity.setAdcd(orgAdmindRegion.getAdcd());
+//			}
+//			if (deptRegionService.save(deptRegionEntity)) {
+//				return R.status(true);
+//			} else {
+//				return R.status(false);
+//			}
+//		} else {
+//			return R.status(false);
+//		}
+            deptService.save(dept);
+
+            DeptAttEntity deptAttEntity = new DeptAttEntity();
+            deptAttEntity.setDeptId(dept.getId());
+            deptAttEntity.setRegType(1);
+            return R.status(deptAttService.save(deptAttEntity));
+        }
+
+        /**
+         * 修改
+         */
+        @PostMapping("/update")
+        @ApiOperationSupport(order = 4)
+        @ApiOperation(value = "修改", notes = "传入 Dept")
+        public R update (@RequestBody Dept dept){
+            return R.status(deptService.updateById(dept));
+        }
+
+        /**
+         * 新增或修改
+         */
+        @PostMapping("/submit")
+        @ApiOperationSupport(order = 6)
+        @ApiOperation(value = "新增或修改", notes = "传入 Dept")
+        public R submit (@RequestBody Dept dept){
+            return R.status(deptService.saveOrUpdate(dept));
+        }
+
+        /**
+         * 删除
+         */
+        @PostMapping("/remove")
+        @ApiOperationSupport(order = 7)
+        @ApiOperation(value = "逻辑删除", notes = "传入ID数组")
+        public R remove (@ApiParam(value = "主键集合") @RequestParam String ids){
+            if (null == ids) {
+                return R.status(false);
+            }
+            List<Long> list = Func.toLongList(ids);
+            for (Long id : list) {
+                deptService.removeById(id);
+            }
+            return R.status(true);
+        }
+
+
+        @GetMapping("/tree")
+        @ApiOperationSupport(order = 2)
+        @ApiOperation(value = "树")
+        public R<List<OrgTreeNodeEntity>> orgTree () {
+            ValueOperations<String, String> opsHash = redisTemplate.opsForValue();
+            List<OrgTreeNodeEntity> nodeEntities = new LinkedList<>();
+            BladeUser user = AuthUtil.getUser();
+            if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName())) {
+//            String orgTreeJson = opsHash.get("org.tree.admin");
+//            if (null != orgTreeJson) {
+//                nodeEntities = JSON.parseObject(orgTreeJson, new TypeReference<List<OrgTreeNodeEntity>>() {
+//                });
+//            } else {
+                LambdaQueryWrapper<Dept> queryWrapper = Wrappers.<Dept>query().lambda();
+                queryWrapper.eq(Dept::getIsDeleted, 0);
+                queryWrapper.eq(Dept::getId, BusinessConstant.DEPT_DH_ID);
+                List<Dept> list = deptService.list(queryWrapper);
+                for (Dept entity : list) {
+                    OrgTreeNodeEntity nodeEntity = new OrgTreeNodeEntity();
+                    nodeEntity.setId(Func.toStr(entity.getId()));
+                    nodeEntity.setValue(Func.toStr(entity.getId()));
+                    nodeEntity.setTitle(entity.getDeptName());
+                    nodeEntity.setText(entity.getDeptName());
+                    nodeEntity.setKey(Func.toStr(entity.getId()));
+                    nodeEntity.setParentId(Func.toStr(entity.getParentId()));
+                    getChildren(nodeEntity, entity);
+                    if (nodeEntity.getChildren() != null && nodeEntity.getChildren().size() > 0) {
+                        nodeEntity.setHasChildren(true);
+                    } else {
+                        nodeEntity.setHasChildren(false);
+                    }
+                    nodeEntities.add(nodeEntity);
+                }
+                opsHash.set("org.tree.admin", JSON.toJSONString(nodeEntities));
+                // }
+            } else {
+//            String regionJson = opsHash.get("org.tree." + user.getDeptId());
+//            if (null != regionJson) {
+//                nodeEntities = JSON.parseObject(regionJson, new TypeReference<List<OrgTreeNodeEntity>>() {
+//                });
+//            } else {
+                LambdaQueryWrapper<Dept> deptRegionEntityLambdaQueryWrapper = Wrappers.<Dept>query().lambda();
+                deptRegionEntityLambdaQueryWrapper.eq(Dept::getIsDeleted, 0);
+                deptRegionEntityLambdaQueryWrapper.eq(Dept::getId, Func.toLong(user.getDeptId()));
+                List<Dept> list = deptService.list(deptRegionEntityLambdaQueryWrapper);
+                for (Dept entity : list) {
+                    OrgTreeNodeEntity nodeEntity = new OrgTreeNodeEntity();
+                    nodeEntity.setId(Func.toStr(entity.getId()));
+                    nodeEntity.setValue(Func.toStr(entity.getId()));
+                    nodeEntity.setTitle(entity.getDeptName());
+                    nodeEntity.setText(entity.getDeptName());
+                    nodeEntity.setKey(Func.toStr(entity.getId()));
+                    nodeEntity.setParentId(Func.toStr(entity.getParentId()));
+                    getChildren(nodeEntity, entity);
+                    if (nodeEntity.getChildren() != null && nodeEntity.getChildren().size() > 0) {
+                        nodeEntity.setHasChildren(true);
+                    } else {
+                        nodeEntity.setHasChildren(false);
+                    }
+                    nodeEntities.add(nodeEntity);
+                }
+
+
+//                LambdaQueryWrapper<RegionInfoEntity> queryWrapper = Wrappers.<RegionInfoEntity>query().lambda();
+//                queryWrapper.eq(RegionInfoEntity::getIsDeleted, 0);
+//                if (null == deptRegionEntity){
+//                    queryWrapper.eq(RegionInfoEntity::getAdcd, BusinessConstant.REGION_NM_ADCODE);
+//                }else{
+//                    queryWrapper.eq(RegionInfoEntity::getAdcd, deptRegionEntity.getAdcd());
+//                }
+//                List<RegionInfoEntity> list = baseInfoRegionService.list(queryWrapper);
+//                for (RegionInfoEntity entity : list) {
+//                    RegionTreeNodeEntity nodeEntity = new RegionTreeNodeEntity();
+//                    nodeEntity.setId(Func.toStr(entity.getId()));
+//                    nodeEntity.setValue(Func.toStr(entity.getId()));
+//                    nodeEntity.setTitle(entity.getDeptName());
+//                    nodeEntity.setText(entity.getDeptName());
+//                    nodeEntity.setKey(Func.toStr(entity.getId()));
+//                    nodeEntity.setParentId(Func.toStr(entity.getParentId()));
+//                    getChildren(nodeEntity, entity);
+//                    if (nodeEntity.getChildren() != null && nodeEntity.getChildren().size() > 0) {
+//                        nodeEntity.setHasChildren(true);
+//                    } else {
+//                        nodeEntity.setHasChildren(false);
+//                    }
+//                    nodeEntities.add(nodeEntity);
+//                }
+                opsHash.set("org.tree." + user.getDeptId(), JSON.toJSONString(nodeEntities));
+                //  }
+            }
+            return R.data(nodeEntities);
+        }
+
+
+        @GetMapping("/tree/{orgId}")
+        @ApiOperationSupport(order = 2)
+        @ApiOperation(value = "树")
+        public R<List<OrgTreeNodeEntity>> orgTree (@PathVariable(name = "orgId") String orgId){
+            List<OrgTreeNodeEntity> nodeEntities = new LinkedList<>();
+            LambdaQueryWrapper<Dept> deptRegionEntityLambdaQueryWrapper = Wrappers.<Dept>query().lambda();
+            deptRegionEntityLambdaQueryWrapper.eq(Dept::getIsDeleted, 0);
+            deptRegionEntityLambdaQueryWrapper.eq(Dept::getId, Func.toLong(orgId));
+            List<Dept> list = deptService.list(deptRegionEntityLambdaQueryWrapper);
+            for (Dept entity : list) {
+                OrgTreeNodeEntity nodeEntity = new OrgTreeNodeEntity();
+                nodeEntity.setId(Func.toStr(entity.getId()));
+                nodeEntity.setValue(Func.toStr(entity.getId()));
+                nodeEntity.setTitle(entity.getDeptName());
+                nodeEntity.setText(entity.getDeptName());
+                nodeEntity.setKey(Func.toStr(entity.getId()));
+                nodeEntity.setParentId(Func.toStr(entity.getParentId()));
+                getChildren(nodeEntity, entity);
+                if (nodeEntity.getChildren() != null && nodeEntity.getChildren().size() > 0) {
+                    nodeEntity.setHasChildren(true);
+                } else {
+                    nodeEntity.setHasChildren(false);
+                }
+                nodeEntities.add(nodeEntity);
+            }
+            return R.data(nodeEntities);
+        }
+
+        private void getChildren (OrgTreeNodeEntity nodeEntity, Dept orgEntity){
+            LambdaQueryWrapper<Dept> queryWrapper = Wrappers.<Dept>query().lambda();
+            queryWrapper.eq(Dept::getParentId, Func.toLong(orgEntity.getId()));
+            List<Dept> list = deptService.list(queryWrapper);
+            if (null != list && list.size() > 0) {
+                List<OrgTreeNodeEntity> nodeEntities = new LinkedList<>();
+                for (Dept entity : list) {
+                    OrgTreeNodeEntity node = new OrgTreeNodeEntity();
+                    node.setId(Func.toStr(entity.getId()));
+                    node.setValue(Func.toStr(entity.getId()));
+                    node.setTitle(entity.getDeptName());
+                    node.setText(entity.getDeptName());
+                    node.setKey(Func.toStr(entity.getId()));
+                    node.setParentId(Func.toStr(entity.getParentId()));
+                    getChildren(node, entity);
+                    if (node.getChildren() != null && node.getChildren().size() > 0) {
+                        node.setHasChildren(true);
+                    } else {
+                        node.setHasChildren(false);
+                    }
+                    nodeEntities.add(node);
+                }
+                nodeEntity.setChildren(nodeEntities);
+            }
+        }
+    }

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/org/entity/DeptAttEntity.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/6/30
+ */
+package org.springblade.modules.baseinfo.org.entity;
+
+/*** 
+ * Date:2023/6/30
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class DeptAttEntity {
+}

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/org/entity/OrgEntity.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/6/30
+ */
+package org.springblade.modules.baseinfo.org.entity;
+
+/*** 
+ * Date:2023/6/30
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class OrgEntity {
+}

+ 49 - 0
src/main/java/org/springblade/modules/baseinfo/org/entity/OrgTreeNodeEntity.java

@@ -0,0 +1,49 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/9/6
+ */
+package org.springblade.modules.baseinfo.region.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/***
+ * Date:2022/9/6
+ * Title: 行政区划功能模块
+ * Description:树节点实体类,AVUE TREE 适用
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+public class RegionTreeNodeEntity {
+
+	@ApiModelProperty("ID")
+	private String id;
+
+	@ApiModelProperty("父ID")
+	private String parentId;
+
+	@ApiModelProperty("键")
+	private String key;
+
+	@ApiModelProperty("节点值")
+	private String value;
+
+	@ApiModelProperty("标题")
+	private String  title;
+
+	@ApiModelProperty("标题")
+	private String  text;
+
+	@ApiModelProperty("子节点")
+	List<RegionTreeNodeEntity> children;
+
+	@ApiModelProperty("是否有子节点")
+	private Boolean hasChildren;
+
+}

+ 30 - 0
src/main/java/org/springblade/modules/baseinfo/org/mapper/DeptAttMapper.java

@@ -0,0 +1,30 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/2/23
+ */
+package org.springblade.modules.baseinfo.org.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.baseinfo.org.dto.OrgInfoDTO;
+import org.springblade.modules.baseinfo.org.entity.DeptRegionEntity;
+import org.springblade.modules.baseinfo.org.entity.OrgEntity;
+import org.springblade.modules.baseinfo.org.vo.OrgInfoVO;
+import org.springblade.modules.system.entity.Dept;
+
+import java.util.List;
+
+/***
+ * Date:2023/2/23
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface OrgMapper extends BaseMapper<OrgEntity> {
+    List<OrgInfoVO> selectPage(IPage page, @Param("dto") OrgInfoDTO dto);
+}

+ 34 - 0
src/main/java/org/springblade/modules/baseinfo/org/mapper/DeptAttMapper.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.baseinfo.org.mapper.OrgMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="orgResultMap" type="org.springblade.modules.baseinfo.org.entity.OrgEntity">
+        <result column="parent_id" property="parentId"/>
+        <result column="ancestors" property="ancestors"/>
+        <result column="dept_name" property="deptName"/>
+        <result column="full_name" property="fullName"/>
+        <result column="remark" property="remark"/>
+    </resultMap>
+
+    <resultMap id="orgVoResultMap" type="org.springblade.modules.baseinfo.org.vo.OrgInfoVO">
+        <result column="parent_id" property="parentId"/>
+        <result column="ancestors" property="ancestors"/>
+        <result column="dept_name" property="deptName"/>
+        <result column="full_name" property="fullName"/>
+        <result column="remark" property="remark"/>
+        <result column="reg_type" property="regType"/>
+    </resultMap>
+
+    <select id="selectPage" resultMap="orgVoResultMap">
+        SELECT
+        d.*,a.reg_type
+        FROM
+        blade_dept d
+        LEFT JOIN blade_dept_att a ON a.dept_id = d.id and a.is_deleted = 0
+        WHERE
+        p.is_deleted = 0
+        ORDER BY
+        d.full_name
+    </select>
+</mapper>

+ 27 - 0
src/main/java/org/springblade/modules/baseinfo/org/mapper/OrgMapper.java

@@ -0,0 +1,27 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/2/23
+ */
+package org.springblade.modules.baseinfo.org.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.baseinfo.org.entity.DeptRegionEntity;
+import org.springblade.modules.baseinfo.org.vo.OrgInfoVO;
+import org.springblade.modules.baseinfo.servicePerson.entity.ServicePersonEntity;
+import org.springblade.modules.baseinfo.servicePerson.vo.ServicePersonVO;
+
+/***
+ * Date:2023/2/23
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface DeptRegionMapper extends BaseMapper<DeptRegionEntity> {
+    IPage<OrgInfoVO> selectPage(IPage page, @Param("entity") DeptRegionEntity entity);
+}

+ 11 - 0
src/main/java/org/springblade/modules/baseinfo/org/mapper/OrgMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.baseinfo.org.mapper.DeptRegionMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="baseinfoOrgResultMap" type="org.springblade.modules.baseinfo.org.entity.DeptRegionEntity">
+        <result column="dept_id" property="deptId"/>
+        <result column="adcd" property="adcd"/>
+    </resultMap>
+
+</mapper>

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/org/service/IDeptAttService.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/6/30
+ */
+package org.springblade.modules.baseinfo.org.service;
+
+/*** 
+ * Date:2023/6/30
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class IDeptAttService {
+}

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/org/service/IOrgService.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/6/30
+ */
+package org.springblade.modules.baseinfo.org.service;
+
+/*** 
+ * Date:2023/6/30
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class IOrgService {
+}

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/org/service/impl/IDeptAttServiceImpl.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/6/30
+ */
+package org.springblade.modules.baseinfo.org.service.impl;
+
+/*** 
+ * Date:2023/6/30
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class IDeptAttServiceImpl {
+}

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/org/service/impl/OrgServiceImpl.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/6/30
+ */
+package org.springblade.modules.baseinfo.org.service.impl;
+
+/*** 
+ * Date:2023/6/30
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class OrgServiceImpl {
+}

+ 0 - 0
src/main/java/org/springblade/modules/baseinfo/project/controller/ProjectBaseInfoController.java → src/main/java/org/springblade/modules/baseinfo/project/controller/BaseProjectController.java


+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/project/dto/ProjectInfoDTO.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/9/25
+ */
+package org.springblade.modules.baseinfo.project.dto;
+
+/*** 
+ * Date:2023/9/25
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class ProjectInfoDTO {
+}

+ 0 - 0
src/main/java/org/springblade/modules/baseinfo/project/mapper/ProjectInfoMapper.java → src/main/java/org/springblade/modules/baseinfo/project/mapper/BaseProjectInfoMapper.java


+ 23 - 19
src/main/java/org/springblade/modules/baseinfo/project/mapper/ProjectInfoMapper.xml → src/main/java/org/springblade/modules/baseinfo/project/mapper/BaseProjectInfoMapper.xml

@@ -6,50 +6,54 @@
     <resultMap id="projectInfoResultMap" type="org.springblade.modules.baseinfo.project.entity.ProjectInfoEntity">
         <result column="project_name" property="projectName"/>
         <result column="org_id" property="orgId"/>
-        <result column="manage_name" property="manageName"/>
+        <result column="adcd" property="adcd"/>
+        <result column="project_name" property="projectManager"/>
         <result column="contact_phone" property="contactPhone"/>
-        <result column="mail" property="mail"/>
         <result column="agreement_id" property="agreementId"/>
         <result column="power_type_id" property="powerTypeId"/>
+        <result column="sim_payer" property="simPayer"/>
+        <result column="sim_pay_end_date" property="simPayEndDate"/>
         <result column="remark" property="remark"/>
-        <result column="import_time" property="importTime"/>
-        <result column="warn_active" property="warnActive"/>
-        <result column="delay_time" property="delayTime"/>
     </resultMap>
 
     <!-- 通用查询映射结果 -->
     <resultMap id="projectInfoVOResultMap" type="org.springblade.modules.baseinfo.project.vo.ProjectInfoVO">
-
         <result column="project_name" property="projectName"/>
         <result column="org_id" property="orgId"/>
-        <result column="dept_name" property="orgName"/>
-        <result column="manage_name" property="manageName"/>
+        <result column="adcd" property="adcd"/>
+        <result column="project_name" property="projectManager"/>
         <result column="contact_phone" property="contactPhone"/>
-        <result column="mail" property="mail"/>
         <result column="agreement_id" property="agreementId"/>
         <result column="power_type_id" property="powerTypeId"/>
+        <result column="sim_payer" property="simPayer"/>
+        <result column="sim_pay_end_date" property="simPayEndDate"/>
         <result column="remark" property="remark"/>
-        <result column="import_time" property="importTime"/>
-        <result column="warn_active" property="warnActive"/>
-        <result column="delay_time" property="delayTime"/>
+
+        <result column="dept_name" property="orgName"/>
+        <result column="agreementName" property="agreementName"/>
+        <result column="powerTypeName" property="powerTypeName"/>
     </resultMap>
 
 
     <select id="selectPage" resultMap="projectInfoVOResultMap">
         SELECT
-        n.*
-        ,d.dept_name
+        n.*,d.dept_name,ab.dict_value agreementName,pb.dict_value powerTypeName
         FROM
         project_info n
         LEFT JOIN blade_dept d ON d.id = n.org_id
+        LEFT JOIN blade_dict_biz ab ON b.id = n.agreement_id
+        LEFT JOIN blade_dict_biz pb ON b.id = n.power_type_id
         WHERE
         n.is_deleted = 0
-        <if test="projectInfoEntity.projectName!=null">
-            and n.project_name like concat(concat('%', #{projectInfoEntity.projectName}), '%')
+        <if test="dto.projectName!=null">
+            and n.project_name like concat(concat('%', #{dto.projectName}), '%')
         </if>
-        <if test="projectInfoEntity.orgId!=null">
-            and n.org_id = #{projectInfoEntity.orgId}
+        <if test="dto.orgId!=null">
+            and n.org_id = #{dto.orgId}
         </if>
-
+        <if test="dto.adcd!=null">
+            and FIND_IN_SET(#{dto.adcd},adcd) > 0
+        </if>
+        order by n.project_name
     </select>
 </mapper>

+ 0 - 0
src/main/java/org/springblade/modules/baseinfo/project/service/IProjectBaseInfoService.java → src/main/java/org/springblade/modules/baseinfo/project/service/IBaseProjectService.java


+ 0 - 0
src/main/java/org/springblade/modules/baseinfo/project/service/impl/ProjectBaseInfoServiceImpl.java → src/main/java/org/springblade/modules/baseinfo/project/service/impl/BaseProjectServiceImpl.java


+ 33 - 6
src/main/java/org/springblade/modules/baseinfo/region/controller/BaseInfoRegionController.java → src/main/java/org/springblade/modules/baseinfo/region/controller/BaseRegionController.java

@@ -29,18 +29,18 @@ import org.springblade.modules.baseinfo.region.dto.RegionInfoDTO;
 import org.springblade.modules.baseinfo.region.entity.OrgRegionInfoEntity;
 import org.springblade.modules.baseinfo.region.entity.RegionInfoEntity;
 import org.springblade.modules.baseinfo.region.entity.RegionTreeNodeEntity;
-import org.springblade.modules.baseinfo.region.service.IBaseInfoRegionService;
+import org.springblade.modules.baseinfo.region.service.IBaseRegionCacheService;
 import org.springblade.modules.baseinfo.region.service.IOrgRegionInfoService;
 import org.springblade.modules.baseinfo.region.vo.RegionInfoVO;
 import org.springblade.modules.baseinfo.region.wrapper.RegionInfoWrapper;
 import org.springblade.modules.system.service.IDeptService;
 import org.springblade.modules.system.service.IRegionService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.core.ValueOperations;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.annotation.Resource;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -58,15 +58,15 @@ import java.util.List;
 @AllArgsConstructor
 @Api(value = "行政区划管理", tags = "行政区划管理")
 public class BaseInfoRegionController extends BladeController {
-	private final IBaseInfoRegionService baseInfoRegionService;
+	private final IBaseRegionCacheService baseInfoRegionService;
 	private final IDeptService deptService;
 	private final IRegionService regionService;
 	private final IEtlAdCdService etlAdCdService;
 	private final IOrgRegionInfoService iOrgRegionInfoService;
 	private final IDeptRegionService deptRegionService;
 
-	@Autowired
-	private RedisTemplate redisTemplate;
+	@Resource
+	private RedisTemplate<String,String> redisTemplate;
 
 
 
@@ -95,6 +95,17 @@ public class BaseInfoRegionController extends BladeController {
 		return R.data(null);
 	}
 
+	@GetMapping("/children/list/{parentCode}")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "分页")
+	public R<List<RegionInfoEntity>> childrenList(@PathVariable(name = "parentCode") String parentCode) {
+		LambdaQueryWrapper<RegionInfoEntity> wrapper = Wrappers.<RegionInfoEntity>query().lambda();
+		wrapper.eq(RegionInfoEntity::getIsDeleted, 0);
+		wrapper.eq(RegionInfoEntity::getParentCode, parentCode);
+		List<RegionInfoEntity> list = baseInfoRegionService.list(wrapper);
+		return R.data(list);
+	}
+
 	@GetMapping("/lazy-tree")
 	@ApiImplicitParams({
 		@ApiImplicitParam(name = "adcd", value = "行政区划代码", paramType = "query", dataType = "string"),
@@ -151,7 +162,23 @@ public class BaseInfoRegionController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "树")
 	public R<List<RegionTreeNodeEntity>> regionTree() {
-		ValueOperations<String, String> opsHash = redisTemplate.opsForValue();
+		BladeUser user = AuthUtil.getUser();
+		List<RegionTreeNodeEntity> nodeEntities = new LinkedList<>();
+		LambdaQueryWrapper<DeptRegionEntity> queryWrapper = Wrappers.<DeptRegionEntity>query().lambda();
+		queryWrapper.eq(DeptRegionEntity::getDeptId,Func.toLong(user.getDeptId()));
+		DeptRegionEntity deptRegionEntity=this.deptRegionService.getOne(queryWrapper);
+		if (null != deptRegionEntity){
+			ValueOperations<String, String> opsHash = redisTemplate.opsForValue();
+			String regionJson = opsHash.get("region.cache."+user.getDeptId());
+			if (null != regionJson){
+				nodeEntities = JSON.parseObject(regionJson, new TypeReference<List<RegionTreeNodeEntity>>() {
+				});
+			}else{
+
+			}
+		}
+
+
 		List<RegionTreeNodeEntity> nodeEntities = new LinkedList<>();
 		BladeUser user = AuthUtil.getUser();
 		if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName())) {

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/region/dto/OrgRegionInfoDTO.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/9/22
+ */
+package org.springblade.modules.baseinfo.region.dto;
+
+/*** 
+ * Date:2023/9/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class OrgRegionInfoDTO {
+}

+ 0 - 0
src/main/java/org/springblade/modules/baseinfo/region/mapper/RegionInfoMapper.java → src/main/java/org/springblade/modules/baseinfo/region/mapper/BaseRegionMapper.java


+ 0 - 0
src/main/java/org/springblade/modules/baseinfo/region/mapper/RegionInfoMapper.xml → src/main/java/org/springblade/modules/baseinfo/region/mapper/BaseRegionMapper.xml


+ 0 - 0
src/main/java/org/springblade/modules/baseinfo/region/mapper/OrgRegionInfoMapper.java → src/main/java/org/springblade/modules/baseinfo/region/mapper/OrgRegionMapper.java


+ 1 - 1
src/main/java/org/springblade/modules/baseinfo/region/mapper/OrgRegionInfoMapper.xml → src/main/java/org/springblade/modules/baseinfo/region/mapper/OrgRegionMapper.xml

@@ -20,7 +20,7 @@
         SELECT
         n.*
         FROM
-        data_dept_region_cache n
+        base_dept_region_cache n
         WHERE
         n.is_deleted = 0
         <if test="orgId!=null">

+ 1 - 1
src/main/java/org/springblade/modules/baseinfo/region/service/IBaseInfoRegionService.java → src/main/java/org/springblade/modules/baseinfo/region/service/IBaseRegionService.java

@@ -19,6 +19,6 @@ import org.springblade.modules.baseinfo.region.entity.RegionInfoEntity;
  * @version 1.0
  * Remark:认为有必要的其他信息
  */
-public interface IBaseInfoRegionService extends BaseService<RegionInfoEntity> {
+public interface IBaseRegionCacheService extends BaseService<RegionInfoEntity> {
 
 }

+ 0 - 0
src/main/java/org/springblade/modules/baseinfo/region/service/IOrgRegionInfoService.java → src/main/java/org/springblade/modules/baseinfo/region/service/IOrgRegionService.java


+ 2 - 2
src/main/java/org/springblade/modules/baseinfo/region/service/impl/BaseInfoRegionServiceImpl.java → src/main/java/org/springblade/modules/baseinfo/region/service/impl/BaseRegionServiceImpl.java

@@ -9,7 +9,7 @@ package org.springblade.modules.baseinfo.region.service.impl;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.modules.baseinfo.region.entity.RegionInfoEntity;
 import org.springblade.modules.baseinfo.region.mapper.RegionInfoMapper;
-import org.springblade.modules.baseinfo.region.service.IBaseInfoRegionService;
+import org.springblade.modules.baseinfo.region.service.IBaseRegionCacheService;
 import org.springframework.stereotype.Service;
 
 /***
@@ -21,6 +21,6 @@ import org.springframework.stereotype.Service;
  * Remark:认为有必要的其他信息
  */
 @Service
-public class BaseInfoRegionServiceImpl extends BaseServiceImpl<RegionInfoMapper, RegionInfoEntity> implements IBaseInfoRegionService {
+public class BaseRegionCacheServiceImpl extends BaseServiceImpl<RegionInfoMapper, RegionInfoEntity> implements IBaseRegionCacheService {
 
 }

+ 0 - 0
src/main/java/org/springblade/modules/baseinfo/region/service/impl/OrgRegionInfoServiceImpl.java → src/main/java/org/springblade/modules/baseinfo/region/service/impl/OrgRegionServiceImpl.java


+ 5 - 1
src/main/java/org/springblade/modules/baseinfo/rtu/mapper/RtuInfoMapper.java → src/main/java/org/springblade/modules/baseinfo/rtu/mapper/RtuBaseInfoMapper.java

@@ -32,9 +32,13 @@ public interface RtuInfoMapper extends BaseMapper<RtuInfoEntity> {
 	 */
 	List<RtuInfoVO> selectPage(IPage page, @Param("rtuInfoDTO") RtuInfoDTO rtuInfoDTO);
 
-	Long rtuCount(@Param("adCode") String adCode);
+	Long rtuCount(@Param("dto") RtuInfoDTO dto);
 
 	List<RtuInfoEntity> rtuList(@Param("rtuInfoDTO") RtuInfoDTO rtuInfoDTO);
 
 	List<RtuInfoVO> getAdcd(@Param("rtuCode") String rtuCode);
+
+	Long rtuRainCount(@Param("adCode") String adCode);
+	Long rtuRiverCount(@Param("adCode") String adCode);
+	Long rtuGroundCount(@Param("adCode") String adCode);
 }

+ 67 - 4
src/main/java/org/springblade/modules/baseinfo/rtu/mapper/RtuInfoMapper.xml → src/main/java/org/springblade/modules/baseinfo/rtu/mapper/RtuBaseInfoMapper.xml

@@ -32,6 +32,8 @@
         <result column="rtu_brand" property="rtuBrand"/>
         <result column="rtu_model" property="rtuModel"/>
         <result column="rtu_replace_date" property="rtuReplaceDate"/>
+
+        <result column="is_up_ywxt" property="isUpYwxt"/>
         <result column="datagram_to_sheng" property="datagramToSheng"/>
         <result column="datagram_to_shi" property="datagramToShi"/>
         <result column="datagram_to_qu" property="datagramToQu"/>
@@ -52,7 +54,10 @@
 
         <result column="battery_model" property="batteryModel"/>
         <result column="battery_replace_date" property="batteryReplaceDate"/>
+
         <result column="sun_power_model" property="sunPowerModel"/>
+        <result column="sun_power_controller_brand" property="sunPowerControllerBrand"/>
+        <result column="sun_power_controller_model" property="sunPowerControllerModel"/>
 
         <result column="network_sim_id" property="networkSimId"/>
         <result column="network_payer" property="networkPayer"/>
@@ -95,6 +100,8 @@
         <result column="rtu_brand" property="rtuBrand"/>
         <result column="rtu_model" property="rtuModel"/>
         <result column="rtu_replace_date" property="rtuReplaceDate"/>
+
+        <result column="is_up_ywxt" property="isUpYwxt"/>
         <result column="datagram_to_sheng" property="datagramToSheng"/>
         <result column="datagram_to_shi" property="datagramToShi"/>
         <result column="datagram_to_qu" property="datagramToQu"/>
@@ -115,7 +122,10 @@
 
         <result column="battery_model" property="batteryModel"/>
         <result column="battery_replace_date" property="batteryReplaceDate"/>
+
         <result column="sun_power_model" property="sunPowerModel"/>
+        <result column="sun_power_controller_brand" property="sunPowerControllerBrand"/>
+        <result column="sun_power_controller_model" property="sunPowerControllerModel"/>
 
         <result column="network_sim_id" property="networkSimId"/>
         <result column="network_payer" property="networkPayer"/>
@@ -135,9 +145,10 @@
         n.*
         FROM
         rtu_info n
+        LEFT JOIN blade_dept d ON d.id = n.org_id and d.is_deleted=0
         LEFT JOIN data_ad_cd_b a ON a.adcd = n.ad_code and a.is_deleted=0
         WHERE
-        n.is_deleted = 0
+        n.is_deleted = 0 and n.org_id is not null
         <if test="rtuInfoDTO.rtuName!=null">
             and n.rtu_name like concat(concat('%', #{rtuInfoDTO.rtuName}), '%')
         </if>
@@ -159,6 +170,10 @@
         <if test="rtuInfoDTO.isVideo!=null">
             and n.is_video = #{rtuInfoDTO.isVideo}
         </if>
+        <if test="rtuInfoDTO.orgId!=null">
+            and (n.org_id =#{rtuInfoDTO.orgId} or d.ancestors in (SELECT ancestors FROM blade_dept WHERE ancestors
+            like concat(concat('%', #{rtuInfoDTO.orgId}), '%')))
+        </if>
         <if test="rtuInfoDTO.adCode!=null">
             and (n.ad_code =#{rtuInfoDTO.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors
             like concat(concat('%', #{rtuInfoDTO.adCode}), '%')))
@@ -174,9 +189,15 @@
         LEFT JOIN data_ad_cd_b a ON a.adcd = n.ad_code and a.is_deleted=0
         WHERE
         n.is_deleted = 0
-        <if test="adCode!=null">
-            and (n.ad_code =#{adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors like
-            concat(concat('%', #{adCode}), '%')))
+        <if test="dto.rtuKind!=null">
+            and n.rtu_kinds like concat(concat('%', #{dto.rtuKind}), '%')
+        </if>
+        <if test="dto.isUpYwxt!=null">
+            and n.is_up_ywxt = #{dto.isUpYwxt}
+        </if>
+        <if test="dto.adCode!=null">
+            and (n.ad_code =#{dto.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors like
+            concat(concat('%', #{dto.adCode}), '%')))
         </if>
     </select>
 
@@ -223,4 +244,46 @@
         </if>
         order by n.rtu_code
     </select>
+
+    <select id="rtuRainCount" resultType="java.lang.Long">
+        SELECT
+        count(n.rtu_code)
+        FROM
+        rtu_info n
+        LEFT JOIN data_ad_cd_b a ON a.adcd = n.ad_code and a.is_deleted=0
+        WHERE
+        n.is_deleted = 0 and n.is_rain = 1
+        <if test="adCode!=null">
+            and (n.ad_code =#{adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors like
+            concat(concat('%', #{adCode}), '%')))
+        </if>
+    </select>
+
+    <select id="rtuRiverCount" resultType="java.lang.Long">
+        SELECT
+        count(n.rtu_code)
+        FROM
+        rtu_info n
+        LEFT JOIN data_ad_cd_b a ON a.adcd = n.ad_code and a.is_deleted=0
+        WHERE
+        n.is_deleted = 0 and (n.is_river = 1 or n.is_res = 1)
+        <if test="adCode!=null">
+            and (n.ad_code =#{adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors like
+            concat(concat('%', #{adCode}), '%')))
+        </if>
+    </select>
+
+    <select id="rtuGroundCount" resultType="java.lang.Long">
+        SELECT
+        count(n.rtu_code)
+        FROM
+        rtu_info n
+        LEFT JOIN data_ad_cd_b a ON a.adcd = n.ad_code and a.is_deleted=0
+        WHERE
+        n.is_deleted = 0 and n.is_ground = 1
+        <if test="adCode!=null">
+            and (n.ad_code =#{adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors like
+            concat(concat('%', #{adCode}), '%')))
+        </if>
+    </select>
 </mapper>

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/servicePerson/dto/ServicePersonDTO.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/9/26
+ */
+package org.springblade.modules.baseinfo.servicePerson.dto;
+
+/*** 
+ * Date:2023/9/26
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class ServicePersonDTO {
+}

+ 38 - 0
src/main/java/org/springblade/modules/baseinfo/servicePerson/vo/OrgServicePersonVO.java

@@ -0,0 +1,38 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.baseinfo.servicePerson.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.baseinfo.servicePerson.entity.ServicePersonEntity;
+
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ServicePersonVO extends ServicePersonEntity {
+	/**
+	 * 角色名称
+	 */
+	@ApiModelProperty(value = "角色名称")
+	private String roleName;
+
+	/**
+	 * 机构名称
+	 */
+	@ApiModelProperty(value = "机构名称")
+	private String orgName;
+
+}

+ 153 - 0
src/main/java/org/springblade/modules/baseinfo/user/controller/OpenUserController.java

@@ -0,0 +1,153 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/2/2
+ */
+package org.springblade.modules.baseinfo.user.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.constant.BusinessConstant;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.DigestUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.baseinfo.region.entity.CustomizeRegionInfoEntity;
+import org.springblade.modules.baseinfo.region.entity.CustomizeRegionOrgBindInfoEntity;
+import org.springblade.modules.baseinfo.region.service.ICustomizeRegionInfoService;
+import org.springblade.modules.baseinfo.region.service.ICustomizeRegionOrgBindInfoService;
+import org.springblade.modules.baseinfo.user.entity.OpenUserEntity;
+import org.springblade.modules.business.desk.entity.NoticeEntity;
+import org.springblade.modules.business.desk.service.INoticeService;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.Region;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.entity.UserDept;
+import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IRegionService;
+import org.springblade.modules.system.service.IUserDeptService;
+import org.springblade.modules.system.service.IUserService;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.List;
+
+/***
+ * Date:2023/2/2
+ * Title:开放用户人员接口
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author swp
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@RequestMapping("galaxy-business/open/user")
+@AllArgsConstructor
+@Api(value = "开放用户人员接口", tags = "开放用户人员模块管理")
+public class OpenUserController extends BladeController {
+	private final IUserService userService;
+	private final IDeptService deptService;
+	private final IUserDeptService userDeptService;
+	private final IRegionService regionService;
+	private final ICustomizeRegionInfoService customizeRegionInfoService;
+	private final ICustomizeRegionOrgBindInfoService customizeRegionOrgBindInfoService;
+	private final INoticeService noticeService;
+	/**
+	 * 注册
+	 */
+	@PostMapping("/reg")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "注册", notes = "传入 OpenUserEntity")
+	@Transactional
+	public R openUserReg(@RequestBody OpenUserEntity openUserEntity) {
+		try {
+			LambdaQueryWrapper<User> wrapper = Wrappers.<User>query().lambda();
+			wrapper.eq(User::getAccount, openUserEntity.getUserAccount());
+			wrapper.eq(User::getIsDeleted, 0);
+			List<User> list = userService.list(wrapper);
+			if (null != list && list.size() > 0) {
+				return R.fail("帐号已经存在");
+			}
+			if (null == openUserEntity.getRegionCode()){
+				return R.fail("所在区划参数不能为空");
+			}
+			//创建组织机构
+			Dept parentDept = deptService.getById(BusinessConstant.DEPT_DH_ID);
+			Dept dept = new Dept();
+			dept.setParentId(BusinessConstant.DEPT_DH_ID);
+			dept.setDeptCategory(1);
+			dept.setDeptName(openUserEntity.getCompanyName());
+			dept.setFullName(openUserEntity.getCompanyName());
+			dept.setAncestors(parentDept.getAncestors()+","+parentDept.getId());
+			dept.setSort(1);
+			deptService.save(dept);
+            //创建用户
+			User u = new User();
+			u.setAccount(openUserEntity.getUserAccount());
+			u.setPhone(openUserEntity.getContactPhone());
+			u.setEmail(openUserEntity.getMail());
+			u.setName(openUserEntity.getPersonName());
+			u.setRealName(openUserEntity.getPersonName());
+			u.setPassword(DigestUtil.encrypt(openUserEntity.getUserAccount() + BusinessConstant.ACCOUNT_PW_SUFFIX));
+			u.setDeptId(Func.toStr(dept.getId()));
+			u.setRoleId(BusinessConstant.ROLE_ORG_ADMIN_ID);
+			u.setPostId(BusinessConstant.POST_ORG_ADMIN_ID);
+			u.setUserType(1);
+			userService.save(u);
+            //创建关联关系
+			UserDept userDept=new UserDept();
+			userDept.setUserId(u.getId());
+			userDept.setDeptId(dept.getId());
+			userDeptService.save(userDept);
+			//创建组织机构
+			LambdaQueryWrapper<Region> regionQueryWrapper = Wrappers.<Region>query().lambda();
+			regionQueryWrapper.eq(Region::getCode,openUserEntity.getRegionCode());
+			Region rootRegion =regionService.getOne(regionQueryWrapper);
+			regionQueryWrapper = Wrappers.<Region>query().lambda();
+			regionQueryWrapper.or().eq(Region::getCode,openUserEntity.getRegionCode());
+			regionQueryWrapper.or().likeRight(Region::getAncestors,rootRegion.getAncestors()+","+rootRegion.getCode());
+			regionQueryWrapper.orderByAsc(Region::getCode);
+			List<Region> regionList = regionService.list(regionQueryWrapper);
+            if (null != regionList&&regionList.size()>0){
+				List<CustomizeRegionInfoEntity> regionInfoEntityList=new LinkedList<>();
+				for (Region region:regionList){
+					CustomizeRegionInfoEntity entity=new CustomizeRegionInfoEntity();
+					entity.setDeptId(dept.getId());
+					entity.setAdcd(region.getCode());
+					entity.setAdnm(region.getName());
+                    entity.setParentCode(region.getParentCode());
+                    entity.setAncestors(region.getAncestors());
+					regionInfoEntityList.add(entity);
+				}
+				customizeRegionInfoService.saveBatch(regionInfoEntityList);
+			}
+			CustomizeRegionOrgBindInfoEntity regionOrgBindInfoEntity=new CustomizeRegionOrgBindInfoEntity();
+			regionOrgBindInfoEntity.setAdcd(openUserEntity.getRegionCode());
+			regionOrgBindInfoEntity.setDeptId(dept.getId());
+			customizeRegionOrgBindInfoService.save(regionOrgBindInfoEntity);
+
+			//消息通知
+			NoticeEntity noticeEntity=new NoticeEntity();
+			noticeEntity.setDeptId(dept.getId());
+			noticeEntity.setTitle("帐号注册成功");
+			noticeEntity.setContent("欢迎使用智能运维系统,系统操作介绍说明请详见【辅助业务】菜单中的【用户使用手册】!");
+			noticeEntity.setReleaseTime(new Date());
+			noticeEntity.setCategory(1);
+			noticeService.save(noticeEntity);
+		} catch (Exception e) {
+			e.printStackTrace();
+			throw new RuntimeException("注册失败");
+		}
+		return R.success("注册成功");
+	}
+}

+ 58 - 0
src/main/java/org/springblade/modules/baseinfo/user/entity/OpenUserEntity.java

@@ -0,0 +1,58 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/2/2
+ */
+package org.springblade.modules.baseinfo.user.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/***
+ * Date:2023/2/2
+ * Title:注册信息
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+public class OpenUserEntity {
+
+	/**
+	 * 人员名称
+	 */
+	@ApiModelProperty(value = "人员名称")
+	private String personName;
+
+	/**
+	 * 公司名称
+	 */
+	@ApiModelProperty(value = "公司名称")
+	private String companyName;
+
+	/**
+	 * 帐号
+	 */
+	@ApiModelProperty(value = "帐号")
+	private String userAccount;
+
+	/**
+	 * 联系电话
+	 */
+	@ApiModelProperty(value = "联系电话")
+	private String contactPhone;
+
+	/**
+	 * 邮箱
+	 */
+	@ApiModelProperty(value = "邮箱")
+	private String mail;
+
+	/**
+	 * 组织机构代码
+	 */
+	@ApiModelProperty(value = "组织机构代码")
+	private String regionCode;
+}

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/user/mapper/OpenUserMapper.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/6/14
+ */
+package org.springblade.modules.baseinfo.user.mapper;
+
+/*** 
+ * Date:2023/6/14
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class OpenUserMapper {
+}

+ 127 - 0
src/main/java/org/springblade/modules/baseinfo/user/mapper/OpenUserMapper.xml

@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.business.rtumanage.mapper.RtuManageMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="rtuStatusResultMap" type="org.springblade.modules.business.rtumanage.entity.RtuStatusEntity">
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="run_status_id" property="runStatusId"/>
+        <result column="last_up_time" property="lastUpTime"/>
+    </resultMap>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="rtuStatusVOResultMap" type="org.springblade.modules.business.rtumanage.vo.RtuStatusVO">
+        <result column="run_status_id" property="runStatusId"/>
+        <result column="last_up_time" property="lastUpTime"/>
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="rtu_name" property="rtuName"/>
+        <result column="lng" property="lng"/>
+        <result column="lat" property="lat"/>
+        <result column="sim_id" property="simId"/>
+        <result column="rtu_kinds" property="rtuKinds"/>
+        <result column="location_desc" property="locationDesc"/>
+        <result column="is_rain" property="isRain"/>
+        <result column="is_river" property="isRiver"/>
+        <result column="is_res" property="isRes"/>
+        <result column="is_ground" property="isGround"/>
+        <result column="is_video" property="isVideo"/>
+        <result column="ad_city" property="adCity"/>
+        <result column="ad_dist" property="adDist"/>
+        <result column="rtu_brand" property="rtuBrand"/>
+        <result column="rtu_model" property="rtuModel"/>
+        <result column="rtu_replace_date" property="rtuReplaceDate"/>
+        <result column="rain_sensor_brand" property="rainSensorBrand"/>
+        <result column="rain_sensor_model" property="rainSensorModel"/>
+        <result column="rain_sensor_replace_date" property="rainSensorReplaceDate"/>
+        <result column="water_sensor_brand" property="waterSensorBrand"/>
+        <result column="water_sensor_model" property="waterSensorModel"/>
+        <result column="water_sensor_replace_date" property="waterSensorReplaceDate"/>
+        <result column="ground_sensor_brand" property="groundSensorBrand"/>
+        <result column="ground_sensor_model" property="groundSensorModel"/>
+        <result column="ground_sensor_replace_date" property="groundSensorReplaceDate"/>
+        <result column="battery_model" property="batteryModel"/>
+        <result column="battery_replace_date" property="batteryReplaceDate"/>
+        <result column="sun_power_model" property="sunPowerModel"/>
+        <result column="network_sim_id" property="networkSimId"/>
+        <result column="network_payer" property="networkPayer"/>
+        <result column="network_pay_end_date" property="networkPayEndDate"/>
+        <result column="is_satellite" property="isSatellite"/>
+        <result column="satellite_model" property="satelliteModel"/>
+    </resultMap>
+
+
+    <select id="selectPage" resultMap="rtuStatusVOResultMap">
+        SELECT
+        d.*, n.run_status_id,n.last_up_time
+        FROM
+        rtu_info d
+        LEFT JOIN  rtu_status n ON n.rtu_code = d.rtu_code and  n.is_deleted = 0
+        LEFT JOIN rtu_warning w ON w.rtu_code = d.rtu_code and w.is_deleted = 0 and w.warning_kind=1
+        LEFT JOIN  data_ad_cd_b a ON a.adcd = d.ad_code and a.is_deleted=0
+        WHERE
+        d.is_deleted = 0
+        <if test="rtuInfoDTO.rtuName!=null">
+            and d.rtu_name like concat(concat('%', #{rtuInfoDTO.rtuName}), '%')
+        </if>
+        <if test="rtuInfoDTO.rtuCode!=null">
+            and d.rtu_code like concat(concat('%', #{rtuInfoDTO.rtuCode}), '%')
+        </if>
+        <if test="rtuInfoDTO.isRain!=null">
+            and d.is_rain = #{rtuInfoDTO.isRain}
+        </if>
+        <if test="rtuInfoDTO.isRiver!=null">
+            and d.is_river = #{rtuInfoDTO.isRiver}
+        </if>
+        <if test="rtuInfoDTO.isRes!=null">
+            and d.is_res = #{rtuInfoDTO.isRes}
+        </if>
+        <if test="rtuInfoDTO.isGround!=null">
+            and d.is_ground = #{rtuInfoDTO.isGround}
+        </if>
+        <if test="rtuInfoDTO.isVideo!=null">
+            and d.is_video = #{rtuInfoDTO.isVideo}
+        </if>
+        <if test="rtuInfoDTO.adCode!=null">
+            and (d.ad_code =#{rtuInfoDTO.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors  like concat(concat('%', #{rtuInfoDTO.adCode}), '%')))
+        </if>
+        order by IF(isnull(n.run_status_id),1,0) ,n.run_status_id desc,w.warning_kind desc, d.rtu_code asc
+    </select>
+
+    <select id="selectWarnPage" resultMap="rtuStatusVOResultMap">
+        SELECT
+        d.*, n.run_status_id,n.last_up_time
+        FROM
+        rtu_info d
+        LEFT JOIN  rtu_status n ON n.rtu_code = d.rtu_code and n.is_deleted = 0
+        LEFT JOIN  rtu_warning w ON w.rtu_code = d.rtu_code and w.is_deleted = 0
+        LEFT JOIN  data_ad_cd_b a ON a.adcd = d.ad_code and a.is_deleted=0
+        WHERE
+        d.is_deleted = 0
+        and w.warning_kind = #{rtuInfoDTO.warnKind}
+        <if test="rtuInfoDTO.rtuName!=null">
+            and d.rtu_name like concat(concat('%', #{rtuInfoDTO.rtuName}), '%')
+        </if>
+        <if test="rtuInfoDTO.rtuCode!=null">
+            and d.rtu_code like concat(concat('%', #{rtuInfoDTO.rtuCode}), '%')
+        </if>
+        <if test="rtuInfoDTO.isRain!=null">
+            and d.is_rain = #{rtuInfoDTO.isRain}
+        </if>
+        <if test="rtuInfoDTO.isRiver!=null">
+            and d.is_river = #{rtuInfoDTO.isRiver}
+        </if>
+        <if test="rtuInfoDTO.isRes!=null">
+            and d.is_res = #{rtuInfoDTO.isRes}
+        </if>
+        <if test="rtuInfoDTO.isGround!=null">
+            and d.is_ground = #{rtuInfoDTO.isGround}
+        </if>
+        <if test="rtuInfoDTO.isVideo!=null">
+            and d.is_video = #{rtuInfoDTO.isVideo}
+        </if>
+        <if test="rtuInfoDTO.adCode!=null">
+            and (d.ad_code =#{rtuInfoDTO.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors  like concat(concat('%', #{rtuInfoDTO.adCode}), '%')))
+        </if>
+        order by IF(isnull(n.run_status_id),1,0) ,n.run_status_id desc, d.rtu_code asc
+    </select>
+</mapper>

+ 4 - 0
src/main/java/org/springblade/modules/baseinfo/user/service/IOpenUserService.java

@@ -0,0 +1,4 @@
+package org.springblade.modules.baseinfo.user.service;
+
+public interface IOpenUserService {
+}

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/user/service/impl/OpenUserServiceImpl.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/6/14
+ */
+package org.springblade.modules.baseinfo.user.service.impl;
+
+/*** 
+ * Date:2023/6/14
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class OpenUserServiceImpl {
+}

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/warn/controller/WarnSettingController.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/10/11
+ */
+package org.springblade.modules.business.warning.controller;
+
+/*** 
+ * Date:2023/10/11
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class WarnSettingController {
+}

+ 18 - 0
src/main/java/org/springblade/modules/baseinfo/warn/dto/WarnSettingDTO.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/10/11
+ */
+package org.springblade.modules.baseinfo.warn.dto;
+
+/*** 
+ * Date:2023/10/11
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class WarnSettingDTO {
+}

+ 101 - 19
src/main/java/org/springblade/modules/business/warning/entity/RtuWarnSettingEntity.java → src/main/java/org/springblade/modules/baseinfo/warn/entity/WarnSettingEntity.java

@@ -22,8 +22,8 @@ import org.springblade.core.mp.base.BaseEntity;
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-@TableName("rtu_warning_setting")
-public class RtuWarnSettingEntity extends BaseEntity {
+@TableName("base_warn_setting")
+public class WarnSettingEntity extends BaseEntity {
 	private static final long serialVersionUID = 1L;
 	/**
 	 * 租户ID
@@ -31,48 +31,131 @@ public class RtuWarnSettingEntity extends BaseEntity {
 	@ApiModelProperty("租户ID")
 	private String tenantId;
 
+	/**
+	 * 机构ID
+	 */
+	@ApiModelProperty("机构ID")
+	private Long orgId;
+
 	/**
 	 * 预警总开关,0 关闭,1 打开,默认关闭
 	 */
 	@ApiModelProperty("预警总开关")
 	private Integer warnActive;
 
+	/**
+	 * 离线预警开关,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("离线预警开关")
+	private Integer siteOfflineWarnActive;
+
+	/**
+	 * 报文上报延时预警开关,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("报文上报延时预警开关")
+	private Integer upDelayWarnActive;
+
+	/**
+	 * 水位仪表状态 ,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("水位仪表状态")
+	private Integer waterLevelSensorWarnActive;
+
+	/**
+	 * 交流电充电报警,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("交流电充电报警")
+	private Integer acChargeWarnActive;
+
+	/**
+	 * 电池电压报警,, 0 关闭,1 打开
+	 */
+	@ApiModelProperty("电池电压报警")
+	private Integer batteryVoltageWarnActive;
+
 	/**
 	 * 时钟预警开关,0 关闭,1 打开,默认关闭
 	 */
 	@ApiModelProperty("时钟预警开关")
-	private Integer warnClockActive;
+	private Integer rtuClockWarnActive;
 
 	/**
-	 * 5分钟上报延时预警开关,0 关闭,1 打开,默认关闭
+	 * 采集异常值,0 关闭,1 打开,默认关闭
 	 */
-	@ApiModelProperty("5分钟上报延时预警开关")
-	private Integer warnMinUpDelayActive;
+	@ApiModelProperty("采集异常值")
+	private Integer collectValueOutlierActive;
 
 	/**
-	 * 离线预警开关,0 关闭,1 打开,默认关闭
+	 * SD卡损坏故障,0 关闭,1 打开,默认关闭
 	 */
-	@ApiModelProperty("离线预警开关")
-	private Integer warnOfflineActive;
+	@ApiModelProperty("SD卡损坏故障")
+	private Integer sdWarnActive;
+
+	/**
+	 * RTU上报堵塞,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("RTU上报堵塞")
+	private Integer rtuDatagramUpWarnActive;
+
+	/**
+	 * 太阳能充电故障 ,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("太阳能充电故障")
+	private Integer sunPowerChargeWarnActive;
+
+	/**
+	 * 水位超限报警 ,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("水位超限报警")
+	private Integer waterLevelOverWarnActive;
 
 	/**
-	 * 漏报预警开关,0 关闭,1 打开,默认关闭
+	 * 流量超限报警 ,0 关闭,1 打开,默认关闭
 	 */
-	@ApiModelProperty("漏报预警开关")
-	private Integer warnMissOutActive;
+	@ApiModelProperty("流量超限报警")
+	private Integer waterFlowOverWarnActive;
 
 	/**
-	 * 雨量疑似异常值,, 0 关闭,1 打开
+	 * 水质超限报警 ,0 关闭,1 打开,默认关闭
 	 */
-	@ApiModelProperty("雨量疑似异常值预警开关")
-	private Integer warnOutlierValueActive;
+	@ApiModelProperty("水质超限报警")
+	private Integer waterQualityWarnActive;
 
 	/**
-	 * 小时上报延时预警开关,0 关闭,1 打开,默认关闭
+	 * 流量仪表故障 ,0 关闭,1 打开,默认关闭
 	 */
-	@ApiModelProperty("小时上报延时预警开关")
-	private Integer warnHourUpDelayActive;
+	@ApiModelProperty("流量仪表故障")
+	private Integer waterFlowSensorWarnActive;
 
+	/**
+	 * 终端箱门报警 ,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("终端箱门报警")
+	private Integer boxDoorWarnActive;
+
+	/**
+	 * 存储器故障 ,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("存储器故障")
+	private Integer rtuMemoryWarnActive;
+
+	/**
+	 * IC卡故障 ,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("IC卡故障")
+	private Integer rtuIcCardWarnActive;
+
+	/**
+	 * 水泵工作故障 ,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("水泵工作故障")
+	private Integer waterPumpWarnActive;
+
+	/**
+	 * 剩余水量报警 ,0 关闭,1 打开,默认关闭
+	 */
+	@ApiModelProperty("剩余水量报警")
+	private Integer waterRemainOverWarnActive;
 
 	/**
 	 * 时钟预警是否自动产生任务,0,否,1是,默认 0
@@ -80,7 +163,6 @@ public class RtuWarnSettingEntity extends BaseEntity {
 	@ApiModelProperty("时钟预警自动产生任务开关")
 	private Integer warnClockAutoTask;
 
-
 	/**
 	 * 上报延时预警是否自动产生任务,0,否,1是,默认 0
 		*/

+ 2 - 2
src/main/java/org/springblade/modules/business/warning/mapper/RtuWarnSettingMapper.java → src/main/java/org/springblade/modules/baseinfo/warn/mapper/WarnSettingMapper.java

@@ -7,7 +7,7 @@
 package org.springblade.modules.business.warning.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.springblade.modules.business.warning.entity.RtuWarnSettingEntity;
+import org.springblade.modules.baseinfo.warn.entity.WarnSettingEntity;
 
 
 /***
@@ -18,5 +18,5 @@ import org.springblade.modules.business.warning.entity.RtuWarnSettingEntity;
  * @version 1.0
  * Remark:认为有必要的其他信息
  */
-public interface RtuWarnSettingMapper extends BaseMapper<RtuWarnSettingEntity> {
+public interface WarnSettingMapper extends BaseMapper<WarnSettingEntity> {
 }

+ 22 - 8
src/main/java/org/springblade/modules/business/warning/mapper/RtuWarnSettingMapper.xml → src/main/java/org/springblade/modules/baseinfo/warn/mapper/WarnSettingMapper.xml

@@ -1,17 +1,31 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.springblade.modules.business.warning.mapper.RtuWarnSettingMapper">
+<mapper namespace="org.springblade.modules.business.warning.mapper.WarnSettingMapper">
 
     <!-- 通用查询映射结果 -->
     <resultMap id="rtuWarnSettingEntityResultMap"
-               type="org.springblade.modules.business.warning.entity.RtuWarnSettingEntity">
+               type="org.springblade.modules.baseinfo.warn.entity.WarnSettingEntity">
+        <result column="org_id" property="orgId"/>
         <result column="warn_active" property="warnActive"/>
-        <result column="warn_clock_active" property="warnClockActive"/>
-        <result column="warn_min_up_delay_active" property="warnMinUpDelayActive"/>
-        <result column="warn_offline_active" property="warnOfflineActive"/>
-        <result column="warn_miss_out_active" property="warnMissOutActive"/>
-        <result column="warn_outlier_value_active" property="warnOutlierValueActive"/>
-        <result column="warn_hour_up_delay_active" property="warnHourUpDelayActive"/>
+        <result column="site_offline_warn_active" property="siteOfflineWarnActive"/>
+        <result column="up_delay_warn_active" property="upDelayWarnActive"/>
+        <result column="water_level_sensor_warn_active" property="waterLevelSensorWarnActive"/>
+        <result column="ac_charge_warn_active" property="acChargeWarnActive"/>
+        <result column="battery_voltage_warn_active" property="batteryVoltageWarnActive"/>
+        <result column="rtu_clock_warn_active" property="rtuClockWarnActive"/>
+        <result column="collect_value_outlier_active" property="collectValueOutlierActive"/>
+        <result column="sd_warn_active" property="sdWarnActive"/>
+        <result column="rtu_datagram_up_warn_active" property="rtuDatagramUpWarnActive"/>
+        <result column="sun_power_charge_warn_active" property="sunPowerChargeWarnActive"/>
+        <result column="water_level_over_warn_active" property="waterLevelOverWarnActive"/>
+        <result column="water_flow_over_warn_active" property="waterFlowOverWarnActive"/>
+        <result column="water_quality_warn_active" property="waterQualityWarnActive"/>
+        <result column="water_flow_sensor_warn_active" property="waterFlowSensorWarnActive"/>
+        <result column="box_door_warn_active" property="boxDoorWarnActive"/>
+        <result column="rtu_memory_warn_active" property="rtuMemoryWarnActive"/>
+        <result column="rtu_ic_card_warn_active" property="rtuIcCardWarnActive"/>
+        <result column="water_pump_warn_active" property="waterPumpWarnActive"/>
+        <result column="water_remain_over_warn_active" property="waterRemainOverWarnActive"/>
         <result column="warn_clock_auto_task" property="warnClockAutoTask"/>
         <result column="warn_delay_auto_task" property="warnDelayAutoTask"/>
         <result column="warn_offline_auto_task" property="warnOfflineAutoTask"/>

+ 3 - 3
src/main/java/org/springblade/modules/business/warning/service/IRtuWarnSettingService.java → src/main/java/org/springblade/modules/baseinfo/warn/service/IWarnSettingService.java

@@ -4,10 +4,10 @@
  * 项目名称: 大恒泰山系统
  * 创建日期:2023/4/23
  */
-package org.springblade.modules.business.warning.service;
+package org.springblade.modules.baseinfo.warn.service;
 
 import org.springblade.core.mp.base.BaseService;
-import org.springblade.modules.business.warning.entity.RtuWarnSettingEntity;
+import org.springblade.modules.baseinfo.warn.entity.WarnSettingEntity;
 
 
 /***
@@ -18,5 +18,5 @@ import org.springblade.modules.business.warning.entity.RtuWarnSettingEntity;
  * @version 1.0
  * Remark:认为有必要的其他信息
  */
-public interface IRtuWarnSettingService extends BaseService<RtuWarnSettingEntity> {
+public interface IRtuWarnSettingService extends BaseService<WarnSettingEntity> {
 }

+ 5 - 5
src/main/java/org/springblade/modules/business/warning/service/impl/RtuWarnSettingServiceImpl.java → src/main/java/org/springblade/modules/baseinfo/warn/service/impl/WarnSettingServiceImpl.java

@@ -4,13 +4,13 @@
  * 项目名称: 大恒泰山系统
  * 创建日期:2023/4/23
  */
-package org.springblade.modules.business.warning.service.impl;
+package org.springblade.modules.baseinfo.warn.service.impl;
 
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.mp.base.BaseServiceImpl;
-import org.springblade.modules.business.warning.entity.RtuWarnSettingEntity;
-import org.springblade.modules.business.warning.mapper.RtuWarnSettingMapper;
-import org.springblade.modules.business.warning.service.IRtuWarnSettingService;
+import org.springblade.modules.baseinfo.warn.entity.WarnSettingEntity;
+import org.springblade.modules.business.warning.mapper.WarnSettingMapper;
+import org.springblade.modules.baseinfo.warn.service.IRtuWarnSettingService;
 import org.springframework.stereotype.Service;
 
 /***
@@ -23,5 +23,5 @@ import org.springframework.stereotype.Service;
  */
 @Slf4j
 @Service
-public class RtuWarnSettingServiceImpl extends BaseServiceImpl<RtuWarnSettingMapper, RtuWarnSettingEntity> implements IRtuWarnSettingService {
+public class RtuWarnSettingServiceImpl extends BaseServiceImpl<WarnSettingMapper, WarnSettingEntity> implements IRtuWarnSettingService {
 }

+ 49 - 0
src/main/java/org/springblade/modules/business/data/dto/RtuDataGroundStoreDTO.java

@@ -0,0 +1,49 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/30
+ */
+package org.springblade.modules.business.data.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.business.data.entity.RtuDataGroundStoreEntity;
+
+/***
+ * Date:2022/8/30
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RtuDataGroundStoreDTO extends RtuDataGroundStoreEntity {
+	/**
+	 * 测站名称
+	 */
+	@ApiModelProperty("测站名称")
+	private String rtuName;
+	/**
+	 * 机构ID
+	 */
+	@ApiModelProperty("机构ID")
+	private Long orgId;
+
+
+	/**
+	 * 项目ID
+	 */
+	@ApiModelProperty("项目ID")
+	private Long projectId;
+
+	/**
+	 * 行政区划编码
+	 */
+	@ApiModelProperty("行政区划编码")
+	private String adCode;
+
+}

+ 48 - 0
src/main/java/org/springblade/modules/business/data/dto/RtuDataRainStoreDTO.java

@@ -0,0 +1,48 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/30
+ */
+package org.springblade.modules.business.data.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.business.data.entity.RtuDataRainStoreEntity;
+
+/***
+ * Date:2022/8/30
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RtuDataRainStoreDTO extends RtuDataRainStoreEntity {
+	/**
+	 * 测站名称
+	 */
+	@ApiModelProperty("测站名称")
+	private String rtuName;
+	/**
+	 * 机构ID
+	 */
+	@ApiModelProperty("机构ID")
+	private Long orgId;
+
+
+	/**
+	 * 项目ID
+	 */
+	@ApiModelProperty("项目ID")
+	private Long projectId;
+
+	/**
+	 * 行政区划编码
+	 */
+	@ApiModelProperty("行政区划编码")
+	private String adCode;
+}

+ 48 - 0
src/main/java/org/springblade/modules/business/data/dto/RtuDataRiverStoreDTO.java

@@ -0,0 +1,48 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/30
+ */
+package org.springblade.modules.business.data.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.business.data.entity.RtuDataRiverStoreEntity;
+
+/***
+ * Date:2022/8/30
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RtuDataRiverStoreDTO extends RtuDataRiverStoreEntity {
+	/**
+	 * 测站名称
+	 */
+	@ApiModelProperty("测站名称")
+	private String rtuName;
+	/**
+	 * 机构ID
+	 */
+	@ApiModelProperty("机构ID")
+	private Long orgId;
+
+
+	/**
+	 * 项目ID
+	 */
+	@ApiModelProperty("项目ID")
+	private Long projectId;
+
+	/**
+	 * 行政区划编码
+	 */
+	@ApiModelProperty("行政区划编码")
+	private String adCode;
+}

+ 48 - 0
src/main/java/org/springblade/modules/business/data/dto/RtuDataRsvrStoreDTO.java

@@ -0,0 +1,48 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/30
+ */
+package org.springblade.modules.business.data.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.business.data.entity.RtuDataRsvrStoreEntity;
+
+/***
+ * Date:2022/8/30
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RtuDataRsvrStoreDTO extends RtuDataRsvrStoreEntity {
+	/**
+	 * 测站名称
+	 */
+	@ApiModelProperty("测站名称")
+	private String rtuName;
+	/**
+	 * 机构ID
+	 */
+	@ApiModelProperty("机构ID")
+	private Long orgId;
+
+
+	/**
+	 * 项目ID
+	 */
+	@ApiModelProperty("项目ID")
+	private Long projectId;
+
+	/**
+	 * 行政区划编码
+	 */
+	@ApiModelProperty("行政区划编码")
+	private String adCode;
+}

+ 155 - 0
src/main/java/org/springblade/modules/business/data/entity/RtuDataGroundStoreEntity.java

@@ -0,0 +1,155 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("data_att_st_somo")
+public class RtuDataGroundStoreEntity extends BaseEntity {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 租户ID
+	 */
+	@ApiModelProperty("租户ID")
+	private String tenantId;
+
+	/**
+	 * 测站编码
+	 */
+	@ApiModelProperty("测站编码")
+	private String rtuCode;
+
+	/**
+	 * 时间
+	 */
+	@ApiModelProperty("时间")
+	@DateTimeFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss",
+		timezone = "GMT+8"
+	)
+	private Date tm;
+
+	/**
+	 * 垂线平均含水量
+	 */
+	@ApiModelProperty("垂线平均含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double vtavslm;
+
+	/**
+	 * 表层含水量
+	 */
+	@ApiModelProperty("表层含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double srlslm;
+
+	/**
+	 * 10CM深度含水量
+	 */
+	@ApiModelProperty("10CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double slm10;
+
+	/**
+	 * 20CM深度含水量
+	 */
+	@ApiModelProperty("20CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double slm20;
+
+	/**
+	 * 30CM深度含水量
+	 */
+	@ApiModelProperty("30CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double slm30;
+
+	/**
+	 * 40CM深度含水量
+	 */
+	@ApiModelProperty("40CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double slm40;
+
+	/**
+	 * 50CM深度含水量
+	 */
+	@ApiModelProperty("50CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double slm50;
+
+	/**
+	 * 60CM深度含水量
+	 */
+	@ApiModelProperty("60CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double slm60;
+
+	/**
+	 * 80CM深度含水量
+	 */
+	@ApiModelProperty("80CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double slm80;
+
+	/**
+	 * 100CM深度含水量
+	 */
+	@ApiModelProperty("100CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double slm100;
+
+	/**
+	 * 上报时间
+	 */
+	@ApiModelProperty("上报时间")
+	@DateTimeFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss",
+			timezone = "GMT+8"
+	)
+	private Date upTime;
+
+	/**
+	 * 东华数据库入库时间
+	 */
+	@ApiModelProperty("入库时间")
+	@DateTimeFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss",
+		timezone = "GMT+8"
+	)
+	private Date fromTime;
+}

+ 127 - 0
src/main/java/org/springblade/modules/business/data/entity/RtuDataRainStoreEntity.java

@@ -0,0 +1,127 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("data_att_st_prec")
+public class RtuDataRainStoreEntity extends BaseEntity {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 租户ID
+	 */
+	@ApiModelProperty("租户ID")
+	private String tenantId;
+
+	/**
+	 * 测站编码
+	 */
+	@ApiModelProperty("测站编码")
+	private String rtuCode;
+
+	/**
+	 * 采集时间
+	 */
+	@ApiModelProperty("采集时间")
+	@DateTimeFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss",
+		timezone = "GMT+8"
+	)
+	private Date tm;
+
+	/**
+	 * 降水量
+	 */
+	@ApiModelProperty("降水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double drp;
+
+	/**
+	 * 时段长
+	 */
+	@ApiModelProperty("时段长")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double intv;
+
+	/**
+	 * 降水历时,格式 HH.NN
+	 */
+	@ApiModelProperty("降水历时")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double pdr;
+
+	/**
+	 * 日降水量,前一天8时到当前8时,24小时降水量
+	 */
+	@ApiModelProperty("日降水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double dyp;
+
+	/**
+	 * 天气状况
+	 */
+	@ApiModelProperty("天气状况")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private String wth;
+
+	/**
+	 * 累计降水量
+	 */
+	@ApiModelProperty("累计降水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double pt;
+
+	/**
+	 * 上报时间
+	 */
+	@ApiModelProperty("上报时间")
+	@DateTimeFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss",
+			timezone = "GMT+8"
+	)
+	private Date upTime;
+
+	/**
+	 * 入库时间
+	 */
+	@ApiModelProperty("入库时间")
+	@DateTimeFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss",
+		timezone = "GMT+8"
+	)
+	private Date fromTime;
+}

+ 92 - 0
src/main/java/org/springblade/modules/business/data/entity/RtuDataRiverStoreEntity.java

@@ -0,0 +1,92 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("data_att_st_waco_ware")
+public class RtuDataRiverStoreEntity extends BaseEntity {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 租户ID
+	 */
+	@ApiModelProperty("租户ID")
+	private String tenantId;
+
+	/**
+	 * 测站编码
+	 */
+	@ApiModelProperty("测站编码")
+	private String rtuCode;
+
+	/**
+	 * 采集时间
+	 */
+	@ApiModelProperty("采集时间")
+	@DateTimeFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss",
+		timezone = "GMT+8"
+	)
+	private Date tm;
+
+	/**
+	 * 河道水位
+	 */
+	@ApiModelProperty("河道水位")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double z;
+
+	/**
+	 * 上报时间
+	 */
+	@ApiModelProperty("上报时间")
+	@DateTimeFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss",
+			timezone = "GMT+8"
+	)
+	private Date upTime;
+
+	/**
+	 * 数据库入库时间
+	 */
+	@ApiModelProperty("入库时间")
+	@DateTimeFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss",
+		timezone = "GMT+8"
+	)
+	private Date fromTime;
+}

+ 93 - 0
src/main/java/org/springblade/modules/business/data/entity/RtuDataRsvrStoreEntity.java

@@ -0,0 +1,93 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("data_att_st_res_ware")
+public class RtuDataRsvrStoreEntity extends BaseEntity {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 租户ID
+	 */
+	@ApiModelProperty("租户ID")
+	private String tenantId;
+
+	/**
+	 * 测站编码
+	 */
+	@ApiModelProperty("测站编码")
+	private String rtuCode;
+
+	/**
+	 * 采集时间
+	 */
+	@ApiModelProperty("采集时间")
+	@DateTimeFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss",
+		timezone = "GMT+8"
+	)
+	private Date tm;
+
+	/**
+	 * 库上水位
+	 */
+	@ApiModelProperty("库上水位")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double rz;
+
+	/**
+	 * 上报时间
+	 */
+	@ApiModelProperty("上报时间")
+	@DateTimeFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss",
+			timezone = "GMT+8"
+	)
+	private Date upTime;
+
+
+	/**
+	 * 数据库入库时间
+	 */
+	@ApiModelProperty("入库时间")
+	@DateTimeFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss",
+		timezone = "GMT+8"
+	)
+	private Date fromTime;
+}

+ 34 - 0
src/main/java/org/springblade/modules/business/data/mapper/RtuDataGroundHistoreMapper.java

@@ -0,0 +1,34 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.business.data.dto.RtuDataGroundStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataGroundStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataGroundStoreVO;
+
+import java.util.List;
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface RtuDataGroundHistoreMapper extends BaseMapper<RtuDataGroundStoreEntity> {
+	/**
+	 * 自定义分页
+	 *
+	 * @param page 分页
+	 * @return List<RtuInfoVO>
+	 */
+	List<RtuDataGroundStoreVO> selectPage(IPage page, @Param("groundDTO") RtuDataGroundStoreDTO groundDTO);
+}

+ 67 - 0
src/main/java/org/springblade/modules/business/data/mapper/RtuDataGroundHistoreMapper.xml

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.business.data.mapper.RtuDataGroundHistoreMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="rtuGroundDataResultMap" type="org.springblade.modules.business.data.entity.RtuDataGroundStoreEntity">
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="tm" property="tm"/>
+        <result column="vtavslm" property="vtavslm"/>
+        <result column="srlslm" property="srlslm"/>
+        <result column="slm10" property="slm10"/>
+        <result column="slm20" property="slm20"/>
+        <result column="slm30" property="slm30"/>
+        <result column="slm40" property="slm40"/>
+        <result column="slm50" property="slm50"/>
+        <result column="slm40" property="slm40"/>
+        <result column="slm60" property="slm60"/>
+        <result column="slm80" property="slm80"/>
+        <result column="slm100" property="slm100"/>
+        <result column="up_time" property="upTime"/>
+        <result column="from_time" property="fromTime"/>
+    </resultMap>
+
+
+    <resultMap id="rtuGroundDataVOResultMap" type="org.springblade.modules.business.data.vo.RtuDataGroundStoreVO">
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="tm" property="tm"/>
+        <result column="vtavslm" property="vtavslm"/>
+        <result column="srlslm" property="srlslm"/>
+        <result column="rtu_name" property="rtuName"/>
+        <result column="slm10" property="slm10"/>
+        <result column="slm20" property="slm20"/>
+        <result column="slm30" property="slm30"/>
+        <result column="slm40" property="slm40"/>
+        <result column="slm50" property="slm50"/>
+        <result column="slm60" property="slm60"/>
+        <result column="slm80" property="slm80"/>
+        <result column="slm100" property="slm100"/>
+        <result column="ad_city" property="adCity"/>
+        <result column="ad_dist" property="adDist"/>
+        <result column="up_time" property="upTime"/>
+        <result column="from_time" property="fromTime"/>
+    </resultMap>
+
+
+    <select id="selectPage" resultMap="rtuGroundDataVOResultMap">
+        SELECT
+        n.*,
+        r.rtu_name,r.ad_city,r.ad_dist
+        FROM
+        data_att_st_somo_cache n
+        LEFT JOIN  rtu_info r ON n.rtu_code = r.rtu_code and r.is_deleted=0
+        LEFT JOIN  data_ad_cd_b a ON a.adcd = r.ad_code and a.is_deleted=0
+        WHERE
+        n.is_deleted = 0
+        <if test="groundDTO.rtuName!=null">
+            and r.rtu_name LIKE concat(concat('%', #{groundDTO.rtuName}), '%')
+        </if>
+        <if test="groundDTO.rtuCode!=null">
+            and n.rtu_code like concat(concat('%', #{groundDTO.rtuCode}), '%')
+        </if>
+        <if test="groundDTO.adCode!=null">
+            and (a.adcd =#{groundDTO.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors  like concat(concat('%', #{groundDTO.adCode}), '%')))
+        </if>
+
+    </select>
+</mapper>

+ 34 - 0
src/main/java/org/springblade/modules/business/data/mapper/RtuDataRainHistoreMapper.java

@@ -0,0 +1,34 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.business.data.dto.RtuDataRainStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataRainStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataRainStoreVO;
+
+import java.util.List;
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface RtuDataRainHistoreMapper extends BaseMapper<RtuDataRainStoreEntity> {
+	/**
+	 * 自定义分页
+	 *
+	 * @param page 分页
+	 * @return List<RtuInfoVO>
+	 */
+	List<RtuDataRainStoreVO> selectPage(IPage page, @Param("rtuDataRainDTO") RtuDataRainStoreDTO rtuDataRainDTO);
+}

+ 50 - 0
src/main/java/org/springblade/modules/business/data/mapper/RtuDataRainHistoreMapper.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.business.data.mapper.RtuDataRainHistoreMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="rtuRainDataResultMap" type="org.springblade.modules.business.data.entity.RtuDataRainStoreEntity">
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="tm" property="tm"/>
+        <result column="drp" property="drp"/>
+        <result column="intv" property="intv"/>
+        <result column="up_time" property="upTime"/>
+        <result column="from_time" property="fromTime"/>
+    </resultMap>
+
+
+    <resultMap id="rtuRainDataVOResultMap" type="org.springblade.modules.business.data.vo.RtuDataRainStoreVO">
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="tm" property="tm"/>
+        <result column="drp" property="drp"/>
+        <result column="intv" property="intv"/>
+        <result column="rtu_name" property="rtuName"/>
+        <result column="ad_city" property="adCity"/>
+        <result column="ad_dist" property="adDist"/>
+        <result column="up_time" property="upTime"/>
+        <result column="from_time" property="fromTime"/>
+    </resultMap>
+
+
+    <select id="selectPage" resultMap="rtuRainDataVOResultMap">
+        SELECT
+        n.*,
+        r.rtu_name,r.ad_city,r.ad_dist
+        FROM
+        data_att_st_prec_cache n
+        LEFT JOIN  rtu_info r ON n.rtu_code = r.rtu_code and r.is_deleted=0
+        LEFT JOIN  data_ad_cd_b a ON a.adcd = r.ad_code and a.is_deleted=0
+        WHERE
+        n.is_deleted = 0
+        <if test="rtuDataRainDTO.rtuName!=null ">
+            and r.rtu_name LIKE concat(concat('%', #{rtuDataRainDTO.rtuName}), '%')
+        </if>
+        <if test="rtuDataRainDTO.rtuCode!=null">
+            and n.rtu_code like concat(concat('%', #{rtuDataRainDTO.rtuCode}), '%')
+        </if>
+        <if test="rtuDataRainDTO.adCode!=null">
+            and (a.adcd =#{rtuDataRainDTO.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors  like concat(concat('%', #{rtuDataRainDTO.adCode}), '%')))
+        </if>
+
+    </select>
+</mapper>

+ 37 - 0
src/main/java/org/springblade/modules/business/data/mapper/RtuDataRiverHistoreMapper.java

@@ -0,0 +1,37 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.business.data.dto.RtuDataRiverStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataRiverStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataRiverStoreVO;
+
+import java.util.List;
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface RtuDataRiverHistoreMapper extends BaseMapper<RtuDataRiverStoreEntity> {
+	/**
+	 * 自定义分页
+	 *
+	 * @param page 分页
+	 * @return List<RtuInfoVO>
+	 */
+	List<RtuDataRiverStoreVO> selectPage(IPage page, @Param("riverDTO") RtuDataRiverStoreDTO riverDTO);
+
+	List<RtuDataRiverStoreVO> selectWaterPage(IPage page, @Param("riverDTO") RtuDataRiverStoreDTO riverDTO);
+
+}

+ 75 - 0
src/main/java/org/springblade/modules/business/data/mapper/RtuDataRiverHistoreMapper.xml

@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.business.data.mapper.RtuDataRiverHistoreMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="rtuRiverDataEntityResultMap" type="org.springblade.modules.business.data.entity.RtuDataRiverStoreEntity">
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="tm" property="tm"/>
+        <result column="z" property="z"/>
+        <result column="up_time" property="upTime"/>
+        <result column="from_time" property="fromTime"/>
+    </resultMap>
+
+
+    <resultMap id="rtuRiverDataVOResultMap" type="org.springblade.modules.business.data.vo.RtuDataRiverStoreVO">
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="tm" property="tm"/>
+        <result column="z" property="z"/>
+        <result column="ad_city" property="adCity"/>
+        <result column="ad_dist" property="adDist"/>
+        <result column="up_time" property="upTime"/>
+        <result column="from_time" property="fromTime"/>
+    </resultMap>
+
+    <resultMap id="rtuWaterDataVOResultMap" type="org.springblade.modules.business.data.vo.RtuDataRiverStoreVO">
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="tm" property="tm"/>
+        <result column="z" property="z"/>
+        <result column="rz" property="rz"/>
+        <result column="ad_city" property="adCity"/>
+        <result column="ad_dist" property="adDist"/>
+        <result column="up_time" property="upTime"/>
+        <result column="from_time" property="fromTime"/>
+    </resultMap>
+
+    <select id="selectPage" resultMap="rtuRiverDataVOResultMap">
+        SELECT
+        n.*,
+        r.rtu_name,r.ad_city,r.ad_dist
+        FROM
+        data_att_st_waco_ware_cache n
+        LEFT JOIN  rtu_info r ON n.rtu_code = r.rtu_code and r.is_deleted=0
+        LEFT JOIN  data_ad_cd_b a ON a.adcd = r.ad_code and a.is_deleted=0
+        WHERE
+        n.is_deleted = 0
+        <if test="riverDTO.rtuName!=null ">
+            and r.rtu_name LIKE concat(concat('%', #{riverDTO.rtuName}), '%')
+        </if>
+        <if test="riverDTO.rtuCode!=null">
+            and n.rtu_code like concat(concat('%', #{riverDTO.rtuCode}), '%')
+        </if>
+        <if test="riverDTO.adCode!=null">
+            and (a.adcd =#{riverDTO.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors  like concat(concat('%', #{riverDTO.adCode}), '%')))
+        </if>
+    </select>
+
+    <select id="selectWaterPage" resultMap="rtuWaterDataVOResultMap">
+        SELECT r.rtu_code,r.rtu_name,res.rz,w.z,res.tm rsvrTm,w.tm,r.ad_city,r.ad_dist
+        FROM rtu_info  r
+        LEFT JOIN data_att_st_res_ware_cache res  on res.rtu_code = r.rtu_code and res.is_deleted=0
+        LEFT JOIN data_att_st_waco_ware_cache w on w.rtu_code = r.rtu_code and w.is_deleted=0
+        LEFT JOIN data_ad_cd_b a ON a.adcd = r.ad_code and a.is_deleted=0
+        WHERE r.is_deleted=0 and  (r.is_res=1 or r.is_river=1)
+        <if test="riverDTO.rtuName!=null ">
+            and r.rtu_name LIKE concat(concat('%', #{riverDTO.rtuName}), '%')
+        </if>
+        <if test="riverDTO.rtuCode!=null">
+            and r.rtu_code like concat(concat('%', #{riverDTO.rtuCode}), '%')
+        </if>
+        <if test="riverDTO.adCode!=null">
+            and (r.ad_code =#{riverDTO.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors  like concat(concat('%', #{riverDTO.adCode}), '%')))
+        </if>
+        order by res.tm desc,w.tm desc,r.ad_code,r.rtu_code
+    </select>
+</mapper>

+ 35 - 0
src/main/java/org/springblade/modules/business/data/mapper/RtuDataRsvrHistoreMapper.java

@@ -0,0 +1,35 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.business.data.dto.RtuDataRsvrStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataRsvrStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataRsvrStoreVO;
+
+import java.util.List;
+
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface RtuDataRsvrHistoreMapper extends BaseMapper<RtuDataRsvrStoreEntity> {
+	/**
+	 * 自定义分页
+	 *
+	 * @param page 分页
+	 * @return List<RtuInfoVO>
+	 */
+	List<RtuDataRsvrStoreVO> selectPage(IPage page, @Param("rsvrDTO") RtuDataRsvrStoreDTO rsvrDTO);
+}

+ 46 - 0
src/main/java/org/springblade/modules/business/data/mapper/RtuDataRsvrHistoreMapper.xml

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.business.data.mapper.RtuDataRsvrHistoreMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="rtuRsvrDataEntityResultMap" type="org.springblade.modules.business.data.entity.RtuDataRsvrStoreEntity">
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="tm" property="tm"/>
+        <result column="rz" property="rz"/>
+        <result column="up_time" property="upTime"/>
+        <result column="from_time" property="fromTime"/>
+    </resultMap>
+
+    <resultMap id="rtuRsvrDataVOResultMap" type="org.springblade.modules.business.data.vo.RtuDataRsvrStoreVO">
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="tm" property="tm"/>
+        <result column="rz" property="rz"/>
+        <result column="rtu_name" property="rtuName"/>
+        <result column="ad_city" property="adCity"/>
+        <result column="ad_dist" property="adDist"/>
+        <result column="up_time" property="upTime"/>
+        <result column="from_time" property="fromTime"/>
+    </resultMap>
+
+
+    <select id="selectPage" resultMap="rtuRsvrDataVOResultMap">
+        SELECT
+        n.*,
+        r.rtu_name,r.ad_city,r.ad_dist
+        FROM
+        data_att_st_res_ware_cache n
+        LEFT JOIN  rtu_info r ON n.rtu_code = r.rtu_code and r.is_deleted=0
+        LEFT JOIN  data_ad_cd_b a ON a.adcd = r.ad_code and a.is_deleted=0
+        WHERE
+        n.is_deleted = 0
+        <if test="rsvrDTO.rtuName!=null ">
+            and r.rtu_name LIKE concat(concat('%', #{rsvrDTO.rtuName}), '%')
+        </if>
+        <if test="rsvrDTO.rtuCode!=null">
+            and n.rtu_code like concat(concat('%', #{rsvrDTO.rtuCode}), '%')
+        </if>
+        <if test="rsvrDTO.adCode!=null">
+            and (a.adcd =#{rsvrDTO.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors  like concat(concat('%', #{rsvrDTO.adCode}), '%')))
+        </if>
+    </select>
+</mapper>

+ 33 - 0
src/main/java/org/springblade/modules/business/data/service/IRtuDataGroundHistoreService.java

@@ -0,0 +1,33 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.service;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.business.data.dto.RtuDataGroundStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataGroundStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataGroundStoreVO;
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface IRtuDataGroundHistoreService extends BaseService<RtuDataGroundStoreEntity> {
+	/**
+	 * 自定义分页
+	 * @param page
+	 * @return
+	 */
+	IPage<RtuDataGroundStoreVO> selectPage(IPage<RtuDataGroundStoreVO> page, RtuDataGroundStoreDTO rtuDataGroundDTO);
+
+
+}

+ 33 - 0
src/main/java/org/springblade/modules/business/data/service/IRtuDataRainHistoreService.java

@@ -0,0 +1,33 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.service;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.business.data.dto.RtuDataRainStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataRainStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataRainStoreVO;
+
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface IRtuDataRainHistoreService extends BaseService<RtuDataRainStoreEntity> {
+	/**
+	 * 自定义分页
+	 * @param page
+	 * @return
+	 */
+	IPage<RtuDataRainStoreVO> selectPage(IPage<RtuDataRainStoreVO> page, RtuDataRainStoreDTO rtuDataRainDTO);
+
+}

+ 33 - 0
src/main/java/org/springblade/modules/business/data/service/IRtuDataRiverHistoreService.java

@@ -0,0 +1,33 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.service;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;;
+import org.springblade.modules.business.data.dto.RtuDataRiverStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataRiverStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataRiverStoreVO;
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface IRtuDataRiverHistoreService extends BaseService<RtuDataRiverStoreEntity> {
+	/**
+	 * 自定义分页
+	 * @param page
+	 * @return
+	 */
+	IPage<RtuDataRiverStoreVO> selectPage(IPage<RtuDataRiverStoreVO> page, RtuDataRiverStoreDTO rtuDataRiverDTO);
+
+
+}

+ 33 - 0
src/main/java/org/springblade/modules/business/data/service/IRtuDataRsvrHistoreService.java

@@ -0,0 +1,33 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.service;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.business.data.dto.RtuDataRsvrStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataRsvrStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataRsvrStoreVO;
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface IRtuDataRsvrHistoreService extends BaseService<RtuDataRsvrStoreEntity> {
+	/**
+	 * 自定义分页
+	 * @param page
+	 * @return
+	 */
+	IPage<RtuDataRsvrStoreVO> selectPage(IPage<RtuDataRsvrStoreVO> page, RtuDataRsvrStoreDTO rtuDataRsvrDTO);
+
+
+}

+ 33 - 0
src/main/java/org/springblade/modules/business/data/service/impl/RtuDataGroundHistoreServiceImpl.java

@@ -0,0 +1,33 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.business.data.dto.RtuDataGroundStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataGroundStoreEntity;
+import org.springblade.modules.business.data.mapper.RtuDataGroundHistoreMapper;
+import org.springblade.modules.business.data.service.IRtuDataGroundHistoreService;
+import org.springblade.modules.business.data.vo.RtuDataGroundStoreVO;
+import org.springframework.stereotype.Service;
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class RtuDataGroundHistoreServiceImpl extends BaseServiceImpl<RtuDataGroundHistoreMapper, RtuDataGroundStoreEntity> implements IRtuDataGroundHistoreService {
+	@Override
+	public IPage<RtuDataGroundStoreVO> selectPage(IPage<RtuDataGroundStoreVO> page, RtuDataGroundStoreDTO rtuDataGroundDTO) {
+		return page.setRecords(baseMapper.selectPage(page, rtuDataGroundDTO));
+	}
+
+}

+ 36 - 0
src/main/java/org/springblade/modules/business/data/service/impl/RtuDataRainHistoreServiceImpl.java

@@ -0,0 +1,36 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.service.impl;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.business.data.dto.RtuDataRainStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataRainStoreEntity;
+import org.springblade.modules.business.data.mapper.RtuDataRainHistoreMapper;
+import org.springblade.modules.business.data.service.IRtuDataRainHistoreService;
+import org.springblade.modules.business.data.vo.RtuDataRainStoreVO;
+import org.springframework.stereotype.Service;
+
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class RtuDataRainHistoreServiceImpl extends BaseServiceImpl<RtuDataRainHistoreMapper, RtuDataRainStoreEntity> implements IRtuDataRainHistoreService {
+
+	@Override
+	public IPage<RtuDataRainStoreVO> selectPage(IPage<RtuDataRainStoreVO> page, RtuDataRainStoreDTO rtuDataRainDTO) {
+		return page.setRecords(baseMapper.selectPage(page, rtuDataRainDTO));
+	}
+
+}

+ 35 - 0
src/main/java/org/springblade/modules/business/data/service/impl/RtuDataRiverHistoreServiceImpl.java

@@ -0,0 +1,35 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.service.impl;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.business.data.dto.RtuDataRiverStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataRiverStoreEntity;
+import org.springblade.modules.business.data.mapper.RtuDataRiverHistoreMapper;
+import org.springblade.modules.business.data.service.IRtuDataRiverHistoreService;
+import org.springblade.modules.business.data.vo.RtuDataRiverStoreVO;
+import org.springframework.stereotype.Service;
+
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class RtuDataRiverHistoreServiceImpl extends BaseServiceImpl<RtuDataRiverHistoreMapper, RtuDataRiverStoreEntity> implements IRtuDataRiverHistoreService {
+    @Override
+    public IPage<RtuDataRiverStoreVO> selectPage(IPage<RtuDataRiverStoreVO> page, RtuDataRiverStoreDTO rtuDataRiverDTO) {
+        return page.setRecords(baseMapper.selectPage(page, rtuDataRiverDTO));
+    }
+
+}

+ 35 - 0
src/main/java/org/springblade/modules/business/data/service/impl/RtuDataRsvrHistoreServiceImpl.java

@@ -0,0 +1,35 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.service.impl;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.business.data.dto.RtuDataRsvrStoreDTO;
+import org.springblade.modules.business.data.entity.RtuDataRsvrStoreEntity;
+import org.springblade.modules.business.data.mapper.RtuDataRsvrHistoreMapper;
+import org.springblade.modules.business.data.service.IRtuDataRsvrHistoreService;
+import org.springblade.modules.business.data.vo.RtuDataRsvrStoreVO;
+import org.springframework.stereotype.Service;
+
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class RtuDataRsvrHistoreServiceImpl extends BaseServiceImpl<RtuDataRsvrHistoreMapper, RtuDataRsvrStoreEntity> implements IRtuDataRsvrHistoreService {
+	@Override
+	public IPage<RtuDataRsvrStoreVO> selectPage(IPage<RtuDataRsvrStoreVO> page, RtuDataRsvrStoreDTO rtuDataRsvrDTO) {
+		return page.setRecords(baseMapper.selectPage(page, rtuDataRsvrDTO));
+	}
+
+}

+ 51 - 0
src/main/java/org/springblade/modules/business/data/vo/RtuDataGroundStoreVO.java

@@ -0,0 +1,51 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.business.data.entity.RtuDataGroundEntity;
+import org.springblade.modules.business.data.entity.RtuDataGroundStoreEntity;
+
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RtuDataGroundStoreVO extends RtuDataGroundStoreEntity {
+
+	/**
+	 * 测站名称
+	 */
+	@ApiModelProperty("测站名称")
+	private String rtuName;
+
+	/**
+	 * 所属盟市
+	 */
+	@ApiModelProperty(value = "所属盟市")
+	private String adCity;
+
+	/**
+	 * 所属盟县旗区
+	 */
+	@ApiModelProperty(value = "所属盟县旗区")
+	private String adDist;
+
+	/**
+	 * 行政区
+	 */
+	@ApiModelProperty(value = "行政区")
+	private String areaName;
+}

+ 58 - 0
src/main/java/org/springblade/modules/business/data/vo/RtuDataRainStoreVO.java

@@ -0,0 +1,58 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.business.data.entity.RtuDataRainEntity;
+import org.springblade.modules.business.data.entity.RtuDataRainStoreEntity;
+
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RtuDataRainStoreVO extends RtuDataRainStoreEntity {
+
+	/**
+	 * 测站名称
+	 */
+	@ApiModelProperty("测站名称")
+	private String rtuName;
+
+	/**
+	 * 测站类型概要
+	 */
+	@ApiModelProperty(value = "测站类型概要")
+	private String rtuKindDesc;
+
+	/**
+	 * 所属盟市
+	 */
+	@ApiModelProperty(value = "所属盟市")
+	private String adCity;
+
+	/**
+	 * 所属盟县旗区
+	 */
+	@ApiModelProperty(value = "所属盟县旗区")
+	private String adDist;
+
+	/**
+	 * 行政区
+	 */
+	@ApiModelProperty(value = "行政区")
+	private String areaName;
+
+}

+ 96 - 0
src/main/java/org/springblade/modules/business/data/vo/RtuDataRiverStoreVO.java

@@ -0,0 +1,96 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.business.data.entity.RtuDataRiverEntity;
+import org.springblade.modules.business.data.entity.RtuDataRiverStoreEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RtuDataRiverStoreVO extends RtuDataRiverStoreEntity {
+	/**
+	 * 测站名称
+	 */
+	@ApiModelProperty("测站名称")
+	private String rtuName;
+
+	/**
+	 * 所属盟市
+	 */
+	@ApiModelProperty(value = "所属盟市")
+	private String adCity;
+
+	/**
+	 * 所属盟县旗区
+	 */
+	@ApiModelProperty(value = "所属盟县旗区")
+	private String adDist;
+
+	/**
+	 * 行政区
+	 */
+	@ApiModelProperty(value = "行政区")
+	private String areaName;
+
+
+	/**
+	 * 库上水位
+	 */
+	@ApiModelProperty("库上水位")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double rz;
+
+
+	/**
+	 * 水库水位时间
+	 */
+	@ApiModelProperty("时间")
+	@DateTimeFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss",
+		timezone = "GMT+8"
+	)
+	private Date rsvrTm;
+
+
+	@ApiModelProperty("水位")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Double wl;
+
+	/**
+	 * 水库水位时间
+	 */
+	@ApiModelProperty("时间")
+	@DateTimeFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss",
+		timezone = "GMT+8"
+	)
+	private Date wlTm;
+}

+ 50 - 0
src/main/java/org/springblade/modules/business/data/vo/RtuDataRsvrStoreVO.java

@@ -0,0 +1,50 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/28
+ */
+package org.springblade.modules.business.data.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.business.data.entity.RtuDataRsvrEntity;
+import org.springblade.modules.business.data.entity.RtuDataRsvrStoreEntity;
+
+
+/***
+ * Date:2022/8/28
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RtuDataRsvrStoreVO extends RtuDataRsvrStoreEntity {
+	/**
+	 * 测站名称
+	 */
+	@ApiModelProperty("测站名称")
+	private String rtuName;
+
+	/**
+	 * 所属盟市
+	 */
+	@ApiModelProperty(value = "所属盟市")
+	private String adCity;
+
+	/**
+	 * 所属盟县旗区
+	 */
+	@ApiModelProperty(value = "所属盟县旗区")
+	private String adDist;
+
+	/**
+	 * 行政区
+	 */
+	@ApiModelProperty(value = "行政区")
+	private String areaName;
+}

+ 35 - 0
src/main/java/org/springblade/modules/business/data/wrapper/RtuDataGroundHistoreWrapper.java

@@ -0,0 +1,35 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.business.data.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.business.data.entity.RtuDataGroundStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataGroundStoreVO;
+
+import java.util.Objects;
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class RtuDataGroundHistoreWrapper extends BaseEntityWrapper<RtuDataGroundStoreEntity, RtuDataGroundStoreVO> {
+	public static RtuDataGroundHistoreWrapper build() {
+		return new RtuDataGroundHistoreWrapper();
+	}
+
+	@Override
+	public RtuDataGroundStoreVO entityVO(RtuDataGroundStoreEntity entity) {
+		RtuDataGroundStoreVO rtuDataGroundVO = Objects.requireNonNull(BeanUtil.copy(entity, RtuDataGroundStoreVO.class));
+
+		return rtuDataGroundVO;
+	}
+}

+ 34 - 0
src/main/java/org/springblade/modules/business/data/wrapper/RtuDataRainHistoreWrapper.java

@@ -0,0 +1,34 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.business.data.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.business.data.entity.RtuDataRainStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataRainStoreVO;
+
+import java.util.Objects;
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class RtuDataRainHistoreWrapper extends BaseEntityWrapper<RtuDataRainStoreEntity, RtuDataRainStoreVO> {
+	public static RtuDataRainHistoreWrapper build() {
+		return new RtuDataRainHistoreWrapper();
+	}
+
+	@Override
+	public RtuDataRainStoreVO entityVO(RtuDataRainStoreEntity entity) {
+		RtuDataRainStoreVO rtuDataRainVO = Objects.requireNonNull(BeanUtil.copy(entity, RtuDataRainStoreVO.class));
+		return rtuDataRainVO;
+	}
+}

+ 46 - 0
src/main/java/org/springblade/modules/business/data/wrapper/RtuDataRiverHistoreWrapper.java

@@ -0,0 +1,46 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.business.data.wrapper;
+
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.business.data.entity.RtuDataRiverStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataRiverStoreVO;
+
+import java.util.Objects;
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class RtuDataRiverHistoreWrapper extends BaseEntityWrapper<RtuDataRiverStoreEntity, RtuDataRiverStoreVO> {
+	public static RtuDataRiverHistoreWrapper build() {
+		return new RtuDataRiverHistoreWrapper();
+	}
+
+	@Override
+	public RtuDataRiverStoreVO entityVO(RtuDataRiverStoreEntity entity) {
+		RtuDataRiverStoreVO rtuInfoVO = Objects.requireNonNull(BeanUtil.copy(entity, RtuDataRiverStoreVO.class));
+		return entityVO(rtuInfoVO);
+	}
+
+	public RtuDataRiverStoreVO entityVO(RtuDataRiverStoreVO vo) {
+		if (vo.getTm() != null) {
+			vo.setWl(vo.getZ());
+			vo.setWlTm(vo.getTm());
+		} else if (vo.getRsvrTm() != null) {
+			vo.setWl(vo.getRz());
+			vo.setWlTm(vo.getRsvrTm());
+		}
+		return vo;
+	}
+}

+ 36 - 0
src/main/java/org/springblade/modules/business/data/wrapper/RtuDataRsvrHistoreWrapper.java

@@ -0,0 +1,36 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.business.data.wrapper;
+
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.business.data.entity.RtuDataRsvrStoreEntity;
+import org.springblade.modules.business.data.vo.RtuDataRsvrStoreVO;
+
+import java.util.Objects;
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class RtuDataRsvrHistoreWrapper extends BaseEntityWrapper<RtuDataRsvrStoreEntity, RtuDataRsvrStoreVO> {
+	public static RtuDataRsvrHistoreWrapper build() {
+		return new RtuDataRsvrHistoreWrapper();
+	}
+
+	@Override
+	public RtuDataRsvrStoreVO entityVO(RtuDataRsvrStoreEntity entity) {
+		RtuDataRsvrStoreVO rtuInfoVO = Objects.requireNonNull(BeanUtil.copy(entity, RtuDataRsvrStoreVO.class));
+
+		return rtuInfoVO;
+	}
+}

+ 18 - 0
src/main/java/org/springblade/modules/business/datagram/controller/RtuDatagramController.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/10/12
+ */
+package org.springblade.modules.business.datagram.controller;
+
+/*** 
+ * Date:2023/10/12
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class RtuDatagramController {
+}

+ 104 - 0
src/main/java/org/springblade/modules/business/datagram/dto/RtuDatagramInfoDTO.java

@@ -0,0 +1,104 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/19
+ */
+package org.springblade.modules.business.rtumanage.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.business.rtumanage.entity.RtuStatusEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/***
+ * Date:2022/8/19
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RtuStatusDTO extends RtuStatusEntity {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 入库时间
+	 */
+	@ApiModelProperty(value = "入库时间")
+	@DateTimeFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+		pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
+	)
+	private Date fromDate;
+
+
+	/**
+	 * 是否雨量站
+	 */
+	@ApiModelProperty(value = "是否雨量站")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Integer isRain;
+
+	/**
+	 * 是否河道站
+	 */
+	@ApiModelProperty(value = "是否河道站")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Integer isRiver;
+
+	/**
+	 * 是否水库站
+	 */
+	@ApiModelProperty(value = "是否水库站")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Integer isRes;
+
+	/**
+	 * 是否墒情站
+	 */
+	@ApiModelProperty(value = "是否墒情站")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
+	private Integer isGround;
+
+
+	/**
+	 * 开始时间,包括
+	 */
+	@ApiModelProperty(value = "开始时间")
+	@DateTimeFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
+	)
+	private Date beginDate;
+
+	/**
+	 * 结束时间,不包括
+	 */
+	@ApiModelProperty(value = "结束时间")
+	@DateTimeFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
+	)
+	private Date endDate;
+
+	/**
+	 * 行政区划编码
+	 */
+	@ApiModelProperty(value = "行政区划编码")
+	private String adCode;
+}

+ 71 - 0
src/main/java/org/springblade/modules/business/datagram/entity/RtuDatagramInfoEntity.java

@@ -0,0 +1,71 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/6/16
+ */
+package org.springblade.modules.business.datagram.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/***
+ * Date:2023/6/16
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("data_rtu_datagram_info")
+public class RtuDatagramInfoEntity extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 租户ID
+     */
+    @ApiModelProperty("租户ID")
+    private String tenantId;
+
+    /**
+     * 测站编码
+     */
+    @ApiModelProperty("测站编码")
+    private String rtuCode;
+
+    /**
+     * 原始报文
+     */
+    @ApiModelProperty("原始报文")
+    private String datagram;
+
+    /**
+     * 水文 sw2014
+     * 水资源 szy2012
+     * DTU直传 dtu2021
+     * 内蒙水文扩展 sw2014_nm_ext
+     * 交通jt808
+     */
+    @ApiModelProperty("规约")
+    private String agreement;
+
+    /**
+     * 接收时间
+     */
+    @ApiModelProperty("接收时间")
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
+    )
+    private Date pickTime;
+}

+ 23 - 0
src/main/java/org/springblade/modules/business/datagram/mapper/RtuDatagramMapper.java

@@ -0,0 +1,23 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/24
+ */
+package org.springblade.modules.business.datagram.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.modules.business.datagram.entity.RtuDatagramInfoEntity;
+
+
+/***
+ * Date:2022/8/24
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface RtuDatagramMapper extends BaseMapper<RtuDatagramInfoEntity> {
+
+}

+ 14 - 0
src/main/java/org/springblade/modules/business/datagram/mapper/RtuDatagramMapper.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.business.datagram.mapper.RtuDatagramMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="entityResultMap"
+               type="org.springblade.modules.business.datagram.entity.RtuDatagramInfoEntity">
+        <result column="rtu_code" property="rtuCode"/>
+        <result column="datagram" property="datagram"/>
+        <result column="agreement" property="agreement"/>
+        <result column="pick_time" property="pickTime"/>
+    </resultMap>
+
+</mapper>

+ 22 - 0
src/main/java/org/springblade/modules/business/datagram/service/IRtuDatagramService.java

@@ -0,0 +1,22 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/6/16
+ */
+package org.springblade.modules.business.datagram.service;
+
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.business.datagram.entity.RtuDatagramInfoEntity;
+
+
+/***
+ * Date:2023/6/16
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface IRtuDatagramService extends BaseService<RtuDatagramInfoEntity> {
+}

+ 27 - 0
src/main/java/org/springblade/modules/business/datagram/service/impl/RtuDatagramServiceImpl.java

@@ -0,0 +1,27 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/6/16
+ */
+package org.springblade.modules.business.datagram.service.impl;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.business.datagram.entity.RtuDatagramInfoEntity;
+import org.springblade.modules.business.datagram.mapper.RtuDatagramMapper;
+import org.springblade.modules.business.datagram.service.IRtuDatagramService;
+import org.springframework.stereotype.Service;
+
+/***
+ * Date:2023/6/16
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Slf4j
+@Service
+public class RtuDatagramServiceImpl extends BaseServiceImpl<RtuDatagramMapper, RtuDatagramInfoEntity> implements IRtuDatagramService {
+}

+ 18 - 0
src/main/java/org/springblade/modules/business/datagram/vo/RtuDatagramInfoVO.java

@@ -0,0 +1,18 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/10/12
+ */
+package org.springblade.modules.business.datagram.vo;
+
+/*** 
+ * Date:2023/10/12
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class RtuDatagramInfoVO {
+}

+ 325 - 0
src/main/java/org/springblade/modules/business/datagram/wrapper/RtuDatagramWrapper.java

@@ -0,0 +1,325 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.business.rtumanage.wrapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.springblade.constant.DictBusinessConstant;
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.enums.SensorTypeEnum;
+import org.springblade.enums.WarnKindEnum;
+import org.springblade.modules.business.data.entity.RtuDataGroundEntity;
+import org.springblade.modules.business.data.entity.RtuDataRainEntity;
+import org.springblade.modules.business.data.entity.RtuDataRiverEntity;
+import org.springblade.modules.business.data.entity.RtuDataRsvrEntity;
+import org.springblade.modules.business.data.service.IRtuDataGroundService;
+import org.springblade.modules.business.data.service.IRtuDataRainService;
+import org.springblade.modules.business.data.service.IRtuDataRiverService;
+import org.springblade.modules.business.data.service.IRtuDataRsvrService;
+import org.springblade.modules.business.rtumanage.entity.RtuStatusEntity;
+import org.springblade.modules.business.rtumanage.entity.SensorReplaceInfo;
+import org.springblade.modules.business.rtumanage.vo.RtuStatusVO;
+import org.springblade.modules.business.warning.entity.RtuWarningInfoEntity;
+import org.springblade.modules.business.warning.service.IRtuWarningService;
+import org.springblade.modules.system.entity.DictBiz;
+import org.springblade.modules.system.service.IDictBizService;
+
+
+import java.util.*;
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class RtuManageWrapper extends BaseEntityWrapper<RtuStatusEntity, RtuStatusVO> {
+    public static RtuManageWrapper build() {
+        return new RtuManageWrapper();
+    }
+
+    private static IRtuDataRainService rtuDataRainService;
+
+    private static IRtuDataRainService getRtuDataRainService() {
+        if (rtuDataRainService == null) {
+            rtuDataRainService = SpringUtil.getBean(IRtuDataRainService.class);
+        }
+        return rtuDataRainService;
+    }
+
+    private static IRtuDataRiverService rtuDataRiverService;
+
+    private static IRtuDataRiverService getRtuDataRiverService() {
+        if (rtuDataRiverService == null) {
+            rtuDataRiverService = SpringUtil.getBean(IRtuDataRiverService.class);
+        }
+        return rtuDataRiverService;
+    }
+
+    private static IRtuDataRsvrService rtuDataRsvrService;
+
+    private static IRtuDataRsvrService getRtuDataRsvrService() {
+        if (rtuDataRsvrService == null) {
+            rtuDataRsvrService = SpringUtil.getBean(IRtuDataRsvrService.class);
+        }
+        return rtuDataRsvrService;
+    }
+
+    private static IRtuDataGroundService rtuDataGroundService;
+
+    private static IRtuDataGroundService getRtuDataGroundService() {
+        if (rtuDataGroundService == null) {
+            rtuDataGroundService = SpringUtil.getBean(IRtuDataGroundService.class);
+        }
+        return rtuDataGroundService;
+    }
+
+    private static IRtuWarningService rtuWarningService;
+
+    private static IRtuWarningService getRtuWarningService() {
+        if (rtuWarningService == null) {
+            rtuWarningService = SpringUtil.getBean(IRtuWarningService.class);
+        }
+        return rtuWarningService;
+    }
+
+    private static IDictBizService dictBizService;
+
+    private static IDictBizService getDictBizService() {
+        if (dictBizService == null) {
+            dictBizService = SpringUtil.getBean(IDictBizService.class);
+        }
+        return dictBizService;
+    }
+
+    @Override
+    public RtuStatusVO entityVO(RtuStatusEntity entity) {
+        RtuStatusVO rtuStatusVO = Objects.requireNonNull(BeanUtil.copy(entity, RtuStatusVO.class));
+        return entityVO(rtuStatusVO);
+    }
+
+    public RtuStatusVO entityVO(RtuStatusVO entity) {
+
+        List<SensorReplaceInfo> sensors = new ArrayList<>();
+        if (entity.getRainSensorModel() != null) {
+            SensorReplaceInfo sensorReplaceInfo=new SensorReplaceInfo();
+            sensorReplaceInfo.setName("雨量筒");
+            sensorReplaceInfo.setReplaceDate(new Date());
+            sensorReplaceInfo.setType(SensorTypeEnum.SENSOR_TYPE_RAIN.getCode());
+            sensors.add(sensorReplaceInfo);
+        }
+        if (entity.getWaterSensorType() != null) {
+//            DictBiz dictBiz = getDictBizService().getById(entity.getWaterSensorType());
+//            if (sensor.length() > 0) {
+//                sensor += "/";
+//            }
+//            sensor += dictBiz.getDictValue();
+            SensorReplaceInfo sensorReplaceInfo=new SensorReplaceInfo();
+            sensorReplaceInfo.setName("水位计");
+            sensorReplaceInfo.setReplaceDate(new Date());
+            sensorReplaceInfo.setType(SensorTypeEnum.SENSOR_TYPE_RAIN.getCode());
+            sensors.add(sensorReplaceInfo);
+
+        }
+        if (entity.getGroundSensorType() != null) {
+//            DictBiz dictBiz = getDictBizService().getById(entity.getGroundSensorType());
+//            if (sensor.length() > 0) {
+//                sensor += "/";
+//            }
+//            sensor += dictBiz.getDictValue();
+            SensorReplaceInfo sensorReplaceInfo=new SensorReplaceInfo();
+            sensorReplaceInfo.setName("墒情计");
+            sensorReplaceInfo.setReplaceDate(new Date());
+            sensorReplaceInfo.setType(SensorTypeEnum.SENSOR_TYPE_RAIN.getCode());
+            sensors.add(sensorReplaceInfo);
+
+        }
+        entity.setSensors(sensors);
+
+        String areaName = "";
+        if (entity.getAdCity() != null) {
+            areaName += entity.getAdCity();
+        }
+        if (entity.getAdDist() != null) {
+            if (areaName.length() > 0) {
+                areaName += "/";
+            }
+            areaName += entity.getAdDist();
+        }
+        entity.setAreaName(areaName);
+        String rtuKindDesc = "";
+        if (entity.getIsRain() != null && entity.getIsRain() == 1) {
+            rtuKindDesc = "雨量站";
+        }
+        if (entity.getIsRiver() != null && entity.getIsRiver() == 1) {
+            if (rtuKindDesc.length() > 0) {
+                rtuKindDesc += "/";
+            }
+            rtuKindDesc += "河道水位站";
+        }
+        if (entity.getIsRes() != null && entity.getIsRes() == 1) {
+            if (rtuKindDesc.length() > 0) {
+                rtuKindDesc += "/";
+            }
+            rtuKindDesc += "水库水位站";
+        }
+        if (entity.getIsGround() != null && entity.getIsGround() == 1) {
+            if (rtuKindDesc.length() > 0) {
+                rtuKindDesc += "/";
+            }
+            rtuKindDesc += "墒情站";
+        }
+        if (entity.getIsVideo() != null && entity.getIsVideo() == 1) {
+            if (rtuKindDesc.length() > 0) {
+                rtuKindDesc += "/";
+            }
+            rtuKindDesc += "视频站";
+        }
+        entity.setRtuKindDesc(rtuKindDesc);
+        if (entity.getIsRain() != null && entity.getIsRain() == 1) {
+            LambdaQueryWrapper<RtuDataRainEntity> wrapper = Wrappers.<RtuDataRainEntity>query().lambda();
+            wrapper.eq(RtuDataRainEntity::getIsDeleted, 0L);
+            wrapper.eq(RtuDataRainEntity::getRtuCode, entity.getRtuCode());
+            RtuDataRainEntity rainEntity = getRtuDataRainService().getOne(wrapper);
+            if (null != rainEntity) {
+                if (rainEntity.getDrp() != null) {
+                    entity.setDrp(Func.toStr(rainEntity.getDrp()));
+                } else {
+                    entity.setDrp("");
+                }
+            } else {
+                entity.setDrp("");
+            }
+        }
+        if (entity.getIsRiver() != null && entity.getIsRiver() == 1) {
+            LambdaQueryWrapper<RtuDataRiverEntity> wrapper = Wrappers.<RtuDataRiverEntity>query().lambda();
+            wrapper.eq(RtuDataRiverEntity::getIsDeleted, 0L);
+            wrapper.eq(RtuDataRiverEntity::getRtuCode, entity.getRtuCode());
+            RtuDataRiverEntity riverEntity = getRtuDataRiverService().getOne(wrapper);
+            if (null != riverEntity) {
+                if (riverEntity.getZ() != null) {
+                    entity.setZ(Func.toStr(riverEntity.getZ()));
+                } else {
+                    entity.setZ("");
+                }
+            } else {
+                entity.setZ("");
+            }
+        }
+        if (entity.getIsRes() != null && entity.getIsRes() == 1) {
+            LambdaQueryWrapper<RtuDataRsvrEntity> wrapper = Wrappers.<RtuDataRsvrEntity>query().lambda();
+            wrapper.eq(RtuDataRsvrEntity::getIsDeleted, 0L);
+            wrapper.eq(RtuDataRsvrEntity::getRtuCode, entity.getRtuCode());
+            RtuDataRsvrEntity rsvrEntity = getRtuDataRsvrService().getOne(wrapper);
+            if (null != rsvrEntity) {
+                if (rsvrEntity.getRz() != null) {
+                    entity.setRz(Func.toStr(rsvrEntity.getRz()));
+                } else {
+                    entity.setRz("");
+                }
+            } else {
+                entity.setRz("");
+            }
+        }
+        if (entity.getIsGround() != null && entity.getIsGround() == 1) {
+            LambdaQueryWrapper<RtuDataGroundEntity> wrapper = Wrappers.<RtuDataGroundEntity>query().lambda();
+            wrapper.eq(RtuDataGroundEntity::getIsDeleted, 0L);
+            wrapper.eq(RtuDataGroundEntity::getRtuCode, entity.getRtuCode());
+            RtuDataGroundEntity groundEntity = getRtuDataGroundService().getOne(wrapper);
+            if (null != groundEntity) {
+                String ground = "";
+                if (groundEntity.getSlm10() != null) {
+                    ground += "slm10:" + Func.toStr(groundEntity.getSlm10());
+                } else {
+                    ground += "slm10:";
+                }
+                if (groundEntity.getSlm20() != null) {
+                    ground += ",slm20:" + Func.toStr(groundEntity.getSlm20());
+                } else {
+                    ground += ",slm20:";
+                }
+                if (groundEntity.getSlm30() != null) {
+                    ground += ",slm30:" + Func.toStr(groundEntity.getSlm30());
+                } else {
+                    ground += ",slm30:";
+                }
+                if (groundEntity.getSlm40() != null) {
+                    ground += ",slm40:" + Func.toStr(groundEntity.getSlm40());
+                } else {
+                    ground += ",slm40:";
+                }
+                if (groundEntity.getSlm50() != null) {
+                    ground += ",slm50:" + Func.toStr(groundEntity.getSlm50());
+                } else {
+                    ground += ",slm50:";
+                }
+                if (groundEntity.getSlm60() != null) {
+                    ground += ",slm60:" + Func.toStr(groundEntity.getSlm60());
+                } else {
+                    ground += ",slm60:";
+                }
+                if (groundEntity.getSlm80() != null) {
+                    ground += ",slm80:" + Func.toStr(groundEntity.getSlm80());
+                } else {
+                    ground += ",slm80:";
+                }
+                if (groundEntity.getSlm100() != null) {
+                    ground += ",slm100:" + Func.toStr(groundEntity.getSlm100());
+                } else {
+                    ground += ",slm100:";
+                }
+                entity.setGround(ground);
+            } else {
+                entity.setGround("");
+            }
+        }
+
+        if (entity.getRunStatusId() != null && entity.getRunStatusId() == 1) {
+            LambdaQueryWrapper<RtuWarningInfoEntity> queryWrapper = Wrappers.<RtuWarningInfoEntity>query().lambda();
+            queryWrapper.eq(RtuWarningInfoEntity::getIsDeleted, 0);
+            queryWrapper.eq(RtuWarningInfoEntity::getRtuCode, entity.getRtuCode());
+            queryWrapper.eq(RtuWarningInfoEntity::getWarningStatus, 0);
+            List<RtuWarningInfoEntity> rtuWarningInfoEntityList = getRtuWarningService().list(queryWrapper);
+            if (null != rtuWarningInfoEntityList && rtuWarningInfoEntityList.size() > 0) {
+                String warnKinds = "";
+                for (RtuWarningInfoEntity rtuWarningInfoEntity : rtuWarningInfoEntityList) {
+                    if (warnKinds.length() > 0) {
+                        warnKinds += "/";
+                    }
+//                    if (WarnKindEnum.WARN_CLOCK.getCode() == rtuWarningInfoEntity.getWarningKind()) {
+//                        warnKinds += "测站时钟异常";
+//                    } else if (WarnKindEnum.WARN_UP_MIN_DELAY.getCode() == rtuWarningInfoEntity.getWarningKind()) {
+//                        warnKinds += "5分钟上报延时";
+//                    } else if (WarnKindEnum.WARN_OFFLINE.getCode() == rtuWarningInfoEntity.getWarningKind()) {
+//                        warnKinds += "测站离线";
+//                    } else if (WarnKindEnum.WARN_RAIN_MISS_OUT.getCode() == rtuWarningInfoEntity.getWarningKind()) {
+//                        warnKinds += "雨量站小时报漏报";
+//                    } else if (WarnKindEnum.WARN_WL_MISS_OUT.getCode() == rtuWarningInfoEntity.getWarningKind()) {
+//                        warnKinds += "水位站小时报漏报";
+//                    } else if (WarnKindEnum.WARN_OUTLIER_VALUE.getCode() == rtuWarningInfoEntity.getWarningKind()) {
+//                        warnKinds += "雨量疑似异常值";
+//                    } else if (WarnKindEnum.WARN_RAIN_UP_HOUR_DELAY.getCode() == rtuWarningInfoEntity.getWarningKind()) {
+//                        warnKinds += "雨量站小时上报延时";
+//                    } else if (WarnKindEnum.WARN_WL_UP_HOUR_DELAY.getCode() == rtuWarningInfoEntity.getWarningKind()) {
+//                        warnKinds += "水位站小时上报延时";
+//                    }
+                }
+                entity.setWarnKindInfo(warnKinds);
+            }
+        }
+
+        entity.setIsCheck(0);
+
+
+        return entity;
+    }
+}

+ 24 - 0
src/main/java/org/springblade/modules/business/home/Entity/OrgCountInfoEntity.java

@@ -0,0 +1,24 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/27
+ */
+package org.springblade.modules.business.home.Entity;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/***
+ * Date:2022/8/27
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class HomeInfoEntity extends BaseEntity {
+}

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно