feat: 根据条件查询视频监控设备基础数据
This commit is contained in:
parent
ef1a76223d
commit
6fc80d7199
@ -29,6 +29,12 @@ public class VdMonitorController {
|
||||
return ResponseResult.successData(vdMonitorService.getVmsstbprptList(dataSourceRequest));
|
||||
}
|
||||
|
||||
@PostMapping("/msstbprpt/GetKendoList")
|
||||
@Operation(summary = "根据条件查询视频监控设备基础数据")
|
||||
public ResponseResult getMsstbprptList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||
return ResponseResult.successData(vdMonitorService.getVmsstbprptList(dataSourceRequest));
|
||||
}
|
||||
|
||||
@GetMapping("/msstbprpt/getStcdInfo")
|
||||
@Operation(summary = "根据站码查询单条视频监控设备详情")
|
||||
public ResponseResult getStcdInfo(@RequestParam String stcd) {
|
||||
|
||||
@ -46,6 +46,18 @@ public class VdVmsstbprptVo implements Serializable {
|
||||
@Schema(description = "所属电站名称")
|
||||
private String ennm;
|
||||
|
||||
@Schema(description = "所属栖息地编码")
|
||||
private String fhstcd;
|
||||
|
||||
@Schema(description = "所属栖息地名称")
|
||||
private String fhstnm;
|
||||
|
||||
@Schema(description = "所属测站编码")
|
||||
private String stCode;
|
||||
|
||||
@Schema(description = "所属测站名称")
|
||||
private String stName;
|
||||
|
||||
@Schema(description = "基地编码")
|
||||
private String baseId;
|
||||
|
||||
@ -118,6 +130,12 @@ public class VdVmsstbprptVo implements Serializable {
|
||||
@Schema(description = "数据来源时间")
|
||||
private Date vlsrTm;
|
||||
|
||||
@Schema(description = "视频播放地址")
|
||||
private String url;
|
||||
|
||||
@Schema(description = "播放方式")
|
||||
private Integer playWay;
|
||||
|
||||
@Schema(description = "基地排序")
|
||||
private Integer baseStepSort;
|
||||
|
||||
|
||||
@ -58,6 +58,10 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
.append("t.sttpFullPath AS sttpFullPath, ")
|
||||
.append("t.rstcd AS rstcd, ")
|
||||
.append("t.ennm AS ennm, ")
|
||||
.append("t.fhstcd AS fhstcd, ")
|
||||
.append("t.fhstnm AS fhstnm, ")
|
||||
.append("t.stCode AS stCode, ")
|
||||
.append("t.stName AS stName, ")
|
||||
.append("t.baseId AS baseId, ")
|
||||
.append("t.baseName AS baseName, ")
|
||||
.append("t.hbrvcd AS hbrvcd, ")
|
||||
@ -85,6 +89,8 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
.append("t.remark AS remark, ")
|
||||
.append("t.vlsr AS vlsr, ")
|
||||
.append("t.vlsrTm AS vlsrTm, ")
|
||||
.append("t.url AS url, ")
|
||||
.append("t.playWay AS playWay, ")
|
||||
.append("t.baseStepSort AS baseStepSort, ")
|
||||
.append("t.rstcdStepSort AS rstcdStepSort, ")
|
||||
.append("t.siteStepSort AS siteStepSort, ")
|
||||
@ -149,45 +155,7 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
Page<?> page = loadOptions == null ? null : QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("SELECT ")
|
||||
.append("t.stcd AS stcd, ")
|
||||
.append("t.stnm AS stnm, ")
|
||||
.append("t.mntp AS mntp, ")
|
||||
.append("t.sttpCode AS sttpCode, ")
|
||||
.append("t.sttpName AS sttpName, ")
|
||||
.append("t.sttpFullPath AS sttpFullPath, ")
|
||||
.append("t.rstcd AS rstcd, ")
|
||||
.append("t.ennm AS ennm, ")
|
||||
.append("t.baseId AS baseId, ")
|
||||
.append("t.baseName AS baseName, ")
|
||||
.append("t.hbrvcd AS hbrvcd, ")
|
||||
.append("t.rvcd AS rvcd, ")
|
||||
.append("t.addvcd AS addvcd, ")
|
||||
.append("t.stlc AS stlc, ")
|
||||
.append("t.lgtd AS lgtd, ")
|
||||
.append("t.lttd AS lttd, ")
|
||||
.append("t.elev AS elev, ")
|
||||
.append("t.jcdt AS jcdt, ")
|
||||
.append("t.wddt AS wddt, ")
|
||||
.append("t.dtin AS dtin, ")
|
||||
.append("CASE WHEN NVL(t.dtin, 0) = 1 THEN '已接入' ELSE '未接入' END AS dtinName, ")
|
||||
.append("t.usfl AS usfl, ")
|
||||
.append("t.bldsttCcode AS bldsttCcode, ")
|
||||
.append("CASE ")
|
||||
.append("WHEN t.bldsttCcode IN (1, 10, 11) THEN '已建' ")
|
||||
.append("WHEN t.bldsttCcode IN (2, 7, 8) THEN '在建' ")
|
||||
.append("ELSE '未建/规划' END AS bldsttCcodeName, ")
|
||||
.append("t.stindx AS stindx, ")
|
||||
.append("t.introduce AS introduce, ")
|
||||
.append("t.logo AS logo, ")
|
||||
.append("t.inffile AS inffile, ")
|
||||
.append("t.dtfrqcy AS dtfrqcy, ")
|
||||
.append("t.remark AS remark, ")
|
||||
.append("t.vlsr AS vlsr, ")
|
||||
.append("t.vlsrTm AS vlsrTm, ")
|
||||
.append("t.baseStepSort AS baseStepSort, ")
|
||||
.append("t.rstcdStepSort AS rstcdStepSort, ")
|
||||
.append("t.siteStepSort AS siteStepSort, ")
|
||||
.append("t.sourceTable AS sourceTable ")
|
||||
.append(buildVmsstbprptDetailSelectSql(dataSourceRequest == null ? null : dataSourceRequest.getSelect()))
|
||||
.append("FROM (")
|
||||
.append(buildVmsstbprptViewSql())
|
||||
.append(") t WHERE 1 = 1 ");
|
||||
@ -205,6 +173,67 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
return result;
|
||||
}
|
||||
|
||||
private String buildVmsstbprptDetailSelectSql(List<String> selectFields) {
|
||||
Map<String, String> selectMap = new LinkedHashMap<>();
|
||||
selectMap.put("stcd", "t.stcd AS stcd");
|
||||
selectMap.put("stnm", "t.stnm AS stnm");
|
||||
selectMap.put("mntp", "t.mntp AS mntp");
|
||||
selectMap.put("sttpCode", "t.sttpCode AS sttpCode");
|
||||
selectMap.put("sttpName", "t.sttpName AS sttpName");
|
||||
selectMap.put("sttpFullPath", "t.sttpFullPath AS sttpFullPath");
|
||||
selectMap.put("rstcd", "t.rstcd AS rstcd");
|
||||
selectMap.put("ennm", "t.ennm AS ennm");
|
||||
selectMap.put("fhstcd", "t.fhstcd AS fhstcd");
|
||||
selectMap.put("fhstnm", "t.fhstnm AS fhstnm");
|
||||
selectMap.put("stCode", "t.stCode AS stCode");
|
||||
selectMap.put("stName", "t.stName AS stName");
|
||||
selectMap.put("baseId", "t.baseId AS baseId");
|
||||
selectMap.put("baseName", "t.baseName AS baseName");
|
||||
selectMap.put("hbrvcd", "t.hbrvcd AS hbrvcd");
|
||||
selectMap.put("rvcd", "t.rvcd AS rvcd");
|
||||
selectMap.put("addvcd", "t.addvcd AS addvcd");
|
||||
selectMap.put("stlc", "t.stlc AS stlc");
|
||||
selectMap.put("lgtd", "t.lgtd AS lgtd");
|
||||
selectMap.put("lttd", "t.lttd AS lttd");
|
||||
selectMap.put("elev", "t.elev AS elev");
|
||||
selectMap.put("jcdt", "t.jcdt AS jcdt");
|
||||
selectMap.put("wddt", "t.wddt AS wddt");
|
||||
selectMap.put("dtin", "t.dtin AS dtin");
|
||||
selectMap.put("dtinName", "CASE WHEN NVL(t.dtin, 0) = 1 THEN '已接入' ELSE '未接入' END AS dtinName");
|
||||
selectMap.put("usfl", "t.usfl AS usfl");
|
||||
selectMap.put("bldsttCcode", "t.bldsttCcode AS bldsttCcode");
|
||||
selectMap.put("bldsttCcodeName", "CASE WHEN t.bldsttCcode IN (1, 10, 11) THEN '已建' WHEN t.bldsttCcode IN (2, 7, 8) THEN '在建' ELSE '未建/规划' END AS bldsttCcodeName");
|
||||
selectMap.put("stindx", "t.stindx AS stindx");
|
||||
selectMap.put("introduce", "t.introduce AS introduce");
|
||||
selectMap.put("logo", "t.logo AS logo");
|
||||
selectMap.put("inffile", "t.inffile AS inffile");
|
||||
selectMap.put("dtfrqcy", "t.dtfrqcy AS dtfrqcy");
|
||||
selectMap.put("remark", "t.remark AS remark");
|
||||
selectMap.put("vlsr", "t.vlsr AS vlsr");
|
||||
selectMap.put("vlsrTm", "t.vlsrTm AS vlsrTm");
|
||||
selectMap.put("url", "t.url AS url");
|
||||
selectMap.put("playWay", "t.playWay AS playWay");
|
||||
selectMap.put("baseStepSort", "t.baseStepSort AS baseStepSort");
|
||||
selectMap.put("rstcdStepSort", "t.rstcdStepSort AS rstcdStepSort");
|
||||
selectMap.put("siteStepSort", "t.siteStepSort AS siteStepSort");
|
||||
selectMap.put("sourceTable", "t.sourceTable AS sourceTable");
|
||||
|
||||
if (CollUtil.isEmpty(selectFields)) {
|
||||
return String.join(", ", selectMap.values()) + " ";
|
||||
}
|
||||
List<String> actualColumns = new ArrayList<>();
|
||||
for (String selectField : selectFields) {
|
||||
String column = selectMap.get(selectField);
|
||||
if (StrUtil.isNotBlank(column)) {
|
||||
actualColumns.add(column);
|
||||
}
|
||||
}
|
||||
if (actualColumns.isEmpty()) {
|
||||
actualColumns.addAll(selectMap.values());
|
||||
}
|
||||
return String.join(", ", actualColumns) + " ";
|
||||
}
|
||||
|
||||
private DataSourceResult<VdRunDataVo> queryRunDataDetailList(DataSourceRequest dataSourceRequest,
|
||||
DataSourceLoadOptionsBase loadOptions) {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
@ -310,6 +339,10 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
"sttp.FULL_PATH AS sttpFullPath, " +
|
||||
"src.RSTCD AS rstcd, " +
|
||||
"eng.ENNM AS ennm, " +
|
||||
"src.FHSTCD AS fhstcd, " +
|
||||
"fh.STNM AS fhstnm, " +
|
||||
"src.CSTCD AS stCode, " +
|
||||
"cst.STNM AS stName, " +
|
||||
"NVL(eng.BASE_ID, src.BASE_ID) AS baseId, " +
|
||||
"hb.BASENAME AS baseName, " +
|
||||
"NVL(eng.HBRVCD, src.HBRVCD) AS hbrvcd, " +
|
||||
@ -332,6 +365,8 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
"src.REMARK AS remark, " +
|
||||
"src.VLSR AS vlsr, " +
|
||||
"src.VLSR_TM AS vlsrTm, " +
|
||||
"src.URL AS url, " +
|
||||
"CASE WHEN src.URL IS NULL THEN NULL WHEN INSTR(src.URL, 'm3u8') > 0 THEN 1 ELSE 0 END AS playWay, " +
|
||||
"NVL(hb.ORDER_INDEX, 999999) AS baseStepSort, " +
|
||||
"NVL(eng.ORDER_INDEX, 999999) AS rstcdStepSort, " +
|
||||
"NVL(src.ORDER_INDEX, 999999) AS siteStepSort, " +
|
||||
@ -341,8 +376,10 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
") src " +
|
||||
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = src.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = NVL(eng.BASE_ID, src.BASE_ID) AND NVL(hb.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN SD_FHBT_B_H fh ON fh.STCD = src.FHSTCD AND NVL(fh.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN (" + buildStationBaseSql() + ") cst ON cst.STCD = src.CSTCD " +
|
||||
"LEFT JOIN SD_STTP_B sttp ON sttp.STTP_CODE = src.STTP " +
|
||||
" AND NVL(sttp.IS_DELETED, 0) = 0 AND NVL(sttp.ENABLED, 1) = 1 ";
|
||||
" AND NVL(sttp.IS_DELETED, 0) = 0 AND NVL(sttp.ENABLE, 1) = 1 ";
|
||||
}
|
||||
|
||||
private String buildVdDeviceBaseSql() {
|
||||
@ -350,14 +387,14 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
" vd.JCDT, vd.WDDT, vd.BLDSTT_CODE, vd.USFL, vd.DTIN, vd.STINDX, vd.RSTCD, vd.BASE_ID, " +
|
||||
" vd.HBRVCD, vd.RVCD, vd.ADDVCD, vd.CSTCD, vd.FHSTCD, CAST(NULL AS VARCHAR2(3000)) AS INTRODUCE, " +
|
||||
" CAST(NULL AS VARCHAR2(255)) AS LOGO, CAST(NULL AS VARCHAR2(1000)) AS INFFILE, " +
|
||||
" vd.DTFRQCY, vd.REMARK, vd.VLSR, vd.VLSR_TM, CAST(NULL AS NUMBER(8,0)) AS ORDER_INDEX, " +
|
||||
" vd.DTFRQCY, vd.REMARK, vd.VLSR, vd.VLSR_TM, vd.URL AS URL, CAST(NULL AS NUMBER(8,0)) AS ORDER_INDEX, " +
|
||||
" 'SD_VDINFO_B' AS SOURCE_TABLE " +
|
||||
"FROM SD_VDINFO_B vd WHERE vd.STTP = 'VD_FP' " +
|
||||
"UNION ALL " +
|
||||
"SELECT sonar.STCD, sonar.STNM, sonar.MNTP, sonar.STTP, sonar.LGTD, sonar.LTTD, sonar.ELEV, sonar.STLC, " +
|
||||
" sonar.JCDT, sonar.WDDT, sonar.BLDSTT_CODE, sonar.USFL, sonar.DTIN, sonar.STINDX, sonar.RSTCD, sonar.BASE_ID, " +
|
||||
" sonar.HBRVCD, sonar.RVCD, sonar.ADDVCD, CAST(NULL AS VARCHAR2(36)) AS CSTCD, CAST(NULL AS VARCHAR2(36)) AS FHSTCD, " +
|
||||
" sonar.INTRODUCE, sonar.LOGO, sonar.INFFILE, sonar.DTFRQCY, sonar.REMARK, sonar.VLSR, sonar.VLSR_TM, sonar.ORDER_INDEX, " +
|
||||
" sonar.INTRODUCE, sonar.LOGO, sonar.INFFILE, sonar.DTFRQCY, sonar.REMARK, sonar.VLSR, sonar.VLSR_TM, CAST(NULL AS VARCHAR2(512)) AS URL, sonar.ORDER_INDEX, " +
|
||||
" 'SD_SONAR_B_H' AS SOURCE_TABLE " +
|
||||
"FROM SD_SONAR_B_H sonar WHERE NVL(sonar.IS_DELETED, 0) = 0 AND sonar.STTP IN ('VD_WVD', 'VD_SN') ";
|
||||
}
|
||||
@ -403,7 +440,7 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
"LEFT JOIN SD_FHBT_B_H fh ON fh.STCD = base.FHSTCD AND NVL(fh.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN (" + buildStationBaseSql() + ") cst ON cst.STCD = base.CSTCD " +
|
||||
"LEFT JOIN SD_STTP_B sttp ON sttp.STTP_CODE = base.STTP " +
|
||||
" AND NVL(sttp.IS_DELETED, 0) = 0 AND NVL(sttp.ENABLE, 1) = 1 " +
|
||||
" AND NVL(sttp.IS_DELETED, 0) = 0 AND NVL(sttp.ENABLED, 1) = 1 " +
|
||||
"WHERE NVL(run.IS_DELETED, 0) = 0 ";
|
||||
}
|
||||
|
||||
@ -725,6 +762,10 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
case "stnm" -> "t.stnm";
|
||||
case "rstcd" -> "t.rstcd";
|
||||
case "ennm" -> "t.ennm";
|
||||
case "fhstcd" -> "t.fhstcd";
|
||||
case "fhstnm" -> "t.fhstnm";
|
||||
case "stCode" -> "t.stCode";
|
||||
case "stName" -> "t.stName";
|
||||
case "baseId" -> "t.baseId";
|
||||
case "baseName" -> "t.baseName";
|
||||
case "hbrvcd" -> "t.hbrvcd";
|
||||
@ -733,6 +774,8 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
case "dtin" -> "t.dtin";
|
||||
case "usfl" -> "t.usfl";
|
||||
case "bldsttCcode" -> "t.bldsttCcode";
|
||||
case "url" -> "t.url";
|
||||
case "playWay" -> "t.playWay";
|
||||
case "sourceTable" -> "t.sourceTable";
|
||||
default -> null;
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user