feat: 沿程鱼类变化情况二级页面tab页签数据
This commit is contained in:
parent
e6954b8bac
commit
852a5c6e91
@ -117,6 +117,12 @@ public class WeFishController {
|
|||||||
return ResponseResult.successData(weFishService.getQgcWeFishDetailList(dataSourceRequest));
|
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")
|
@PostMapping("/we/fisht/detail/GetKendoListCust")
|
||||||
@Operation(summary = "沿程鱼类变化情况二级弹窗")
|
@Operation(summary = "沿程鱼类变化情况二级弹窗")
|
||||||
public ResponseResult getWeFishDetailList(@RequestBody DataSourceRequest dataSourceRequest) {
|
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.WeCompareBarTableVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeEnvmAutoMonitorVo;
|
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.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.WeMsstbprptVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishPointQgcVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishPointQgcVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishStatQgcVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishStatQgcVo;
|
||||||
@ -56,6 +57,8 @@ public interface WeFishService {
|
|||||||
|
|
||||||
DataSourceResult<WeFishDetailVo> getQgcWeFishDetailList(DataSourceRequest dataSourceRequest);
|
DataSourceResult<WeFishDetailVo> getQgcWeFishDetailList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
|
DataSourceResult<WeFishHbbQgcDetailVo> getHbbQgcWeFishDetailList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
DataSourceResult<WeFishDetailVo> getWeFishDetailList(DataSourceRequest dataSourceRequest);
|
DataSourceResult<WeFishDetailVo> getWeFishDetailList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
DataSourceResult<WeFishStatTabVo> getWeFishStatTabList(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.WeFishListQgcVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishListStatQgcVo;
|
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.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.WeMsstbprptVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishPointQgcVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishPointQgcVo;
|
||||||
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishStatQgcVo;
|
import com.yfd.platform.qgc_env.wte.entity.vo.WeFishStatQgcVo;
|
||||||
@ -760,6 +761,30 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
return result;
|
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
|
@Override
|
||||||
public DataSourceResult<WeFishDetailVo> getWeFishDetailList(DataSourceRequest dataSourceRequest) {
|
public DataSourceResult<WeFishDetailVo> getWeFishDetailList(DataSourceRequest dataSourceRequest) {
|
||||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||||
@ -1411,6 +1436,63 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
return sql.toString();
|
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,
|
private String buildWeFishStatTabSql(String baseId,
|
||||||
String rstcd,
|
String rstcd,
|
||||||
String rvcd,
|
String rvcd,
|
||||||
@ -1505,6 +1587,25 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
return result;
|
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) {
|
private List<WeFishDetailVo.StationItem> buildWeFishStationItems(String stcdText, String stnmText) {
|
||||||
List<WeFishDetailVo.StationItem> result = new ArrayList<>();
|
List<WeFishDetailVo.StationItem> result = new ArrayList<>();
|
||||||
if (StrUtil.isBlank(stcdText) || StrUtil.isBlank(stnmText)) {
|
if (StrUtil.isBlank(stcdText) || StrUtil.isBlank(stnmText)) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user