feat: 获取水质达标率默认有数据的电站
This commit is contained in:
parent
9608b91f92
commit
9add0769b9
@ -14,7 +14,7 @@ public class SdEngInfoBHRequest {
|
||||
private String hbrvcd;
|
||||
private String rvcd;
|
||||
private String reachcd;
|
||||
private List<String> basIds;
|
||||
private List<String> baseIds;
|
||||
private List<String> hbrvcds;
|
||||
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")
|
||||
public List<SdEngInfoBH> selectForDropdownCached(SdEngInfoBHRequest sdEngInfoBHRequest) {
|
||||
String baseId = sdEngInfoBHRequest.getBaseId();
|
||||
List<String> baseIds = sdEngInfoBHRequest.getBaseIds();
|
||||
String hbrvcd = sdEngInfoBHRequest.getHbrvcd();
|
||||
String ennm = sdEngInfoBHRequest.getEnnm();
|
||||
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(rvcd), SdEngInfoBH::getRvcd, rvcd)
|
||||
.in(rvcds != null && !rvcds.isEmpty(), SdEngInfoBH::getReachcd, rvcds)
|
||||
.in(baseIds != null && !baseIds.isEmpty(), SdEngInfoBH::getBaseId, baseIds)
|
||||
.in(hbrvcds != null && !hbrvcds.isEmpty(), SdEngInfoBH::getHbrvcd, hbrvcds)
|
||||
.like(StringUtils.hasText(ennm), SdEngInfoBH::getEnnm, ennm)
|
||||
.select(SdEngInfoBH::getStcd, SdEngInfoBH::getEnnm, SdEngInfoBH::getReachcdName, SdEngInfoBH::getYrgeb, SdEngInfoBH::getBaseId)
|
||||
|
||||
@ -157,6 +157,12 @@ public class EnvWqDataController {
|
||||
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")
|
||||
@Operation(summary = "水质锚点")
|
||||
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.vo.WqBaseInfoVo;
|
||||
import com.yfd.platform.qgc_env.wq.entity.vo.EnvWqAnchorPointVo;
|
||||
import com.yfd.platform.qgc_env.wq.entity.vo.WqDefaultStcdVo;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@ -47,5 +48,10 @@ public interface EnvWqDataService {
|
||||
|
||||
DataSourceResult<EnvWqAnchorPointVo> getAnchorPointKendoListCust(DataSourceRequest dataSourceRequest);
|
||||
|
||||
/**
|
||||
* 获取水质达标率默认有数据的电站
|
||||
*/
|
||||
DataSourceResult<WqDefaultStcdVo> getDefaultStcd(DataSourceRequest dataSourceRequest);
|
||||
|
||||
void wqLastData(JobBaseAo ao);
|
||||
}
|
||||
|
||||
@ -4997,4 +4997,63 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
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