feat: 动物救助站数据年份列表

This commit is contained in:
tangwei 2026-07-01 14:28:34 +08:00
parent d964cf6d20
commit 04614d9d89
5 changed files with 62 additions and 7 deletions

View File

@ -4353,10 +4353,10 @@ public class FbStationServiceImpl implements FbStationService {
.append("to_CHAR(tm,'YYYY-MM') AS tm, ftp, CASE WHEN NAME IS NULL THEN TO_NCHAR(ftp) ELSE NAME END AS NAME, CASE WHEN SUM(counts) IS NULL THEN '-' ELSE TO_CHAR(SUM(counts)) END AS counts\n")
.append("FROM (\n")
.append("SELECT\n")
.append("\ttm,\n")
.append("\tCASE WHEN ZY_FISH_ID IS NULL THEN ftp ELSE ZY_FISH_ID END AS ftp,\n")
.append("\tCASE WHEN NAME IS NULL THEN TO_NCHAR(ftp) ELSE NAME END AS NAME,\n")
.append("\tcounts\n")
.append("\tt.tm,\n")
.append("\tCASE WHEN f.ZY_FISH_ID IS NULL THEN t.ftp ELSE f.ZY_FISH_ID END AS ftp,\n")
.append("\tCASE WHEN f.NAME IS NULL THEN TO_NCHAR(t.ftp) ELSE f.NAME END AS NAME,\n")
.append("\tt.counts\n")
.append("FROM\n")
.append("\t(\n")
.append("\tSELECT\n")
@ -4511,10 +4511,10 @@ public class FbStationServiceImpl implements FbStationService {
private String mapFishbreedrFishColumn(String field) {
return switch (field) {
case "stcd" -> "t.STCD";
case "stcd" -> "STCD";
case "ftp" -> "t.FTP";
case "counts" -> "t.COUNTS";
case "tm" -> "t.TM";
case "tm" -> "TM";
case "rstcd" -> "s.RSTCD";
case "baseId" -> "s.BASE_ID";
case "hbrvcd" -> "s.HBRVCD";

View File

@ -64,4 +64,10 @@ public class VapConstructionController {
public ResponseResult getVarKendoListCust(@RequestBody DataSourceRequest dataSourceRequest) {
return ResponseResult.successData(vpConstructionService.processVarKendoList(dataSourceRequest));
}
@PostMapping("/var/year/GetKendoListCust")
@Operation(summary = "动物救助站数据年份列表")
public ResponseResult getVarYearKendoListCust(@RequestBody DataSourceRequest dataSourceRequest) {
return ResponseResult.successData(vpConstructionService.getVarYearList(dataSourceRequest));
}
}

View File

@ -23,4 +23,6 @@ public interface VpConstructionService {
DataSourceResult<VpVacVo> processVacKendoList(DataSourceRequest dataSourceRequest);
DataSourceResult<VpVarVo> processVarKendoList(DataSourceRequest dataSourceRequest);
DataSourceResult getVarYearList(DataSourceRequest dataSourceRequest);
}

View File

@ -1814,4 +1814,51 @@ public class VpConstructionServiceImpl implements VpConstructionService {
}
return " ORDER BY " + String.join(", ", orderItems);
}
@Override
public DataSourceResult getVarYearList(DataSourceRequest dataSourceRequest) {
DataSourceResult dataSourceResult = new DataSourceResult<>();
DataSourceLoadOptionsBase loadOptionsBase = dataSourceRequest.toDevRequest();
String baseId = QgcQueryWrapperUtil.getFilterFieldValue(loadOptionsBase, "baseId");
String stcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptionsBase, "stcd");
String rstcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptionsBase, "rstcd");
StringBuilder sql = new StringBuilder("SELECT TO_CHAR(r.TM, 'YYYY') year FROM SD_VA_R r " +
"LEFT JOIN SD_VABASIC_B svb ON r.TETP = svb.ID " +
"LEFT JOIN SD_VA_B_H a ON a.STCD = r.STCD WHERE NVL(r.IS_DELETED, 0) = 0 ");
if (StrUtil.isNotBlank(baseId)) {
sql.append(" AND a.BASE_ID = #{map.baseId} ");
}
if (StrUtil.isNotBlank(stcd)) {
sql.append(" AND a.STCD = #{map.stcd} ");
}
if (StrUtil.isNotBlank(rstcd)) {
sql.append(" AND a.RSTCD = #{map.rstcd} ");
}
sql.append(" GROUP BY TO_CHAR(r.TM, 'YYYY') ORDER BY TO_CHAR(r.TM, 'YYYY') DESC ");
Map<String, Object> paramMap = new HashMap<>();
if (StrUtil.isNotBlank(baseId)) {
paramMap.put("baseId", baseId);
}
if (StrUtil.isNotBlank(stcd)) {
paramMap.put("stcd", stcd);
}
if (StrUtil.isNotBlank(rstcd)) {
paramMap.put("rstcd", rstcd);
}
Page<?> page = KendoUtil.getPage(dataSourceRequest);
List<Map<String, Object>> list = microservicDynamicSQLMapper.pageAllList(page, sql.toString(), paramMap);
List<String> yList = new ArrayList<>();
for (Map<String, Object> it : list) {
if (it.get("YEAR") != null && StrUtil.isNotBlank(it.get("YEAR").toString())) {
yList.add(it.get("YEAR").toString());
}
}
dataSourceResult.setData(yList);
dataSourceResult.setTotal(page != null ? page.getTotal() : (long) yList.size());
return dataSourceResult;
}
}

View File

@ -156,7 +156,7 @@ public class WeFishController {
return ResponseResult.successData(weFishService.getTeSpecialAnimalList(dataSourceRequest));
}
@GetMapping("/getWeDefaultData")
@GetMapping("/we/wer/getWeDefaultData")
@Operation(summary = "查询水生生态断面的年份及是否鱼类,水温,水质,流速数据")
public ResponseResult getWeDefaultData(@RequestParam("stcd") String stcd) {
return ResponseResult.successData(weFishService.getWeDefaultData(stcd));