fix: 优化地图查询接口逻辑
This commit is contained in:
parent
8c9f25c90f
commit
6c521d9d84
@ -4705,7 +4705,7 @@ public class FbStationServiceImpl implements FbStationService {
|
|||||||
case "rstcd" -> "a.RSTCD";
|
case "rstcd" -> "a.RSTCD";
|
||||||
case "stcd" -> "a.STCD";
|
case "stcd" -> "a.STCD";
|
||||||
case "sttp" -> "a.STTP";
|
case "sttp" -> "a.STTP";
|
||||||
case "bldsttCcode" -> "a.BLDSTT_CODE";
|
case "bldsttccode" -> "a.BLDSTT_CODE";
|
||||||
case "lgtd" -> "a.LGTD";
|
case "lgtd" -> "a.LGTD";
|
||||||
default -> null;
|
default -> null;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1977,7 +1977,7 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
|||||||
sql.append("AND ").append(filterSql).append(" ");
|
sql.append("AND ").append(filterSql).append(" ");
|
||||||
}
|
}
|
||||||
Page<?> page = loadOptions == null ? null : QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
Page<?> page = loadOptions == null ? null : QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||||
List<FhHaVapVo> vaVpList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), new HashMap<>(), FhHaVapVo.class);
|
List<FhHaVapVo> vaVpList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, FhHaVapVo.class);
|
||||||
|
|
||||||
for (FhHaVapVo vo : vaVpList) {
|
for (FhHaVapVo vo : vaVpList) {
|
||||||
String bldsttCcode = vo.getBldsttCcode();
|
String bldsttCcode = vo.getBldsttCcode();
|
||||||
@ -2009,7 +2009,7 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return switch (field.toLowerCase()) {
|
return switch (field.toLowerCase()) {
|
||||||
case "sttpCode" -> "t.sttp";
|
case "sttpcode" -> "t.STTP_CODE";
|
||||||
case "lgtd" -> "t.lgtd";
|
case "lgtd" -> "t.lgtd";
|
||||||
default -> null;
|
default -> null;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -26,6 +26,7 @@ import com.yfd.platform.qgc_env.wt.mapper.SdWtMonitorMapper;
|
|||||||
import com.yfd.platform.qgc_env.wt.utils.SiteAvoidanceUtils;
|
import com.yfd.platform.qgc_env.wt.utils.SiteAvoidanceUtils;
|
||||||
import com.yfd.platform.qgc_env.wt.service.SdWtMonitorService;
|
import com.yfd.platform.qgc_env.wt.service.SdWtMonitorService;
|
||||||
import com.yfd.platform.utils.QgcQueryWrapperUtil;
|
import com.yfd.platform.utils.QgcQueryWrapperUtil;
|
||||||
|
import com.yfd.platform.utils.SecurityUtils;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
@ -2954,7 +2955,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
" wt.LTTD AS lttd,\n" +
|
" wt.LTTD AS lttd,\n" +
|
||||||
" wt.WT_DEVICE_TYPE AS deviceType,\n" +
|
" wt.WT_DEVICE_TYPE AS deviceType,\n" +
|
||||||
" wt.ELEV AS dtmel,\n" +
|
" wt.ELEV AS dtmel,\n" +
|
||||||
" wt.FHSTNM AS fhstnm,\n" +
|
// " wt.FHSTNM AS fhstnm,\n" +
|
||||||
" wt.MWAY AS mway,\n" +
|
" wt.MWAY AS mway,\n" +
|
||||||
" eng.RVCD AS rvcd,\n" +
|
" eng.RVCD AS rvcd,\n" +
|
||||||
" eng.ADDVCD AS addvcd,\n" +
|
" eng.ADDVCD AS addvcd,\n" +
|
||||||
@ -2971,21 +2972,30 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wt.RSTCD AND NVL(eng.IS_DELETED, 0) = 0\n" +
|
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wt.RSTCD AND NVL(eng.IS_DELETED, 0) = 0\n" +
|
||||||
"LEFT JOIN SD_WTENGRLTN_B rel ON rel.STCD = wt.STCD AND NVL(rel.IS_DELETED, 0) = 0\n" +
|
"LEFT JOIN SD_WTENGRLTN_B rel ON rel.STCD = wt.STCD AND NVL(rel.IS_DELETED, 0) = 0\n" +
|
||||||
"WHERE NVL(wt.IS_DELETED, 0) = 0 AND wt.STTP IN ('WTRV', 'WTVT') AND wt.LGTD IS NOT NULL AND wt.LTTD IS NOT NULL ");
|
"WHERE NVL(wt.IS_DELETED, 0) = 0 AND wt.STTP IN ('WTRV', 'WTVT') AND wt.LGTD IS NOT NULL AND wt.LTTD IS NOT NULL ");
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(sttpCode)) {
|
|
||||||
sql.append(" AND wt.STTP = #{map.sttpCode} ");
|
|
||||||
}
|
|
||||||
if (StrUtil.isNotBlank(dtinType)) {
|
|
||||||
sql.append(" AND wt.DTIN_TYPE = #{map.dtinType} ");
|
|
||||||
}
|
|
||||||
|
|
||||||
Map<String, Object> paramMap = new HashMap<>();
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
if (StrUtil.isNotBlank(sttpCode)) {
|
String filterSql = QgcQueryWrapperUtil.buildFilterCondition(
|
||||||
paramMap.put("sttpCode", sttpCode);
|
dataSourceRequest == null ? null : dataSourceRequest.getFilter(),
|
||||||
}
|
paramMap,
|
||||||
if (StrUtil.isNotBlank(dtinType)) {
|
new int[]{0},
|
||||||
paramMap.put("dtinType", dtinType);
|
this::mapWeFvColumn
|
||||||
|
);
|
||||||
|
if (StrUtil.isNotBlank(filterSql)) {
|
||||||
|
sql.append("AND ").append(filterSql).append(" ");
|
||||||
}
|
}
|
||||||
|
// if (StrUtil.isNotBlank(sttpCode)) {
|
||||||
|
// sql.append(" AND wt.STTP = #{map.sttpCode} ");
|
||||||
|
// }
|
||||||
|
// if (StrUtil.isNotBlank(dtinType)) {
|
||||||
|
// sql.append(" AND wt.DTIN_TYPE = #{map.dtinType} ");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
// if (StrUtil.isNotBlank(sttpCode)) {
|
||||||
|
// paramMap.put("sttpCode", sttpCode);
|
||||||
|
// }
|
||||||
|
// if (StrUtil.isNotBlank(dtinType)) {
|
||||||
|
// paramMap.put("dtinType", dtinType);
|
||||||
|
// }
|
||||||
|
|
||||||
List<DataSourceRequest.SortDescriptor> sort = dataSourceRequest.getSort();
|
List<DataSourceRequest.SortDescriptor> sort = dataSourceRequest.getSort();
|
||||||
if (sort != null && !sort.isEmpty()) {
|
if (sort != null && !sort.isEmpty()) {
|
||||||
@ -3035,4 +3045,17 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
return dataSourceResult;
|
return dataSourceResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String mapWeFvColumn(String field) {
|
||||||
|
if (StrUtil.isBlank(field)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return switch (field.toLowerCase()) {
|
||||||
|
case "sttpcode" -> "wt.STTP";
|
||||||
|
case "dtintype" -> "wt.DTIN_TYPE";
|
||||||
|
case "lgtd" -> "wt.LGTD";
|
||||||
|
case "fhstcd" -> "wt.FHSTCD";
|
||||||
|
default -> null;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user