diff --git a/backend/src/main/java/com/yfd/platform/config/SwaggerConfig.java b/backend/src/main/java/com/yfd/platform/config/SwaggerConfig.java
index bdfe72a..9dc0f85 100644
--- a/backend/src/main/java/com/yfd/platform/config/SwaggerConfig.java
+++ b/backend/src/main/java/com/yfd/platform/config/SwaggerConfig.java
@@ -46,4 +46,12 @@ public class SwaggerConfig {
.packagesToScan("com.yfd.platform.system.controller")
.build();
}
+
+ @Bean
+ public GroupedOpenApi groupEnvApi() {
+ return GroupedOpenApi.builder()
+ .group("4. 环境/基地/流域管理")
+ .packagesToScan("com.yfd.platform.env.controller")
+ .build();
+ }
}
diff --git a/backend/src/main/java/com/yfd/platform/data/domain/SysUserDataScope.java b/backend/src/main/java/com/yfd/platform/data/domain/SysUserDataScope.java
index 601c4a5..7715b94 100644
--- a/backend/src/main/java/com/yfd/platform/data/domain/SysUserDataScope.java
+++ b/backend/src/main/java/com/yfd/platform/data/domain/SysUserDataScope.java
@@ -33,12 +33,12 @@ public class SysUserDataScope implements Serializable {
private String userId;
/**
- * 资源类型(BASIN/BASE/STATION)
+ * 资源类型(BASIN / BASE /COMPANY / STATION)
*/
private String orgType;
/**
- * 资源编码(流域编码/基地编码/电站编码)
+ * 资源编码(流域编码/基地编码/公司编码/电站编码)
*/
private String orgId;
@@ -115,4 +115,9 @@ public class SysUserDataScope implements Serializable {
* 备注
*/
private String remark;
+
+ /**
+ * 是否是全选 0:非全选 1:全选
+ */
+ private Integer isAllChildren;
}
diff --git a/backend/src/main/java/com/yfd/platform/env/controller/SdCountryBController.java b/backend/src/main/java/com/yfd/platform/env/controller/SdCountryBController.java
new file mode 100644
index 0000000..aeb16b3
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/env/controller/SdCountryBController.java
@@ -0,0 +1,56 @@
+package com.yfd.platform.env.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.env.domain.SdCountryB;
+import com.yfd.platform.env.service.ISdCountryBService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.*;
+
+import jakarta.annotation.Resource;
+import java.util.List;
+
+/**
+ *
+ * 国家信息表 前端控制器
+ *
+ */
+@RestController
+@RequestMapping("/env/country")
+@Tag(name = "国家管理")
+public class SdCountryBController {
+
+ @Resource
+ private ISdCountryBService countryBService;
+
+ @GetMapping("/queryPageList")
+ @Operation(summary = "分页查询国家列表")
+ public ResponseResult queryPageList(
+ @RequestParam(required = false) String countryName,
+ @RequestParam(required = false) String continentType,
+ @RequestParam(defaultValue = "1") Long pageNum,
+ @RequestParam(defaultValue = "10") Long pageSize) {
+ Page page = new Page<>(pageNum, pageSize);
+ Page result = countryBService.queryPageList(page, countryName, continentType);
+ return ResponseResult.successData(result);
+ }
+
+ @GetMapping("/list")
+ @Operation(summary = "查询所有国家")
+ public ResponseResult list() {
+ return ResponseResult.successData(countryBService.list());
+ }
+
+ @GetMapping("/getEnabledList")
+ @Operation(summary = "获取所有启用的国家")
+ public ResponseResult getEnabledList() {
+ return ResponseResult.successData(countryBService.getEnabledList());
+ }
+
+ @GetMapping("/getById")
+ @Operation(summary = "根据编码查询国家")
+ public ResponseResult getById(@RequestParam String no) {
+ return ResponseResult.successData(countryBService.getById(no));
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/env/controller/SdEngInfoBHController.java b/backend/src/main/java/com/yfd/platform/env/controller/SdEngInfoBHController.java
new file mode 100644
index 0000000..bff8c2c
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/env/controller/SdEngInfoBHController.java
@@ -0,0 +1,95 @@
+package com.yfd.platform.env.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.annotation.Log;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.env.domain.SdEngInfoBH;
+import com.yfd.platform.env.service.ISdEngInfoBHService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.*;
+
+import jakarta.annotation.Resource;
+import java.util.List;
+
+/**
+ *
+ * 水电水利工程基础信息表 前端控制器
+ *
+ */
+@RestController
+@RequestMapping("/env/engInfo")
+@Tag(name = "电站管理")
+public class SdEngInfoBHController {
+
+ @Resource
+ private ISdEngInfoBHService engInfoBHService;
+
+ @GetMapping("/queryPageList")
+ @Operation(summary = "分页查询电站列表")
+ public ResponseResult queryPageList(
+ @RequestParam(required = false) String ennm,
+ @RequestParam(required = false) String rvcd,
+ @RequestParam(required = false) String baseId,
+ @RequestParam(required = false) String hycd,
+ @RequestParam(defaultValue = "1") Long pageNum,
+ @RequestParam(defaultValue = "10") Long pageSize) {
+ Page page = new Page<>(pageNum, pageSize);
+ Page result = engInfoBHService.queryPageList(page, ennm, rvcd, baseId, hycd);
+ return ResponseResult.successData(result);
+ }
+
+ @GetMapping("/list")
+ @Operation(summary = "查询所有电站")
+ public ResponseResult list() {
+ return ResponseResult.successData(engInfoBHService.list());
+ }
+
+ @GetMapping("/getById")
+ @Operation(summary = "根据编码查询电站")
+ public ResponseResult getById(@RequestParam String stcd) {
+ return ResponseResult.successData(engInfoBHService.getById(stcd));
+ }
+
+ @GetMapping("/getByBaseId")
+ @Operation(summary = "根据基地编码查询电站")
+ public ResponseResult getByBaseId(@RequestParam String baseId) {
+ return ResponseResult.successData(engInfoBHService.getByBaseId(baseId));
+ }
+
+ @GetMapping("/getByHycd")
+ @Operation(summary = "根据公司编码查询电站")
+ public ResponseResult getByHycd(@RequestParam String hycd) {
+ return ResponseResult.successData(engInfoBHService.getByHycd(hycd));
+ }
+
+ @GetMapping("/getByRvcd")
+ @Operation(summary = "根据流域编码查询电站")
+ public ResponseResult getByRvcd(@RequestParam String rvcd) {
+ return ResponseResult.successData(engInfoBHService.getByRvcd(rvcd));
+ }
+
+ @Log(module = "电站管理", value = "新增电站")
+ @PostMapping("/add")
+ @Operation(summary = "新增电站")
+ public ResponseResult add(@RequestBody SdEngInfoBH engInfo) {
+ boolean result = engInfoBHService.addEngInfo(engInfo);
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @Log(module = "电站管理", value = "修改电站")
+ @PostMapping("/update")
+ @Operation(summary = "修改电站")
+ public ResponseResult update(@RequestBody SdEngInfoBH engInfo) {
+ boolean result = engInfoBHService.updateEngInfo(engInfo);
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @Log(module = "电站管理", value = "删除电站")
+ @PostMapping("/delete")
+ @Operation(summary = "删除电站")
+ public ResponseResult delete(@RequestParam String stcd) {
+ boolean result = engInfoBHService.deleteEngInfo(stcd);
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/env/controller/SdHycdDicController.java b/backend/src/main/java/com/yfd/platform/env/controller/SdHycdDicController.java
new file mode 100644
index 0000000..568ffde
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/env/controller/SdHycdDicController.java
@@ -0,0 +1,88 @@
+package com.yfd.platform.env.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.annotation.Log;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.env.domain.SdHycdDic;
+import com.yfd.platform.env.service.ISdHycdDicService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.*;
+
+import jakarta.annotation.Resource;
+import java.util.List;
+
+/**
+ *
+ * 公司字典表 前端控制器
+ *
+ */
+@RestController
+@RequestMapping("/env/hycd")
+@Tag(name = "公司管理")
+public class SdHycdDicController {
+
+ @Resource
+ private ISdHycdDicService hycdDicService;
+
+ @GetMapping("/queryPageList")
+ @Operation(summary = "分页查询公司列表")
+ public ResponseResult queryPageList(
+ @RequestParam(required = false) String hynm,
+ @RequestParam(required = false) String phycd,
+ @RequestParam(defaultValue = "1") Long pageNum,
+ @RequestParam(defaultValue = "10") Long pageSize) {
+ Page page = new Page<>(pageNum, pageSize);
+ Page result = hycdDicService.queryPageList(page, hynm, phycd);
+ return ResponseResult.successData(result);
+ }
+
+ @GetMapping("/list")
+ @Operation(summary = "查询所有公司")
+ public ResponseResult list() {
+ return ResponseResult.successData(hycdDicService.list());
+ }
+
+ @GetMapping("/getByPhycd")
+ @Operation(summary = "根据父公司编码查询公司")
+ public ResponseResult getByPhycd(@RequestParam(required = false) String phycd) {
+ List list = hycdDicService.getByPhycd(phycd);
+ return ResponseResult.successData(list);
+ }
+
+ @GetMapping("/getRootList")
+ @Operation(summary = "查询根公司")
+ public ResponseResult getRootList() {
+ return ResponseResult.successData(hycdDicService.getRootList());
+ }
+
+ @GetMapping("/getById")
+ @Operation(summary = "根据编码查询公司")
+ public ResponseResult getById(@RequestParam String hycd) {
+ return ResponseResult.successData(hycdDicService.getById(hycd));
+ }
+
+ @Log(module = "公司管理", value = "新增公司")
+ @PostMapping("/add")
+ @Operation(summary = "新增公司")
+ public ResponseResult add(@RequestBody SdHycdDic hycdDic) {
+ boolean result = hycdDicService.addHycdDic(hycdDic);
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @Log(module = "公司管理", value = "修改公司")
+ @PostMapping("/update")
+ @Operation(summary = "修改公司")
+ public ResponseResult update(@RequestBody SdHycdDic hycdDic) {
+ boolean result = hycdDicService.updateHycdDic(hycdDic);
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @Log(module = "公司管理", value = "删除公司")
+ @PostMapping("/delete")
+ @Operation(summary = "删除公司")
+ public ResponseResult delete(@RequestParam String hycd) {
+ boolean result = hycdDicService.deleteHycdDic(hycd);
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/env/controller/SdHydrobaseController.java b/backend/src/main/java/com/yfd/platform/env/controller/SdHydrobaseController.java
new file mode 100644
index 0000000..581f987
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/env/controller/SdHydrobaseController.java
@@ -0,0 +1,88 @@
+package com.yfd.platform.env.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.annotation.Log;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.env.domain.SdHydrobase;
+import com.yfd.platform.env.service.ISdHydrobaseService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.*;
+
+import jakarta.annotation.Resource;
+import java.util.List;
+
+/**
+ *
+ * 水电基地字典表 前端控制器
+ *
+ */
+@RestController
+@RequestMapping("/env/hydrobase")
+@Tag(name = "基地管理")
+public class SdHydrobaseController {
+
+ @Resource
+ private ISdHydrobaseService hydrobaseService;
+
+ @GetMapping("/queryPageList")
+ @Operation(summary = "分页查询基地列表")
+ public ResponseResult queryPageList(
+ @RequestParam(required = false) String basename,
+ @RequestParam(required = false) String pbaseid,
+ @RequestParam(defaultValue = "1") Long pageNum,
+ @RequestParam(defaultValue = "10") Long pageSize) {
+ Page page = new Page<>(pageNum, pageSize);
+ Page result = hydrobaseService.queryPageList(page, basename, pbaseid);
+ return ResponseResult.successData(result);
+ }
+
+ @GetMapping("/list")
+ @Operation(summary = "查询所有基地")
+ public ResponseResult list() {
+ return ResponseResult.successData(hydrobaseService.list());
+ }
+
+ @GetMapping("/getByPbaseid")
+ @Operation(summary = "根据父基地编码查询基地")
+ public ResponseResult getByPbaseid(@RequestParam(required = false) String pbaseid) {
+ List list = hydrobaseService.getByPbaseid(pbaseid);
+ return ResponseResult.successData(list);
+ }
+
+ @GetMapping("/getRootList")
+ @Operation(summary = "查询根基地")
+ public ResponseResult getRootList() {
+ return ResponseResult.successData(hydrobaseService.getRootList());
+ }
+
+ @GetMapping("/getById")
+ @Operation(summary = "根据编码查询基地")
+ public ResponseResult getById(@RequestParam String baseid) {
+ return ResponseResult.successData(hydrobaseService.getById(baseid));
+ }
+
+// @Log(module = "基地管理", value = "新增基地")
+ @PostMapping("/add")
+ @Operation(summary = "新增基地")
+ public ResponseResult add(@RequestBody SdHydrobase hydrobase) {
+ boolean result = hydrobaseService.addHydrobase(hydrobase);
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @Log(module = "基地管理", value = "修改基地")
+ @PostMapping("/update")
+ @Operation(summary = "修改基地")
+ public ResponseResult update(@RequestBody SdHydrobase hydrobase) {
+ boolean result = hydrobaseService.updateHydrobase(hydrobase);
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @Log(module = "基地管理", value = "删除基地")
+ @PostMapping("/delete")
+ @Operation(summary = "删除基地")
+ public ResponseResult delete(@RequestParam String baseid) {
+ boolean result = hydrobaseService.deleteHydrobase(baseid);
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/env/controller/SdRvcdDicController.java b/backend/src/main/java/com/yfd/platform/env/controller/SdRvcdDicController.java
new file mode 100644
index 0000000..c6b2b1c
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/env/controller/SdRvcdDicController.java
@@ -0,0 +1,88 @@
+package com.yfd.platform.env.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.annotation.Log;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.env.domain.SdRvcdDic;
+import com.yfd.platform.env.service.ISdRvcdDicService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.*;
+
+import jakarta.annotation.Resource;
+import java.util.List;
+
+/**
+ *
+ * 流域字典表 前端控制器
+ *
+ */
+@RestController
+@RequestMapping("/env/rvcd")
+@Tag(name = "流域管理")
+public class SdRvcdDicController {
+
+ @Resource
+ private ISdRvcdDicService rvcdDicService;
+
+ @GetMapping("/queryPageList")
+ @Operation(summary = "分页查询流域列表")
+ public ResponseResult queryPageList(
+ @RequestParam(required = false) String rvnm,
+ @RequestParam(required = false) String prvcd,
+ @RequestParam(defaultValue = "1") Long pageNum,
+ @RequestParam(defaultValue = "10") Long pageSize) {
+ Page page = new Page<>(pageNum, pageSize);
+ Page result = rvcdDicService.queryPageList(page, rvnm, prvcd);
+ return ResponseResult.successData(result);
+ }
+
+ @GetMapping("/list")
+ @Operation(summary = "查询所有流域")
+ public ResponseResult list() {
+ return ResponseResult.successData(rvcdDicService.list());
+ }
+
+ @GetMapping("/getByPrvcd")
+ @Operation(summary = "根据父编码查询流域")
+ public ResponseResult getByPrvcd(@RequestParam(required = false) String prvcd) {
+ List list = rvcdDicService.getByPrvcd(prvcd);
+ return ResponseResult.successData(list);
+ }
+
+ @GetMapping("/getRootList")
+ @Operation(summary = "查询根流域")
+ public ResponseResult getRootList() {
+ return ResponseResult.successData(rvcdDicService.getRootList());
+ }
+
+ @GetMapping("/getById")
+ @Operation(summary = "根据编码查询流域")
+ public ResponseResult getById(@RequestParam String rvcd) {
+ return ResponseResult.successData(rvcdDicService.getById(rvcd));
+ }
+
+// @Log(module = "流域管理", value = "新增流域")
+ @PostMapping("/add")
+ @Operation(summary = "新增流域")
+ public ResponseResult add(@RequestBody SdRvcdDic rvcdDic) {
+ boolean result = rvcdDicService.addRvcdDic(rvcdDic);
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+// @Log(module = "流域管理", value = "修改流域")
+ @PostMapping("/update")
+ @Operation(summary = "修改流域")
+ public ResponseResult update(@RequestBody SdRvcdDic rvcdDic) {
+ boolean result = rvcdDicService.updateRvcdDic(rvcdDic);
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @Log(module = "流域管理", value = "删除流域")
+ @PostMapping("/delete")
+ @Operation(summary = "删除流域")
+ public ResponseResult delete(@RequestParam String rvcd) {
+ boolean result = rvcdDicService.deleteRvcdDic(rvcd);
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/env/controller/TreeStructureController.java b/backend/src/main/java/com/yfd/platform/env/controller/TreeStructureController.java
new file mode 100644
index 0000000..4286e1d
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/env/controller/TreeStructureController.java
@@ -0,0 +1,63 @@
+package com.yfd.platform.env.controller;
+
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.env.service.ITreeStructureService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import jakarta.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * 树形结构 前端控制器
+ *
+ */
+@RestController
+@RequestMapping("/env/tree")
+@Tag(name = "树形结构")
+public class TreeStructureController {
+
+ @Resource
+ private ITreeStructureService treeStructureService;
+
+ @GetMapping("/rvcdBaseEng")
+ @Operation(summary = "获取流域-基地-电站树形结构")
+ public ResponseResult getRvcdBaseEngTree(@RequestParam(required = false) String rvcd) {
+ List