feat: 鱼类调查装置锚点信息

This commit is contained in:
tangwei 2026-07-09 09:16:59 +08:00
parent 1240ad91af
commit 04b0f8dd3a
3 changed files with 50 additions and 12 deletions

View File

@ -89,8 +89,15 @@ public class FprMonitorController {
@PostMapping("/sdFprdR/point/getFprdPointList")
@Operation(summary = "鱼类调查装置锚点信息")
public ResponseResult getFprdPointList(@RequestBody FprdRunDataAo ao) {
List<FprdPointInfoVo> result = fprMonitorService.getFprdInfoList(ao);
public ResponseResult getFprdPointList(@RequestBody DataSourceRequest dataSourceRequest) {
List<FprdPointInfoVo> result = fprMonitorService.getFprdPointList(dataSourceRequest);
return ResponseResult.successData(result);
}
@PostMapping("/point/getFprdPointList")
@Operation(summary = "鱼类调查装置锚点信息(AO入参)")
public ResponseResult getFprdPointListByAo(@RequestBody FprdRunDataAo ao) {
List<FprdPointInfoVo> result = fprMonitorService.getFprdPointList(ao);
return ResponseResult.successData(result);
}

View File

@ -31,5 +31,7 @@ public interface FprMonitorService {
List<String> getFishInfo();
List<FprdPointInfoVo> getFprdInfoList(FprdRunDataAo ao);
List<FprdPointInfoVo> getFprdPointList(FprdRunDataAo ao);
List<FprdPointInfoVo> getFprdPointList(DataSourceRequest dataSourceRequest);
}

View File

@ -129,11 +129,24 @@ public class FprMonitorServiceImpl implements FprMonitorService {
}
@Override
public List<FprdPointInfoVo> getFprdInfoList(FprdRunDataAo ao) {
validateFprdRunDataAo(ao);
public List<FprdPointInfoVo> getFprdPointList(FprdRunDataAo ao) {
validateFprdPointAo(ao);
return listFprdPointInfo(ao.getBaseId(), ao.getHbrvcd(), ao.getStcd());
}
@Override
public List<FprdPointInfoVo> 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<FprdPointInfoVo> listFprdPointInfo(String baseId, String hbrvcd, String stcd) {
Map<String, Object> 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<FprdPointInfoVo> 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, " +