diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fb/controller/FbStationController.java b/backend/src/main/java/com/yfd/platform/qgc_env/fb/controller/FbStationController.java index b623c33d..169d8762 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/fb/controller/FbStationController.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fb/controller/FbStationController.java @@ -48,6 +48,12 @@ public class FbStationController { return ResponseResult.successData(fbStationService.getQgcFbStaticsData(dataSourceRequest)); } + @GetMapping("/msstbprpt/getStInfoByStcd") + @Operation(summary = "增殖站单站基础信息") + public ResponseResult getStInfoByStcd(@Parameter(description = "站点编码") @RequestParam("stcd") String stcd) { + return ResponseResult.successData(fbStationService.getStInfoByStcd(stcd)); + } + @GetMapping("/rpimnr/qgc/year/GetYearRpStatistics") @Operation(summary = "全过程放流统计总数,根据基地流域分组") public ResponseResult getYearRpStatistics(@Parameter(description = "年份") @RequestParam("year") String year) { diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fb/entity/vo/FbStBaseInfoVo.java b/backend/src/main/java/com/yfd/platform/qgc_env/fb/entity/vo/FbStBaseInfoVo.java new file mode 100644 index 00000000..a0041826 --- /dev/null +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fb/entity/vo/FbStBaseInfoVo.java @@ -0,0 +1,51 @@ +package com.yfd.platform.qgc_env.fb.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "鱼类增殖站单站基础信息") +public class FbStBaseInfoVo { + + @Schema(description = "站点编码") + private String stcd; + + @Schema(description = "站点名称") + private String stnm; + + @Schema(description = "站类编码") + private String sttpCode; + + @Schema(description = "站类名称") + private String sttpName; + + @Schema(description = "站类全路径") + private String sttpFullPath; + + @Schema(description = "站类层级") + private Integer sttpTreeLevel; + + @Schema(description = "关联站点编码") + private String stCode; + + @Schema(description = "关联站点名称") + private String stName; + + @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; +} diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fb/entity/vo/FbStInfoResultVo.java b/backend/src/main/java/com/yfd/platform/qgc_env/fb/entity/vo/FbStInfoResultVo.java new file mode 100644 index 00000000..a58e8981 --- /dev/null +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fb/entity/vo/FbStInfoResultVo.java @@ -0,0 +1,26 @@ +package com.yfd.platform.qgc_env.fb.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +@Data +@Schema(description = "鱼类增殖站详情返回") +public class FbStInfoResultVo { + + @Schema(description = "主信息兼容对象") + private Map msStbprpT = new LinkedHashMap<>(); + + @Schema(description = "测值列表") + private List stcdValVoList = new ArrayList<>(); + + @Schema(description = "关联列表") + private List relList = new ArrayList<>(); + + @Schema(description = "站点基础信息") + private FbStBaseInfoVo stBaseInfo; +} diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/FbStationService.java b/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/FbStationService.java index 338b8036..b234336c 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/FbStationService.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/FbStationService.java @@ -3,6 +3,7 @@ package com.yfd.platform.qgc_env.fb.service; import com.yfd.platform.common.DataSourceRequest; import com.yfd.platform.common.DataSourceResult; import com.yfd.platform.qgc_env.fb.entity.vo.FbFlDataVo; +import com.yfd.platform.qgc_env.fb.entity.vo.FbStInfoResultVo; import com.yfd.platform.qgc_env.fb.entity.vo.FbStationStaticsDataVo; import com.yfd.platform.qgc_env.fb.entity.vo.YearRpStatisticsVo; import com.yfd.platform.qgc_env.fb.entity.vo.FbStationOverviewSecondVo; @@ -17,6 +18,8 @@ public interface FbStationService { DataSourceResult getFbFlDataKendoListCust(DataSourceRequest dataSourceRequest); + FbStInfoResultVo getStInfoByStcd(String stcd); + DataSourceResult getQgcFbStaticsData(DataSourceRequest dataSourceRequest); DataSourceResult getOverviewSecond(DataSourceRequest dataSourceRequest); diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/impl/FbStationServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/impl/FbStationServiceImpl.java index 6f585661..f14439a6 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/impl/FbStationServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/impl/FbStationServiceImpl.java @@ -12,6 +12,8 @@ import com.yfd.platform.common.GroupingInfo; import com.yfd.platform.common.MicroservicDynamicSQLMapper; import com.yfd.platform.qgc_env.fb.entity.vo.FbFtpStatisticsVo; import com.yfd.platform.qgc_env.fb.entity.vo.FbFlDataVo; +import com.yfd.platform.qgc_env.fb.entity.vo.FbStBaseInfoVo; +import com.yfd.platform.qgc_env.fb.entity.vo.FbStInfoResultVo; import com.yfd.platform.qgc_env.fb.entity.vo.FbStationOverviewSecondVo; import com.yfd.platform.qgc_env.fb.entity.vo.FbStationStaticsDataVo; import com.yfd.platform.qgc_env.fb.entity.vo.FbStationStaticsRawVo; @@ -72,6 +74,26 @@ public class FbStationServiceImpl implements FbStationService { return queryFbFlDataDetailList(dataSourceRequest, loadOptions); } + @Override + public FbStInfoResultVo getStInfoByStcd(String stcd) { + FbStInfoResultVo result = new FbStInfoResultVo(); + if (StrUtil.isBlank(stcd)) { + return result; + } + Map paramMap = new HashMap<>(); + paramMap.put("stcd", stcd.trim()); + List list = microservicDynamicSQLMapper.pageAllListWithResultType( + null, + buildStInfoByStcdSql(), + paramMap, + FbStBaseInfoVo.class + ); + if (CollUtil.isNotEmpty(list)) { + result.setStBaseInfo(list.get(0)); + } + return result; + } + @Override public DataSourceResult getQgcFbStaticsData(DataSourceRequest dataSourceRequest) { DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest(); @@ -381,6 +403,36 @@ public class FbStationServiceImpl implements FbStationService { return DateUtil.parse(value.trim(), "yyyy-MM-dd HH:mm:ss"); } + private String buildStInfoByStcdSql() { + return "SELECT " + + "fb.STCD AS stcd, " + + "fb.STNM AS stnm, " + + "fb.STTP AS sttpCode, " + + "sttp.STTP_NAME AS sttpName, " + + "sttp.FULL_PATH AS sttpFullPath, " + + "sttp.TREE_LEVEL AS sttpTreeLevel, " + + "CAST(NULL AS VARCHAR2(100)) AS stCode, " + + "CAST(NULL AS VARCHAR2(200)) AS stName, " + + "fb.BASE_ID AS baseId, " + + "hb.BASENAME AS baseName, " + + "fb.HBRVCD AS hbrvcd, " + + "hbrv.HBRVNM AS hbrvcdName, " + + "fb.HBRVCD AS rvcd, " + + "hbrv.HBRVNM AS rvcdName " + + "FROM SD_FBRD_B_H fb " + + "LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = fb.BASE_ID " + + " AND NVL(hb.IS_DELETED, 0) = 0 " + + " AND NVL(hb.ENABLED, 1) = 1 " + + "LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = fb.HBRVCD " + + " AND hbrv.BASEID = fb.BASE_ID " + + " AND NVL(hbrv.IS_DELETED, 0) = 0 " + + " AND NVL(hbrv.ENABLED, 1) = 1 " + + "LEFT JOIN SD_STTP_B sttp ON sttp.STTP_CODE = fb.STTP " + + " AND NVL(sttp.IS_DELETED, 0) = 0 " + + " AND NVL(sttp.ENABLE, 1) = 1 " + + "WHERE fb.STCD = #{map.stcd}"; + } + private String buildYearRpStatisticsSql(String year, Map paramMap) { StringBuilder sql = new StringBuilder(); sql.append("SELECT stat.BASE_ID AS baseId, ")