feat: 珍稀植物园数据年份列表

This commit is contained in:
tangwei 2026-07-01 15:19:00 +08:00
parent 78c93eeb02
commit a8541ad11e
3 changed files with 55 additions and 0 deletions

View File

@ -70,4 +70,10 @@ public class VapConstructionController {
public ResponseResult getVarYearKendoListCust(@RequestBody DataSourceRequest dataSourceRequest) {
return ResponseResult.successData(vpConstructionService.getVarYearList(dataSourceRequest));
}
@PostMapping("/vpr/year/GetKendoListCust")
@Operation(summary = "珍稀植物园数据年份列表")
public ResponseResult getVprYearKendoListCust(@RequestBody DataSourceRequest dataSourceRequest) {
return ResponseResult.successData(vpConstructionService.getVprYearList(dataSourceRequest));
}
}

View File

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

View File

@ -1861,4 +1861,51 @@ public class VpConstructionServiceImpl implements VpConstructionService {
dataSourceResult.setTotal(page != null ? page.getTotal() : (long) yList.size());
return dataSourceResult;
}
@Override
public DataSourceResult getVprYearList(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_VP_R r " +
"LEFT JOIN SD_VPBASIC_B svb ON r.PLANT_ID = svb.ID " +
"LEFT JOIN SD_VP_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;
}
}