diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fpr/controller/FprMonitorController.java b/backend/src/main/java/com/yfd/platform/qgc_env/fpr/controller/FprMonitorController.java index bf3f44ff..911c40f7 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/fpr/controller/FprMonitorController.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fpr/controller/FprMonitorController.java @@ -89,8 +89,15 @@ public class FprMonitorController { @PostMapping("/sdFprdR/point/getFprdPointList") @Operation(summary = "鱼类调查装置锚点信息") - public ResponseResult getFprdPointList(@RequestBody FprdRunDataAo ao) { - List result = fprMonitorService.getFprdInfoList(ao); + public ResponseResult getFprdPointList(@RequestBody DataSourceRequest dataSourceRequest) { + List result = fprMonitorService.getFprdPointList(dataSourceRequest); + return ResponseResult.successData(result); + } + + @PostMapping("/point/getFprdPointList") + @Operation(summary = "鱼类调查装置锚点信息(AO入参)") + public ResponseResult getFprdPointListByAo(@RequestBody FprdRunDataAo ao) { + List result = fprMonitorService.getFprdPointList(ao); return ResponseResult.successData(result); } diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fpr/service/FprMonitorService.java b/backend/src/main/java/com/yfd/platform/qgc_env/fpr/service/FprMonitorService.java index d64cf1fc..81e67b1e 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/fpr/service/FprMonitorService.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fpr/service/FprMonitorService.java @@ -31,5 +31,7 @@ public interface FprMonitorService { List getFishInfo(); - List getFprdInfoList(FprdRunDataAo ao); + List getFprdPointList(FprdRunDataAo ao); + + List getFprdPointList(DataSourceRequest dataSourceRequest); } diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fpr/service/impl/FprMonitorServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/fpr/service/impl/FprMonitorServiceImpl.java index 038d62b7..339cc4b3 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/fpr/service/impl/FprMonitorServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fpr/service/impl/FprMonitorServiceImpl.java @@ -129,11 +129,24 @@ public class FprMonitorServiceImpl implements FprMonitorService { } @Override - public List getFprdInfoList(FprdRunDataAo ao) { - validateFprdRunDataAo(ao); + public List getFprdPointList(FprdRunDataAo ao) { + validateFprdPointAo(ao); + return listFprdPointInfo(ao.getBaseId(), ao.getHbrvcd(), ao.getStcd()); + } + @Override + public List getFprdPointList(DataSourceRequest dataSourceRequest) { + DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest(); + String baseId = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "baseId"); + String hbrvcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "hbrvcd"); + String stcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "stcd"); + validateFprdPointRequest(baseId); + return listFprdPointInfo(baseId, hbrvcd, stcd); + } + + private List listFprdPointInfo(String baseId, String hbrvcd, String stcd) { Map paramMap = new HashMap<>(); - paramMap.put("baseId", ao.getBaseId()); + StringBuilder sql = new StringBuilder("SELECT ") .append("aim.STCD AS stcd, ") @@ -179,17 +192,20 @@ public class FprMonitorServiceImpl implements FprMonitorService { .append(" AND NVL(sttp.ENABLE, 1) = 1 ") .append("WHERE NVL(aim.IS_DELETED, 0) = 0 ") .append(" AND aim.STTP = 'FPRD' ") - .append(" AND aim.LGTD IS NOT NULL ") - .append(" AND aim.BASE_ID = #{map.baseId}"); + .append(" AND aim.LGTD IS NOT NULL "); - if (StrUtil.isNotBlank(ao.getHbrvcd())) { + if (StrUtil.isNotBlank(baseId)) { + sql.append(" AND aim.BASE_ID = #{map.baseId}"); + } + paramMap.put("baseId", baseId); + if (StrUtil.isNotBlank(hbrvcd)) { sql.append(" AND aim.HBRVCD = #{map.hbrvcd}"); - paramMap.put("hbrvcd", ao.getHbrvcd()); + paramMap.put("hbrvcd", hbrvcd); } - if (StrUtil.isNotBlank(ao.getStcd())) { + if (StrUtil.isNotBlank(stcd)) { sql.append(" AND aim.STCD = #{map.stcd}"); - paramMap.put("stcd", ao.getStcd()); + paramMap.put("stcd", stcd); } List resultList = microservicDynamicSQLMapper.getAllListWithResultType( @@ -691,6 +707,19 @@ public class FprMonitorServiceImpl implements FprMonitorService { } } + private void validateFprdPointRequest(String baseId) { +// if (StrUtil.isBlank(baseId)) { +// throw new BizException("基地编码(baseId)不能为空."); +// } + } + + private void validateFprdPointAo(FprdRunDataAo ao) { + if (ao == null) { + throw new BizException("请求参数不能为空."); + } + validateFprdPointRequest(ao.getBaseId()); + } + private String buildFishDicBaseSql() { return "SELECT " + "src.ID AS id, " +