feat: 增殖放流完成情况获取有数据的测站下拉

This commit is contained in:
tangwei 2026-06-23 15:12:06 +08:00
parent 101c60e8c0
commit 0cc208edb4
4 changed files with 71 additions and 0 deletions

View File

@ -97,6 +97,12 @@ public class FbStationController {
return ResponseResult.successData(fbStationService.getFishTypeKendoListCust(dataSourceRequest));
}
@PostMapping("/fishType/getStcdList")
@Operation(summary = "增殖放流完成情况获取有数据的测站下拉")
public ResponseResult getFishTypeStcdList(@RequestBody DataSourceRequest dataSourceRequest) {
return ResponseResult.successData(fbStationService.getFishTypeStcdList(dataSourceRequest));
}
@PostMapping("/msfbrdm/GetKendoListCust")
@Operation(summary = "鱼类增殖站运行情况统计列表")
public ResponseResult getMsfbrdmKendoListCust(@RequestBody DataSourceRequest dataSourceRequest) {

View File

@ -0,0 +1,19 @@
package com.yfd.platform.qgc_env.fb.entity.vo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class FbFishTypeStcdVo {
private String stcd;
private String stnm;
private BigDecimal lgtd;
private BigDecimal lttd;
private String baseId;
}

View File

@ -6,6 +6,7 @@ import com.yfd.platform.qgc_env.fb.entity.vo.FbBsmfRQgcVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbBsmfRFishTableVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbFlDataVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbFishCountFinishVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbFishTypeStcdVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbFishTypeFinishVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbRelatedYrVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbMsfbrdmQgcVo;
@ -32,6 +33,8 @@ public interface FbStationService {
DataSourceResult<FbFishTypeFinishVo> getFishTypeKendoListCust(DataSourceRequest dataSourceRequest);
DataSourceResult<FbFishTypeStcdVo> getFishTypeStcdList(DataSourceRequest dataSourceRequest);
DataSourceResult<FbMsfbrdmQgcVo> getMsfbrdmKendoListCust(DataSourceRequest dataSourceRequest);
DataSourceResult<FbMsfbrdmQgcVo> getQgcMsfbrdmKendoListCust(DataSourceRequest dataSourceRequest);

View File

@ -16,6 +16,7 @@ import com.yfd.platform.qgc_env.fb.entity.vo.FbBsmfRFishHeadColumnVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbBsmfRFishSummaryVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbBsmfRFishTableVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbFishCountFinishVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbFishTypeStcdVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbFishTypeFinishVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbFtpStatisticsVo;
import com.yfd.platform.qgc_env.fb.entity.vo.FbFlDataVo;
@ -149,6 +150,28 @@ public class FbStationServiceImpl implements FbStationService {
return result;
}
@Override
public DataSourceResult<FbFishTypeStcdVo> getFishTypeStcdList(DataSourceRequest dataSourceRequest) {
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
String baseId = loadOptions == null ? null : QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "baseId");
String sttpCode = loadOptions == null ? null : QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "sttpCode");
Map<String, Object> paramMap = new HashMap<>();
String sql = buildFishTypeStcdListSql(baseId, sttpCode, paramMap);
List<FbFishTypeStcdVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(
null,
sql,
paramMap,
FbFishTypeStcdVo.class
);
DataSourceResult<FbFishTypeStcdVo> result = new DataSourceResult<>();
result.setData(list);
result.setTotal(list.size());
result.setAggregates(new HashMap<>());
return result;
}
@Override
public DataSourceResult<Map<String, Object>> getMsstbprptList(DataSourceRequest dataSourceRequest) {
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
@ -930,6 +953,26 @@ public class FbStationServiceImpl implements FbStationService {
return " ORDER BY " + String.join(", ", orderByParts);
}
private String buildFishTypeStcdListSql(String baseId, String sttpCode, Map<String, Object> paramMap) {
StringBuilder sql = new StringBuilder();
sql.append("SELECT fb.STCD AS stcd, fb.STNM AS stnm, fb.LGTD AS lgtd, fb.LTTD AS lttd, fb.BASE_ID AS baseId ")
.append("FROM SD_FBRD_B_H fb ")
.append("INNER JOIN SD_ENGFRPLAN_B plan ON fb.STCD = plan.RSTCD AND NVL(plan.IS_DELETED, 0) = 0 ")
.append("INNER JOIN SD_ENGFRPLANDET_B det ON plan.ID = det.RPJH_ID AND NVL(det.IS_DELETED, 0) = 0 ")
.append("WHERE NVL(fb.USFL, 0) = 1 ");
if (StrUtil.isNotBlank(baseId)) {
paramMap.put("fishTypeBaseId", baseId.trim());
sql.append(" AND fb.BASE_ID = #{map.fishTypeBaseId} ");
}
if (StrUtil.isNotBlank(sttpCode)) {
paramMap.put("fishTypeSttpCode", sttpCode.trim());
sql.append(" AND fb.STTP = #{map.fishTypeSttpCode} ");
}
sql.append("GROUP BY fb.STCD, fb.STNM, fb.LGTD, fb.LTTD, fb.BASE_ID, fb.ORDER_INDEX ")
.append("ORDER BY fb.ORDER_INDEX ASC, fb.STCD ASC");
return sql.toString();
}
private String buildFishTypeFinishSql(String stcd,
List<String> rstcdList,
Date startTime,