feat: 增殖站单站基础信息

This commit is contained in:
tangwei 2026-06-16 10:59:29 +08:00
parent 0ca4651bf1
commit 1c7ad58b5b
5 changed files with 138 additions and 0 deletions

View File

@ -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) {

View File

@ -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;
}

View File

@ -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<String, Object> msStbprpT = new LinkedHashMap<>();
@Schema(description = "测值列表")
private List<Object> stcdValVoList = new ArrayList<>();
@Schema(description = "关联列表")
private List<Object> relList = new ArrayList<>();
@Schema(description = "站点基础信息")
private FbStBaseInfoVo stBaseInfo;
}

View File

@ -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<FbFlDataVo> getFbFlDataKendoListCust(DataSourceRequest dataSourceRequest);
FbStInfoResultVo getStInfoByStcd(String stcd);
DataSourceResult<FbStationStaticsDataVo> getQgcFbStaticsData(DataSourceRequest dataSourceRequest);
DataSourceResult<FbStationOverviewSecondVo> getOverviewSecond(DataSourceRequest dataSourceRequest);

View File

@ -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<String, Object> paramMap = new HashMap<>();
paramMap.put("stcd", stcd.trim());
List<FbStBaseInfoVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(
null,
buildStInfoByStcdSql(),
paramMap,
FbStBaseInfoVo.class
);
if (CollUtil.isNotEmpty(list)) {
result.setStBaseInfo(list.get(0));
}
return result;
}
@Override
public DataSourceResult<FbStationStaticsDataVo> 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<String, Object> paramMap) {
StringBuilder sql = new StringBuilder();
sql.append("SELECT stat.BASE_ID AS baseId, ")