From d4eb75bea8b92b6f6b97efcd2fc8fc453239daea Mon Sep 17 00:00:00 2001 From: tangwei Date: Thu, 28 May 2026 17:56:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A0=B9=E6=8D=AE=E7=AB=99=E7=A0=81?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8D=95=E6=9D=A1=E6=B0=B4=E6=B8=A9=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wt/controller/SdWTMonitorController.java | 6 + .../env/wt/entity/vo/WtBaseInfoVo.java | 187 ++++++++++++++++++ .../env/wt/service/SdWtMonitorService.java | 3 + .../service/impl/SdWtMonitorServiceImpl.java | 86 ++++++++ 4 files changed, 282 insertions(+) create mode 100644 backend/src/main/java/com/yfd/platform/env/wt/entity/vo/WtBaseInfoVo.java diff --git a/backend/src/main/java/com/yfd/platform/env/wt/controller/SdWTMonitorController.java b/backend/src/main/java/com/yfd/platform/env/wt/controller/SdWTMonitorController.java index ebad6183..f21913b2 100644 --- a/backend/src/main/java/com/yfd/platform/env/wt/controller/SdWTMonitorController.java +++ b/backend/src/main/java/com/yfd/platform/env/wt/controller/SdWTMonitorController.java @@ -191,6 +191,12 @@ public class SdWTMonitorController { return ResponseResult.successData(sdWtMonitorService.getVmsstbprptList(dataSourceRequest)); } + @GetMapping("/msstbprpt/getStcdInfo") + @Operation(summary = "根据站码查询单条水温基础数据") + public ResponseResult getStcdInfo(@RequestParam String stcd) { + return ResponseResult.successData(sdWtMonitorService.getStcdInfo(stcd)); + } + @PostMapping("/wbsb/GetKendoList") @Operation(summary = "查询水电基地流域字典列表") public ResponseResult getWbsbList(@RequestBody DataSourceRequest dataSourceRequest) { diff --git a/backend/src/main/java/com/yfd/platform/env/wt/entity/vo/WtBaseInfoVo.java b/backend/src/main/java/com/yfd/platform/env/wt/entity/vo/WtBaseInfoVo.java new file mode 100644 index 00000000..031deef9 --- /dev/null +++ b/backend/src/main/java/com/yfd/platform/env/wt/entity/vo/WtBaseInfoVo.java @@ -0,0 +1,187 @@ +package com.yfd.platform.env.wt.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@Schema(description = "水温基础站点信息") +public class WtBaseInfoVo { + + @Schema(description = "站码") + private String stcd; + + @Schema(description = "站名") + private String stnm; + + @Schema(description = "数据时间") + private Date tm; + + @Schema(description = "站类") + private String sttp; + + @Schema(description = "经度") + private Double lgtd; + + @Schema(description = "纬度") + private Double lttd; + + @Schema(description = "海拔") + private Double elev; + + @Schema(description = "站址") + private String stlc; + + @Schema(description = "测站来源") + private String stsr; + + @Schema(description = "水温断面设备类型") + private Integer wtDeviceType; + + @Schema(description = "水温监测断面类型") + private String wtType; + + @Schema(description = "电站水温结构类型") + private String wts; + + @Schema(description = "固定垂向水温类型") + private Integer wtHgtType; + + @Schema(description = "第一个探头高程") + private Double wtFirstHgt; + + @Schema(description = "垂向水温探头分布") + private String wtDist; + + @Schema(description = "建成日期") + private Date jcdt; + + @Schema(description = "撤站日期") + private Date wddt; + + @Schema(description = "建设状态分类") + private Integer bldsttCode; + + @Schema(description = "建设状态名称") + private String bldsttCcodeName; + + + @Schema(description = "总投资") + private BigDecimal inv; + + @Schema(description = "投资是否计入主体工程") + private Integer invinmn; + + @Schema(description = "简介") + private String introduce; + + @Schema(description = "LOGO") + private String logo; + + @Schema(description = "介绍图片") + private String inffile; + + @Schema(description = "是否启用") + private Integer usfl; + + @Schema(description = "数据是否接入") + private Integer dtin; + + @Schema(description = "数据接入来源") + private String dtinSrc; + + @Schema(description = "数据接入类型") + private Integer dtinType; + + @Schema(description = "数据接入开始时间") + private Date dtinTm; + + @Schema(description = "监测方式") + private Integer mway; + + @Schema(description = "监测方式名称") + private String mwayName; + + @Schema(description = "监测指标") + private String stindx; + + @Schema(description = "排序") + private Integer orderIndex; + + @Schema(description = "所属断面编码") + private String dmstcd; + + @Schema(description = "所属电站编码") + private String rstcd; + + @Schema(description = "所属电站名称") + private String ennm; + + @Schema(description = "所属基地编码") + private String baseId; + + @Schema(description = "所属基地名称") + private String baseName; + + @Schema(description = "基地流域编码") + private String hbrvcd; + + @Schema(description = "基地流域名称") + private String hbrvcdName; + + @Schema(description = "流域编码") + private String rvcd; + + @Schema(description = "流域名称") + private String rvcdName; + + @Schema(description = "行政区编码") + private String addvcd; + + @Schema(description = "行政区名称") + private String addvcdName; + + @Schema(description = "所属栖息地编码") + private String fhstcd; + + @Schema(description = "是否属于测站") + private Integer ispro; + + @Schema(description = "依托项目") + private String project; + + @Schema(description = "数据监测频次") + private Integer dtfrqcy; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "数据来源") + private String vlsr; + + @Schema(description = "数据来源时间") + private Date vlsrTm; + + @Schema(description = "创建人") + private String recordUser; + + @Schema(description = "创建时间") + private Date recordTime; + + @Schema(description = "更新人") + private String modifyUser; + + @Schema(description = "更新时间") + private Date modifyTime; + + @Schema(description = "是否删除") + private Integer isDeleted; + + @Schema(description = "删除人") + private String deleteUser; + + @Schema(description = "删除时间") + private Date deleteTime; +} diff --git a/backend/src/main/java/com/yfd/platform/env/wt/service/SdWtMonitorService.java b/backend/src/main/java/com/yfd/platform/env/wt/service/SdWtMonitorService.java index 804d4a20..6aec9e4f 100644 --- a/backend/src/main/java/com/yfd/platform/env/wt/service/SdWtMonitorService.java +++ b/backend/src/main/java/com/yfd/platform/env/wt/service/SdWtMonitorService.java @@ -9,6 +9,7 @@ import com.yfd.platform.env.wt.entity.vo.SdMonthDetailVO; import com.yfd.platform.env.wt.entity.vo.SdYearDetailVO; import com.yfd.platform.env.wt.entity.vo.SttpInfoVo; import com.yfd.platform.env.wt.entity.vo.WbsbVo; +import com.yfd.platform.env.wt.entity.vo.WtBaseInfoVo; import com.yfd.platform.env.wt.entity.vo.WtrvVo; import java.util.List; @@ -19,6 +20,8 @@ public interface SdWtMonitorService { DataSourceResult getVmsstbprptList(DataSourceRequest dataSourceRequest); + WtBaseInfoVo getStcdInfo(String stcd); + DataSourceResult getCxDetailList(DataSourceRequest dataSourceRequest); DataSourceResult getWtFishAnalysis(DataSourceRequest dataSourceRequest); diff --git a/backend/src/main/java/com/yfd/platform/env/wt/service/impl/SdWtMonitorServiceImpl.java b/backend/src/main/java/com/yfd/platform/env/wt/service/impl/SdWtMonitorServiceImpl.java index c7e7112d..a9fc3f71 100644 --- a/backend/src/main/java/com/yfd/platform/env/wt/service/impl/SdWtMonitorServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/env/wt/service/impl/SdWtMonitorServiceImpl.java @@ -3,6 +3,7 @@ package com.yfd.platform.env.wt.service.impl; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yfd.platform.common.*; +import com.yfd.platform.common.exception.BizException; import com.yfd.platform.env.wt.entity.vo.DfltkwFacilityCountVo; import com.yfd.platform.env.wt.entity.vo.FishSpawnVo; import com.yfd.platform.env.wt.entity.vo.RstcdTreeInfoVo; @@ -12,6 +13,7 @@ import com.yfd.platform.env.wt.entity.vo.SdWtBaseInfoVO; import com.yfd.platform.env.wt.entity.vo.SdWtMonitorCountVO; import com.yfd.platform.env.wt.entity.vo.SttpInfoVo; import com.yfd.platform.env.wt.entity.vo.WbsbVo; +import com.yfd.platform.env.wt.entity.vo.WtBaseInfoVo; import com.yfd.platform.env.wt.entity.vo.WtFishVo; import com.yfd.platform.env.wt.entity.vo.WtTreeStcdVo; import com.yfd.platform.env.wt.entity.vo.WtrvVo; @@ -78,6 +80,90 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { return result; } + @Override + public WtBaseInfoVo getStcdInfo(String stcd) { + if (StrUtil.isBlank(stcd)) { + throw new BizException("站点编码不能为空!"); + } + String sql = "SELECT " + + "t.STCD AS stcd, " + + "t.STNM AS stnm, " + + "t.TM AS tm, " + + "t.STTP AS sttp, " + + "t.LGTD AS lgtd, " + + "t.LTTD AS lttd, " + + "t.ELEV AS elev, " + + "t.STLC AS stlc, " + + "t.STSR AS stsr, " + + "t.WT_DEVICE_TYPE AS wtDeviceType, " + + "t.WT_TYPE AS wtType, " + + "t.WTS AS wts, " + + "t.WT_HGT_TYPE AS wtHgtType, " + + "t.WT_FIRST_HGT AS wtFirstHgt, " + + "t.WT_DIST AS wtDist, " + + "t.JCDT AS jcdt, " + + "t.WDDT AS wddt, " + + "t.BLDSTT_CODE AS bldsttCode, " + + "CASE WHEN t.BLDSTT_CODE IN ('1', '10', '11') THEN '已建' WHEN t.BLDSTT_CODE IN ('2', '7', '8') THEN '在建' ELSE '未建/规划' END AS bldsttCcodeName, "+ + "t.INV AS inv, " + + "t.INVINMN AS invinmn, " + + "t.INTRODUCE AS introduce, " + + "t.LOGO AS logo, " + + "t.INFFILE AS inffile, " + + "t.USFL AS usfl, " + + "t.DTIN AS dtin, " + + "t.DTIN_SRC AS dtinSrc, " + + "t.DTIN_TYPE AS dtinType, " + + "t.DTIN_TM AS dtinTm, " + + "t.MWAY AS mway, " + + "CASE NVL(t.MWAY, 0) WHEN 1 THEN '人工' WHEN 2 THEN '自动' ELSE '未知' END AS mwayName , "+ + "t.STINDX AS stindx, " + + "t.ORDER_INDEX AS orderIndex, " + + "t.DMSTCD AS dmstcd, " + + "t.RSTCD AS rstcd, " + + "eng.ENNM AS ennm, " + + "eng.BASE_ID AS baseId, " + + "base.BASENAME AS baseName, " + + "eng.HBRVCD AS hbrvcd, " + + "hbrv.HBRVNM AS hbrvcdName, " + + "eng.RVCD AS rvcd, " + + "rv.RVNM AS rvcdName, " + + "eng.ADDVCD AS addvcd, " + + "addv.ADDVNM AS addvcdName, " + + "t.FHSTCD AS fhstcd, " + + "t.ISPRO AS ispro, " + + "t.PROJECT AS project, " + + "t.DTFRQCY AS dtfrqcy, " + + "t.REMARK AS remark, " + + "t.VLSR AS vlsr, " + + "t.VLSR_TM AS vlsrTm, " + + "t.RECORD_USER AS recordUser, " + + "t.RECORD_TIME AS recordTime, " + + "t.MODIFY_USER AS modifyUser, " + + "t.MODIFY_TIME AS modifyTime, " + + "t.IS_DELETED AS isDeleted, " + + "t.DELETE_USER AS deleteUser, " + + "t.DELETE_TIME AS deleteTime " + + "FROM SD_WT_B_H t " + + "LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = t.RSTCD " + + "LEFT JOIN SD_HYDROBASE base ON base.BASEID = eng.BASE_ID AND NVL(base.IS_DELETED, 0) = 0 " + + "LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = eng.HBRVCD " + + " AND hbrv.BASEID = eng.BASE_ID " + + " AND NVL(hbrv.IS_DELETED, 0) = 0 " + + " AND NVL(hbrv.ENABLED, 1) = 1 " + + "LEFT JOIN SD_RVCD_DIC rv ON rv.RVCD = eng.RVCD " + + "LEFT JOIN SD_ADDVCD_DIC addv ON addv.ADDVCD = eng.ADDVCD " + + "WHERE t.STCD = #{map.stcd} " + + " AND NVL(t.IS_DELETED, 0) = 0 "; + Map paramMap = new HashMap<>(); + paramMap.put("stcd", stcd); + List list = microservicDynamicSQLMapper.getAllListWithResultType(sql, paramMap, WtBaseInfoVo.class); + if (list == null || list.isEmpty()) { + return null; + } + return list.get(0); + } + @Override public DataSourceResult getWbsbList(DataSourceRequest dataSourceRequest) { DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();