From 0cc208edb48ed0b525dfddbed0b52f204f5a67c1 Mon Sep 17 00:00:00 2001 From: tangwei Date: Tue, 23 Jun 2026 15:12:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E6=AE=96=E6=94=BE=E6=B5=81?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=83=85=E5=86=B5=E8=8E=B7=E5=8F=96=E6=9C=89?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9A=84=E6=B5=8B=E7=AB=99=E4=B8=8B=E6=8B=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fb/controller/FbStationController.java | 6 +++ .../fb/entity/vo/FbFishTypeStcdVo.java | 19 ++++++++ .../qgc_env/fb/service/FbStationService.java | 3 ++ .../fb/service/impl/FbStationServiceImpl.java | 43 +++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 backend/src/main/java/com/yfd/platform/qgc_env/fb/entity/vo/FbFishTypeStcdVo.java 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,