feat: 获取水质沿程变化默认有数据的河流
This commit is contained in:
parent
c234d57ccd
commit
8c2fb08efe
@ -59,6 +59,12 @@ public class EnvWqDataController {
|
|||||||
return ResponseResult.successData(envWqDataService.getAlongWqKendoListCust(dataSourceRequest));
|
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")
|
@PostMapping("/msstbprpt/GetKendoList")
|
||||||
@Operation(summary = "查询水质基础站点分组统计")
|
@Operation(summary = "查询水质基础站点分组统计")
|
||||||
public ResponseResult getMsstbprptList(@RequestBody DataSourceRequest dataSourceRequest) {
|
public ResponseResult getMsstbprptList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
|||||||
@ -12,6 +12,8 @@ public interface EnvWqDataService {
|
|||||||
|
|
||||||
DataSourceResult getAlongWqKendoListCust(DataSourceRequest dataSourceRequest);
|
DataSourceResult getAlongWqKendoListCust(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
|
DataSourceResult getAlongDefaultRvcd(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
DataSourceResult getMsstbprptList(DataSourceRequest dataSourceRequest);
|
DataSourceResult getMsstbprptList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
DataSourceResult getVmsstbprptList(DataSourceRequest dataSourceRequest);
|
DataSourceResult getVmsstbprptList(DataSourceRequest dataSourceRequest);
|
||||||
|
|||||||
@ -226,6 +226,44 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
return result;
|
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) {
|
private String[] normalizeTmRange(String tm) {
|
||||||
if (StrUtil.isBlank(tm)) {
|
if (StrUtil.isBlank(tm)) {
|
||||||
return null;
|
return null;
|
||||||
@ -242,6 +280,40 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
return first.compareTo(second) <= 0 ? new String[]{first, second} : new String[]{second, first};
|
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) {
|
private String buildAlongWqMaxTmSql(String rvcd, String baseId, boolean hasTmRange) {
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT TM FROM (")
|
sql.append("SELECT TM FROM (")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user