feat: 获取水质沿程变化默认有数据的河流
This commit is contained in:
parent
c234d57ccd
commit
8c2fb08efe
@ -59,6 +59,12 @@ public class EnvWqDataController {
|
||||
return ResponseResult.successData(envWqDataService.getAlongWqKendoListCust(dataSourceRequest));
|
||||
}
|
||||
|
||||
@PostMapping("/along/default/rvcd")
|
||||
@Operation(summary = "获取水质沿程变化默认有数据的河流")
|
||||
public ResponseResult getAlongDefaultRvcd(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||
return ResponseResult.successData(envWqDataService.getAlongDefaultRvcd(dataSourceRequest));
|
||||
}
|
||||
|
||||
@PostMapping("/msstbprpt/GetKendoList")
|
||||
@Operation(summary = "查询水质基础站点分组统计")
|
||||
public ResponseResult getMsstbprptList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||
|
||||
@ -12,6 +12,8 @@ public interface EnvWqDataService {
|
||||
|
||||
DataSourceResult getAlongWqKendoListCust(DataSourceRequest dataSourceRequest);
|
||||
|
||||
DataSourceResult getAlongDefaultRvcd(DataSourceRequest dataSourceRequest);
|
||||
|
||||
DataSourceResult getMsstbprptList(DataSourceRequest dataSourceRequest);
|
||||
|
||||
DataSourceResult getVmsstbprptList(DataSourceRequest dataSourceRequest);
|
||||
|
||||
@ -226,6 +226,44 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSourceResult getAlongDefaultRvcd(DataSourceRequest dataSourceRequest) {
|
||||
String baseId = findFilterFieldValue(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), "baseId");
|
||||
String tm = findFilterFieldValue(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), "tm");
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||
if (StrUtil.isBlank(baseId) && loadOptions != null) {
|
||||
baseId = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "baseId");
|
||||
}
|
||||
if (StrUtil.isBlank(tm) && loadOptions != null) {
|
||||
tm = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "tm");
|
||||
}
|
||||
if (StrUtil.isBlank(baseId)) {
|
||||
return emptyResult();
|
||||
}
|
||||
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("baseId", baseId);
|
||||
String sql;
|
||||
if (StrUtil.isBlank(tm)) {
|
||||
sql = buildAlongDefaultRvcdLatestSql();
|
||||
} else {
|
||||
String[] tmRange = normalizeTmRange(tm);
|
||||
if (tmRange == null) {
|
||||
throw new BizException("时间(tm)格式错误.");
|
||||
}
|
||||
paramMap.put("startTime", tmRange[0]);
|
||||
paramMap.put("endTime", tmRange[1]);
|
||||
sql = buildAlongDefaultRvcdByRangeSql();
|
||||
}
|
||||
|
||||
List<Map<String, Object>> list = microservicDynamicSQLMapper.pageAllList(null, sql, paramMap);
|
||||
DataSourceResult<Map<String, Object>> result = new DataSourceResult<>();
|
||||
result.setData(list);
|
||||
result.setTotal((long) list.size());
|
||||
result.setAggregates(new HashMap<>());
|
||||
return result;
|
||||
}
|
||||
|
||||
private String[] normalizeTmRange(String tm) {
|
||||
if (StrUtil.isBlank(tm)) {
|
||||
return null;
|
||||
@ -242,6 +280,40 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
return first.compareTo(second) <= 0 ? new String[]{first, second} : new String[]{second, first};
|
||||
}
|
||||
|
||||
private String buildAlongDefaultRvcdByRangeSql() {
|
||||
return "SELECT rvcd FROM ( " +
|
||||
"SELECT mab.RVCD AS rvcd " +
|
||||
"FROM MS_ALONG_B mab " +
|
||||
"INNER JOIN MS_ALONGDET_B sab ON sab.ALONG_ID = mab.ID " +
|
||||
"INNER JOIN SD_WQ_B_H wq ON wq.STCD = sab.STCD AND wq.STTP = 'WQ' AND NVL(wq.IS_DELETED, 0) = 0 " +
|
||||
"INNER JOIN SD_ENGINFO_B_H eng ON eng.STCD = wq.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 " +
|
||||
"INNER JOIN SD_WQ_R r ON r.STCD = sab.STCD AND NVL(r.IS_DELETED, 0) = 0 " +
|
||||
"WHERE NVL(mab.IS_DELETED, 0) = 0 " +
|
||||
" AND NVL(sab.IS_DELETED, 0) = 0 " +
|
||||
" AND mab.CODE = 'common' " +
|
||||
" AND eng.BASE_ID = #{map.baseId} " +
|
||||
" AND r.TM >= TO_DATE(#{map.startTime}, 'YYYY-MM-DD HH24:MI:SS') " +
|
||||
" AND r.TM <= TO_DATE(#{map.endTime}, 'YYYY-MM-DD HH24:MI:SS') " +
|
||||
"ORDER BY NVL(mab.ORDER_INDEX, 999999) ASC, NVL(sab.SORT, 999999) ASC " +
|
||||
") WHERE ROWNUM = 1";
|
||||
}
|
||||
|
||||
private String buildAlongDefaultRvcdLatestSql() {
|
||||
return "SELECT rvcd, tm FROM ( " +
|
||||
"SELECT mab.RVCD AS rvcd, TRUNC(r.TM, 'HH24') AS tm " +
|
||||
"FROM MS_ALONG_B mab " +
|
||||
"INNER JOIN MS_ALONGDET_B sab ON sab.ALONG_ID = mab.ID " +
|
||||
"INNER JOIN SD_WQ_B_H wq ON wq.STCD = sab.STCD AND sab.STTP = 'WQ' AND NVL(wq.IS_DELETED, 0) = 0 " +
|
||||
"INNER JOIN SD_ENGINFO_B_H eng ON eng.STCD = wq.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 " +
|
||||
"INNER JOIN SD_WQ_R r ON r.STCD = sab.STCD AND NVL(r.IS_DELETED, 0) = 0 " +
|
||||
"WHERE NVL(mab.IS_DELETED, 0) = 0 " +
|
||||
" AND NVL(sab.IS_DELETED, 0) = 0 " +
|
||||
" AND mab.CODE = 'common' " +
|
||||
" AND eng.BASE_ID = #{map.baseId} " +
|
||||
"ORDER BY r.TM DESC " +
|
||||
") WHERE ROWNUM = 1";
|
||||
}
|
||||
|
||||
private String buildAlongWqMaxTmSql(String rvcd, String baseId, boolean hasTmRange) {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("SELECT TM FROM (")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user