feat: 获取水质达标率默认有数据的电站
This commit is contained in:
parent
9608b91f92
commit
9add0769b9
@ -14,7 +14,7 @@ public class SdEngInfoBHRequest {
|
|||||||
private String hbrvcd;
|
private String hbrvcd;
|
||||||
private String rvcd;
|
private String rvcd;
|
||||||
private String reachcd;
|
private String reachcd;
|
||||||
private List<String> basIds;
|
private List<String> baseIds;
|
||||||
private List<String> hbrvcds;
|
private List<String> hbrvcds;
|
||||||
private List<String> rvcds;
|
private List<String> rvcds;
|
||||||
// private List<String> rvcds;
|
// private List<String> rvcds;
|
||||||
|
|||||||
@ -198,6 +198,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
|||||||
@Cacheable(cacheNames = "engInfoCache#3600", keyGenerator = "cacheKeyGenerator")
|
@Cacheable(cacheNames = "engInfoCache#3600", keyGenerator = "cacheKeyGenerator")
|
||||||
public List<SdEngInfoBH> selectForDropdownCached(SdEngInfoBHRequest sdEngInfoBHRequest) {
|
public List<SdEngInfoBH> selectForDropdownCached(SdEngInfoBHRequest sdEngInfoBHRequest) {
|
||||||
String baseId = sdEngInfoBHRequest.getBaseId();
|
String baseId = sdEngInfoBHRequest.getBaseId();
|
||||||
|
List<String> baseIds = sdEngInfoBHRequest.getBaseIds();
|
||||||
String hbrvcd = sdEngInfoBHRequest.getHbrvcd();
|
String hbrvcd = sdEngInfoBHRequest.getHbrvcd();
|
||||||
String ennm = sdEngInfoBHRequest.getEnnm();
|
String ennm = sdEngInfoBHRequest.getEnnm();
|
||||||
String rvcd = sdEngInfoBHRequest.getRvcd();
|
String rvcd = sdEngInfoBHRequest.getRvcd();
|
||||||
@ -210,6 +211,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
|||||||
.eq(StrUtil.isNotBlank(reachcd), SdEngInfoBH::getReachcd, reachcd)
|
.eq(StrUtil.isNotBlank(reachcd), SdEngInfoBH::getReachcd, reachcd)
|
||||||
.eq(StrUtil.isNotBlank(rvcd), SdEngInfoBH::getRvcd, rvcd)
|
.eq(StrUtil.isNotBlank(rvcd), SdEngInfoBH::getRvcd, rvcd)
|
||||||
.in(rvcds != null && !rvcds.isEmpty(), SdEngInfoBH::getReachcd, rvcds)
|
.in(rvcds != null && !rvcds.isEmpty(), SdEngInfoBH::getReachcd, rvcds)
|
||||||
|
.in(baseIds != null && !baseIds.isEmpty(), SdEngInfoBH::getBaseId, baseIds)
|
||||||
.in(hbrvcds != null && !hbrvcds.isEmpty(), SdEngInfoBH::getHbrvcd, hbrvcds)
|
.in(hbrvcds != null && !hbrvcds.isEmpty(), SdEngInfoBH::getHbrvcd, hbrvcds)
|
||||||
.like(StringUtils.hasText(ennm), SdEngInfoBH::getEnnm, ennm)
|
.like(StringUtils.hasText(ennm), SdEngInfoBH::getEnnm, ennm)
|
||||||
.select(SdEngInfoBH::getStcd, SdEngInfoBH::getEnnm, SdEngInfoBH::getReachcdName, SdEngInfoBH::getYrgeb, SdEngInfoBH::getBaseId)
|
.select(SdEngInfoBH::getStcd, SdEngInfoBH::getEnnm, SdEngInfoBH::getReachcdName, SdEngInfoBH::getYrgeb, SdEngInfoBH::getBaseId)
|
||||||
|
|||||||
@ -157,6 +157,12 @@ public class EnvWqDataController {
|
|||||||
return ResponseResult.successData(envWqDataService.getWqWarRuleList(dataSourceRequest));
|
return ResponseResult.successData(envWqDataService.getWqWarRuleList(dataSourceRequest));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/default/stcd")
|
||||||
|
@Operation(summary = "获取水质达标率默认有数据的电站")
|
||||||
|
public ResponseResult getDefaultStcd(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
return ResponseResult.successData(envWqDataService.getDefaultStcd(dataSourceRequest));
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/anchorPoint/GetKendoListCust")
|
@PostMapping("/anchorPoint/GetKendoListCust")
|
||||||
@Operation(summary = "水质锚点")
|
@Operation(summary = "水质锚点")
|
||||||
public ResponseResult getAnchorPointKendoListCust(@RequestBody DataSourceRequest dataSourceRequest) {
|
public ResponseResult getAnchorPointKendoListCust(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
|||||||
@ -0,0 +1,22 @@
|
|||||||
|
package com.yfd.platform.qgc_env.wq.entity.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 水质达标率默认有数据的电站 VO
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "水质默认电站信息")
|
||||||
|
public class WqDefaultStcdVo implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@Schema(description = "站码")
|
||||||
|
private String stcd;
|
||||||
|
|
||||||
|
@Schema(description = "站名")
|
||||||
|
private String stnm;
|
||||||
|
}
|
||||||
@ -6,6 +6,7 @@ import com.yfd.platform.qgc_base.entity.vo.BatchDeleteAo;
|
|||||||
import com.yfd.platform.qgc_env.wq.entity.ao.JobBaseAo;
|
import com.yfd.platform.qgc_env.wq.entity.ao.JobBaseAo;
|
||||||
import com.yfd.platform.qgc_env.wq.entity.vo.WqBaseInfoVo;
|
import com.yfd.platform.qgc_env.wq.entity.vo.WqBaseInfoVo;
|
||||||
import com.yfd.platform.qgc_env.wq.entity.vo.EnvWqAnchorPointVo;
|
import com.yfd.platform.qgc_env.wq.entity.vo.EnvWqAnchorPointVo;
|
||||||
|
import com.yfd.platform.qgc_env.wq.entity.vo.WqDefaultStcdVo;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -47,5 +48,10 @@ public interface EnvWqDataService {
|
|||||||
|
|
||||||
DataSourceResult<EnvWqAnchorPointVo> getAnchorPointKendoListCust(DataSourceRequest dataSourceRequest);
|
DataSourceResult<EnvWqAnchorPointVo> getAnchorPointKendoListCust(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取水质达标率默认有数据的电站
|
||||||
|
*/
|
||||||
|
DataSourceResult<WqDefaultStcdVo> getDefaultStcd(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
void wqLastData(JobBaseAo ao);
|
void wqLastData(JobBaseAo ao);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4997,4 +4997,63 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
redisCacheUtil.setString("wqLastDate:" + wqDataVo.getStcd(), JSONUtil.toJsonStr(wqDataVo));
|
redisCacheUtil.setString("wqLastDate:" + wqDataVo.getStcd(), JSONUtil.toJsonStr(wqDataVo));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataSourceResult<WqDefaultStcdVo> getDefaultStcd(DataSourceRequest dataSourceRequest) {
|
||||||
|
DataSourceResult<WqDefaultStcdVo> result = new DataSourceResult<>();
|
||||||
|
result.setAggregates(new HashMap<>());
|
||||||
|
|
||||||
|
if (dataSourceRequest == null) {
|
||||||
|
result.setData(new ArrayList<>());
|
||||||
|
result.setTotal(0L);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建过滤条件
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
String filterSql = QgcQueryWrapperUtil.buildFilterCondition(
|
||||||
|
dataSourceRequest.getFilter(),
|
||||||
|
paramMap,
|
||||||
|
new int[]{0},
|
||||||
|
this::mapWqDefaultStcdColumn
|
||||||
|
);
|
||||||
|
|
||||||
|
String sql = "SELECT sb.STCD AS stcd, sb.STNM AS stnm " +
|
||||||
|
"FROM MS_WQ_T wq " +
|
||||||
|
"INNER JOIN SD_WQ_B_H sb ON wq.STCD = sb.STCD " +
|
||||||
|
"WHERE sb.STTP = 'WQ' " +
|
||||||
|
" AND sb.USFL = 1 " +
|
||||||
|
" AND NVL(sb.IS_DELETED, 0) = 0 " +
|
||||||
|
" AND NVL(wq.IS_DELETED, 0) = 0 ";
|
||||||
|
|
||||||
|
// 拼接动态过滤条件
|
||||||
|
if (StrUtil.isNotBlank(filterSql)) {
|
||||||
|
sql += " AND " + filterSql + " ";
|
||||||
|
}
|
||||||
|
|
||||||
|
sql += " AND ROWNUM = 1";
|
||||||
|
|
||||||
|
List<WqDefaultStcdVo> dataList = microservicDynamicSQLMapper
|
||||||
|
.pageAllListWithResultType(null, sql, paramMap, WqDefaultStcdVo.class);
|
||||||
|
|
||||||
|
result.setData(dataList);
|
||||||
|
result.setTotal(dataList != null ? dataList.size() : 0L);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 水质默认电站过滤字段映射
|
||||||
|
*/
|
||||||
|
private String mapWqDefaultStcdColumn(String field) {
|
||||||
|
if (StrUtil.isBlank(field)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return switch (field.toLowerCase()) {
|
||||||
|
case "tm" -> "wq.TM";
|
||||||
|
case "stcd" -> "sb.STCD";
|
||||||
|
case "base_id", "baseid" -> "sb.BASE_ID";
|
||||||
|
case "rstcd" -> "sb.RSTCD";
|
||||||
|
default -> null;
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user