From e5645c64668ddf56c6d8791bd92ca64cd19db1ba Mon Sep 17 00:00:00 2001
From: tangwei
Date: Mon, 20 Jul 2026 11:00:49 +0800
Subject: [PATCH 01/20] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=80=BB?=
=?UTF-8?q?=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../platform/system/controller/SmsVerifyCodeController.java | 1 +
.../com/yfd/platform/system/service/impl/UserServiceImpl.java | 3 +++
2 files changed, 4 insertions(+)
diff --git a/backend/src/main/java/com/yfd/platform/system/controller/SmsVerifyCodeController.java b/backend/src/main/java/com/yfd/platform/system/controller/SmsVerifyCodeController.java
index 8854e2fb..5bf84847 100644
--- a/backend/src/main/java/com/yfd/platform/system/controller/SmsVerifyCodeController.java
+++ b/backend/src/main/java/com/yfd/platform/system/controller/SmsVerifyCodeController.java
@@ -220,6 +220,7 @@ public class SmsVerifyCodeController {
user.setStatus(0);
user.setOrgid("e90063ced25e3d469860e88d920c082f");
user.setUsertype(1);
+ user.setTenantId(tenantId);
user.setUsername(smsVerifyCodeRequest.getUsername());
user.setGroupCode(smsVerifyCodeRequest.getGroupCode());
user.setCompanyCode(smsVerifyCodeRequest.getCompanyCode());
diff --git a/backend/src/main/java/com/yfd/platform/system/service/impl/UserServiceImpl.java b/backend/src/main/java/com/yfd/platform/system/service/impl/UserServiceImpl.java
index cc11fb14..a50a6d83 100644
--- a/backend/src/main/java/com/yfd/platform/system/service/impl/UserServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/system/service/impl/UserServiceImpl.java
@@ -135,6 +135,9 @@ public class UserServiceImpl extends ServiceImpl impleme
List roles = sysRoleMapper.getRoleByUserId(user.getId());
List collect =
roles.stream().map(SysRole::getRolename).collect(Collectors.toList());
+ if(user.getUsertype()==0){
+ collect.add("超级管理员");
+ }
ResponseResult responseResult = new ResponseResult();
responseResult.put("userInfo", userInfo);
responseResult.put("roles", collect);
From 9481dc1c3b1baf1847e1e894f85afa4c05d29c49 Mon Sep 17 00:00:00 2001
From: tangwei
Date: Mon, 20 Jul 2026 13:45:27 +0800
Subject: [PATCH 02/20] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E7=94=B5?=
=?UTF-8?q?=E7=AB=99=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E6=A8=A1=E5=9D=97?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/SdAiboxBHController.java | 55 +++
.../controller/SdArtsgBHController.java | 55 +++
.../qgc_base/controller/SdDwBHController.java | 55 +++
.../qgc_base/controller/SdEqBHController.java | 55 +++
.../controller/SdFbrdBHController.java | 55 +++
.../controller/SdFhbtBHController.java | 55 +++
.../controller/SdOpinfoBHController.java | 55 +++
.../controller/SdOtteBHController.java | 55 +++
.../controller/SdOtweBHController.java | 55 +++
.../controller/SdSonarBHController.java | 55 +++
.../qgc_base/controller/SdTeBHController.java | 55 +++
.../qgc_base/controller/SdVaBHController.java | 55 +++
.../controller/SdVdinfoBController.java | 55 +++
.../qgc_base/controller/SdVpBHController.java | 55 +++
.../qgc_base/controller/SdWeBHController.java | 55 +++
.../qgc_base/controller/SdWqBHController.java | 55 +++
.../qgc_base/controller/SdWtBHController.java | 55 +++
.../platform/qgc_base/domain/SdAiboxBH.java | 247 +++++++++++++
.../platform/qgc_base/domain/SdArtsgBH.java | 223 +++++++++++
.../yfd/platform/qgc_base/domain/SdDwBH.java | 346 ++++++++++++++++++
.../yfd/platform/qgc_base/domain/SdEqBH.java | 301 +++++++++++++++
.../platform/qgc_base/domain/SdFbrdBH.java | 254 +++++++++++++
.../platform/qgc_base/domain/SdFhbtBH.java | 260 +++++++++++++
.../platform/qgc_base/domain/SdOpinfoBH.java | 203 ++++++++++
.../platform/qgc_base/domain/SdOtteBH.java | 104 ++++++
.../platform/qgc_base/domain/SdOtweBH.java | 106 ++++++
.../platform/qgc_base/domain/SdSonarBH.java | 119 ++++++
.../yfd/platform/qgc_base/domain/SdTeBH.java | 102 ++++++
.../yfd/platform/qgc_base/domain/SdVaBH.java | 136 +++++++
.../platform/qgc_base/domain/SdVdinfoB.java | 179 +++++++++
.../yfd/platform/qgc_base/domain/SdVpBH.java | 135 +++++++
.../yfd/platform/qgc_base/domain/SdWeBH.java | 99 +++++
.../yfd/platform/qgc_base/domain/SdWqBH.java | 124 +++++++
.../yfd/platform/qgc_base/domain/SdWtBH.java | 150 ++++++++
.../qgc_base/mapper/SdAiboxBHMapper.java | 13 +
.../qgc_base/mapper/SdArtsgBHMapper.java | 13 +
.../qgc_base/mapper/SdDwBHMapper.java | 13 +
.../qgc_base/mapper/SdEqBHMapper.java | 13 +
.../qgc_base/mapper/SdFbrdBHMapper.java | 13 +
.../qgc_base/mapper/SdFhbtBHMapper.java | 13 +
.../qgc_base/mapper/SdOpinfoBHMapper.java | 7 +
.../qgc_base/mapper/SdOtteBHMapper.java | 7 +
.../qgc_base/mapper/SdOtweBHMapper.java | 7 +
.../qgc_base/mapper/SdSonarBHMapper.java | 7 +
.../qgc_base/mapper/SdTeBHMapper.java | 7 +
.../qgc_base/mapper/SdVaBHMapper.java | 7 +
.../qgc_base/mapper/SdVdinfoBMapper.java | 9 +
.../qgc_base/mapper/SdVpBHMapper.java | 9 +
.../qgc_base/mapper/SdWeBHMapper.java | 9 +
.../qgc_base/mapper/SdWqBHMapper.java | 9 +
.../qgc_base/mapper/SdWtBHMapper.java | 9 +
.../service/IMsOperationLogService.java | 9 +
.../qgc_base/service/ISdAiboxBHService.java | 36 ++
.../qgc_base/service/ISdArtsgBHService.java | 36 ++
.../qgc_base/service/ISdDwBHService.java | 36 ++
.../qgc_base/service/ISdEqBHService.java | 36 ++
.../qgc_base/service/ISdFbrdBHService.java | 36 ++
.../qgc_base/service/ISdFhbtBHService.java | 36 ++
.../qgc_base/service/ISdOpinfoBHService.java | 15 +
.../qgc_base/service/ISdOtteBHService.java | 15 +
.../qgc_base/service/ISdOtweBHService.java | 15 +
.../qgc_base/service/ISdSonarBHService.java | 15 +
.../qgc_base/service/ISdTeBHService.java | 15 +
.../qgc_base/service/ISdVaBHService.java | 15 +
.../qgc_base/service/ISdVdinfoBService.java | 15 +
.../qgc_base/service/ISdVpBHService.java | 15 +
.../qgc_base/service/ISdWeBHService.java | 15 +
.../qgc_base/service/ISdWqBHService.java | 15 +
.../qgc_base/service/ISdWtBHService.java | 15 +
.../impl/MsOperationLogServiceImpl.java | 12 +-
.../service/impl/SdAiboxBHServiceImpl.java | 72 ++++
.../service/impl/SdArtsgBHServiceImpl.java | 64 ++++
.../service/impl/SdDwBHServiceImpl.java | 72 ++++
.../service/impl/SdEqBHServiceImpl.java | 72 ++++
.../service/impl/SdFbrdBHServiceImpl.java | 64 ++++
.../service/impl/SdFhbtBHServiceImpl.java | 72 ++++
.../service/impl/SdOpinfoBHServiceImpl.java | 72 ++++
.../service/impl/SdOtteBHServiceImpl.java | 64 ++++
.../service/impl/SdOtweBHServiceImpl.java | 64 ++++
.../service/impl/SdSonarBHServiceImpl.java | 72 ++++
.../service/impl/SdTeBHServiceImpl.java | 64 ++++
.../service/impl/SdVaBHServiceImpl.java | 72 ++++
.../service/impl/SdVdinfoBServiceImpl.java | 64 ++++
.../service/impl/SdVpBHServiceImpl.java | 72 ++++
.../service/impl/SdWeBHServiceImpl.java | 64 ++++
.../service/impl/SdWqBHServiceImpl.java | 72 ++++
.../service/impl/SdWtBHServiceImpl.java | 72 ++++
87 files changed, 5757 insertions(+), 1 deletion(-)
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdAiboxBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdArtsgBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdDwBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdEqBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFbrdBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFhbtBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOpinfoBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOtteBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOtweBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdSonarBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdTeBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVaBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVdinfoBController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVpBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWeBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWqBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWtBHController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdAiboxBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdArtsgBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdDwBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEqBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFbrdBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFhbtBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOpinfoBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtteBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtweBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdSonarBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdTeBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVaBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVdinfoB.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVpBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWeBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWqBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWtBH.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdAiboxBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdArtsgBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdDwBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdEqBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFbrdBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFhbtBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOpinfoBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOtteBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOtweBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdSonarBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdTeBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVaBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVdinfoBMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVpBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWeBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWqBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWtBHMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdAiboxBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdArtsgBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdDwBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdEqBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFbrdBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFhbtBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOpinfoBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOtteBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOtweBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdSonarBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdTeBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVaBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVdinfoBService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVpBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWeBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWqBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWtBHService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdAiboxBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdArtsgBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdDwBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEqBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFbrdBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFhbtBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOpinfoBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtteBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtweBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdSonarBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdTeBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVaBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVdinfoBServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVpBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWeBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWqBHServiceImpl.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWtBHServiceImpl.java
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdAiboxBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdAiboxBHController.java
new file mode 100644
index 00000000..8718a421
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdAiboxBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdAiboxBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdAiboxBHService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/aibox")
+@Tag(name = "AI智能监测装置管理")
+public class SdAiboxBHController {
+
+ @Resource
+ private ISdAiboxBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdAiboxBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdAiboxBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdAiboxBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdAiboxBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdArtsgBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdArtsgBHController.java
new file mode 100644
index 00000000..a467ed80
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdArtsgBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdArtsgBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdArtsgBHService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/artsg")
+@Tag(name = "人工产卵场管理")
+public class SdArtsgBHController {
+
+ @Resource
+ private ISdArtsgBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdArtsgBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdArtsgBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdArtsgBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdArtsgBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdDwBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdDwBHController.java
new file mode 100644
index 00000000..ab2f4f9e
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdDwBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdDwBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdDwBHService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/dw")
+@Tag(name = "低温水设施管理")
+public class SdDwBHController {
+
+ @Resource
+ private ISdDwBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdDwBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdDwBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdDwBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdDwBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdEqBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdEqBHController.java
new file mode 100644
index 00000000..c303cab1
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdEqBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdEqBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdEqBHService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/eq")
+@Tag(name = "生态流量设施管理")
+public class SdEqBHController {
+
+ @Resource
+ private ISdEqBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdEqBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdEqBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdEqBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdEqBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFbrdBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFbrdBHController.java
new file mode 100644
index 00000000..6bd460f5
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFbrdBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdFbrdBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdFbrdBHService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/fbrd")
+@Tag(name = "鱼类增殖站管理")
+public class SdFbrdBHController {
+
+ @Resource
+ private ISdFbrdBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdFbrdBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdFbrdBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdFbrdBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdFbrdBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFhbtBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFhbtBHController.java
new file mode 100644
index 00000000..b5b12836
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdFhbtBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdFhbtBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdFhbtBHService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/fhbt")
+@Tag(name = "栖息地保护工程管理")
+public class SdFhbtBHController {
+
+ @Resource
+ private ISdFhbtBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdFhbtBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdFhbtBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdFhbtBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdFhbtBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOpinfoBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOpinfoBHController.java
new file mode 100644
index 00000000..4a0f2cd1
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOpinfoBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdOpinfoBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdOpinfoBHService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/opinfo")
+@Tag(name = "倾斜摄影管理")
+public class SdOpinfoBHController {
+
+ @Resource
+ private ISdOpinfoBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdOpinfoBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdOpinfoBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdOpinfoBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdOpinfoBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOtteBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOtteBHController.java
new file mode 100644
index 00000000..c425bca7
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOtteBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdOtteBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdOtteBHService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/otte")
+@Tag(name = "陆生生态保护工程管理")
+public class SdOtteBHController {
+
+ @Resource
+ private ISdOtteBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdOtteBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdOtteBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdOtteBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdOtteBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOtweBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOtweBHController.java
new file mode 100644
index 00000000..5311661f
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdOtweBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdOtweBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdOtweBHService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/otwe")
+@Tag(name = "水生生态保护工程管理")
+public class SdOtweBHController {
+
+ @Resource
+ private ISdOtweBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdOtweBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdOtweBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdOtweBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdOtweBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdSonarBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdSonarBHController.java
new file mode 100644
index 00000000..4c325387
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdSonarBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdSonarBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdSonarBHService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/sonar")
+@Tag(name = "声呐及水下摄像管理")
+public class SdSonarBHController {
+
+ @Resource
+ private ISdSonarBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdSonarBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdSonarBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdSonarBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdSonarBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdTeBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdTeBHController.java
new file mode 100644
index 00000000..ac1c4f52
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdTeBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdTeBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdTeBHService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/te")
+@Tag(name = "陆生生态调查断面管理")
+public class SdTeBHController {
+
+ @Resource
+ private ISdTeBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdTeBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdTeBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdTeBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdTeBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVaBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVaBHController.java
new file mode 100644
index 00000000..d9b79767
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVaBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdVaBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdVaBHService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/va")
+@Tag(name = "动物救助站管理")
+public class SdVaBHController {
+
+ @Resource
+ private ISdVaBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdVaBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdVaBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdVaBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdVaBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVdinfoBController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVdinfoBController.java
new file mode 100644
index 00000000..c6063d42
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVdinfoBController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdVdinfoB;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdVdinfoBService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/vdinfo")
+@Tag(name = "视频站管理")
+public class SdVdinfoBController {
+
+ @Resource
+ private ISdVdinfoBService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdVdinfoB entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdVdinfoB.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdVdinfoB entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdVdinfoB.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVpBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVpBHController.java
new file mode 100644
index 00000000..879820a8
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdVpBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdVpBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdVpBHService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/vp")
+@Tag(name = "珍稀植物保护工程管理")
+public class SdVpBHController {
+
+ @Resource
+ private ISdVpBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdVpBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdVpBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdVpBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdVpBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWeBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWeBHController.java
new file mode 100644
index 00000000..84d45831
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWeBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdWeBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdWeBHService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/we")
+@Tag(name = "水生生态调查断面管理")
+public class SdWeBHController {
+
+ @Resource
+ private ISdWeBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdWeBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdWeBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdWeBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdWeBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWqBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWqBHController.java
new file mode 100644
index 00000000..c185b9ef
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWqBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdWqBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdWqBHService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/wq")
+@Tag(name = "水质站管理")
+public class SdWqBHController {
+
+ @Resource
+ private ISdWqBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdWqBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdWqBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdWqBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdWqBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWtBHController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWtBHController.java
new file mode 100644
index 00000000..996cab76
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/SdWtBHController.java
@@ -0,0 +1,55 @@
+package com.yfd.platform.qgc_base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_base.domain.SdWtBH;
+import com.yfd.platform.qgc_base.domain.SdEngInfoBHOperateRequest;
+import com.yfd.platform.qgc_base.service.ISdWtBHService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/base/wt")
+@Tag(name = "水温站管理")
+public class SdWtBHController {
+
+ @Resource
+ private ISdWtBHService service;
+
+ @Resource
+ private ObjectMapper objectMapper;
+
+ @PostMapping("/page")
+ @Operation(summary = "分页查询")
+ public ResponseResult queryPageList(@RequestBody DataSourceRequest request) {
+ Page page = service.queryPageList(request);
+ return ResponseResult.successData(page);
+ }
+
+ @PostMapping("/add")
+ @Operation(summary = "新增")
+ public ResponseResult add(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdWtBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdWtBH.class);
+ boolean result = service.add(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
+ }
+
+ @PostMapping("/update")
+ @Operation(summary = "修改")
+ public ResponseResult update(@RequestBody SdEngInfoBHOperateRequest request) {
+ SdWtBH entity = request == null || request.getEngInfo() == null ? null : objectMapper.convertValue(request.getEngInfo(), SdWtBH.class);
+ boolean result = service.update(entity, request == null ? null : request.getSource());
+ return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
+ }
+
+ @PostMapping("/delete")
+ @Operation(summary = "删除")
+ public ResponseResult delete(@RequestBody SdEngInfoBHOperateRequest request) {
+ boolean result = service.delete(request == null ? null : request.getIds(), request == null ? null : request.getSource());
+ return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdAiboxBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdAiboxBH.java
new file mode 100644
index 00000000..919760a2
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdAiboxBH.java
@@ -0,0 +1,247 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ *
+ * AI边缘计算盒子基本属性表
+ *
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("SD_AIBOX_B_H")
+public class SdAiboxBH implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 测站编码
+ */
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ /**
+ * 测站名称
+ */
+ private String stnm;
+
+ /**
+ * 测站类型
+ */
+ private String sttp;
+
+ /**
+ * 数据时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ /**
+ * 位置经度
+ */
+ private BigDecimal lgtd;
+
+ /**
+ * 位置纬度
+ */
+ private BigDecimal lttd;
+
+ /**
+ * 高程
+ */
+ private BigDecimal elev;
+
+ /**
+ * 站址
+ */
+ private String stlc;
+
+ /**
+ * 建成日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ /**
+ * 退役/拆除日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ /**
+ * 建设状态代码
+ */
+ private Integer bldsttCode;
+
+ /**
+ * 是否启用
+ */
+ private Integer usfl;
+
+ /**
+ * 数据是否接入
+ */
+ private Integer dtin;
+
+ /**
+ * 数据接入时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date dtinTm;
+
+ /**
+ * 监测方式
+ */
+ private Integer mway;
+
+ /**
+ * 站索引
+ */
+ private String stindx;
+
+ /**
+ * 排序
+ */
+ private Integer orderIndex;
+
+ /**
+ * 关联测站编码
+ */
+ private String rstcd;
+
+ /**
+ * 所属基地编码
+ */
+ private String baseId;
+
+ /**
+ * 所属基地流域编码
+ */
+ private String hbrvcd;
+
+ /**
+ * 所属流域代码
+ */
+ private String rvcd;
+
+ /**
+ * 简介
+ */
+ private String introduce;
+
+ /**
+ * LOGO
+ */
+ private String logo;
+
+ /**
+ * 介绍文件
+ */
+ private String inffile;
+
+ /**
+ * 服务对象
+ */
+ private String fwdx;
+
+ /**
+ * 供电方式
+ */
+ private String gdfs;
+
+ /**
+ * AI配置
+ */
+ private String aipz;
+
+ /**
+ * 模型版本
+ */
+ private String mxbb;
+
+ /**
+ * IP地址
+ */
+ private String ipaddr;
+
+ /**
+ * SIM卡信息
+ */
+ private String siminfo;
+
+ /**
+ * 联系人
+ */
+ private String lxr;
+
+ /**
+ * 用途
+ */
+ private String purpose;
+
+ /**
+ * 数据频率
+ */
+ private String dtfrqcy;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 植被覆盖类型
+ */
+ private BigDecimal vlsr;
+
+ /**
+ * 植被覆盖调查时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+
+ /**
+ * 创建人
+ */
+ private String recordUser;
+
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ /**
+ * 更新人
+ */
+ private String modifyUser;
+
+ /**
+ * 更新时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ /**
+ * 是否已删除
+ */
+ private Integer isDeleted;
+
+ /**
+ * 删除人
+ */
+ private String deleteUser;
+
+ /**
+ * 删除时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdArtsgBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdArtsgBH.java
new file mode 100644
index 00000000..0fdc10a6
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdArtsgBH.java
@@ -0,0 +1,223 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ *
+ * 人工产卵场工程信息表
+ *
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("SD_ARTSG_B_H")
+public class SdArtsgBH implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 测站编码
+ */
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ /**
+ * 测站名称
+ */
+ private String stnm;
+
+ /**
+ * 测站类型
+ */
+ private String sttp;
+
+ /**
+ * 数据时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ /**
+ * 位置经度
+ */
+ private BigDecimal lgtd;
+
+ /**
+ * 位置纬度
+ */
+ private BigDecimal lttd;
+
+ /**
+ * 高程
+ */
+ private BigDecimal elev;
+
+ /**
+ * 站址
+ */
+ private String stlc;
+
+ /**
+ * 是否启用
+ */
+ private Integer usfl;
+
+ /**
+ * 数据是否接入
+ */
+ private Integer dtin;
+
+ /**
+ * 数据接入时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date dtinTm;
+
+ /**
+ * 排序
+ */
+ private Integer orderIndex;
+
+ /**
+ * 关联测站编码
+ */
+ private String rstcd;
+
+ /**
+ * 所属基地编码
+ */
+ private String baseId;
+
+ /**
+ * 所属基地流域编码
+ */
+ private String hbrvcd;
+
+ /**
+ * 所属流域代码
+ */
+ private String rvcd;
+
+ /**
+ * 所属行政区编码
+ */
+ private String addvcd;
+
+ /**
+ * 规划设计日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date stdsdt;
+
+ /**
+ * 计划开工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pststdt;
+
+ /**
+ * 计划完工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pesstdt;
+
+ /**
+ * 开工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ /**
+ * 建成日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ /**
+ * 退役/拆除日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ /**
+ * 建设状态代码
+ */
+ private Integer bldsttCode;
+
+ /**
+ * 简介
+ */
+ private String introduce;
+
+ /**
+ * LOGO
+ */
+ private String logo;
+
+ /**
+ * 介绍文件
+ */
+ private String inffile;
+
+ /**
+ * 投资
+ */
+ private BigDecimal inv;
+
+ /**
+ * 投资金额
+ */
+ private Integer invinmn;
+
+ /**
+ * 保护措施
+ */
+ private String prtcts;
+
+ /**
+ * 数量
+ */
+ private Integer cnt;
+
+ /**
+ * 面积
+ */
+ private BigDecimal ar;
+
+ /**
+ * 类型
+ */
+ private String tp;
+
+ /**
+ * 附件
+ */
+ private String attm;
+
+ /**
+ * 数据频率
+ */
+ private String dtfrqcy;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 植被覆盖类型
+ */
+ private BigDecimal vlsr;
+
+ /**
+ * 植被覆盖调查时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdDwBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdDwBH.java
new file mode 100644
index 00000000..a371b55a
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdDwBH.java
@@ -0,0 +1,346 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ *
+ * 低温水减缓设施信息表
+ *
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("SD_DW_B_H")
+public class SdDwBH implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 测站编码
+ */
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ /**
+ * 数据时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ /**
+ * 测站名称
+ */
+ private String stnm;
+
+ /**
+ * 测站类型
+ */
+ private String sttp;
+
+ /**
+ * 位置经度
+ */
+ private BigDecimal lgtd;
+
+ /**
+ * 位置纬度
+ */
+ private BigDecimal lttd;
+
+ /**
+ * 高程
+ */
+ private BigDecimal elev;
+
+ /**
+ * 站址
+ */
+ private String stlc;
+
+ /**
+ * 是否启用
+ */
+ private Integer usfl;
+
+ /**
+ * 数据是否接入
+ */
+ private Integer dtin;
+
+ /**
+ * 数据接入时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date dtinTm;
+
+ /**
+ * 排序
+ */
+ private Integer orderIndex;
+
+ /**
+ * 所属基地编码
+ */
+ private String baseId;
+
+ /**
+ * 所属基地流域编码
+ */
+ private String hbrvcd;
+
+ /**
+ * 关联测站编码
+ */
+ private String rstcd;
+
+ /**
+ * 规划设计日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date stdsdt;
+
+ /**
+ * 计划开工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pststdt;
+
+ /**
+ * 计划完工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pesstdt;
+
+ /**
+ * 开工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ /**
+ * 建成日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ /**
+ * 退役/拆除日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ /**
+ * 建设状态代码
+ */
+ private Integer bldsttCode;
+
+ /**
+ * 简介
+ */
+ private String introduce;
+
+ /**
+ * LOGO
+ */
+ private String logo;
+
+ /**
+ * 介绍文件
+ */
+ private String inffile;
+
+ /**
+ * 投资
+ */
+ private BigDecimal inv;
+
+ /**
+ * 投资金额
+ */
+ private Integer invinmn;
+
+ /**
+ * 调度方式
+ */
+ private Integer dispatch;
+
+ /**
+ * 调度描述
+ */
+ private String dispatchDes;
+
+ /**
+ * 调度文件
+ */
+ private String dispatchFile;
+
+ /**
+ * 叠梁门层数高度
+ */
+ private BigDecimal dcshg;
+
+ /**
+ * 叠梁门单层取水口个数
+ */
+ private BigDecimal dcsqskgs;
+
+ /**
+ * 叠梁门层数
+ */
+ private Integer dlmcnt;
+
+ /**
+ * 叠梁门高度
+ */
+ private BigDecimal dlmhg;
+
+ /**
+ * 叠梁门底部高程
+ */
+ private BigDecimal dlmdbgc;
+
+ /**
+ * 叠梁门最大温度梯度
+ */
+ private BigDecimal dlmmxwdp;
+
+ /**
+ * 梯级电站台数
+ */
+ private Integer ttscnt;
+
+ /**
+ * 梯级电站高度
+ */
+ private BigDecimal ttshg;
+
+ /**
+ * 梯级电站最低死水位
+ */
+ private BigDecimal ttszdss;
+
+ /**
+ * 取水口段结构
+ */
+ private String qzdqjg;
+
+ /**
+ * 取水口段高度
+ */
+ private BigDecimal qzdqhg;
+
+ /**
+ * 隔水幕墙长度
+ */
+ private BigDecimal gsmqcd;
+
+ /**
+ * 隔水幕墙宽度
+ */
+ private BigDecimal gsmqkd;
+
+ /**
+ * 隔水幕墙材料
+ */
+ private BigDecimal gsmqcl;
+
+ /**
+ * 其他设施具体型式
+ */
+ private String qtssjbtx;
+
+ /**
+ * 天然河流平均水温
+ */
+ private BigDecimal nravwt;
+
+ /**
+ * 天然河流最高温月份多年平均水温
+ */
+ private BigDecimal nrmxavwt;
+
+ /**
+ * 天然河流最低温月份多年平均水温
+ */
+ private BigDecimal nrmnavwt;
+
+ /**
+ * 建成后坝下平均水温
+ */
+ private BigDecimal dnavwt;
+
+ /**
+ * 建成后坝下最高温月份多年平均水温
+ */
+ private BigDecimal dnmxavwt;
+
+ /**
+ * 建成后坝下最低温月份多年平均水温
+ */
+ private BigDecimal dnmnavwt;
+
+ /**
+ * 数据频率
+ */
+ private String dtfrqcy;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 植被覆盖类型
+ */
+ private BigDecimal vlsr;
+
+ /**
+ * 植被覆盖调查时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+
+ /**
+ * 创建人
+ */
+ private String recordUser;
+
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ /**
+ * 更新人
+ */
+ private String modifyUser;
+
+ /**
+ * 更新时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ /**
+ * 是否已删除
+ */
+ private Integer isDeleted;
+
+ /**
+ * 删除人
+ */
+ private String deleteUser;
+
+ /**
+ * 删除时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEqBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEqBH.java
new file mode 100644
index 00000000..615d595a
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEqBH.java
@@ -0,0 +1,301 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ *
+ * 生态流量泄放设施信息表
+ *
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("SD_EQ_B_H")
+public class SdEqBH implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 测站编码
+ */
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ /**
+ * 测站名称
+ */
+ private String stnm;
+
+ /**
+ * 数据时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ /**
+ * 测站类型
+ */
+ private String sttp;
+
+ /**
+ * 所属建设阶段
+ */
+ private Integer blprd;
+
+ /**
+ * 位置经度
+ */
+ private BigDecimal lgtd;
+
+ /**
+ * 位置纬度
+ */
+ private BigDecimal lttd;
+
+ /**
+ * 高程
+ */
+ private BigDecimal elev;
+
+ /**
+ * 站址
+ */
+ private String stlc;
+
+ /**
+ * 是否启用
+ */
+ private Integer usfl;
+
+ /**
+ * 数据是否接入
+ */
+ private Integer dtin;
+
+ /**
+ * 数据接入时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date dtinTm;
+
+ /**
+ * 排序
+ */
+ private Integer orderIndex;
+
+ /**
+ * 关联测站编码
+ */
+ private String rstcd;
+
+ /**
+ * 所属基地编码
+ */
+ private String baseId;
+
+ /**
+ * 所属基地流域编码
+ */
+ private String hbrvcd;
+
+ /**
+ * 规划设计日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date stdsdt;
+
+ /**
+ * 计划开工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pststdt;
+
+ /**
+ * 计划完工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pesstdt;
+
+ /**
+ * 开工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ /**
+ * 建成日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ /**
+ * 退役/拆除日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ /**
+ * 建设状态代码
+ */
+ private Integer bldsttCode;
+
+ /**
+ * 简介
+ */
+ private String introduce;
+
+ /**
+ * LOGO
+ */
+ private String logo;
+
+ /**
+ * 介绍文件
+ */
+ private String inffile;
+
+ /**
+ * 投资
+ */
+ private BigDecimal inv;
+
+ /**
+ * 投资金额
+ */
+ private Integer invinmn;
+
+ /**
+ * 泄放孔结构
+ */
+ private String flkjg;
+
+ /**
+ * 泄放孔尺寸
+ */
+ private String flksz;
+
+ /**
+ * 单独泄放管渠
+ */
+ private String ddzgq;
+
+ /**
+ * 泄放孔口
+ */
+ private String flkq;
+
+ /**
+ * 进水口底板高程
+ */
+ private BigDecimal jskdbgc;
+
+ /**
+ * 出水口底板高程
+ */
+ private BigDecimal cskdbgc;
+
+ /**
+ * 检修放空管道
+ */
+ private String jhfdgk;
+
+ /**
+ * 泄放流量
+ */
+ private BigDecimal fdll;
+
+ /**
+ * 生态机组装机容量
+ */
+ private BigDecimal stjzzjrl;
+
+ /**
+ * 生态机组引水渠道
+ */
+ private BigDecimal stjzysq;
+
+ /**
+ * 数据频率
+ */
+ private String dtfrqcy;
+
+ /**
+ * 评估方法
+ */
+ private String assessMethod;
+
+ /**
+ * 是否计算器
+ */
+ private Integer isJsq;
+
+ /**
+ * 是否流量
+ */
+ private String isFlow;
+
+ /**
+ * 最小流量
+ */
+ private BigDecimal minFlow;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 植被覆盖类型
+ */
+ private BigDecimal vlsr;
+
+ /**
+ * 植被覆盖调查时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+
+ /**
+ * 创建人
+ */
+ private String recordUser;
+
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ /**
+ * 更新人
+ */
+ private String modifyUser;
+
+ /**
+ * 更新时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ /**
+ * 是否已删除
+ */
+ private Integer isDeleted;
+
+ /**
+ * 删除人
+ */
+ private String deleteUser;
+
+ /**
+ * 删除时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFbrdBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFbrdBH.java
new file mode 100644
index 00000000..5eb9dcc5
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFbrdBH.java
@@ -0,0 +1,254 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ *
+ * 鱼类增殖设施保护工程信息表
+ *
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("SD_FBRD_B_H")
+public class SdFbrdBH implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 测站编码
+ */
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ /**
+ * 测站名称
+ */
+ private String stnm;
+
+ /**
+ * 测站类型
+ */
+ private String sttp;
+
+ /**
+ * 数据时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ /**
+ * 所属建设阶段
+ */
+ private Integer blprd;
+
+ /**
+ * 位置经度
+ */
+ private BigDecimal lgtd;
+
+ /**
+ * 位置纬度
+ */
+ private BigDecimal lttd;
+
+ /**
+ * 高程
+ */
+ private BigDecimal elev;
+
+ /**
+ * 站址
+ */
+ private String stlc;
+
+ /**
+ * 是否启用
+ */
+ private Integer usfl;
+
+ /**
+ * 数据是否接入
+ */
+ private Integer dtin;
+
+ /**
+ * 数据接入时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date dtinTm;
+
+ /**
+ * 排序
+ */
+ private Integer orderIndex;
+
+ /**
+ * 关联测站编码
+ */
+ private String rstcd;
+
+ /**
+ * 所属基地编码
+ */
+ private String baseId;
+
+ /**
+ * 所属基地流域编码
+ */
+ private String hbrvcd;
+
+ /**
+ * 环评单位
+ */
+ private String rengcd;
+
+ /**
+ * 规划设计日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date stdsdt;
+
+ /**
+ * 计划开工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pststdt;
+
+ /**
+ * 计划完工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pesstdt;
+
+ /**
+ * 开工日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ /**
+ * 建成日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ /**
+ * 退役/拆除日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ /**
+ * 建设状态代码
+ */
+ private Integer bldsttCode;
+
+ /**
+ * 简介
+ */
+ private String introduce;
+
+ /**
+ * LOGO
+ */
+ private String logo;
+
+ /**
+ * 介绍文件
+ */
+ private String inffile;
+
+ /**
+ * 投资
+ */
+ private BigDecimal inv;
+
+ /**
+ * 投资金额
+ */
+ private Integer invinmn;
+
+ /**
+ * 增殖放流面积
+ */
+ private BigDecimal zzflar;
+
+ /**
+ * 增殖放流工艺
+ */
+ private BigDecimal zzflgy;
+
+ /**
+ * 增殖放流鱼种描述
+ */
+ private String zzflyzms;
+
+ /**
+ * 增殖放流标记方式
+ */
+ private String zzflbjfs;
+
+ /**
+ * 增殖放流对象
+ */
+ private String zzfldx;
+
+ /**
+ * 增殖放流数量
+ */
+ private Integer zzflcnt;
+
+ /**
+ * 增殖放流放流流程
+ */
+ private String zzflfllc;
+
+ /**
+ * 增殖放流时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date zzfltm;
+
+ /**
+ * 增殖放流任务
+ */
+ private String zzflrw;
+
+ /**
+ * 设计单位
+ */
+ private String dsun;
+
+ /**
+ * 基本特性参数
+ */
+ private String jbtxcs;
+
+ /**
+ * 数据频率
+ */
+ private String dtfrqcy;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 植被覆盖类型
+ */
+ private BigDecimal vlsr;
+
+ /**
+ * 植被覆盖调查时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFhbtBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFhbtBH.java
new file mode 100644
index 00000000..01caef6a
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFhbtBH.java
@@ -0,0 +1,260 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ *
+ * 栖息地保护工程信息表
+ *
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("SD_FHBT_B_H")
+public class SdFhbtBH implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 测站编码
+ */
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ /**
+ * 测站名称
+ */
+ private String stnm;
+
+ /**
+ * 数据时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ /**
+ * 所属建设阶段
+ */
+ private Integer blprd;
+
+ /**
+ * 位置经度
+ */
+ private BigDecimal lgtd;
+
+ /**
+ * 位置纬度
+ */
+ private BigDecimal lttd;
+
+ /**
+ * 高程
+ */
+ private BigDecimal elev;
+
+ /**
+ * 站址
+ */
+ private String stlc;
+
+ /**
+ * 是否启用
+ */
+ private Integer usfl;
+
+ /**
+ * 数据是否接入
+ */
+ private Integer dtin;
+
+ /**
+ * 数据接入时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date dtinTm;
+
+ /**
+ * 排序
+ */
+ private Integer orderIndex;
+
+ /**
+ * 关联测站编码
+ */
+ private String rstcd;
+
+ /**
+ * 所属基地编码
+ */
+ private String baseId;
+
+ /**
+ * 所属基地流域编码
+ */
+ private String hbrvcd;
+
+ /**
+ * 所属流域代码
+ */
+ private String rvcd;
+
+ /**
+ * 所属行政区编码
+ */
+ private String addvcd;
+
+ /**
+ * 河段描述
+ */
+ private String reachdes;
+
+ /**
+ * 经度纬度列表
+ */
+ private String lglttd;
+
+ /**
+ * 简介
+ */
+ private String introduce;
+
+ /**
+ * LOGO
+ */
+ private String logo;
+
+ /**
+ * 介绍文件
+ */
+ private String inffile;
+
+ /**
+ * 投资
+ */
+ private BigDecimal inv;
+
+ /**
+ * 投资金额
+ */
+ private Integer invinmn;
+
+ /**
+ * 保护对象
+ */
+ private String bhdx;
+
+ /**
+ * 保护范围
+ */
+ private String bhfw;
+
+ /**
+ * 保护措施
+ */
+ private String bhcd;
+
+ /**
+ * 保护面积
+ */
+ private BigDecimal bhmj;
+
+ /**
+ * 保护河流
+ */
+ private Integer bhhl;
+
+ /**
+ * 保护河道
+ */
+ private Integer bhhd;
+
+ /**
+ * 保护措施
+ */
+ private String bhcs;
+
+ /**
+ * 保护方式
+ */
+ private String bhfs;
+
+ /**
+ * 附件
+ */
+ private String attm;
+
+ /**
+ * 保护水文参数
+ */
+ private String bhwwcd;
+
+ /**
+ * 保护河相关系
+ */
+ private String bhhxcd;
+
+ /**
+ * 数据频率
+ */
+ private String dtfrqcy;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 植被覆盖类型
+ */
+ private BigDecimal vlsr;
+
+ /**
+ * 植被覆盖调查时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+
+ /**
+ * 创建人
+ */
+ private String recordUser;
+
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ /**
+ * 更新人
+ */
+ private String modifyUser;
+
+ /**
+ * 更新时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ /**
+ * 是否已删除
+ */
+ private Integer isDeleted;
+
+ /**
+ * 删除人
+ */
+ private String deleteUser;
+
+ /**
+ * 删除时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOpinfoBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOpinfoBH.java
new file mode 100644
index 00000000..f4c7f644
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOpinfoBH.java
@@ -0,0 +1,203 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("SD_OPINFO_B_H")
+public class SdOpinfoBH implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ private String stnm;
+
+ private String sttp;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ private Integer blprd;
+
+ private BigDecimal lgtd;
+
+ private BigDecimal lttd;
+
+ private BigDecimal elev;
+
+ private String stlc;
+
+ private Integer usfl;
+
+ private Integer dtin;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("DTIN_TM")
+ private Date dtinTm;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ private String rstcd;
+
+ @TableField("BASE_ID")
+ private String baseId;
+
+ private String hbrvcd;
+
+ private String rvcd;
+
+ private String addvcd;
+
+ @TableField("STDSDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date stdsdt;
+
+ @TableField("PSTSTDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pststdt;
+
+ @TableField("PESSTDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pesstdt;
+
+ @TableField("SWDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ @TableField("JCDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ @TableField("WDDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ @TableField("BLDSTT_CODE")
+ private Integer bldsttCode;
+
+ private String introduce;
+
+ private String logo;
+
+ private String inffile;
+
+ private String url;
+
+ private BigDecimal height;
+
+ private String boundary;
+
+ @TableField("CENTER_LGTD")
+ private BigDecimal centerLgtd;
+
+ @TableField("CENTER_LTTD")
+ private BigDecimal centerLttd;
+
+ @TableField("CENTER_ELEV")
+ private BigDecimal centerElev;
+
+ private String description;
+
+ @TableField("CENTER1_LGTD")
+ private BigDecimal center1Lgtd;
+
+ @TableField("CENTER1_LTTD")
+ private BigDecimal center1Lttd;
+
+ @TableField("CENTER1_ELEV")
+ private BigDecimal center1Elev;
+
+ @TableField("CLIPPING_PLANES")
+ private String clippingPlanes;
+
+ @TableField("DESTINATION_TYPE")
+ private String destinationType;
+
+ @TableField("DESTINATION_LGTD")
+ private BigDecimal destinationLgtd;
+
+ @TableField("DESTINATION_LTTD")
+ private BigDecimal destinationLttd;
+
+ @TableField("DESTINATION_ELEV")
+ private BigDecimal destinationElev;
+
+ @TableField("ORIENTATION_ROLL")
+ private BigDecimal orientationRoll;
+
+ @TableField("ORIENTATION_HEADING")
+ private BigDecimal orientationHeading;
+
+ @TableField("ORIENTATION_PITCH")
+ private BigDecimal orientationPitch;
+
+ @TableField("REVISE_SITE_ELEV")
+ private BigDecimal reviseSiteElev;
+
+ @TableField("REVISE_SITE_ELEV_FACTOR")
+ private BigDecimal reviseSiteElevFactor;
+
+ @TableField("DESTINATION_LGTD_WCS")
+ private BigDecimal destinationLgtdWcs;
+
+ @TableField("DESTINATION_LTTD_WCS")
+ private BigDecimal destinationLttdWcs;
+
+ @TableField("DESTINATION_ELEV_WCS")
+ private BigDecimal destinationElevWcs;
+
+ @TableField("DESTINATION_LGTD_WGS84")
+ private BigDecimal destinationLgtdWgs84;
+
+ @TableField("DESTINATION_LTTD_WGS84")
+ private BigDecimal destinationLttdWgs84;
+
+ @TableField("DESTINATION_ELEV_WGS84")
+ private BigDecimal destinationElevWgs84;
+
+ private String location;
+
+ private String accuracy;
+
+ @TableField("STNM_ALIAS")
+ private String stnmAlias;
+
+ private String remark;
+
+ private BigDecimal vlsr;
+
+ @TableField("VLSR_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+
+ @TableField("RECORD_USER")
+ private String recordUser;
+
+ @TableField("RECORD_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ @TableField("MODIFY_USER")
+ private String modifyUser;
+
+ @TableField("MODIFY_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ @TableField("IS_DELETED")
+ private Integer isDeleted;
+
+ @TableField("DELETE_USER")
+ private String deleteUser;
+
+ @TableField("DELETE_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtteBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtteBH.java
new file mode 100644
index 00000000..72cdd511
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtteBH.java
@@ -0,0 +1,104 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("SD_OTTE_B_H")
+public class SdOtteBH implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ private String stnm;
+
+ private String sttp;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ private Integer blprd;
+
+ private BigDecimal lgtd;
+
+ private BigDecimal lttd;
+
+ private BigDecimal elev;
+
+ private String stlc;
+
+ private Integer usfl;
+
+ private Integer dtin;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("DTIN_TM")
+ private Date dtinTm;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ private String rstcd;
+
+ @TableField("BASE_ID")
+ private String baseId;
+
+ private String hbrvcd;
+
+ private String rvcd;
+
+ private String addvcd;
+
+ @TableField("STDSDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date stdsdt;
+
+ @TableField("PSTSTDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pststdt;
+
+ @TableField("PESSTDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pesstdt;
+
+ @TableField("SWDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ @TableField("JCDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ @TableField("WDDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ @TableField("BLDSTT_CODE")
+ private Integer bldsttCode;
+
+ private String introduce;
+
+ private String logo;
+
+ private String inffile;
+
+ private BigDecimal inv;
+
+ private String jbtxcs;
+
+ private String dtfrqcy;
+
+ private String remark;
+
+ private BigDecimal vlsr;
+
+ @TableField("VLSR_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtweBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtweBH.java
new file mode 100644
index 00000000..c5aa7e0a
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtweBH.java
@@ -0,0 +1,106 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("SD_OTWE_B_H")
+public class SdOtweBH implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ private String stnm;
+
+ private String sttp;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ private Integer blprd;
+
+ private BigDecimal lgtd;
+
+ private BigDecimal lttd;
+
+ private BigDecimal elev;
+
+ private String stlc;
+
+ private Integer usfl;
+
+ private Integer dtin;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("DTIN_TM")
+ private Date dtinTm;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ private String rstcd;
+
+ @TableField("BASE_ID")
+ private String baseId;
+
+ private String hbrvcd;
+
+ private String rvcd;
+
+ private String addvcd;
+
+ @TableField("STDSDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date stdsdt;
+
+ @TableField("PSTSTDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pststdt;
+
+ @TableField("PESSTDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pesstdt;
+
+ @TableField("SWDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ @TableField("JCDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ @TableField("WDDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ @TableField("BLDSTT_CODE")
+ private Integer bldsttCode;
+
+ private String introduce;
+
+ private String logo;
+
+ private String inffile;
+
+ private BigDecimal inv;
+
+ private Integer invinmn;
+
+ private String jbtxcs;
+
+ private String dtfrqcy;
+
+ private String remark;
+
+ private BigDecimal vlsr;
+
+ @TableField("VLSR_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdSonarBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdSonarBH.java
new file mode 100644
index 00000000..51724149
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdSonarBH.java
@@ -0,0 +1,119 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("SD_SONAR_B_H")
+public class SdSonarBH implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ private String stnm;
+
+ private String mntp;
+
+ private String sttp;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ private BigDecimal lgtd;
+
+ private BigDecimal lttd;
+
+ private BigDecimal elev;
+
+ private String stlc;
+
+ @TableField("JCDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ @TableField("WDDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ @TableField("BLDSTT_CODE")
+ private Integer bldsttCode;
+
+ private Integer usfl;
+
+ private Integer dtin;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("DTIN_TM")
+ private Date dtinTm;
+
+ private Integer mway;
+
+ private String stindx;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ private String rstcd;
+
+ @TableField("BASE_ID")
+ private String baseId;
+
+ private String hbrvcd;
+
+ private String rvcd;
+
+ private String addvcd;
+
+ private String introduce;
+
+ private String logo;
+
+ private String inffile;
+
+ private String fwdx;
+
+ private String gcfs;
+
+ private String dtfrqcy;
+
+ private String remark;
+
+ private BigDecimal vlsr;
+
+ @TableField("VLSR_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+
+ @TableField("RECORD_USER")
+ private String recordUser;
+
+ @TableField("RECORD_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ @TableField("MODIFY_USER")
+ private String modifyUser;
+
+ @TableField("MODIFY_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ @TableField("IS_DELETED")
+ private Integer isDeleted;
+
+ @TableField("DELETE_USER")
+ private String deleteUser;
+
+ @TableField("DELETE_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+
+ @TableField("WARN_STATE")
+ private String warnState;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdTeBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdTeBH.java
new file mode 100644
index 00000000..3aafa40d
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdTeBH.java
@@ -0,0 +1,102 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("SD_TE_B_H")
+public class SdTeBH implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ private String stnm;
+
+ private String sttp;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ private BigDecimal lgtd;
+
+ private BigDecimal lttd;
+
+ private BigDecimal elev;
+
+ private String stlc;
+
+ private Integer usfl;
+
+ private Integer dtin;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("DTIN_TM")
+ private Date dtinTm;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ private String rstcd;
+
+ @TableField("BASE_ID")
+ private String baseId;
+
+ private String hbrvcd;
+
+ private String rvcd;
+
+ private String addvcd;
+
+ @TableField("STDSDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date stdsdt;
+
+ @TableField("PSTSTDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pststdt;
+
+ @TableField("PESSTDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pesstdt;
+
+ @TableField("SWDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ @TableField("JCDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ @TableField("WDDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ @TableField("BLDSTT_CODE")
+ private Integer bldsttCode;
+
+ private String introduce;
+
+ private String logo;
+
+ private String inffile;
+
+ private BigDecimal inv;
+
+ private Integer invinmn;
+
+ private String dtfrqcy;
+
+ private String remark;
+
+ private BigDecimal vlsr;
+
+ @TableField("VLSR_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVaBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVaBH.java
new file mode 100644
index 00000000..2a22b642
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVaBH.java
@@ -0,0 +1,136 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("SD_VA_B_H")
+public class SdVaBH implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ private String stnm;
+
+ private String sttp;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ private Integer blprd;
+
+ private BigDecimal lgtd;
+
+ private BigDecimal lttd;
+
+ private BigDecimal elev;
+
+ private String stlc;
+
+ private Integer usfl;
+
+ private Integer dtin;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("DTIN_TM")
+ private Date dtinTm;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ private String rstcd;
+
+ @TableField("BASE_ID")
+ private String baseId;
+
+ private String hbrvcd;
+
+ private String rstcdmap;
+
+ @TableField("STDSDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date stdsdt;
+
+ @TableField("PSTSTDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pststdt;
+
+ @TableField("PESSTDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pesstdt;
+
+ @TableField("SWDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ @TableField("JCDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ @TableField("WDDT")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ @TableField("BLDSTT_CODE")
+ private Integer bldsttCode;
+
+ private String introduce;
+
+ private String logo;
+
+ private String inffile;
+
+ private BigDecimal inv;
+
+ private BigDecimal area;
+
+ private String place;
+
+ private String bhfs;
+
+ private String bhyy;
+
+ private String bhdx;
+
+ private String bhdxlb;
+
+ private String dtfrqcy;
+
+ private String remark;
+
+ private BigDecimal vlsr;
+
+ @TableField("VLSR_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+
+ @TableField("RECORD_USER")
+ private String recordUser;
+
+ @TableField("RECORD_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ @TableField("MODIFY_USER")
+ private String modifyUser;
+
+ @TableField("MODIFY_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ @TableField("IS_DELETED")
+ private Integer isDeleted;
+
+ @TableField("DELETE_USER")
+ private String deleteUser;
+
+ @TableField("DELETE_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVdinfoB.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVdinfoB.java
new file mode 100644
index 00000000..201f6a8e
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVdinfoB.java
@@ -0,0 +1,179 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("SD_VDINFO_B")
+public class SdVdinfoB implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ private String stnm;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ private String mntp;
+
+ private String sttp;
+
+ private BigDecimal lgtd;
+
+ private BigDecimal lttd;
+
+ private BigDecimal elev;
+
+ private String stlc;
+
+ private String stindx;
+
+ private String description;
+
+ private String rstcd;
+
+ private String cstcd;
+
+ private String rvcd;
+
+ private String addvcd;
+
+ private String hycd;
+
+ @TableField("BASE_ID")
+ private String baseId;
+
+ private String hbrvcd;
+
+ private String fhstcd;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ @TableField("BLDSTT_CODE")
+ private Integer bldsttCode;
+
+ private Integer usfl;
+
+ private Integer dtin;
+
+ @TableField("DTIN_SRC")
+ private String dtinSrc;
+
+ @TableField("DTIN_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date dtinTm;
+
+ @TableField("DEVICE_INFO")
+ private String deviceInfo;
+
+ @TableField("ACCESS_WAY")
+ private String accessWay;
+
+ @TableField("DEVICE_SERIAL")
+ private String deviceSerial;
+
+ @TableField("CHANNEL_NO")
+ private String channelNo;
+
+ @TableField("CHANNEL_NAME")
+ private String channelName;
+
+ private String gbchannel;
+
+ private String protocol;
+
+ private String quality;
+
+ private String transmode;
+
+ @TableField("IS_VD_CONTROL")
+ private Integer isVdControl;
+
+ @TableField("CONTROL_MODE")
+ private String controlMode;
+
+ private String url;
+
+ @TableField("INTRANET_URL")
+ private String intranetUrl;
+
+ private String vduser;
+
+ private String vdpwd;
+
+ @TableField("STORAGE_WAY")
+ private String storageWay;
+
+ private String frequency;
+
+ @TableField("CUT_TIME")
+ private String cutTime;
+
+ @TableField("FRAME_RATE")
+ private String frameRate;
+
+ @TableField("TS_DURATION")
+ private String tsDuration;
+
+ @TableField("OCR_WAY")
+ private String ocrWay;
+
+ private String eqreviewm;
+
+ private Integer jwupdate;
+
+ @TableField("AI_ENABLED")
+ private Integer aiEnabled;
+
+ @TableField("AI_FREQUENCY")
+ private String aiFrequency;
+
+ @TableField("AI_EXT_CODE")
+ private String aiExtCode;
+
+ @TableField("AI_EXT_NAME")
+ private String aiExtName;
+
+ @TableField("LIVE_ADDRESS")
+ private String liveAddress;
+
+ private Integer vdhisday;
+
+ @TableField("DELAY_TIME")
+ private String delayTime;
+
+ @TableField("DELAY_NUM")
+ private Integer delayNum;
+
+ private String project;
+
+ private String dtfrqcy;
+
+ private String remark;
+
+ private BigDecimal vlsr;
+
+ @TableField("VLSR_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+
+ @TableField("WARN_STATE")
+ private String warnState;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVpBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVpBH.java
new file mode 100644
index 00000000..97913f9b
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVpBH.java
@@ -0,0 +1,135 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("SD_VP_B_H")
+public class SdVpBH implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ private String stnm;
+
+ private String sttp;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ private Integer blprd;
+
+ private BigDecimal lgtd;
+
+ private BigDecimal lttd;
+
+ private BigDecimal elev;
+
+ private String stlc;
+
+ private Integer usfl;
+
+ private Integer dtin;
+
+ @TableField("DTIN_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date dtinTm;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ private String rstcd;
+
+ @TableField("BASE_ID")
+ private String baseId;
+
+ private String hbrvcd;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date stdsdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pststdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pesstdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ @TableField("BLDSTT_CODE")
+ private Integer bldsttCode;
+
+ private String introduce;
+
+ private String logo;
+
+ private String inffile;
+
+ private BigDecimal inv;
+
+ private Integer aptl;
+
+ private BigDecimal area;
+
+ private String place;
+
+ private String bhdx;
+
+ private String bhdxlb;
+
+ private String bhfs;
+
+ private String bhyy;
+
+ private Integer iscaec;
+
+ private String dtfrqcy;
+
+ private String remark;
+
+ private BigDecimal vlsr;
+
+ @TableField("VLSR_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+
+ @TableField("RECORD_USER")
+ private String recordUser;
+
+ @TableField("RECORD_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ @TableField("MODIFY_USER")
+ private String modifyUser;
+
+ @TableField("MODIFY_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ @TableField("IS_DELETED")
+ private Integer isDeleted;
+
+ @TableField("DELETE_USER")
+ private String deleteUser;
+
+ @TableField("DELETE_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWeBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWeBH.java
new file mode 100644
index 00000000..01e0795f
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWeBH.java
@@ -0,0 +1,99 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("SD_WE_B_H")
+public class SdWeBH implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ private String stnm;
+
+ private String sttp;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ private BigDecimal lgtd;
+
+ private BigDecimal lttd;
+
+ private BigDecimal elev;
+
+ private String stlc;
+
+ private Integer usfl;
+
+ private Integer dtin;
+
+ @TableField("DTIN_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date dtinTm;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ private String rstcd;
+
+ @TableField("BASE_ID")
+ private String baseId;
+
+ private String hbrvcd;
+
+ private String rvcd;
+
+ private String addvcd;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date stdsdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pststdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date pesstdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date swdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ @TableField("BLDSTT_CODE")
+ private Integer bldsttCode;
+
+ private String introduce;
+
+ private String logo;
+
+ private String inffile;
+
+ private BigDecimal inv;
+
+ private Integer invinmn;
+
+ private String dtfrqcy;
+
+ private String remark;
+
+ private BigDecimal vlsr;
+
+ @TableField("VLSR_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWqBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWqBH.java
new file mode 100644
index 00000000..43acd821
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWqBH.java
@@ -0,0 +1,124 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("SD_WQ_B_H")
+public class SdWqBH implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ private String stnm;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ private String sttp;
+
+ private BigDecimal lgtd;
+
+ private BigDecimal lttd;
+
+ private BigDecimal elev;
+
+ private String stlc;
+
+ private String wwqtg;
+
+ private String wqtype;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ @TableField("BLDSTT_CODE")
+ private Integer bldsttCode;
+
+ private String introduce;
+
+ private String logo;
+
+ private String inffile;
+
+ private Integer usfl;
+
+ private Integer dtin;
+
+ @TableField("DTIN_SRC")
+ private String dtinSrc;
+
+ @TableField("DTIN_TYPE")
+ private Integer dtinType;
+
+ @TableField("DTIN_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date dtinTm;
+
+ private Integer mway;
+
+ private String stindx;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ private String rstcd;
+
+ @TableField("BASE_ID")
+ private String baseId;
+
+ private String hbrvcd;
+
+ private String fhstcd;
+
+ private Integer ispro;
+
+ private String dtfrqcy;
+
+ private String remark;
+
+ private BigDecimal vlsr;
+
+ @TableField("VLSR_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+
+ @TableField("RECORD_USER")
+ private String recordUser;
+
+ @TableField("RECORD_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ @TableField("MODIFY_USER")
+ private String modifyUser;
+
+ @TableField("MODIFY_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ @TableField("IS_DELETED")
+ private Integer isDeleted;
+
+ @TableField("DELETE_USER")
+ private String deleteUser;
+
+ @TableField("DELETE_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+
+ @TableField("WARN_STATE")
+ private String warnState;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWtBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWtBH.java
new file mode 100644
index 00000000..4dcad49f
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWtBH.java
@@ -0,0 +1,150 @@
+package com.yfd.platform.qgc_base.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("SD_WT_B_H")
+public class SdWtBH implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.INPUT)
+ private String stcd;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date tm;
+
+ private String stnm;
+
+ private String sttp;
+
+ private BigDecimal lgtd;
+
+ private BigDecimal lttd;
+
+ private BigDecimal elev;
+
+ private String stlc;
+
+ private String stsr;
+
+ @TableField("WT_DEVICE_TYPE")
+ private Integer wtDeviceType;
+
+ @TableField("WT_TYPE")
+ private String wtType;
+
+ private String wts;
+
+ @TableField("WT_HGT_TYPE")
+ private Integer wtHgtType;
+
+ @TableField("WT_FIRST_HGT")
+ private BigDecimal wtFirstHgt;
+
+ @TableField("WT_DIST")
+ private String wtDist;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date jcdt;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date wddt;
+
+ @TableField("BLDSTT_CODE")
+ private Integer bldsttCode;
+
+ private BigDecimal inv;
+
+ private Integer invinmn;
+
+ private String introduce;
+
+ private String logo;
+
+ private String inffile;
+
+ private Integer usfl;
+
+ private Integer dtin;
+
+ @TableField("DTIN_SRC")
+ private String dtinSrc;
+
+ @TableField("DTIN_TYPE")
+ private Integer dtinType;
+
+ @TableField("DTIN_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date dtinTm;
+
+ private Integer mway;
+
+ private String stindx;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ private String dmstcd;
+
+ private String rstcd;
+
+ private String fhstcd;
+
+ private Integer ispro;
+
+ private String project;
+
+ private String dtfrqcy;
+
+ private String remark;
+
+ private BigDecimal vlsr;
+
+ @TableField("VLSR_TM")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date vlsrTm;
+
+ @TableField("RECORD_USER")
+ private String recordUser;
+
+ @TableField("RECORD_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ @TableField("MODIFY_USER")
+ private String modifyUser;
+
+ @TableField("MODIFY_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ @TableField("IS_DELETED")
+ private Integer isDeleted;
+
+ @TableField("DELETE_USER")
+ private String deleteUser;
+
+ @TableField("DELETE_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+
+ @TableField("BASE_ID")
+ private String baseId;
+
+ private String hbrvcd;
+
+ @TableField("WARN_STATE")
+ private String warnState;
+
+ @TableField("IS_PUSH")
+ private Integer isPush;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdAiboxBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdAiboxBHMapper.java
new file mode 100644
index 00000000..c3906e84
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdAiboxBHMapper.java
@@ -0,0 +1,13 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdAiboxBH;
+
+/**
+ *
+ * AI边缘计算盒子基本属性表 Mapper 接口
+ *
+ */
+public interface SdAiboxBHMapper extends BaseMapper {
+
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdArtsgBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdArtsgBHMapper.java
new file mode 100644
index 00000000..d095091d
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdArtsgBHMapper.java
@@ -0,0 +1,13 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdArtsgBH;
+
+/**
+ *
+ * 人工产卵场工程信息表 Mapper 接口
+ *
+ */
+public interface SdArtsgBHMapper extends BaseMapper {
+
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdDwBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdDwBHMapper.java
new file mode 100644
index 00000000..534c5dd5
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdDwBHMapper.java
@@ -0,0 +1,13 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdDwBH;
+
+/**
+ *
+ * 低温水减缓设施信息表 Mapper 接口
+ *
+ */
+public interface SdDwBHMapper extends BaseMapper {
+
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdEqBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdEqBHMapper.java
new file mode 100644
index 00000000..c019ae00
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdEqBHMapper.java
@@ -0,0 +1,13 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdEqBH;
+
+/**
+ *
+ * 生态流量泄放设施信息表 Mapper 接口
+ *
+ */
+public interface SdEqBHMapper extends BaseMapper {
+
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFbrdBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFbrdBHMapper.java
new file mode 100644
index 00000000..841098dc
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFbrdBHMapper.java
@@ -0,0 +1,13 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdFbrdBH;
+
+/**
+ *
+ * 鱼类增殖设施保护工程信息表 Mapper 接口
+ *
+ */
+public interface SdFbrdBHMapper extends BaseMapper {
+
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFhbtBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFhbtBHMapper.java
new file mode 100644
index 00000000..8122b2f1
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdFhbtBHMapper.java
@@ -0,0 +1,13 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdFhbtBH;
+
+/**
+ *
+ * 栖息地保护工程信息表 Mapper 接口
+ *
+ */
+public interface SdFhbtBHMapper extends BaseMapper {
+
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOpinfoBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOpinfoBHMapper.java
new file mode 100644
index 00000000..19611176
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOpinfoBHMapper.java
@@ -0,0 +1,7 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdOpinfoBH;
+
+public interface SdOpinfoBHMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOtteBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOtteBHMapper.java
new file mode 100644
index 00000000..80904d11
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOtteBHMapper.java
@@ -0,0 +1,7 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdOtteBH;
+
+public interface SdOtteBHMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOtweBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOtweBHMapper.java
new file mode 100644
index 00000000..a6248676
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdOtweBHMapper.java
@@ -0,0 +1,7 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdOtweBH;
+
+public interface SdOtweBHMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdSonarBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdSonarBHMapper.java
new file mode 100644
index 00000000..197bf37f
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdSonarBHMapper.java
@@ -0,0 +1,7 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdSonarBH;
+
+public interface SdSonarBHMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdTeBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdTeBHMapper.java
new file mode 100644
index 00000000..e04fa61a
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdTeBHMapper.java
@@ -0,0 +1,7 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdTeBH;
+
+public interface SdTeBHMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVaBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVaBHMapper.java
new file mode 100644
index 00000000..29a32bbd
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVaBHMapper.java
@@ -0,0 +1,7 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdVaBH;
+
+public interface SdVaBHMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVdinfoBMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVdinfoBMapper.java
new file mode 100644
index 00000000..9c9c2a41
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVdinfoBMapper.java
@@ -0,0 +1,9 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdVdinfoB;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SdVdinfoBMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVpBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVpBHMapper.java
new file mode 100644
index 00000000..22f8b59f
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdVpBHMapper.java
@@ -0,0 +1,9 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdVpBH;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SdVpBHMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWeBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWeBHMapper.java
new file mode 100644
index 00000000..2228a21a
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWeBHMapper.java
@@ -0,0 +1,9 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdWeBH;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SdWeBHMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWqBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWqBHMapper.java
new file mode 100644
index 00000000..eea9eb26
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWqBHMapper.java
@@ -0,0 +1,9 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdWqBH;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SdWqBHMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWtBHMapper.java b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWtBHMapper.java
new file mode 100644
index 00000000..659c3679
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/mapper/SdWtBHMapper.java
@@ -0,0 +1,9 @@
+package com.yfd.platform.qgc_base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_base.domain.SdWtBH;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SdWtBHMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/IMsOperationLogService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/IMsOperationLogService.java
index f9edde52..62dd1b07 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/IMsOperationLogService.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/IMsOperationLogService.java
@@ -9,4 +9,13 @@ public interface IMsOperationLogService {
void recordEngUpdateLog(SdEngInfoBH before, SdEngInfoBH changeSet, String source);
void recordEngDeleteLog(SdEngInfoBH engInfo, String source);
+
+ /**
+ * 通用操作日志记录
+ * @param tableName 表名
+ * @param recordId 记录ID(stcd)
+ * @param operation 操作类型(新增/修改/删除)
+ * @param source 操作来源
+ */
+ void recordOperationLog(String tableName, String recordId, String operation, String source);
}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdAiboxBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdAiboxBHService.java
new file mode 100644
index 00000000..0999c581
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdAiboxBHService.java
@@ -0,0 +1,36 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdAiboxBH;
+
+import java.util.List;
+
+/**
+ *
+ * AI边缘计算盒子基本属性表 服务类
+ *
+ */
+public interface ISdAiboxBHService extends IService {
+
+ /**
+ * 分页查询
+ */
+ Page queryPageList(DataSourceRequest request);
+
+ /**
+ * 新增
+ */
+ boolean add(SdAiboxBH entity, String source);
+
+ /**
+ * 修改
+ */
+ boolean update(SdAiboxBH entity, String source);
+
+ /**
+ * 删除
+ */
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdArtsgBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdArtsgBHService.java
new file mode 100644
index 00000000..11a57f77
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdArtsgBHService.java
@@ -0,0 +1,36 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdArtsgBH;
+
+import java.util.List;
+
+/**
+ *
+ * 人工产卵场工程信息表 服务类
+ *
+ */
+public interface ISdArtsgBHService extends IService {
+
+ /**
+ * 分页查询
+ */
+ Page queryPageList(DataSourceRequest request);
+
+ /**
+ * 新增
+ */
+ boolean add(SdArtsgBH entity, String source);
+
+ /**
+ * 修改
+ */
+ boolean update(SdArtsgBH entity, String source);
+
+ /**
+ * 删除
+ */
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdDwBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdDwBHService.java
new file mode 100644
index 00000000..9a793cc2
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdDwBHService.java
@@ -0,0 +1,36 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdDwBH;
+
+import java.util.List;
+
+/**
+ *
+ * 低温水减缓设施信息表 服务类
+ *
+ */
+public interface ISdDwBHService extends IService {
+
+ /**
+ * 分页查询
+ */
+ Page queryPageList(DataSourceRequest request);
+
+ /**
+ * 新增
+ */
+ boolean add(SdDwBH entity, String source);
+
+ /**
+ * 修改
+ */
+ boolean update(SdDwBH entity, String source);
+
+ /**
+ * 删除
+ */
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdEqBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdEqBHService.java
new file mode 100644
index 00000000..8d7f5cc5
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdEqBHService.java
@@ -0,0 +1,36 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdEqBH;
+
+import java.util.List;
+
+/**
+ *
+ * 生态流量泄放设施信息表 服务类
+ *
+ */
+public interface ISdEqBHService extends IService {
+
+ /**
+ * 分页查询
+ */
+ Page queryPageList(DataSourceRequest request);
+
+ /**
+ * 新增
+ */
+ boolean add(SdEqBH entity, String source);
+
+ /**
+ * 修改
+ */
+ boolean update(SdEqBH entity, String source);
+
+ /**
+ * 删除
+ */
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFbrdBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFbrdBHService.java
new file mode 100644
index 00000000..70b074f4
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFbrdBHService.java
@@ -0,0 +1,36 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdFbrdBH;
+
+import java.util.List;
+
+/**
+ *
+ * 鱼类增殖设施保护工程信息表 服务类
+ *
+ */
+public interface ISdFbrdBHService extends IService {
+
+ /**
+ * 分页查询
+ */
+ Page queryPageList(DataSourceRequest request);
+
+ /**
+ * 新增
+ */
+ boolean add(SdFbrdBH entity, String source);
+
+ /**
+ * 修改
+ */
+ boolean update(SdFbrdBH entity, String source);
+
+ /**
+ * 删除
+ */
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFhbtBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFhbtBHService.java
new file mode 100644
index 00000000..118de1c9
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdFhbtBHService.java
@@ -0,0 +1,36 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdFhbtBH;
+
+import java.util.List;
+
+/**
+ *
+ * 栖息地保护工程信息表 服务类
+ *
+ */
+public interface ISdFhbtBHService extends IService {
+
+ /**
+ * 分页查询
+ */
+ Page queryPageList(DataSourceRequest request);
+
+ /**
+ * 新增
+ */
+ boolean add(SdFhbtBH entity, String source);
+
+ /**
+ * 修改
+ */
+ boolean update(SdFhbtBH entity, String source);
+
+ /**
+ * 删除
+ */
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOpinfoBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOpinfoBHService.java
new file mode 100644
index 00000000..cbd0ead2
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOpinfoBHService.java
@@ -0,0 +1,15 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdOpinfoBH;
+
+import java.util.List;
+
+public interface ISdOpinfoBHService extends IService {
+ Page queryPageList(DataSourceRequest request);
+ boolean add(SdOpinfoBH entity, String source);
+ boolean update(SdOpinfoBH entity, String source);
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOtteBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOtteBHService.java
new file mode 100644
index 00000000..09e162aa
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOtteBHService.java
@@ -0,0 +1,15 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdOtteBH;
+
+import java.util.List;
+
+public interface ISdOtteBHService extends IService {
+ Page queryPageList(DataSourceRequest request);
+ boolean add(SdOtteBH entity, String source);
+ boolean update(SdOtteBH entity, String source);
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOtweBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOtweBHService.java
new file mode 100644
index 00000000..6009911c
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdOtweBHService.java
@@ -0,0 +1,15 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdOtweBH;
+
+import java.util.List;
+
+public interface ISdOtweBHService extends IService {
+ Page queryPageList(DataSourceRequest request);
+ boolean add(SdOtweBH entity, String source);
+ boolean update(SdOtweBH entity, String source);
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdSonarBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdSonarBHService.java
new file mode 100644
index 00000000..4ebbe192
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdSonarBHService.java
@@ -0,0 +1,15 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdSonarBH;
+
+import java.util.List;
+
+public interface ISdSonarBHService extends IService {
+ Page queryPageList(DataSourceRequest request);
+ boolean add(SdSonarBH entity, String source);
+ boolean update(SdSonarBH entity, String source);
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdTeBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdTeBHService.java
new file mode 100644
index 00000000..32beac3c
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdTeBHService.java
@@ -0,0 +1,15 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdTeBH;
+
+import java.util.List;
+
+public interface ISdTeBHService extends IService {
+ Page queryPageList(DataSourceRequest request);
+ boolean add(SdTeBH entity, String source);
+ boolean update(SdTeBH entity, String source);
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVaBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVaBHService.java
new file mode 100644
index 00000000..334768f5
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVaBHService.java
@@ -0,0 +1,15 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdVaBH;
+
+import java.util.List;
+
+public interface ISdVaBHService extends IService {
+ Page queryPageList(DataSourceRequest request);
+ boolean add(SdVaBH entity, String source);
+ boolean update(SdVaBH entity, String source);
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVdinfoBService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVdinfoBService.java
new file mode 100644
index 00000000..10513b62
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVdinfoBService.java
@@ -0,0 +1,15 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdVdinfoB;
+
+import java.util.List;
+
+public interface ISdVdinfoBService extends IService {
+ Page queryPageList(DataSourceRequest request);
+ boolean add(SdVdinfoB entity, String source);
+ boolean update(SdVdinfoB entity, String source);
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVpBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVpBHService.java
new file mode 100644
index 00000000..b0f81587
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdVpBHService.java
@@ -0,0 +1,15 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdVpBH;
+
+import java.util.List;
+
+public interface ISdVpBHService extends IService {
+ Page queryPageList(DataSourceRequest request);
+ boolean add(SdVpBH entity, String source);
+ boolean update(SdVpBH entity, String source);
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWeBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWeBHService.java
new file mode 100644
index 00000000..252776cd
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWeBHService.java
@@ -0,0 +1,15 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdWeBH;
+
+import java.util.List;
+
+public interface ISdWeBHService extends IService {
+ Page queryPageList(DataSourceRequest request);
+ boolean add(SdWeBH entity, String source);
+ boolean update(SdWeBH entity, String source);
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWqBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWqBHService.java
new file mode 100644
index 00000000..4576c188
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWqBHService.java
@@ -0,0 +1,15 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdWqBH;
+
+import java.util.List;
+
+public interface ISdWqBHService extends IService {
+ Page queryPageList(DataSourceRequest request);
+ boolean add(SdWqBH entity, String source);
+ boolean update(SdWqBH entity, String source);
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWtBHService.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWtBHService.java
new file mode 100644
index 00000000..6d4fe773
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/ISdWtBHService.java
@@ -0,0 +1,15 @@
+package com.yfd.platform.qgc_base.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdWtBH;
+
+import java.util.List;
+
+public interface ISdWtBHService extends IService {
+ Page queryPageList(DataSourceRequest request);
+ boolean add(SdWtBH entity, String source);
+ boolean update(SdWtBH entity, String source);
+ boolean delete(List stcds, String source);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/MsOperationLogServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/MsOperationLogServiceImpl.java
index a915ff1d..b10e282b 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/MsOperationLogServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/MsOperationLogServiceImpl.java
@@ -379,16 +379,26 @@ public class MsOperationLogServiceImpl implements IMsOperationLogService {
}
private MsOperationLog buildMainLog(String recordId,String remark, String source) {
+ return buildMainLog(ENG_TABLE_NAME, recordId, remark, source);
+ }
+
+ private MsOperationLog buildMainLog(String tableName, String recordId, String remark, String source) {
MsOperationLog log = new MsOperationLog();
log.setOperator(resolveOperator());
log.setOperateTime(new Date());
- log.setTableName(ENG_TABLE_NAME);
+ log.setTableName(tableName);
log.setRecordId(recordId);
log.setSource(StrUtil.trimToNull(source));
log.setRemark(remark);
return log;
}
+ @Override
+ public void recordOperationLog(String tableName, String recordId, String operation, String source) {
+ MsOperationLog log = buildMainLog(tableName, recordId, operation, source);
+ msOperationLogMapper.insert(log);
+ }
+
private MsOperationLogDetail buildDetail(String mainId,
String stationCode,
String fieldCode,
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdAiboxBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdAiboxBHServiceImpl.java
new file mode 100644
index 00000000..fd43b02a
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdAiboxBHServiceImpl.java
@@ -0,0 +1,72 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdAiboxBH;
+import com.yfd.platform.qgc_base.mapper.SdAiboxBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdAiboxBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.SecurityUtils;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class SdAiboxBHServiceImpl extends ServiceImpl implements ISdAiboxBHService {
+
+ private static final String TABLE_NAME = "SD_AIBOX_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdAiboxBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdAiboxBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdAiboxBH entity, String source) {
+ SdAiboxBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(SdAiboxBH::getStcd, stcd);
+ wrapper.set(SdAiboxBH::getIsDeleted, 1);
+ wrapper.set(SdAiboxBH::getDeleteUser, SecurityUtils.getCurrentUsername());
+ wrapper.set(SdAiboxBH::getDeleteTime, new Date());
+ if (this.update(wrapper)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdArtsgBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdArtsgBHServiceImpl.java
new file mode 100644
index 00000000..5c73425b
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdArtsgBHServiceImpl.java
@@ -0,0 +1,64 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdArtsgBH;
+import com.yfd.platform.qgc_base.mapper.SdArtsgBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdArtsgBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+public class SdArtsgBHServiceImpl extends ServiceImpl implements ISdArtsgBHService {
+
+ private static final String TABLE_NAME = "SD_ARTSG_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdArtsgBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdArtsgBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdArtsgBH entity, String source) {
+ SdArtsgBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ if (this.removeById(stcd)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdDwBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdDwBHServiceImpl.java
new file mode 100644
index 00000000..5c7e8799
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdDwBHServiceImpl.java
@@ -0,0 +1,72 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdDwBH;
+import com.yfd.platform.qgc_base.mapper.SdDwBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdDwBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.SecurityUtils;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class SdDwBHServiceImpl extends ServiceImpl implements ISdDwBHService {
+
+ private static final String TABLE_NAME = "SD_DW_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdDwBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdDwBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdDwBH entity, String source) {
+ SdDwBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(SdDwBH::getStcd, stcd);
+ wrapper.set(SdDwBH::getIsDeleted, 1);
+ wrapper.set(SdDwBH::getDeleteUser, SecurityUtils.getCurrentUsername());
+ wrapper.set(SdDwBH::getDeleteTime, new Date());
+ if (this.update(wrapper)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEqBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEqBHServiceImpl.java
new file mode 100644
index 00000000..5b1ec0b4
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEqBHServiceImpl.java
@@ -0,0 +1,72 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdEqBH;
+import com.yfd.platform.qgc_base.mapper.SdEqBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdEqBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.SecurityUtils;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class SdEqBHServiceImpl extends ServiceImpl implements ISdEqBHService {
+
+ private static final String TABLE_NAME = "SD_EQ_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdEqBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdEqBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdEqBH entity, String source) {
+ SdEqBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(SdEqBH::getStcd, stcd);
+ wrapper.set(SdEqBH::getIsDeleted, 1);
+ wrapper.set(SdEqBH::getDeleteUser, SecurityUtils.getCurrentUsername());
+ wrapper.set(SdEqBH::getDeleteTime, new Date());
+ if (this.update(wrapper)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFbrdBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFbrdBHServiceImpl.java
new file mode 100644
index 00000000..e6027445
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFbrdBHServiceImpl.java
@@ -0,0 +1,64 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdFbrdBH;
+import com.yfd.platform.qgc_base.mapper.SdFbrdBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdFbrdBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+public class SdFbrdBHServiceImpl extends ServiceImpl implements ISdFbrdBHService {
+
+ private static final String TABLE_NAME = "SD_FBRD_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdFbrdBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdFbrdBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdFbrdBH entity, String source) {
+ SdFbrdBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ if (this.removeById(stcd)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFhbtBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFhbtBHServiceImpl.java
new file mode 100644
index 00000000..b22d1ee9
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFhbtBHServiceImpl.java
@@ -0,0 +1,72 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdFhbtBH;
+import com.yfd.platform.qgc_base.mapper.SdFhbtBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdFhbtBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.SecurityUtils;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class SdFhbtBHServiceImpl extends ServiceImpl implements ISdFhbtBHService {
+
+ private static final String TABLE_NAME = "SD_FHBT_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdFhbtBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdFhbtBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdFhbtBH entity, String source) {
+ SdFhbtBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(SdFhbtBH::getStcd, stcd);
+ wrapper.set(SdFhbtBH::getIsDeleted, 1);
+ wrapper.set(SdFhbtBH::getDeleteUser, SecurityUtils.getCurrentUsername());
+ wrapper.set(SdFhbtBH::getDeleteTime, new Date());
+ if (this.update(wrapper)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOpinfoBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOpinfoBHServiceImpl.java
new file mode 100644
index 00000000..3ccad258
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOpinfoBHServiceImpl.java
@@ -0,0 +1,72 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdOpinfoBH;
+import com.yfd.platform.qgc_base.mapper.SdOpinfoBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdOpinfoBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.SecurityUtils;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class SdOpinfoBHServiceImpl extends ServiceImpl implements ISdOpinfoBHService {
+
+ private static final String TABLE_NAME = "SD_OPINFO_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdOpinfoBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdOpinfoBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdOpinfoBH entity, String source) {
+ SdOpinfoBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(SdOpinfoBH::getStcd, stcd);
+ wrapper.set(SdOpinfoBH::getIsDeleted, 1);
+ wrapper.set(SdOpinfoBH::getDeleteUser, SecurityUtils.getCurrentUsername());
+ wrapper.set(SdOpinfoBH::getDeleteTime, new Date());
+ if (this.update(wrapper)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtteBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtteBHServiceImpl.java
new file mode 100644
index 00000000..1499673b
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtteBHServiceImpl.java
@@ -0,0 +1,64 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdOtteBH;
+import com.yfd.platform.qgc_base.mapper.SdOtteBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdOtteBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+public class SdOtteBHServiceImpl extends ServiceImpl implements ISdOtteBHService {
+
+ private static final String TABLE_NAME = "SD_OTTE_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdOtteBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdOtteBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdOtteBH entity, String source) {
+ SdOtteBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ if (this.removeById(stcd)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtweBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtweBHServiceImpl.java
new file mode 100644
index 00000000..0b89a0b2
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtweBHServiceImpl.java
@@ -0,0 +1,64 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdOtweBH;
+import com.yfd.platform.qgc_base.mapper.SdOtweBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdOtweBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+public class SdOtweBHServiceImpl extends ServiceImpl implements ISdOtweBHService {
+
+ private static final String TABLE_NAME = "SD_OTWE_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdOtweBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdOtweBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdOtweBH entity, String source) {
+ SdOtweBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ if (this.removeById(stcd)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdSonarBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdSonarBHServiceImpl.java
new file mode 100644
index 00000000..4a535f49
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdSonarBHServiceImpl.java
@@ -0,0 +1,72 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdSonarBH;
+import com.yfd.platform.qgc_base.mapper.SdSonarBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdSonarBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.SecurityUtils;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class SdSonarBHServiceImpl extends ServiceImpl implements ISdSonarBHService {
+
+ private static final String TABLE_NAME = "SD_SONAR_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdSonarBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdSonarBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdSonarBH entity, String source) {
+ SdSonarBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(SdSonarBH::getStcd, stcd);
+ wrapper.set(SdSonarBH::getIsDeleted, 1);
+ wrapper.set(SdSonarBH::getDeleteUser, SecurityUtils.getCurrentUsername());
+ wrapper.set(SdSonarBH::getDeleteTime, new Date());
+ if (this.update(wrapper)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdTeBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdTeBHServiceImpl.java
new file mode 100644
index 00000000..bd2e9767
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdTeBHServiceImpl.java
@@ -0,0 +1,64 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdTeBH;
+import com.yfd.platform.qgc_base.mapper.SdTeBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdTeBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+public class SdTeBHServiceImpl extends ServiceImpl implements ISdTeBHService {
+
+ private static final String TABLE_NAME = "SD_TE_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdTeBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdTeBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdTeBH entity, String source) {
+ SdTeBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ if (this.removeById(stcd)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVaBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVaBHServiceImpl.java
new file mode 100644
index 00000000..ac272e4b
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVaBHServiceImpl.java
@@ -0,0 +1,72 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdVaBH;
+import com.yfd.platform.qgc_base.mapper.SdVaBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdVaBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.SecurityUtils;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class SdVaBHServiceImpl extends ServiceImpl implements ISdVaBHService {
+
+ private static final String TABLE_NAME = "SD_VA_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdVaBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdVaBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdVaBH entity, String source) {
+ SdVaBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(SdVaBH::getStcd, stcd);
+ wrapper.set(SdVaBH::getIsDeleted, 1);
+ wrapper.set(SdVaBH::getDeleteUser, SecurityUtils.getCurrentUsername());
+ wrapper.set(SdVaBH::getDeleteTime, new Date());
+ if (this.update(wrapper)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVdinfoBServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVdinfoBServiceImpl.java
new file mode 100644
index 00000000..52bbbad3
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVdinfoBServiceImpl.java
@@ -0,0 +1,64 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdVdinfoB;
+import com.yfd.platform.qgc_base.mapper.SdVdinfoBMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdVdinfoBService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+public class SdVdinfoBServiceImpl extends ServiceImpl implements ISdVdinfoBService {
+
+ private static final String TABLE_NAME = "SD_VDINFO_B";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdVdinfoB.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdVdinfoB entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdVdinfoB entity, String source) {
+ SdVdinfoB before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ if (this.removeById(stcd)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVpBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVpBHServiceImpl.java
new file mode 100644
index 00000000..7038e14d
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVpBHServiceImpl.java
@@ -0,0 +1,72 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdVpBH;
+import com.yfd.platform.qgc_base.mapper.SdVpBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdVpBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.SecurityUtils;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class SdVpBHServiceImpl extends ServiceImpl implements ISdVpBHService {
+
+ private static final String TABLE_NAME = "SD_VP_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdVpBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdVpBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdVpBH entity, String source) {
+ SdVpBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(SdVpBH::getStcd, stcd);
+ wrapper.set(SdVpBH::getIsDeleted, 1);
+ wrapper.set(SdVpBH::getDeleteUser, SecurityUtils.getCurrentUsername());
+ wrapper.set(SdVpBH::getDeleteTime, new Date());
+ if (this.update(wrapper)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWeBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWeBHServiceImpl.java
new file mode 100644
index 00000000..5825e303
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWeBHServiceImpl.java
@@ -0,0 +1,64 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdWeBH;
+import com.yfd.platform.qgc_base.mapper.SdWeBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdWeBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+public class SdWeBHServiceImpl extends ServiceImpl implements ISdWeBHService {
+
+ private static final String TABLE_NAME = "SD_WE_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdWeBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdWeBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdWeBH entity, String source) {
+ SdWeBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ if (this.removeById(stcd)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWqBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWqBHServiceImpl.java
new file mode 100644
index 00000000..2f1a9d1b
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWqBHServiceImpl.java
@@ -0,0 +1,72 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdWqBH;
+import com.yfd.platform.qgc_base.mapper.SdWqBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdWqBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.SecurityUtils;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class SdWqBHServiceImpl extends ServiceImpl implements ISdWqBHService {
+
+ private static final String TABLE_NAME = "SD_WQ_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdWqBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdWqBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdWqBH entity, String source) {
+ SdWqBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(SdWqBH::getStcd, stcd);
+ wrapper.set(SdWqBH::getIsDeleted, 1);
+ wrapper.set(SdWqBH::getDeleteUser, SecurityUtils.getCurrentUsername());
+ wrapper.set(SdWqBH::getDeleteTime, new Date());
+ if (this.update(wrapper)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWtBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWtBHServiceImpl.java
new file mode 100644
index 00000000..42f4d7e8
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWtBHServiceImpl.java
@@ -0,0 +1,72 @@
+package com.yfd.platform.qgc_base.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yfd.platform.common.DataSourceRequest;
+import com.yfd.platform.qgc_base.domain.SdWtBH;
+import com.yfd.platform.qgc_base.mapper.SdWtBHMapper;
+import com.yfd.platform.qgc_base.service.IMsOperationLogService;
+import com.yfd.platform.qgc_base.service.ISdWtBHService;
+import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.SecurityUtils;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class SdWtBHServiceImpl extends ServiceImpl implements ISdWtBHService {
+
+ private static final String TABLE_NAME = "SD_WT_B_H";
+
+ @Resource
+ private IMsOperationLogService msOperationLogService;
+
+ @Override
+ public Page queryPageList(DataSourceRequest request) {
+ return DataSourceRequestUtil.executeQuery(request, SdWtBH.class, this);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean add(SdWtBH entity, String source) {
+ boolean result = this.save(entity);
+ if (result) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "新增", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean update(SdWtBH entity, String source) {
+ SdWtBH before = this.getById(entity.getStcd());
+ boolean result = this.updateById(entity);
+ if (result && before != null) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, entity.getStcd(), "修改", source);
+ }
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean delete(List stcds, String source) {
+ if (stcds == null || stcds.isEmpty()) return false;
+ int count = 0;
+ for (String stcd : stcds) {
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(SdWtBH::getStcd, stcd);
+ wrapper.set(SdWtBH::getIsDeleted, 1);
+ wrapper.set(SdWtBH::getDeleteUser, SecurityUtils.getCurrentUsername());
+ wrapper.set(SdWtBH::getDeleteTime, new Date());
+ if (this.update(wrapper)) {
+ msOperationLogService.recordOperationLog(TABLE_NAME, stcd, "删除", source);
+ count++;
+ }
+ }
+ return count > 0;
+ }
+}
From c9ff984bd570ce295f7d7210f4c47df99df3903b Mon Sep 17 00:00:00 2001
From: tangwei
Date: Mon, 20 Jul 2026 14:50:46 +0800
Subject: [PATCH 03/20] =?UTF-8?q?fix:=20=E7=AB=99=E7=82=B9=E5=9F=BA?=
=?UTF-8?q?=E7=A1=80=E4=BF=A1=E6=81=AF=E6=A8=A1=E5=9D=97=E5=8A=9F=E8=83=BD?=
=?UTF-8?q?=E5=AD=97=E5=85=B8=E6=9F=A5=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../platform/qgc_base/domain/SdAiboxBH.java | 15 +++++++
.../platform/qgc_base/domain/SdArtsgBH.java | 11 ++++++
.../yfd/platform/qgc_base/domain/SdDwBH.java | 12 ++++++
.../yfd/platform/qgc_base/domain/SdEqBH.java | 12 ++++++
.../platform/qgc_base/domain/SdFbrdBH.java | 12 ++++++
.../platform/qgc_base/domain/SdFhbtBH.java | 6 +++
.../platform/qgc_base/domain/SdOpinfoBH.java | 12 ++++++
.../platform/qgc_base/domain/SdOtteBH.java | 12 ++++++
.../platform/qgc_base/domain/SdOtweBH.java | 12 ++++++
.../platform/qgc_base/domain/SdSonarBH.java | 15 +++++++
.../yfd/platform/qgc_base/domain/SdTeBH.java | 12 ++++++
.../yfd/platform/qgc_base/domain/SdVaBH.java | 11 ++++++
.../platform/qgc_base/domain/SdVdinfoB.java | 12 ++++++
.../yfd/platform/qgc_base/domain/SdVpBH.java | 13 +++++++
.../yfd/platform/qgc_base/domain/SdWeBH.java | 12 ++++++
.../yfd/platform/qgc_base/domain/SdWqBH.java | 18 +++++++++
.../yfd/platform/qgc_base/domain/SdWtBH.java | 18 +++++++++
.../service/impl/SdAiboxBHServiceImpl.java | 36 ++++++++++++++++-
.../service/impl/SdArtsgBHServiceImpl.java | 35 ++++++++++++++++-
.../service/impl/SdDwBHServiceImpl.java | 35 ++++++++++++++++-
.../service/impl/SdEqBHServiceImpl.java | 35 ++++++++++++++++-
.../service/impl/SdFbrdBHServiceImpl.java | 35 ++++++++++++++++-
.../service/impl/SdFhbtBHServiceImpl.java | 35 ++++++++++++++++-
.../service/impl/SdOpinfoBHServiceImpl.java | 35 ++++++++++++++++-
.../service/impl/SdOtteBHServiceImpl.java | 35 ++++++++++++++++-
.../service/impl/SdOtweBHServiceImpl.java | 34 +++++++++++++++-
.../service/impl/SdSonarBHServiceImpl.java | 35 ++++++++++++++++-
.../service/impl/SdTeBHServiceImpl.java | 34 +++++++++++++++-
.../service/impl/SdVaBHServiceImpl.java | 34 +++++++++++++++-
.../service/impl/SdVdinfoBServiceImpl.java | 34 +++++++++++++++-
.../service/impl/SdVpBHServiceImpl.java | 34 +++++++++++++++-
.../service/impl/SdWeBHServiceImpl.java | 36 ++++++++++++++++-
.../service/impl/SdWqBHServiceImpl.java | 36 ++++++++++++++++-
.../service/impl/SdWtBHServiceImpl.java | 39 ++++++++++++++++++-
34 files changed, 795 insertions(+), 17 deletions(-)
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdAiboxBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdAiboxBH.java
index 919760a2..4a4f8409 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdAiboxBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdAiboxBH.java
@@ -37,6 +37,9 @@ public class SdAiboxBH implements Serializable {
*/
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
/**
* 数据时间
*/
@@ -80,6 +83,9 @@ public class SdAiboxBH implements Serializable {
*/
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
/**
* 是否启用
*/
@@ -90,6 +96,9 @@ public class SdAiboxBH implements Serializable {
*/
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
/**
* 数据接入时间
*/
@@ -101,6 +110,9 @@ public class SdAiboxBH implements Serializable {
*/
private Integer mway;
+ @TableField(exist = false)
+ private String mwayName;
+
/**
* 站索引
*/
@@ -121,6 +133,9 @@ public class SdAiboxBH implements Serializable {
*/
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
/**
* 所属基地流域编码
*/
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdArtsgBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdArtsgBH.java
index 0fdc10a6..ddf3b79c 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdArtsgBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdArtsgBH.java
@@ -37,6 +37,9 @@ public class SdArtsgBH implements Serializable {
*/
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
/**
* 数据时间
*/
@@ -73,6 +76,9 @@ public class SdArtsgBH implements Serializable {
*/
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
/**
* 数据接入时间
*/
@@ -94,6 +100,9 @@ public class SdArtsgBH implements Serializable {
*/
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
/**
* 所属基地流域编码
*/
@@ -150,6 +159,8 @@ public class SdArtsgBH implements Serializable {
*/
private Integer bldsttCode;
+ private String bldsttCodeName;
+
/**
* 简介
*/
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdDwBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdDwBH.java
index a371b55a..e235d033 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdDwBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdDwBH.java
@@ -43,6 +43,9 @@ public class SdDwBH implements Serializable {
*/
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
/**
* 位置经度
*/
@@ -73,6 +76,9 @@ public class SdDwBH implements Serializable {
*/
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
/**
* 数据接入时间
*/
@@ -89,6 +95,9 @@ public class SdDwBH implements Serializable {
*/
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
/**
* 所属基地流域编码
*/
@@ -140,6 +149,9 @@ public class SdDwBH implements Serializable {
*/
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
/**
* 简介
*/
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEqBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEqBH.java
index 615d595a..b57e4ace 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEqBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEqBH.java
@@ -43,6 +43,9 @@ public class SdEqBH implements Serializable {
*/
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
/**
* 所属建设阶段
*/
@@ -78,6 +81,9 @@ public class SdEqBH implements Serializable {
*/
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
/**
* 数据接入时间
*/
@@ -99,6 +105,9 @@ public class SdEqBH implements Serializable {
*/
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
/**
* 所属基地流域编码
*/
@@ -145,6 +154,9 @@ public class SdEqBH implements Serializable {
*/
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
/**
* 简介
*/
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFbrdBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFbrdBH.java
index 5eb9dcc5..71d6acea 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFbrdBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFbrdBH.java
@@ -37,6 +37,9 @@ public class SdFbrdBH implements Serializable {
*/
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
/**
* 数据时间
*/
@@ -78,6 +81,9 @@ public class SdFbrdBH implements Serializable {
*/
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
/**
* 数据接入时间
*/
@@ -99,6 +105,9 @@ public class SdFbrdBH implements Serializable {
*/
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
/**
* 所属基地流域编码
*/
@@ -150,6 +159,9 @@ public class SdFbrdBH implements Serializable {
*/
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
/**
* 简介
*/
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFhbtBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFhbtBH.java
index 01caef6a..c7a7c0a5 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFhbtBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdFhbtBH.java
@@ -73,6 +73,9 @@ public class SdFhbtBH implements Serializable {
*/
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
/**
* 数据接入时间
*/
@@ -94,6 +97,9 @@ public class SdFhbtBH implements Serializable {
*/
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
/**
* 所属基地流域编码
*/
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOpinfoBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOpinfoBH.java
index f4c7f644..56ed36be 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOpinfoBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOpinfoBH.java
@@ -20,6 +20,9 @@ public class SdOpinfoBH implements Serializable {
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date tm;
@@ -37,6 +40,9 @@ public class SdOpinfoBH implements Serializable {
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField("DTIN_TM")
private Date dtinTm;
@@ -49,6 +55,9 @@ public class SdOpinfoBH implements Serializable {
@TableField("BASE_ID")
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
private String hbrvcd;
private String rvcd;
@@ -82,6 +91,9 @@ public class SdOpinfoBH implements Serializable {
@TableField("BLDSTT_CODE")
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
private String introduce;
private String logo;
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtteBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtteBH.java
index 72cdd511..9ada1d4a 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtteBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtteBH.java
@@ -20,6 +20,9 @@ public class SdOtteBH implements Serializable {
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date tm;
@@ -37,6 +40,9 @@ public class SdOtteBH implements Serializable {
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField("DTIN_TM")
private Date dtinTm;
@@ -49,6 +55,9 @@ public class SdOtteBH implements Serializable {
@TableField("BASE_ID")
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
private String hbrvcd;
private String rvcd;
@@ -82,6 +91,9 @@ public class SdOtteBH implements Serializable {
@TableField("BLDSTT_CODE")
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
private String introduce;
private String logo;
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtweBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtweBH.java
index c5aa7e0a..2dc6e874 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtweBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdOtweBH.java
@@ -20,6 +20,9 @@ public class SdOtweBH implements Serializable {
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date tm;
@@ -37,6 +40,9 @@ public class SdOtweBH implements Serializable {
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField("DTIN_TM")
private Date dtinTm;
@@ -49,6 +55,9 @@ public class SdOtweBH implements Serializable {
@TableField("BASE_ID")
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
private String hbrvcd;
private String rvcd;
@@ -82,6 +91,9 @@ public class SdOtweBH implements Serializable {
@TableField("BLDSTT_CODE")
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
private String introduce;
private String logo;
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdSonarBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdSonarBH.java
index 51724149..507a4570 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdSonarBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdSonarBH.java
@@ -22,6 +22,9 @@ public class SdSonarBH implements Serializable {
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date tm;
@@ -44,16 +47,25 @@ public class SdSonarBH implements Serializable {
@TableField("BLDSTT_CODE")
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
private Integer usfl;
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField("DTIN_TM")
private Date dtinTm;
private Integer mway;
+ @TableField(exist = false)
+ private String mwayName;
+
private String stindx;
@TableField("ORDER_INDEX")
@@ -64,6 +76,9 @@ public class SdSonarBH implements Serializable {
@TableField("BASE_ID")
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
private String hbrvcd;
private String rvcd;
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdTeBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdTeBH.java
index 3aafa40d..8b54bd3a 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdTeBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdTeBH.java
@@ -20,6 +20,9 @@ public class SdTeBH implements Serializable {
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date tm;
@@ -35,6 +38,9 @@ public class SdTeBH implements Serializable {
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField("DTIN_TM")
private Date dtinTm;
@@ -47,6 +53,9 @@ public class SdTeBH implements Serializable {
@TableField("BASE_ID")
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
private String hbrvcd;
private String rvcd;
@@ -80,6 +89,9 @@ public class SdTeBH implements Serializable {
@TableField("BLDSTT_CODE")
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
private String introduce;
private String logo;
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVaBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVaBH.java
index 2a22b642..536c56b1 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVaBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVaBH.java
@@ -20,6 +20,9 @@ public class SdVaBH implements Serializable {
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date tm;
@@ -36,6 +39,8 @@ public class SdVaBH implements Serializable {
private Integer usfl;
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField("DTIN_TM")
@@ -49,6 +54,9 @@ public class SdVaBH implements Serializable {
@TableField("BASE_ID")
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
private String hbrvcd;
private String rstcdmap;
@@ -80,6 +88,9 @@ public class SdVaBH implements Serializable {
@TableField("BLDSTT_CODE")
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
private String introduce;
private String logo;
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVdinfoB.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVdinfoB.java
index 201f6a8e..900b68bd 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVdinfoB.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVdinfoB.java
@@ -28,6 +28,9 @@ public class SdVdinfoB implements Serializable {
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
private BigDecimal lgtd;
private BigDecimal lttd;
@@ -53,6 +56,9 @@ public class SdVdinfoB implements Serializable {
@TableField("BASE_ID")
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
private String hbrvcd;
private String fhstcd;
@@ -69,10 +75,16 @@ public class SdVdinfoB implements Serializable {
@TableField("BLDSTT_CODE")
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
private Integer usfl;
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
@TableField("DTIN_SRC")
private String dtinSrc;
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVpBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVpBH.java
index 97913f9b..6e8f9c2b 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVpBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdVpBH.java
@@ -23,6 +23,10 @@ public class SdVpBH implements Serializable {
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date tm;
@@ -40,6 +44,9 @@ public class SdVpBH implements Serializable {
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
@TableField("DTIN_TM")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date dtinTm;
@@ -52,6 +59,9 @@ public class SdVpBH implements Serializable {
@TableField("BASE_ID")
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
private String hbrvcd;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@@ -75,6 +85,9 @@ public class SdVpBH implements Serializable {
@TableField("BLDSTT_CODE")
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
private String introduce;
private String logo;
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWeBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWeBH.java
index 01e0795f..396429f1 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWeBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWeBH.java
@@ -23,6 +23,9 @@ public class SdWeBH implements Serializable {
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date tm;
@@ -38,6 +41,9 @@ public class SdWeBH implements Serializable {
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
@TableField("DTIN_TM")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date dtinTm;
@@ -50,6 +56,9 @@ public class SdWeBH implements Serializable {
@TableField("BASE_ID")
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
private String hbrvcd;
private String rvcd;
@@ -77,6 +86,9 @@ public class SdWeBH implements Serializable {
@TableField("BLDSTT_CODE")
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
private String introduce;
private String logo;
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWqBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWqBH.java
index 43acd821..9f8c3591 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWqBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWqBH.java
@@ -26,6 +26,9 @@ public class SdWqBH implements Serializable {
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
private BigDecimal lgtd;
private BigDecimal lttd;
@@ -47,6 +50,9 @@ public class SdWqBH implements Serializable {
@TableField("BLDSTT_CODE")
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
private String introduce;
private String logo;
@@ -57,18 +63,27 @@ public class SdWqBH implements Serializable {
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
@TableField("DTIN_SRC")
private String dtinSrc;
@TableField("DTIN_TYPE")
private Integer dtinType;
+ @TableField(exist = false)
+ private String dtinTypeName;
+
@TableField("DTIN_TM")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date dtinTm;
private Integer mway;
+ @TableField(exist = false)
+ private Integer mwayName;
+
private String stindx;
@TableField("ORDER_INDEX")
@@ -79,6 +94,9 @@ public class SdWqBH implements Serializable {
@TableField("BASE_ID")
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
private String hbrvcd;
private String fhstcd;
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWtBH.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWtBH.java
index 4dcad49f..07f0be4e 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWtBH.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdWtBH.java
@@ -26,6 +26,9 @@ public class SdWtBH implements Serializable {
private String sttp;
+ @TableField(exist = false)
+ private String sttpName;
+
private BigDecimal lgtd;
private BigDecimal lttd;
@@ -62,6 +65,9 @@ public class SdWtBH implements Serializable {
@TableField("BLDSTT_CODE")
private Integer bldsttCode;
+ @TableField(exist = false)
+ private String bldsttCodeName;
+
private BigDecimal inv;
private Integer invinmn;
@@ -76,18 +82,27 @@ public class SdWtBH implements Serializable {
private Integer dtin;
+ @TableField(exist = false)
+ private String dtinName;
+
@TableField("DTIN_SRC")
private String dtinSrc;
@TableField("DTIN_TYPE")
private Integer dtinType;
+ @TableField(exist = false)
+ private String dtinTypeName;
+
@TableField("DTIN_TM")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date dtinTm;
private Integer mway;
+ @TableField(exist = false)
+ private String mwayName;
+
private String stindx;
@TableField("ORDER_INDEX")
@@ -140,6 +155,9 @@ public class SdWtBH implements Serializable {
@TableField("BASE_ID")
private String baseId;
+ @TableField(exist = false)
+ private String baseName;
+
private String hbrvcd;
@TableField("WARN_STATE")
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdAiboxBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdAiboxBHServiceImpl.java
index fd43b02a..525f718f 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdAiboxBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdAiboxBHServiceImpl.java
@@ -8,12 +8,15 @@ import com.yfd.platform.qgc_base.domain.SdAiboxBH;
import com.yfd.platform.qgc_base.mapper.SdAiboxBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdAiboxBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import com.yfd.platform.utils.SecurityUtils;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -25,9 +28,40 @@ public class SdAiboxBHServiceImpl extends ServiceImpl
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("mway").modifyProperty("mwayName").dictType("STATIC").dictSource("MWAY").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
+
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdAiboxBH.class, this);
+ Page sdAiboxBHPage = DataSourceRequestUtil.executeQuery(request, SdAiboxBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdAiboxBHPage, CODE_TO_NAME_META_LIST);
+ return sdAiboxBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdArtsgBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdArtsgBHServiceImpl.java
index 5c73425b..47f0b135 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdArtsgBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdArtsgBHServiceImpl.java
@@ -7,11 +7,14 @@ import com.yfd.platform.qgc_base.domain.SdArtsgBH;
import com.yfd.platform.qgc_base.mapper.SdArtsgBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdArtsgBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.List;
@Service
@@ -19,12 +22,42 @@ public class SdArtsgBHServiceImpl extends ServiceImpl
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
+
@Resource
private IMsOperationLogService msOperationLogService;
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdArtsgBH.class, this);
+ Page sdArtsgBHPage = DataSourceRequestUtil.executeQuery(request, SdArtsgBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdArtsgBHPage, CODE_TO_NAME_META_LIST);
+ return sdArtsgBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdDwBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdDwBHServiceImpl.java
index 5c7e8799..f2fbe57d 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdDwBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdDwBHServiceImpl.java
@@ -8,12 +8,15 @@ import com.yfd.platform.qgc_base.domain.SdDwBH;
import com.yfd.platform.qgc_base.mapper.SdDwBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdDwBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import com.yfd.platform.utils.SecurityUtils;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -25,9 +28,39 @@ public class SdDwBHServiceImpl extends ServiceImpl impleme
@Resource
private IMsOperationLogService msOperationLogService;
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
+
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdDwBH.class, this);
+ Page sdDwBHPage = DataSourceRequestUtil.executeQuery(request, SdDwBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdDwBHPage, CODE_TO_NAME_META_LIST);
+ return sdDwBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEqBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEqBHServiceImpl.java
index 5b1ec0b4..91e4793e 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEqBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEqBHServiceImpl.java
@@ -8,12 +8,15 @@ import com.yfd.platform.qgc_base.domain.SdEqBH;
import com.yfd.platform.qgc_base.mapper.SdEqBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdEqBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import com.yfd.platform.utils.SecurityUtils;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -25,9 +28,39 @@ public class SdEqBHServiceImpl extends ServiceImpl impleme
@Resource
private IMsOperationLogService msOperationLogService;
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
+
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdEqBH.class, this);
+ Page sdEqBHPage = DataSourceRequestUtil.executeQuery(request, SdEqBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdEqBHPage, CODE_TO_NAME_META_LIST);
+ return sdEqBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFbrdBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFbrdBHServiceImpl.java
index e6027445..fe3134c8 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFbrdBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFbrdBHServiceImpl.java
@@ -7,11 +7,14 @@ import com.yfd.platform.qgc_base.domain.SdFbrdBH;
import com.yfd.platform.qgc_base.mapper.SdFbrdBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdFbrdBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.List;
@Service
@@ -22,9 +25,39 @@ public class SdFbrdBHServiceImpl extends ServiceImpl i
@Resource
private IMsOperationLogService msOperationLogService;
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
+
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdFbrdBH.class, this);
+ Page sdFbrdBHPage = DataSourceRequestUtil.executeQuery(request, SdFbrdBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdFbrdBHPage, CODE_TO_NAME_META_LIST);
+ return sdFbrdBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFhbtBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFhbtBHServiceImpl.java
index b22d1ee9..2d6f26fa 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFhbtBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdFhbtBHServiceImpl.java
@@ -8,12 +8,15 @@ import com.yfd.platform.qgc_base.domain.SdFhbtBH;
import com.yfd.platform.qgc_base.mapper.SdFhbtBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdFhbtBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import com.yfd.platform.utils.SecurityUtils;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -25,9 +28,39 @@ public class SdFhbtBHServiceImpl extends ServiceImpl i
@Resource
private IMsOperationLogService msOperationLogService;
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
+
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdFhbtBH.class, this);
+ Page sdFhbtBHPage = DataSourceRequestUtil.executeQuery(request, SdFhbtBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdFhbtBHPage, CODE_TO_NAME_META_LIST);
+ return sdFhbtBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOpinfoBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOpinfoBHServiceImpl.java
index 3ccad258..fb3e0d02 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOpinfoBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOpinfoBHServiceImpl.java
@@ -8,12 +8,15 @@ import com.yfd.platform.qgc_base.domain.SdOpinfoBH;
import com.yfd.platform.qgc_base.mapper.SdOpinfoBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdOpinfoBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import com.yfd.platform.utils.SecurityUtils;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -25,9 +28,39 @@ public class SdOpinfoBHServiceImpl extends ServiceImpl
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
+
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdOpinfoBH.class, this);
+ Page sdOpinfoBHPage = DataSourceRequestUtil.executeQuery(request, SdOpinfoBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdOpinfoBHPage, CODE_TO_NAME_META_LIST);
+ return sdOpinfoBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtteBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtteBHServiceImpl.java
index 1499673b..14553f59 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtteBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtteBHServiceImpl.java
@@ -7,11 +7,14 @@ import com.yfd.platform.qgc_base.domain.SdOtteBH;
import com.yfd.platform.qgc_base.mapper.SdOtteBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdOtteBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.List;
@Service
@@ -22,9 +25,39 @@ public class SdOtteBHServiceImpl extends ServiceImpl i
@Resource
private IMsOperationLogService msOperationLogService;
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
+
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdOtteBH.class, this);
+ Page sdOtteBHPage = DataSourceRequestUtil.executeQuery(request, SdOtteBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdOtteBHPage, CODE_TO_NAME_META_LIST);
+ return sdOtteBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtweBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtweBHServiceImpl.java
index 0b89a0b2..94deb103 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtweBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdOtweBHServiceImpl.java
@@ -7,11 +7,14 @@ import com.yfd.platform.qgc_base.domain.SdOtweBH;
import com.yfd.platform.qgc_base.mapper.SdOtweBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdOtweBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.List;
@Service
@@ -21,10 +24,39 @@ public class SdOtweBHServiceImpl extends ServiceImpl i
@Resource
private IMsOperationLogService msOperationLogService;
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdOtweBH.class, this);
+ Page sdOtweBHPage = DataSourceRequestUtil.executeQuery(request, SdOtweBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdOtweBHPage, CODE_TO_NAME_META_LIST);
+ return sdOtweBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdSonarBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdSonarBHServiceImpl.java
index 4a535f49..80827689 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdSonarBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdSonarBHServiceImpl.java
@@ -8,12 +8,15 @@ import com.yfd.platform.qgc_base.domain.SdSonarBH;
import com.yfd.platform.qgc_base.mapper.SdSonarBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdSonarBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import com.yfd.platform.utils.SecurityUtils;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -24,10 +27,40 @@ public class SdSonarBHServiceImpl extends ServiceImpl
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("mway").modifyProperty("mwayName").dictType("STATIC").dictSource("MWAY").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdSonarBH.class, this);
+ Page sdSonarBHPage = DataSourceRequestUtil.executeQuery(request, SdSonarBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdSonarBHPage, CODE_TO_NAME_META_LIST);
+ return sdSonarBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdTeBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdTeBHServiceImpl.java
index bd2e9767..1c30c4ba 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdTeBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdTeBHServiceImpl.java
@@ -7,11 +7,14 @@ import com.yfd.platform.qgc_base.domain.SdTeBH;
import com.yfd.platform.qgc_base.mapper.SdTeBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdTeBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.List;
@Service
@@ -21,10 +24,39 @@ public class SdTeBHServiceImpl extends ServiceImpl impleme
@Resource
private IMsOperationLogService msOperationLogService;
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdTeBH.class, this);
+ Page sdTeBHPage = DataSourceRequestUtil.executeQuery(request, SdTeBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdTeBHPage, CODE_TO_NAME_META_LIST);
+ return sdTeBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVaBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVaBHServiceImpl.java
index ac272e4b..b7868d86 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVaBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVaBHServiceImpl.java
@@ -8,12 +8,15 @@ import com.yfd.platform.qgc_base.domain.SdVaBH;
import com.yfd.platform.qgc_base.mapper.SdVaBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdVaBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import com.yfd.platform.utils.SecurityUtils;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -24,10 +27,39 @@ public class SdVaBHServiceImpl extends ServiceImpl impleme
@Resource
private IMsOperationLogService msOperationLogService;
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdVaBH.class, this);
+ Page sdVaBHPage = DataSourceRequestUtil.executeQuery(request, SdVaBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdVaBHPage, CODE_TO_NAME_META_LIST);
+ return sdVaBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVdinfoBServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVdinfoBServiceImpl.java
index 52bbbad3..d8cf051d 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVdinfoBServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVdinfoBServiceImpl.java
@@ -7,11 +7,14 @@ import com.yfd.platform.qgc_base.domain.SdVdinfoB;
import com.yfd.platform.qgc_base.mapper.SdVdinfoBMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdVdinfoBService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.List;
@Service
@@ -21,10 +24,39 @@ public class SdVdinfoBServiceImpl extends ServiceImpl
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdVdinfoB.class, this);
+ Page sdVdinfoBPage = DataSourceRequestUtil.executeQuery(request, SdVdinfoB.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdVdinfoBPage, CODE_TO_NAME_META_LIST);
+ return sdVdinfoBPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVpBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVpBHServiceImpl.java
index 7038e14d..f52dee58 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVpBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdVpBHServiceImpl.java
@@ -8,12 +8,15 @@ import com.yfd.platform.qgc_base.domain.SdVpBH;
import com.yfd.platform.qgc_base.mapper.SdVpBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdVpBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import com.yfd.platform.utils.SecurityUtils;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -24,10 +27,39 @@ public class SdVpBHServiceImpl extends ServiceImpl impleme
@Resource
private IMsOperationLogService msOperationLogService;
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdVpBH.class, this);
+ Page sdVpBHPage = DataSourceRequestUtil.executeQuery(request, SdVpBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdVpBHPage, CODE_TO_NAME_META_LIST);
+ return sdVpBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWeBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWeBHServiceImpl.java
index 5825e303..abb7d382 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWeBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWeBHServiceImpl.java
@@ -7,11 +7,14 @@ import com.yfd.platform.qgc_base.domain.SdWeBH;
import com.yfd.platform.qgc_base.mapper.SdWeBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdWeBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.List;
@Service
@@ -22,9 +25,40 @@ public class SdWeBHServiceImpl extends ServiceImpl impleme
@Resource
private IMsOperationLogService msOperationLogService;
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("mway").modifyProperty("mwayName").dictType("STATIC").dictSource("MWAY").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+// CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
+
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdWeBH.class, this);
+ Page sdWeBHPage = DataSourceRequestUtil.executeQuery(request, SdWeBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdWeBHPage, CODE_TO_NAME_META_LIST);
+ return sdWeBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWqBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWqBHServiceImpl.java
index 2f1a9d1b..d52e2640 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWqBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWqBHServiceImpl.java
@@ -8,12 +8,15 @@ import com.yfd.platform.qgc_base.domain.SdWqBH;
import com.yfd.platform.qgc_base.mapper.SdWqBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdWqBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import com.yfd.platform.utils.SecurityUtils;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -25,9 +28,40 @@ public class SdWqBHServiceImpl extends ServiceImpl impleme
@Resource
private IMsOperationLogService msOperationLogService;
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("mway").modifyProperty("mwayName").dictType("STATIC").dictSource("MWAY").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
+
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdWqBH.class, this);
+ Page sdWqBHPage = DataSourceRequestUtil.executeQuery(request, SdWqBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdWqBHPage, CODE_TO_NAME_META_LIST);
+ return sdWqBHPage;
}
@Override
diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWtBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWtBHServiceImpl.java
index 42f4d7e8..c112084a 100644
--- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWtBHServiceImpl.java
+++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdWtBHServiceImpl.java
@@ -1,5 +1,6 @@
package com.yfd.platform.qgc_base.service.impl;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -8,12 +9,15 @@ import com.yfd.platform.qgc_base.domain.SdWtBH;
import com.yfd.platform.qgc_base.mapper.SdWtBHMapper;
import com.yfd.platform.qgc_base.service.IMsOperationLogService;
import com.yfd.platform.qgc_base.service.ISdWtBHService;
+import com.yfd.platform.utils.CodeToNameMetadataBo;
import com.yfd.platform.utils.DataSourceRequestUtil;
+import com.yfd.platform.utils.DictCodeToNameConverter;
import com.yfd.platform.utils.SecurityUtils;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -25,9 +29,42 @@ public class SdWtBHServiceImpl extends ServiceImpl impleme
@Resource
private IMsOperationLogService msOperationLogService;
+
+ @Resource
+ private DictCodeToNameConverter dictCodeToNameConverter;
+
+ /**
+ * 代码转名称元数据配置列表(静态初始化)
+ *
+ * 每个模块的 ServiceImpl 中可按需定义自己的 codeToNameMetadataBoList,
+ * 在查询方法返回前调用 dictCodeToNameConverter.convertCodeToName(voList, codeToNameMetadataBoList)
+ * 即可自动将 code 字段转为对应的 name 字段。
+ *
+ *
+ *
+ * 使用示例:
+ * // 在查询方法末尾调用:
+ * dictCodeToNameConverter.convertCodeToName(voList, CODE_TO_NAME_META_LIST);
+ *
+ */
+ private static final List CODE_TO_NAME_META_LIST = new ArrayList<>();
+
+ static {
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtin").modifyProperty("dtinName").dictType("STATIC").dictSource("DTIN").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("mway").modifyProperty("mwayName").dictType("STATIC").dictSource("MWAY").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("bldsttCode").modifyProperty("bldsttCodeName").dictType("STATIC").dictSource("BLDSTT_CODE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("dtinType").modifyProperty("dtinTypeName").dictType("STATIC").dictSource("DTIN_TYPE").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("sttp").modifyProperty("sttpName").dictType("DYNAMIC").dictSource("SD_STTP_B").codeColumn("STTP_CODE").nameColumn("STTP_NAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+ CODE_TO_NAME_META_LIST.add(CodeToNameMetadataBo.builder().codeProperty("baseId").modifyProperty("baseName").dictType("DYNAMIC").dictSource("SD_HYDROBASE").codeColumn("BASEID").nameColumn("BASENAME").filter("NVL(IS_DELETED, 0) = 0 ").build());
+
+ }
+
+
@Override
public Page queryPageList(DataSourceRequest request) {
- return DataSourceRequestUtil.executeQuery(request, SdWtBH.class, this);
+ Page sdWtBHPage = DataSourceRequestUtil.executeQuery(request, SdWtBH.class, this);
+ dictCodeToNameConverter.convertCodeToName(sdWtBHPage, CODE_TO_NAME_META_LIST);
+ return sdWtBHPage;
}
@Override
From bbac60655d206da43fdfe5f726b98b3978840603 Mon Sep 17 00:00:00 2001
From: tangwei
Date: Mon, 20 Jul 2026 15:41:37 +0800
Subject: [PATCH 04/20] =?UTF-8?q?feat:=20=E7=94=A8=E6=88=B7=E8=87=AA?=
=?UTF-8?q?=E5=AE=9A=E4=B9=89=E7=AD=9B=E9=80=89=E5=88=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../yfd/platform/config/SwaggerConfig.java | 8 ++
.../controller/MsUsercolumnBController.java | 44 ++++++++
.../cuscolumn/domain/MsColumncfgB.java | 90 +++++++++++++++
.../cuscolumn/domain/MsUsercolumnB.java | 105 ++++++++++++++++++
.../cuscolumn/mapper/MsColumncfgBMapper.java | 9 ++
.../cuscolumn/mapper/MsUsercolumnBMapper.java | 29 +++++
.../service/IMsUsercolumnBService.java | 19 ++++
.../impl/MsUsercolumnBServiceImpl.java | 59 ++++++++++
.../mapper/system/MsUsercolumnBMapper.xml | 82 ++++++++++++++
9 files changed, 445 insertions(+)
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/controller/MsUsercolumnBController.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/domain/MsColumncfgB.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/domain/MsUsercolumnB.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/mapper/MsColumncfgBMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/mapper/MsUsercolumnBMapper.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/service/IMsUsercolumnBService.java
create mode 100644 backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/service/impl/MsUsercolumnBServiceImpl.java
create mode 100644 backend/src/main/resources/mapper/system/MsUsercolumnBMapper.xml
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 2e43cdb8..c28488e1 100644
--- a/backend/src/main/java/com/yfd/platform/config/SwaggerConfig.java
+++ b/backend/src/main/java/com/yfd/platform/config/SwaggerConfig.java
@@ -257,6 +257,14 @@ public class SwaggerConfig {
.build();
}
+ @Bean
+ public GroupedOpenApi groupCusColumnApi() {
+ return GroupedOpenApi.builder()
+ .group("5.4 自定义筛选列")
+ .packagesToScan("com.yfd.platform.qgc_sys.cuscolumn.controller")
+ .build();
+ }
+
@Bean
public GroupedOpenApi groupLygkApi() {
diff --git a/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/controller/MsUsercolumnBController.java b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/controller/MsUsercolumnBController.java
new file mode 100644
index 00000000..3a269e76
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/controller/MsUsercolumnBController.java
@@ -0,0 +1,44 @@
+package com.yfd.platform.qgc_sys.cuscolumn.controller;
+
+import com.yfd.platform.config.ResponseResult;
+import com.yfd.platform.qgc_sys.cuscolumn.domain.MsUsercolumnB;
+import com.yfd.platform.qgc_sys.cuscolumn.service.IMsUsercolumnBService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+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;
+
+/**
+ * 用户自定义筛选列 控制层
+ */
+@RestController
+@RequestMapping("/sys/usercolumn")
+@Tag(name = "用户自定义筛选列")
+public class MsUsercolumnBController {
+
+ @Resource
+ private IMsUsercolumnBService msUsercolumnBService;
+
+ /**
+ * 批量保存用户自定义列数据
+ */
+ @PostMapping("/batchSave")
+ @Operation(summary = "保存用户自定义列数据")
+ public ResponseResult batchSave(@RequestBody MsUsercolumnB userColumn) {
+ boolean result = msUsercolumnBService.batchSave(userColumn);
+ return result ? ResponseResult.success("保存成功") : ResponseResult.error("保存失败");
+ }
+
+ /**
+ * 获取用户自定义列数据
+ */
+ @PostMapping("/getUserColumnData")
+ @Operation(summary = "获取用户自定义列数据")
+ public ResponseResult getUserColumnData(@RequestBody MsUsercolumnB userColumn) {
+ return ResponseResult.successData(msUsercolumnBService.getUserColumnData(userColumn));
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/domain/MsColumncfgB.java b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/domain/MsColumncfgB.java
new file mode 100644
index 00000000..d21fb44c
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/domain/MsColumncfgB.java
@@ -0,0 +1,90 @@
+package com.yfd.platform.qgc_sys.cuscolumn.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 筛选列配置表
+ */
+@Data
+@TableName("MS_COLUMNCFG_B")
+public class MsColumncfgB implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.ASSIGN_UUID)
+ private String id;
+
+ @TableField("FUNCTION_ID")
+ private String functionId;
+
+ @TableField("COLUMN_CFG")
+ private String columnCfg;
+
+ @TableField("ENABLE")
+ private Integer enable;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ @TableField("RECORD_USER")
+ private String recordUser;
+
+ @TableField("RECORD_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ @TableField("MODIFY_USER")
+ private String modifyUser;
+
+ @TableField("MODIFY_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ @TableField("IS_DELETED")
+ private Integer isDeleted;
+
+ @TableField("DEFAULT_CHECKED")
+ private Integer defaultChecked;
+
+ @TableField("DELETE_USER")
+ private String deleteUser;
+
+ @TableField("DELETE_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+
+ @TableField("IS_TEMP_STORAGE")
+ private Integer isTempStorage;
+
+ @TableField("COLUMN_EN")
+ private String columnEn;
+
+ @TableField("GROUP_TYPE")
+ private String groupType;
+
+ @TableField("PARENT_ID")
+ private String parentId;
+
+ @TableField("HAS_CHILDREN")
+ private Integer hasChildren;
+
+ @TableField("DESCRIPTION")
+ private String description;
+
+ @TableField("CAN_BE_UPDATED")
+ private Integer canBeUpdated;
+
+ @TableField("WIDTH")
+ private Integer width;
+
+ @TableField("CAN_BE_SORTED")
+ private Integer canBeSorted;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/domain/MsUsercolumnB.java b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/domain/MsUsercolumnB.java
new file mode 100644
index 00000000..30361090
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/domain/MsUsercolumnB.java
@@ -0,0 +1,105 @@
+package com.yfd.platform.qgc_sys.cuscolumn.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 用户与筛选列映射表
+ */
+@Data
+@TableName("MS_USERCOLUMN_B")
+public class MsUsercolumnB implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.ASSIGN_UUID)
+ private String id;
+
+ @TableField("CFG_ID")
+ @JsonProperty("cfgId")
+ private String cfgId;
+
+ @TableField("CAN_BE_CHECKED")
+ private Integer canBeChecked;
+
+ @TableField("CHECKED")
+ private Integer checked;
+
+ @TableField("DESCRIPTION")
+ private String description;
+
+ @TableField("ENABLE")
+ private Integer enable;
+
+ @TableField("ORDER_INDEX")
+ private Integer orderIndex;
+
+ @TableField("RECORD_USER")
+ private String recordUser;
+
+ @TableField("RECORD_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date recordTime;
+
+ @TableField("MODIFY_USER")
+ private String modifyUser;
+
+ @TableField("MODIFY_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+
+ @TableField("IS_DELETED")
+ private Integer isDeleted;
+
+ @TableField("DELETE_USER")
+ private String deleteUser;
+
+ @TableField("DELETE_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date deleteTime;
+
+ @TableField("IS_TEMP_STORAGE")
+ private Integer isTempStorage;
+
+ @TableField("COLUMN_EN")
+ private String columnEn;
+
+ @TableField("COLUMN_NAME")
+ private String columnName;
+
+ /**
+ * 是否默认配置(非数据库字段)
+ */
+ @TableField(exist = false)
+ @JsonProperty("defaultConfig")
+ private Boolean defaultConfig;
+
+ /**
+ * 分组类型(非数据库字段,来自关联查询)
+ */
+ @TableField(exist = false)
+ @JsonProperty("groupType")
+ private String groupType;
+
+ /**
+ * 自定义列宽度(非数据库字段,来自关联查询)
+ */
+ @TableField(exist = false)
+ @JsonProperty("width")
+ private Integer width;
+
+ /**
+ * 批量操作时的对象集合(非数据库字段)
+ */
+ @TableField(exist = false)
+ private List list;
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/mapper/MsColumncfgBMapper.java b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/mapper/MsColumncfgBMapper.java
new file mode 100644
index 00000000..067f4c38
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/mapper/MsColumncfgBMapper.java
@@ -0,0 +1,9 @@
+package com.yfd.platform.qgc_sys.cuscolumn.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_sys.cuscolumn.domain.MsColumncfgB;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface MsColumncfgBMapper extends BaseMapper {
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/mapper/MsUsercolumnBMapper.java b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/mapper/MsUsercolumnBMapper.java
new file mode 100644
index 00000000..9a00e07c
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/mapper/MsUsercolumnBMapper.java
@@ -0,0 +1,29 @@
+package com.yfd.platform.qgc_sys.cuscolumn.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yfd.platform.qgc_sys.cuscolumn.domain.MsUsercolumnB;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface MsUsercolumnBMapper extends BaseMapper {
+
+ /**
+ * 根据用户ID和模块ID删除用户自定义列数据
+ */
+ void deleteUserColumn(@Param("recordUser") String recordUser,
+ @Param("cfgId") String cfgId);
+
+ /**
+ * 查询用户自定义列数据(LEFT JOIN MS_COLUMNCFG_B,优先使用用户配置,无用户配置时使用默认配置)
+ */
+ List getUserColumnList(@Param("recordUser") String recordUser,
+ @Param("cfgId") String cfgId);
+
+ /**
+ * 根据模块ID查询默认列配置
+ */
+ List getUserColumnDefaultList(@Param("cfgId") String cfgId);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/service/IMsUsercolumnBService.java b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/service/IMsUsercolumnBService.java
new file mode 100644
index 00000000..7a41fe3d
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/service/IMsUsercolumnBService.java
@@ -0,0 +1,19 @@
+package com.yfd.platform.qgc_sys.cuscolumn.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yfd.platform.qgc_sys.cuscolumn.domain.MsUsercolumnB;
+
+import java.util.List;
+
+public interface IMsUsercolumnBService extends IService {
+
+ /**
+ * 批量保存用户自定义列数据
+ */
+ boolean batchSave(MsUsercolumnB userColumn);
+
+ /**
+ * 获取用户自定义列数据
+ */
+ List getUserColumnData(MsUsercolumnB userColumn);
+}
diff --git a/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/service/impl/MsUsercolumnBServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/service/impl/MsUsercolumnBServiceImpl.java
new file mode 100644
index 00000000..1524c95c
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/qgc_sys/cuscolumn/service/impl/MsUsercolumnBServiceImpl.java
@@ -0,0 +1,59 @@
+package com.yfd.platform.qgc_sys.cuscolumn.service.impl;
+
+import com.yfd.platform.qgc_sys.cuscolumn.domain.MsUsercolumnB;
+import com.yfd.platform.qgc_sys.cuscolumn.mapper.MsUsercolumnBMapper;
+import com.yfd.platform.qgc_sys.cuscolumn.service.IMsUsercolumnBService;
+import com.yfd.platform.utils.SecurityUtils;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class MsUsercolumnBServiceImpl
+ extends ServiceImpl
+ implements IMsUsercolumnBService {
+
+ @Resource
+ private MsUsercolumnBMapper usercolumnBMapper;
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean batchSave(MsUsercolumnB userColumn) {
+ if (!StringUtils.hasText(userColumn.getCfgId())) {
+ throw new IllegalArgumentException("模块(cfgId)不能为空");
+ }
+
+ String currentUser = SecurityUtils.getCurrentUsername();
+ List list = userColumn.getList();
+
+ if (list != null && !list.isEmpty()) {
+ for (MsUsercolumnB item : list) {
+ item.setCfgId(userColumn.getCfgId());
+ item.setRecordUser(currentUser);
+ item.setRecordTime(new Date());
+ // 列的中文名称通过COLUMN_EN和MS_COLUMNCFG_B关联查询,不额外存储
+ item.setColumnName(null);
+ }
+
+ // 先删除旧数据
+ usercolumnBMapper.deleteUserColumn(currentUser, userColumn.getCfgId());
+
+ // 批量保存新数据
+ return this.saveBatch(list);
+ }
+
+ return false;
+ }
+
+ @Override
+ public List getUserColumnData(MsUsercolumnB userColumn) {
+ String currentUser = SecurityUtils.getCurrentUsername();
+ return usercolumnBMapper.getUserColumnList(currentUser, userColumn.getCfgId());
+ }
+}
diff --git a/backend/src/main/resources/mapper/system/MsUsercolumnBMapper.xml b/backend/src/main/resources/mapper/system/MsUsercolumnBMapper.xml
new file mode 100644
index 00000000..14819390
--- /dev/null
+++ b/backend/src/main/resources/mapper/system/MsUsercolumnBMapper.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DELETE FROM MS_USERCOLUMN_B
+ WHERE CFG_ID = #{cfgId}
+
+ AND RECORD_USER = #{recordUser}
+
+
+
+
+
+
+
+
+
+
From 49466f3990b6b4448ede5ec57baadf6b1d7184b0 Mon Sep 17 00:00:00 2001
From: tangwei
Date: Mon, 20 Jul 2026 17:10:54 +0800
Subject: [PATCH 05/20] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E4=B8=BB?=
=?UTF-8?q?=E4=BB=8E=E6=95=B0=E6=8D=AE=E5=BA=93=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/MicroservicDynamicSQLMapper.java | 7 ++
.../config/DynamicPaginationInterceptor.java | 41 +++++++++
.../yfd/platform/config/MybitsPlusConfig.java | 26 +-----
.../platform/datasource/DataSourceAspect.java | 40 +++------
.../platform/datasource/DataSourceKeys.java | 22 +++++
.../datasource/DynamicDataSourceConfig.java | 62 +++++++++----
.../platform/datasource/TargetDataSource.java | 23 +++++
.../service/impl/MapLegendServiceImpl.java | 4 +-
.../controller/DataSourceController.java | 35 ++++----
.../service/impl/UserDetailsServiceImpl.java | 4 +-
.../src/main/resources/application-dev.yml | 30 +++++--
.../src/main/resources/application-prod.yml | 86 +++++++++++++++----
12 files changed, 269 insertions(+), 111 deletions(-)
create mode 100644 backend/src/main/java/com/yfd/platform/config/DynamicPaginationInterceptor.java
create mode 100644 backend/src/main/java/com/yfd/platform/datasource/DataSourceKeys.java
create mode 100644 backend/src/main/java/com/yfd/platform/datasource/TargetDataSource.java
diff --git a/backend/src/main/java/com/yfd/platform/common/MicroservicDynamicSQLMapper.java b/backend/src/main/java/com/yfd/platform/common/MicroservicDynamicSQLMapper.java
index 319f2ffd..ce0c6225 100644
--- a/backend/src/main/java/com/yfd/platform/common/MicroservicDynamicSQLMapper.java
+++ b/backend/src/main/java/com/yfd/platform/common/MicroservicDynamicSQLMapper.java
@@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yfd.platform.datasource.DataSourceKeys;
+import com.yfd.platform.datasource.TargetDataSource;
import org.apache.ibatis.annotations.Mapper;
import java.util.Collections;
@@ -30,6 +32,11 @@ public interface MicroservicDynamicSQLMapper {
Map getOneBySql(@Param("sql") String sql, @Param("map") Map map);
+ @Select({""})
+ @TargetDataSource(DataSourceKeys.ORACLE_MASTER)
+ Map getOneOracleBySql(@Param("sql") String sql, @Param("map") Map map);
+
+
default R getOneBySqlWithResultType(String sql,
Map map,
Class resultType) {
diff --git a/backend/src/main/java/com/yfd/platform/config/DynamicPaginationInterceptor.java b/backend/src/main/java/com/yfd/platform/config/DynamicPaginationInterceptor.java
new file mode 100644
index 00000000..79598636
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/config/DynamicPaginationInterceptor.java
@@ -0,0 +1,41 @@
+package com.yfd.platform.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import com.yfd.platform.datasource.DynamicDataSource;
+import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.mapping.BoundSql;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.session.ResultHandler;
+import org.apache.ibatis.session.RowBounds;
+
+import java.sql.SQLException;
+
+/**
+ * 动态分页拦截器,根据当前数据源自动切换 Oracle/DM 分页方言
+ */
+public class DynamicPaginationInterceptor extends PaginationInnerInterceptor {
+
+ public DynamicPaginationInterceptor() {
+ super(DbType.DM);
+ }
+
+ @Override
+ public void beforeQuery(Executor executor, MappedStatement ms, Object parameter,
+ RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) {
+ this.setDbType(resolveDbType());
+ super.beforeQuery(executor, ms, parameter, rowBounds, resultHandler, boundSql);
+ }
+
+ /**
+ * 根据当前线程绑定的数据源 key 解析数据库类型:
+ * oracle-* → ORACLE,其他(dm-*、null)→ DM
+ */
+ private DbType resolveDbType() {
+ String dsKey = DynamicDataSource.getDataSource();
+ if (dsKey != null && dsKey.startsWith("oracle")) {
+ return DbType.ORACLE;
+ }
+ return DbType.DM;
+ }
+}
diff --git a/backend/src/main/java/com/yfd/platform/config/MybitsPlusConfig.java b/backend/src/main/java/com/yfd/platform/config/MybitsPlusConfig.java
index eff73ed2..171503b6 100644
--- a/backend/src/main/java/com/yfd/platform/config/MybitsPlusConfig.java
+++ b/backend/src/main/java/com/yfd/platform/config/MybitsPlusConfig.java
@@ -1,37 +1,19 @@
package com.yfd.platform.config;
-import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-/******************************
- * 用途说明:
- * 作者姓名: pcj
- * 创建时间: 2022/10/24 10:50
- ******************************/
+/**
+ * MyBatis-Plus 配置,使用动态分页拦截器支持 Oracle/达梦 自动切换
+ */
@Configuration
public class MybitsPlusConfig {
-// @Bean
-// public MybatisPlusInterceptor mybatisPlusInterceptor() {
-// MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
-// mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
-// return mybatisPlusInterceptor;
-// }
-
- /**
- * 分页插件配置(Oracle 兼容)
- */
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
- // 添加分页拦截器,指定数据库类型为 Oracle
-// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
- // 添加分页拦截器,指定数据库类型为 Oracle
- interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.DM));
+ interceptor.addInnerInterceptor(new DynamicPaginationInterceptor());
return interceptor;
}
-
}
diff --git a/backend/src/main/java/com/yfd/platform/datasource/DataSourceAspect.java b/backend/src/main/java/com/yfd/platform/datasource/DataSourceAspect.java
index f20c0f87..33b7fb28 100644
--- a/backend/src/main/java/com/yfd/platform/datasource/DataSourceAspect.java
+++ b/backend/src/main/java/com/yfd/platform/datasource/DataSourceAspect.java
@@ -1,55 +1,41 @@
package com.yfd.platform.datasource;
-import cn.hutool.core.util.StrUtil;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.stereotype.Component;
-import java.lang.reflect.Method;
-
-/******************************
- * 用途说明:
- * 作者姓名: wxy
- * 创建时间: 2022/9/23 17:50
- ******************************/
+/**
+ * 数据源切换切面,处理 @TargetDataSource 注解
+ */
@Aspect
@Component
public class DataSourceAspect {
- @Pointcut("@annotation(com.yfd.platform.datasource.DataSource)")
+ @Pointcut("@annotation(com.yfd.platform.datasource.TargetDataSource)")
public void dataSourcePointCut() {
-
}
- private String DataBaseName;
-
@Around("dataSourcePointCut()")
public Object around(ProceedingJoinPoint point) throws Throwable {
MethodSignature signature = (MethodSignature) point.getSignature();
- Method method = signature.getMethod();
- if (StrUtil.isNotBlank(DataBaseName)){
- DynamicDataSource.setDataSource(DataBaseName);
- }else {
- DynamicDataSource.setDataSource("master");
+ TargetDataSource annotation = AnnotationUtils.findAnnotation(signature.getMethod(), TargetDataSource.class);
+ if (annotation == null) {
+ // 类级别注解
+ annotation = AnnotationUtils.findAnnotation(point.getTarget().getClass(), TargetDataSource.class);
}
+ String dsKey = (annotation != null && !annotation.value().isEmpty())
+ ? annotation.value()
+ : DataSourceKeys.DEFAULT;
+ DynamicDataSource.setDataSource(dsKey);
try {
return point.proceed();
} finally {
DynamicDataSource.clearDataSource();
}
}
-
- public String getDataBase(Integer type){
- if (type == 1){
- DataBaseName="master";
- }else {
- DataBaseName="slave";
- }
- return DataBaseName;
- }
-
}
diff --git a/backend/src/main/java/com/yfd/platform/datasource/DataSourceKeys.java b/backend/src/main/java/com/yfd/platform/datasource/DataSourceKeys.java
new file mode 100644
index 00000000..19a8459a
--- /dev/null
+++ b/backend/src/main/java/com/yfd/platform/datasource/DataSourceKeys.java
@@ -0,0 +1,22 @@
+package com.yfd.platform.datasource;
+
+/**
+ * 数据源 key 常量
+ */
+public interface DataSourceKeys {
+
+ /** 达梦主库 */
+ String DM_MASTER = "dm-master";
+
+ /** 达梦从库 */
+ String DM_SLAVE = "dm-slave";
+
+ /** Oracle 主库 */
+ String ORACLE_MASTER = "oracle-master";
+
+ /** Oracle 从库 */
+ String ORACLE_SLAVE = "oracle-slave";
+
+ /** 默认数据源 */
+ String DEFAULT = DM_MASTER;
+}
diff --git a/backend/src/main/java/com/yfd/platform/datasource/DynamicDataSourceConfig.java b/backend/src/main/java/com/yfd/platform/datasource/DynamicDataSourceConfig.java
index f5594437..d9e984ae 100644
--- a/backend/src/main/java/com/yfd/platform/datasource/DynamicDataSourceConfig.java
+++ b/backend/src/main/java/com/yfd/platform/datasource/DynamicDataSourceConfig.java
@@ -1,28 +1,28 @@
package com.yfd.platform.datasource;
+import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
-import org.springframework.stereotype.Component;
-import com.alibaba.druid.pool.DruidDataSource;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;
-/******************************
- * 用途说明:
- * 作者姓名: wxy
- * 创建时间: 2022/9/23 17:45
- ******************************/
+/**
+ * 动态数据源配置,支持 达梦(DM) 和 Oracle 两种数据库,每种各有主从(master/slave)
+ *
+ * @author yfd
+ */
@Configuration
-@Component
public class DynamicDataSourceConfig {
+ // ==================== 达梦(DM) 数据源 ====================
+
@Bean
- @ConfigurationProperties("spring.datasource.druid.master")
- public DataSource wglMasterDataSource(){
+ @ConfigurationProperties("spring.datasource.druid.dm-master")
+ public DataSource dmMasterDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setBreakAfterAcquireFailure(true);
dataSource.setConnectionErrorRetryAttempts(0);
@@ -30,22 +30,48 @@ public class DynamicDataSourceConfig {
}
@Bean
- @ConfigurationProperties("spring.datasource.druid.slave")
- public DataSource wglSlaveDataSource(){
+ @ConfigurationProperties("spring.datasource.druid.dm-slave")
+ public DataSource dmSlaveDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setBreakAfterAcquireFailure(true);
dataSource.setConnectionErrorRetryAttempts(0);
return dataSource;
}
+ // ==================== Oracle 数据源 ====================
+
+ @Bean
+ @ConfigurationProperties("spring.datasource.druid.oracle-master")
+ public DataSource oracleMasterDataSource() {
+ DruidDataSource dataSource = new DruidDataSource();
+ dataSource.setBreakAfterAcquireFailure(true);
+ dataSource.setConnectionErrorRetryAttempts(0);
+ return dataSource;
+ }
+
+ @Bean
+ @ConfigurationProperties("spring.datasource.druid.oracle-slave")
+ public DataSource oracleSlaveDataSource() {
+ DruidDataSource dataSource = new DruidDataSource();
+ dataSource.setBreakAfterAcquireFailure(true);
+ dataSource.setConnectionErrorRetryAttempts(0);
+ return dataSource;
+ }
+
+ // ==================== 路由数据源 ====================
+
@Bean
@Primary
- public DynamicDataSource dataSource(DataSource wglMasterDataSource, DataSource wglSlaveDataSource) {
+ public DynamicDataSource dataSource(DataSource dmMasterDataSource,
+ DataSource dmSlaveDataSource,
+ DataSource oracleMasterDataSource,
+ DataSource oracleSlaveDataSource) {
Map