feat: 沿程鱼类变化情况二级页面tab页签数据
This commit is contained in:
parent
e6954b8bac
commit
852a5c6e91
@ -117,6 +117,12 @@ public class WeFishController {
|
||||
return ResponseResult.successData(weFishService.getQgcWeFishDetailList(dataSourceRequest));
|
||||
}
|
||||
|
||||
@PostMapping("/we/fisht/qgcDetail/qgc/GetKendoListCust")
|
||||
@Operation(summary = "环保部-沿程鱼类变化情况二级弹窗")
|
||||
public ResponseResult getHbbQgcWeFishDetailList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||
return ResponseResult.successData(weFishService.getHbbQgcWeFishDetailList(dataSourceRequest));
|
||||
}
|
||||
|
||||
@PostMapping("/we/fisht/detail/GetKendoListCust")
|
||||
@Operation(summary = "沿程鱼类变化情况二级弹窗")
|
||||
public ResponseResult getWeFishDetailList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
package com.yfd.platform.qgc_env.wte.entity.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@Schema(description = "环保部-沿程鱼类变化情况二级弹窗")
|
||||
public class WeFishHbbQgcDetailVo {
|
||||
|
||||
@Schema(description = "电站编码")
|
||||
private String rstcd;
|
||||
|
||||
@Schema(description = "电站名称")
|
||||
private String rstcdName;
|
||||
|
||||
@Schema(description = "断面编码")
|
||||
private String stcd;
|
||||
|
||||
@Schema(description = "断面名称")
|
||||
private String stnm;
|
||||
|
||||
@Schema(description = "鱼类名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "鱼类对应ID")
|
||||
private String id;
|
||||
}
|
||||
@ -7,6 +7,7 @@ import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListStatQgcVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeCompareBarTableVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeEnvmAutoMonitorVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishDetailVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishHbbQgcDetailVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeMsstbprptVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishPointQgcVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishStatQgcVo;
|
||||
@ -56,6 +57,8 @@ public interface WeFishService {
|
||||
|
||||
DataSourceResult<WeFishDetailVo> getQgcWeFishDetailList(DataSourceRequest dataSourceRequest);
|
||||
|
||||
DataSourceResult<WeFishHbbQgcDetailVo> getHbbQgcWeFishDetailList(DataSourceRequest dataSourceRequest);
|
||||
|
||||
DataSourceResult<WeFishDetailVo> getWeFishDetailList(DataSourceRequest dataSourceRequest);
|
||||
|
||||
DataSourceResult<WeFishStatTabVo> getWeFishStatTabList(DataSourceRequest dataSourceRequest);
|
||||
|
||||
@ -17,6 +17,7 @@ import com.yfd.platform.qgc_env.wte.entity.vo.WeEnvmAutoMonitorVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListQgcVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListStatQgcVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishDetailVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishHbbQgcDetailVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeMsstbprptVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishPointQgcVo;
|
||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishStatQgcVo;
|
||||
@ -760,6 +761,30 @@ public class WeFishServiceImpl implements WeFishService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSourceResult<WeFishHbbQgcDetailVo> getHbbQgcWeFishDetailList(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||
Page<?> page = loadOptions == null ? null
|
||||
: QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
DataSourceRequest.FilterDescriptor filter = dataSourceRequest == null ? null : dataSourceRequest.getFilter();
|
||||
|
||||
String baseId = firstNonBlankWeFishFilter(filter, "baseId", "base_id");
|
||||
String rstcd = getFirstWeFishFilterText(filter, "stcd");
|
||||
String rvcd = firstNonBlankWeFishFilter(filter, "rvcd", "hbrvcd");
|
||||
String yr = getFirstWeFishFilterText(filter, "yr");
|
||||
String ty = getFirstWeFishFilterText(filter, "ty");
|
||||
|
||||
String sql = buildHbbQgcWeFishDetailSql(baseId, rstcd, rvcd, yr, ty, paramMap);
|
||||
List<Map<String, Object>> rows = microservicDynamicSQLMapper.pageAllList(page, sql, paramMap);
|
||||
|
||||
DataSourceResult<WeFishHbbQgcDetailVo> result = new DataSourceResult<>();
|
||||
result.setData(buildHbbQgcWeFishDetailResult(rows));
|
||||
result.setTotal(page != null ? page.getTotal() : (long) rows.size());
|
||||
result.setAggregates(new HashMap<>());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSourceResult<WeFishDetailVo> getWeFishDetailList(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||
@ -1411,6 +1436,63 @@ public class WeFishServiceImpl implements WeFishService {
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
private String buildHbbQgcWeFishDetailSql(String baseId,
|
||||
String rstcd,
|
||||
String rvcd,
|
||||
String yr,
|
||||
String ty,
|
||||
Map<String, Object> paramMap) {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("SELECT ")
|
||||
.append("section.RSTCD AS rstcd, ")
|
||||
.append("eng.ENNM AS rstcdName, ")
|
||||
.append("section.STCD AS stcd, ")
|
||||
.append("section.STNM AS stnm, ")
|
||||
.append("dict.ZY_FISH_ID AS id ")
|
||||
.append("FROM SD_WE_B_H section ")
|
||||
.append("INNER JOIN SD_WE_R we ON section.STCD = we.STCD ")
|
||||
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
||||
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON section.RSTCD = eng.STCD ")
|
||||
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN V_SD_FISHDICTORY_B dict ON fish.FTP = dict.FISH_ID ")
|
||||
.append(" AND (section.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
||||
.append("WHERE NVL(section.USFL, 0) = 1 ")
|
||||
.append("AND section.RSTCD IS NOT NULL ")
|
||||
.append("AND dict.ZY_FISH_ID IS NOT NULL ");
|
||||
|
||||
if (StrUtil.isNotBlank(baseId)) {
|
||||
paramMap.put("hbbQgcWeFishDetailBaseId", baseId);
|
||||
sql.append("AND section.BASE_ID = #{map.hbbQgcWeFishDetailBaseId} ");
|
||||
}
|
||||
if (StrUtil.isNotBlank(rstcd)) {
|
||||
paramMap.put("hbbQgcWeFishDetailRstcd", rstcd);
|
||||
sql.append("AND section.RSTCD = #{map.hbbQgcWeFishDetailRstcd} ");
|
||||
}
|
||||
if (StrUtil.isNotBlank(rvcd)) {
|
||||
paramMap.put("hbbQgcWeFishDetailRvcd", rvcd);
|
||||
sql.append("AND section.HBRVCD = #{map.hbbQgcWeFishDetailRvcd} ");
|
||||
}
|
||||
if (StrUtil.isNotBlank(yr)) {
|
||||
paramMap.put("hbbQgcWeFishDetailYr", yr);
|
||||
sql.append("AND TO_CHAR(we.TM, 'yyyy') = #{map.hbbQgcWeFishDetailYr} ");
|
||||
}
|
||||
if (StrUtil.isNotBlank(ty)) {
|
||||
paramMap.put("hbbQgcWeFishDetailTy", ty);
|
||||
sql.append("AND CASE ")
|
||||
.append("WHEN dict.SPEC_ORIGIN = 2 THEN '1' ")
|
||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN '2' ")
|
||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND dict.PTYPE = 6 THEN '3' ")
|
||||
.append("END = #{map.hbbQgcWeFishDetailTy} ");
|
||||
}
|
||||
|
||||
sql.append("GROUP BY section.RSTCD, eng.ENNM, section.STCD, section.STNM,dict.ZY_FISH_ID ")
|
||||
.append("ORDER BY eng.ENNM ASC NULLS LAST, section.STNM ASC NULLS LAST");
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
private String buildWeFishStatTabSql(String baseId,
|
||||
String rstcd,
|
||||
String rvcd,
|
||||
@ -1505,6 +1587,25 @@ public class WeFishServiceImpl implements WeFishService {
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<WeFishHbbQgcDetailVo> buildHbbQgcWeFishDetailResult(List<Map<String, Object>> rows) {
|
||||
List<WeFishHbbQgcDetailVo> result = new ArrayList<>();
|
||||
if (CollUtil.isEmpty(rows)) {
|
||||
return result;
|
||||
}
|
||||
Map<String, String> fishNameMap = loadWeFishNameMap();
|
||||
for (Map<String, Object> row : rows) {
|
||||
String fishIds = safeWeFishString(firstPresentWeFishValue(row, "ID", "id"));
|
||||
result.add(new WeFishHbbQgcDetailVo()
|
||||
.setRstcd(safeWeFishString(firstPresentWeFishValue(row, "RSTCD", "rstcd")))
|
||||
.setRstcdName(safeWeFishString(firstPresentWeFishValue(row, "RSTCDNAME", "rstcdName")))
|
||||
.setStcd(safeWeFishString(firstPresentWeFishValue(row, "STCD", "stcd")))
|
||||
.setStnm(safeWeFishString(firstPresentWeFishValue(row, "STNM", "stnm")))
|
||||
.setId(fishIds)
|
||||
.setName(resolveWeFishNames(fishIds, fishNameMap)));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<WeFishDetailVo.StationItem> buildWeFishStationItems(String stcdText, String stnmText) {
|
||||
List<WeFishDetailVo.StationItem> result = new ArrayList<>();
|
||||
if (StrUtil.isBlank(stcdText) || StrUtil.isBlank(stnmText)) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user