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 68489d04..de45344c 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 @@ -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) { diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fb/entity/vo/FbFishTypeStcdVo.java b/backend/src/main/java/com/yfd/platform/qgc_env/fb/entity/vo/FbFishTypeStcdVo.java new file mode 100644 index 00000000..4ecc11f1 --- /dev/null +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fb/entity/vo/FbFishTypeStcdVo.java @@ -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; +} 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 c55257ea..31513088 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 @@ -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 getFishTypeKendoListCust(DataSourceRequest dataSourceRequest); + DataSourceResult getFishTypeStcdList(DataSourceRequest dataSourceRequest); + DataSourceResult getMsfbrdmKendoListCust(DataSourceRequest dataSourceRequest); DataSourceResult getQgcMsfbrdmKendoListCust(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 de23128f..0f3d8830 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 @@ -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 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 paramMap = new HashMap<>(); + String sql = buildFishTypeStcdListSql(baseId, sttpCode, paramMap); + List list = microservicDynamicSQLMapper.pageAllListWithResultType( + null, + sql, + paramMap, + FbFishTypeStcdVo.class + ); + + DataSourceResult result = new DataSourceResult<>(); + result.setData(list); + result.setTotal(list.size()); + result.setAggregates(new HashMap<>()); + return result; + } + @Override public DataSourceResult> 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 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 rstcdList, Date startTime,