feat: 水质监测数据查询
This commit is contained in:
parent
652abf2cb2
commit
81cefa3ffb
@ -36,15 +36,20 @@ public class EnvWqDataController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/GetStbprpYsByStcd")
|
@PostMapping("/GetStbprpYsByStcd")
|
||||||
@Operation(summary = "水质统计分析")
|
@Operation(summary = "水质监测数据查询")
|
||||||
public ResponseResult GetStbprpYsByStcd(@RequestBody DataSourceRequest dataSourceRequest) {
|
public ResponseResult GetStbprpYsByStcd(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
return ResponseResult.successData(null);
|
return ResponseResult.successData(envWqDataService.getStbprpYsByStcd(dataSourceRequest));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/stTbYs/GetStTbYsBVoKendoListCust")
|
|
||||||
|
@GetMapping("/stTbYs/GetStTbYsBVoKendoListCust")
|
||||||
@Operation(summary = "水质监测信息查询")
|
@Operation(summary = "水质监测信息查询")
|
||||||
public ResponseResult getStTbYsBVoKendoListCust(@RequestBody DataSourceRequest dataSourceRequest) {
|
public ResponseResult getStTbYsBVoKendoListCust(
|
||||||
return ResponseResult.successData(envWqDataService.getStTbYsBVoKendoListCust(dataSourceRequest));
|
@RequestParam String stcd,
|
||||||
|
@RequestParam String tbCode,
|
||||||
|
@RequestParam String startTime,
|
||||||
|
@RequestParam String endTime) {
|
||||||
|
return ResponseResult.successData(envWqDataService.getStTbYsBVoKendoListCust(stcd, tbCode, startTime, endTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/data/noAuth/GetKendoListCust")
|
@PostMapping("/data/noAuth/GetKendoListCust")
|
||||||
|
|||||||
65
backend/src/main/java/com/yfd/platform/env/wq/entity/vo/StbprpYsVo.java
vendored
Normal file
65
backend/src/main/java/com/yfd/platform/env/wq/entity/vo/StbprpYsVo.java
vendored
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
package com.yfd.platform.env.wq.entity.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Schema(description = "对象监测要素配置")
|
||||||
|
public class StbprpYsVo {
|
||||||
|
|
||||||
|
@Schema(description = "对象编码")
|
||||||
|
private String stcd;
|
||||||
|
|
||||||
|
@Schema(description = "要素编码")
|
||||||
|
private String ys;
|
||||||
|
|
||||||
|
@Schema(description = "监测表ID")
|
||||||
|
private String tbId;
|
||||||
|
|
||||||
|
@Schema(description = "要素显示名称")
|
||||||
|
private String ysShowName;
|
||||||
|
|
||||||
|
@Schema(description = "显示控制")
|
||||||
|
private String showControl;
|
||||||
|
|
||||||
|
@Schema(description = "是否启用")
|
||||||
|
private String enable;
|
||||||
|
|
||||||
|
@Schema(description = "字段数据类型")
|
||||||
|
private String dataType;
|
||||||
|
|
||||||
|
@Schema(description = "标准单位ID")
|
||||||
|
private String standardUomId;
|
||||||
|
|
||||||
|
@Schema(description = "监测表名称")
|
||||||
|
private String tbName;
|
||||||
|
|
||||||
|
@Schema(description = "实时表名")
|
||||||
|
private String tb;
|
||||||
|
|
||||||
|
@Schema(description = "监测表编码")
|
||||||
|
private String tbCode;
|
||||||
|
|
||||||
|
@Schema(description = "日统计表")
|
||||||
|
private String dayTb;
|
||||||
|
|
||||||
|
@Schema(description = "时间维度统计表")
|
||||||
|
private String statTb;
|
||||||
|
|
||||||
|
@Schema(description = "最新数据表")
|
||||||
|
private String lastTb;
|
||||||
|
|
||||||
|
@Schema(description = "数据源ID")
|
||||||
|
private String dataSourceId;
|
||||||
|
|
||||||
|
@Schema(description = "站类监测表要素关联ID")
|
||||||
|
private String sttpTbYsBId;
|
||||||
|
|
||||||
|
@Schema(description = "最小值")
|
||||||
|
private BigDecimal minVal;
|
||||||
|
|
||||||
|
@Schema(description = "最大值")
|
||||||
|
private BigDecimal maxVal;
|
||||||
|
}
|
||||||
@ -10,6 +10,8 @@ public interface EnvWqDataService {
|
|||||||
|
|
||||||
DataSourceResult processDataKendoList(DataSourceRequest dataSourceRequest);
|
DataSourceResult processDataKendoList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
|
DataSourceResult getStbprpYsByStcd(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
DataSourceResult getAlongWqKendoListCust(DataSourceRequest dataSourceRequest);
|
DataSourceResult getAlongWqKendoListCust(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
DataSourceResult getAlongDefaultRvcd(DataSourceRequest dataSourceRequest);
|
DataSourceResult getAlongDefaultRvcd(DataSourceRequest dataSourceRequest);
|
||||||
@ -22,5 +24,5 @@ public interface EnvWqDataService {
|
|||||||
|
|
||||||
DataSourceResult getWbsbList(DataSourceRequest dataSourceRequest);
|
DataSourceResult getWbsbList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
DataSourceResult getStTbYsBVoKendoListCust(DataSourceRequest dataSourceRequest);
|
DataSourceResult getStTbYsBVoKendoListCust(String stcd, String tbCode, String startTime, String endTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -140,6 +140,83 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataSourceResult getStbprpYsByStcd(DataSourceRequest dataSourceRequest) {
|
||||||
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||||
|
String stcd = resolveStringFilterValue(dataSourceRequest, loadOptions, "stcd");
|
||||||
|
String tbCode = resolveStringFilterValue(dataSourceRequest, loadOptions, "tbCode");
|
||||||
|
return queryStbprpYsByStcd(stcd, tbCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
private DataSourceResult<StbprpYsVo> queryStbprpYsByStcd(String stcd, String tbCode) {
|
||||||
|
if (StrUtil.isBlank(stcd)) {
|
||||||
|
throw new BizException("站点编码(stcd)不能为空.");
|
||||||
|
}
|
||||||
|
if (StrUtil.isBlank(tbCode)) {
|
||||||
|
throw new BizException("监测表编码(tbCode)不能为空.");
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
sql.append("SELECT ")
|
||||||
|
.append("t1.STCD AS stcd, ")
|
||||||
|
.append("t2.YS AS ys, ")
|
||||||
|
.append("t2.TB_ID AS tbId, ")
|
||||||
|
.append("NVL(t4.YS_SHOW_NAME, t2.YS) AS ysShowName, ")
|
||||||
|
.append("t4.SHOW_CONTROL AS showControl, ")
|
||||||
|
.append("TO_CHAR(NVL(t4.ENABLE, 0)) AS enable, ")
|
||||||
|
.append("CASE ")
|
||||||
|
.append(" WHEN utc.DATA_TYPE IN ('CHAR', 'NCHAR', 'VARCHAR2', 'NVARCHAR2', 'CLOB', 'NCLOB') THEN 'str' ")
|
||||||
|
.append(" WHEN utc.DATA_TYPE LIKE 'TIMESTAMP%' OR utc.DATA_TYPE = 'DATE' THEN 'datetime' ")
|
||||||
|
.append(" WHEN utc.DATA_TYPE IS NULL THEN NULL ")
|
||||||
|
.append(" ELSE 'number' ")
|
||||||
|
.append("END AS dataType, ")
|
||||||
|
.append("CAST(NULL AS VARCHAR2(36)) AS standardUomId, ")
|
||||||
|
.append("t3.TB_NAME AS tbName, ")
|
||||||
|
.append("t3.TB AS tb, ")
|
||||||
|
.append("t3.TB_CODE AS tbCode, ")
|
||||||
|
.append("t3.DAY_TB AS dayTb, ")
|
||||||
|
.append("t3.STAT_TB AS statTb, ")
|
||||||
|
.append("t3.LAST_TB AS lastTb, ")
|
||||||
|
.append("t3.DATA_SOURCE_ID AS dataSourceId, ")
|
||||||
|
.append("t1.STTP_TB_YS_B_ID AS sttpTbYsBId, ")
|
||||||
|
.append("CAST(NULL AS NUMBER(18,6)) AS minVal, ")
|
||||||
|
.append("CAST(NULL AS NUMBER(18,6)) AS maxVal ")
|
||||||
|
.append("FROM ST_STBPRP_YS_B t1 ")
|
||||||
|
.append("INNER JOIN ST_STTP_TB_YS_B t2 ON t2.ID = t1.STTP_TB_YS_B_ID ")
|
||||||
|
.append(" AND NVL(t2.IS_DELETED, 0) = 0 ")
|
||||||
|
.append(" AND NVL(t2.IS_SHOW, 1) = 1 ")
|
||||||
|
.append("INNER JOIN ST_TB_B t3 ON t3.ID = t2.TB_ID ")
|
||||||
|
.append(" AND NVL(t3.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("LEFT JOIN ST_TB_YS_B t4 ON t4.TB_ID = t2.TB_ID ")
|
||||||
|
.append(" AND t4.YS = t2.YS ")
|
||||||
|
.append(" AND NVL(t4.IS_DELETED, 0) = 0 ")
|
||||||
|
.append("LEFT JOIN USER_TAB_COLUMNS utc ON utc.TABLE_NAME = UPPER(t3.TB) ")
|
||||||
|
.append(" AND utc.COLUMN_NAME = UPPER(t2.YS) ")
|
||||||
|
.append("WHERE t1.STCD = #{map.stcd} ")
|
||||||
|
.append(" AND t3.TB_CODE = #{map.tbCode} ")
|
||||||
|
.append(" AND NVL(t1.IS_DELETED, 0) = 0 ")
|
||||||
|
.append(" AND NVL(t1.IS_SHOW, 1) = 1 ")
|
||||||
|
.append("ORDER BY NVL(t1.ORDER_INDEX, 999999) ASC, ")
|
||||||
|
.append(" NVL(t2.ORDER_INDEX, 999999) ASC, ")
|
||||||
|
.append(" NVL(t4.ORDER_INDEX, 999999) ASC, ")
|
||||||
|
.append(" t2.YS ASC");
|
||||||
|
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
paramMap.put("stcd", stcd);
|
||||||
|
paramMap.put("tbCode", tbCode);
|
||||||
|
List<StbprpYsVo> list = microservicDynamicSQLMapper.getAllListWithResultType(
|
||||||
|
sql.toString(),
|
||||||
|
paramMap,
|
||||||
|
StbprpYsVo.class
|
||||||
|
);
|
||||||
|
|
||||||
|
DataSourceResult<StbprpYsVo> result = new DataSourceResult<>();
|
||||||
|
result.setData(list);
|
||||||
|
result.setTotal((long) list.size());
|
||||||
|
result.setAggregates(new HashMap<>());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataSourceResult getAlongWqKendoListCust(DataSourceRequest dataSourceRequest) {
|
public DataSourceResult getAlongWqKendoListCust(DataSourceRequest dataSourceRequest) {
|
||||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||||
@ -611,6 +688,16 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String resolveStringFilterValue(DataSourceRequest dataSourceRequest,
|
||||||
|
DataSourceLoadOptionsBase loadOptions,
|
||||||
|
String field) {
|
||||||
|
String value = findFilterFieldValue(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), field);
|
||||||
|
if (StrUtil.isBlank(value) && loadOptions != null) {
|
||||||
|
value = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, field);
|
||||||
|
}
|
||||||
|
return StrUtil.trim(value);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public WqBaseInfoVo getStcdInfo(String stcd) {
|
public WqBaseInfoVo getStcdInfo(String stcd) {
|
||||||
if (StrUtil.isBlank(stcd)) {
|
if (StrUtil.isBlank(stcd)) {
|
||||||
@ -2048,44 +2135,8 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataSourceResult getStTbYsBVoKendoListCust(DataSourceRequest dataSourceRequest) {
|
public DataSourceResult getStTbYsBVoKendoListCust(String stcd, String tbCode, String startTime, String endTime) {
|
||||||
StringBuilder sql = new StringBuilder();
|
return queryStbprpYsByStcd(stcd, tbCode);
|
||||||
sql.append("SELECT ")
|
|
||||||
.append("y.ID AS id, ")
|
|
||||||
.append("y.TB_ID AS tbId, ")
|
|
||||||
.append("t.TB_NAME AS tbName, ")
|
|
||||||
.append("t.TB_CODE AS tbCode, ")
|
|
||||||
.append("y.DESCRIPTION AS description, ")
|
|
||||||
.append("y.YS AS ys, ")
|
|
||||||
.append("y.YS_SHOW_NAME AS ysShowName, ")
|
|
||||||
.append("y.SHOW_CONTROL AS showControl, ")
|
|
||||||
.append("TO_CHAR(y.ENABLE) AS enable, ")
|
|
||||||
.append("y.ORDER_INDEX AS orderIndex ")
|
|
||||||
.append("FROM ST_TB_YS_B y ")
|
|
||||||
.append("INNER JOIN ST_TB_B t ON t.ID = y.TB_ID AND NVL(t.IS_DELETED, 0) = 0 ")
|
|
||||||
.append("WHERE NVL(y.IS_DELETED, 0) = 0 ");
|
|
||||||
|
|
||||||
Map<String, Object> paramMap = new HashMap<>();
|
|
||||||
String filterSql = buildStTbYsFilterCondition(
|
|
||||||
dataSourceRequest == null ? null : dataSourceRequest.getFilter(),
|
|
||||||
paramMap,
|
|
||||||
new int[]{0}
|
|
||||||
);
|
|
||||||
if (StrUtil.isNotBlank(filterSql)) {
|
|
||||||
sql.append(" AND ").append(filterSql).append(" ");
|
|
||||||
}
|
|
||||||
sql.append(buildStTbYsOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
|
||||||
|
|
||||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
|
||||||
PageInfo pageInfo = loadOptions == null ? null : QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
|
||||||
Page<?> page = pageInfo != null && pageInfo.getHasPageInfo() ? pageInfo.getPage() : null;
|
|
||||||
List<StTbYsVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, StTbYsVo.class);
|
|
||||||
|
|
||||||
DataSourceResult<StTbYsVo> result = new DataSourceResult<>();
|
|
||||||
result.setData(list);
|
|
||||||
result.setTotal(page != null ? page.getTotal() : list.size());
|
|
||||||
result.setAggregates(new HashMap<>());
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String buildStTbYsFilterCondition(DataSourceRequest.FilterDescriptor root,
|
private String buildStTbYsFilterCondition(DataSourceRequest.FilterDescriptor root,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user