feat: 栖息地关联站点描点
This commit is contained in:
parent
58fec2e6f1
commit
d9e15f9736
@ -77,4 +77,10 @@ public class FhHabitatController {
|
||||
public ResponseResult getFhvapKendoListCust(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||
return ResponseResult.successData(fhHabitatService.getFhvapKendoListCust(dataSourceRequest));
|
||||
}
|
||||
|
||||
@PostMapping("/fhvap/fhPoint/GetKendoListCust")
|
||||
@Operation(summary = "栖息地关联站点描点")
|
||||
public ResponseResult getFhPoint(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||
return ResponseResult.successData(fhHabitatService.getFhPoint(dataSourceRequest));
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,67 @@
|
||||
package com.yfd.platform.qgc_env.fh.entity.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@Schema(description = "栖息地关联站点描点")
|
||||
public class FhPointVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "所属栖息地编码")
|
||||
private String fhstcd;
|
||||
|
||||
@Schema(description = "站码")
|
||||
private String stcd;
|
||||
|
||||
@Schema(description = "站名")
|
||||
private String stnm;
|
||||
|
||||
@Schema(description = "所属电站名称")
|
||||
private String ennm;
|
||||
|
||||
@Schema(description = "经度")
|
||||
private BigDecimal lgtd;
|
||||
|
||||
@Schema(description = "纬度")
|
||||
private BigDecimal lttd;
|
||||
|
||||
@Schema(description = "基地编码")
|
||||
private String baseId;
|
||||
|
||||
@Schema(description = "基地名称")
|
||||
private String baseName;
|
||||
|
||||
@Schema(description = "所属流域编码")
|
||||
private String rvcd;
|
||||
|
||||
@Schema(description = "所属流域名称")
|
||||
private String rvcdName;
|
||||
|
||||
@Schema(description = "所属电站编码")
|
||||
private String rstcd;
|
||||
|
||||
@Schema(description = "所属站类编码")
|
||||
private String sttpCode;
|
||||
|
||||
@Schema(description = "基面高程")
|
||||
private BigDecimal dtmel;
|
||||
|
||||
@Schema(description = "是否接入")
|
||||
private Integer dtin;
|
||||
|
||||
@Schema(description = "建设状态分类")
|
||||
private String bldsttCcode;
|
||||
|
||||
@Schema(description = "描点状态")
|
||||
private String anchoPointState;
|
||||
|
||||
@Schema(description = "出入库标识(1 入库水温, 2 出库水温, 3 非出入库水温)")
|
||||
private Integer ioType;
|
||||
}
|
||||
@ -6,6 +6,7 @@ import com.yfd.platform.qgc_env.fh.entity.ao.FhDefaultAo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.FhBaseInfoVo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.FhDefaultVo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.FhHaVapVo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.FhPointVo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.HabitatVo;
|
||||
|
||||
public interface FhHabitatService {
|
||||
@ -27,4 +28,6 @@ public interface FhHabitatService {
|
||||
DataSourceResult getStTbYsBVoKendoListCust(DataSourceRequest dataSourceRequest);
|
||||
|
||||
DataSourceResult<FhHaVapVo> getFhvapKendoListCust(DataSourceRequest dataSourceRequest);
|
||||
|
||||
DataSourceResult<FhPointVo> getFhPoint(DataSourceRequest dataSourceRequest);
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@ import com.yfd.platform.qgc_env.fh.entity.ao.FhDefaultAo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.FhBaseInfoVo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.FhDefaultVo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.FhHaVapVo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.FhPointVo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.HabitatVo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.FhMsstbprptVo;
|
||||
import com.yfd.platform.qgc_env.fh.entity.vo.FhSdriverdayVo;
|
||||
@ -2004,6 +2005,120 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
||||
return dataSourceResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSourceResult<FhPointVo> getFhPoint(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceResult<FhPointVo> result = new DataSourceResult<>();
|
||||
result.setAggregates(new HashMap<>());
|
||||
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("SELECT ")
|
||||
.append("t.fhstcd AS fhstcd, ")
|
||||
.append("t.stcd AS stcd, ")
|
||||
.append("t.stnm AS stnm, ")
|
||||
.append("eng.ENNM AS ennm, ")
|
||||
.append("t.lgtd AS lgtd, ")
|
||||
.append("t.lttd AS lttd, ")
|
||||
.append("t.baseId AS baseId, ")
|
||||
.append("hb.BASENAME AS baseName, ")
|
||||
.append("t.rvcd AS rvcd, ")
|
||||
.append("rv.RVNM AS rvcdName, ")
|
||||
.append("t.rstcd AS rstcd, ")
|
||||
.append("t.sttpCode AS sttpCode, ")
|
||||
.append("t.dtmel AS dtmel, ")
|
||||
.append("t.dtin AS dtin, ")
|
||||
.append("t.bldsttCcode AS bldsttCcode, ")
|
||||
.append("t.ioType AS ioType ")
|
||||
.append("FROM (")
|
||||
.append("SELECT fh.STCD AS fhstcd, wq.STCD AS stcd, wq.STNM AS stnm, ")
|
||||
.append(" wq.LGTD AS lgtd, wq.LTTD AS lttd, fh.BASE_ID AS baseId, ")
|
||||
.append(" null AS rvcd, wq.RSTCD AS rstcd, ")
|
||||
.append(" 'WQ' AS sttpCode, wq.ELEV AS dtmel, wq.DTIN AS dtin, ")
|
||||
.append(" TO_CHAR(wq.BLDSTT_CODE) AS bldsttCcode, CAST(NULL AS NUMBER) AS ioType ")
|
||||
.append("FROM SD_FHBT_B_H fh ")
|
||||
.append("INNER JOIN SD_WQ_B_H wq ON fh.STCD = wq.FHSTCD ")
|
||||
.append("WHERE NVL(fh.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND NVL(wq.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND fh.BASE_ID <> 'other' ")
|
||||
.append(" AND wq.LGTD IS NOT NULL ")
|
||||
.append("UNION ALL ")
|
||||
.append("SELECT fh.STCD AS fhstcd, wt.STCD AS stcd, wt.STNM AS stnm, ")
|
||||
.append(" wt.LGTD AS lgtd, wt.LTTD AS lttd, fh.BASE_ID AS baseId, ")
|
||||
.append(" NVL(fh.RVCD, engWt.RVCD) AS rvcd, wt.RSTCD AS rstcd, ")
|
||||
.append(" 'WTRV' AS sttpCode, wt.ELEV AS dtmel, wt.DTIN AS dtin, ")
|
||||
.append(" TO_CHAR(wt.BLDSTT_CODE) AS bldsttCcode, ")
|
||||
.append(" CASE WHEN wt.WT_TYPE = 'IWT' THEN 1 ")
|
||||
.append(" WHEN wt.WT_TYPE = 'DWT' THEN 2 ")
|
||||
.append(" ELSE 3 END AS ioType ")
|
||||
.append("FROM SD_FHBT_B_H fh ")
|
||||
.append("INNER JOIN SD_WT_B_H wt ON fh.STCD = wt.FHSTCD ")
|
||||
.append("LEFT JOIN SD_ENGINFO_B_H engWt ON engWt.STCD = wt.RSTCD AND NVL(engWt.IS_DELETED, 0) = 0 ")
|
||||
.append("WHERE NVL(fh.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND NVL(wt.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND fh.BASE_ID <> 'other' ")
|
||||
.append(" AND wt.LGTD IS NOT NULL ")
|
||||
.append(" AND wt.STTP = 'WTRV' ")
|
||||
.append("UNION ALL ")
|
||||
.append("SELECT fh.STCD AS fhstcd, rv.STCD AS stcd, rv.STNM AS stnm, ")
|
||||
.append(" rv.LGTD AS lgtd, rv.LTTD AS lttd, fh.BASE_ID AS baseId, ")
|
||||
.append(" NVL(fh.RVCD, engRv.RVCD) AS rvcd, rv.RSTCD AS rstcd, ")
|
||||
.append(" 'ZQ' AS sttpCode, rv.ELEV AS dtmel, rv.DTIN AS dtin, ")
|
||||
.append(" TO_CHAR(rv.BLDSTT_CODE) AS bldsttCcode, CAST(NULL AS NUMBER) AS ioType ")
|
||||
.append("FROM SD_FHBT_B_H fh ")
|
||||
.append("INNER JOIN SD_RIVER_B_H rv ON fh.STCD = rv.FHSTCD ")
|
||||
.append("LEFT JOIN SD_ENGINFO_B_H engRv ON engRv.STCD = rv.RSTCD AND NVL(engRv.IS_DELETED, 0) = 0 ")
|
||||
.append("WHERE NVL(fh.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND NVL(rv.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND fh.BASE_ID <> 'other' ")
|
||||
.append(" AND rv.LGTD IS NOT NULL ")
|
||||
.append(" AND rv.STTP = 'ZQ' ")
|
||||
.append("UNION ALL ")
|
||||
.append("SELECT fh.STCD AS fhstcd, vd.STCD AS stcd, vd.STNM AS stnm, ")
|
||||
.append(" vd.LGTD AS lgtd, vd.LTTD AS lttd, fh.BASE_ID AS baseId, ")
|
||||
.append(" NVL(vd.RVCD, fh.RVCD) AS rvcd, vd.RSTCD AS rstcd, ")
|
||||
.append(" 'VD' AS sttpCode, vd.ELEV AS dtmel, vd.DTIN AS dtin, ")
|
||||
.append(" TO_CHAR(vd.BLDSTT_CODE) AS bldsttCcode, CAST(NULL AS NUMBER) AS ioType ")
|
||||
.append("FROM SD_FHBT_B_H fh ")
|
||||
.append("INNER JOIN SD_VDINFO_B vd ON fh.STCD = vd.FHSTCD ")
|
||||
.append("WHERE NVL(fh.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND fh.BASE_ID <> 'other' ")
|
||||
.append(" AND vd.LGTD IS NOT NULL ")
|
||||
.append(") t ")
|
||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = t.rstcd AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = t.baseId AND NVL(hb.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_RVCD_DIC rv ON rv.RVCD = t.rvcd ")
|
||||
.append("WHERE 1 = 1 ");
|
||||
|
||||
String filterSql = QgcQueryWrapperUtil.buildFilterCondition(
|
||||
dataSourceRequest == null ? null : dataSourceRequest.getFilter(),
|
||||
paramMap,
|
||||
new int[]{0},
|
||||
this::mapFhPointColumn
|
||||
);
|
||||
if (StrUtil.isNotBlank(filterSql)) {
|
||||
sql.append("AND ").append(filterSql).append(" ");
|
||||
}
|
||||
sql.append("ORDER BY t.fhstcd, t.sttpCode, t.stcd");
|
||||
|
||||
List<FhPointVo> list = microservicDynamicSQLMapper.getAllListWithResultType(sql.toString(), paramMap, FhPointVo.class);
|
||||
for (FhPointVo vo : list) {
|
||||
String sttpCode = StrUtil.blankToDefault(vo.getSttpCode(), "");
|
||||
if ("WQ".equalsIgnoreCase(sttpCode)) {
|
||||
vo.setAnchoPointState("FH_WQ");
|
||||
} else if ("WTRV".equalsIgnoreCase(sttpCode)) {
|
||||
vo.setAnchoPointState("FH_WTRV");
|
||||
} else if ("ZQ".equalsIgnoreCase(sttpCode)) {
|
||||
vo.setAnchoPointState("FH_ZQ");
|
||||
} else if ("VD".equalsIgnoreCase(sttpCode)) {
|
||||
vo.setAnchoPointState("FH_VD");
|
||||
}
|
||||
}
|
||||
result.setData(list);
|
||||
result.setTotal((long) list.size());
|
||||
return result;
|
||||
}
|
||||
|
||||
private String mapWeFvColumn(String field) {
|
||||
if (StrUtil.isBlank(field)) {
|
||||
return null;
|
||||
@ -2014,4 +2129,27 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
||||
default -> null;
|
||||
};
|
||||
}
|
||||
|
||||
private String mapFhPointColumn(String field) {
|
||||
if (StrUtil.isBlank(field)) {
|
||||
return null;
|
||||
}
|
||||
return switch (field.toLowerCase()) {
|
||||
case "fhstcd" -> "t.fhstcd";
|
||||
case "stcd" -> "t.stcd";
|
||||
case "stnm" -> "t.stnm";
|
||||
case "ennm" -> "eng.ENNM";
|
||||
case "baseid" -> "t.baseId";
|
||||
case "basename" -> "hb.BASENAME";
|
||||
case "rvcd" -> "t.rvcd";
|
||||
case "rvcdname" -> "rv.RVNM";
|
||||
case "rstcd" -> "t.rstcd";
|
||||
case "sttpcode" -> "t.sttpCode";
|
||||
case "dtin" -> "t.dtin";
|
||||
case "bldsttccode" -> "t.bldsttCcode";
|
||||
case "lgtd" -> "t.lgtd";
|
||||
case "lttd" -> "t.lttd";
|
||||
default -> null;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user