fix: 优化地图查询接口逻辑
This commit is contained in:
parent
8c9f25c90f
commit
6c521d9d84
@ -4705,7 +4705,7 @@ public class FbStationServiceImpl implements FbStationService {
|
||||
case "rstcd" -> "a.RSTCD";
|
||||
case "stcd" -> "a.STCD";
|
||||
case "sttp" -> "a.STTP";
|
||||
case "bldsttCcode" -> "a.BLDSTT_CODE";
|
||||
case "bldsttccode" -> "a.BLDSTT_CODE";
|
||||
case "lgtd" -> "a.LGTD";
|
||||
default -> null;
|
||||
};
|
||||
|
||||
@ -1977,7 +1977,7 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
||||
sql.append("AND ").append(filterSql).append(" ");
|
||||
}
|
||||
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) {
|
||||
String bldsttCcode = vo.getBldsttCcode();
|
||||
@ -2009,7 +2009,7 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
||||
return null;
|
||||
}
|
||||
return switch (field.toLowerCase()) {
|
||||
case "sttpCode" -> "t.sttp";
|
||||
case "sttpcode" -> "t.STTP_CODE";
|
||||
case "lgtd" -> "t.lgtd";
|
||||
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.service.SdWtMonitorService;
|
||||
import com.yfd.platform.utils.QgcQueryWrapperUtil;
|
||||
import com.yfd.platform.utils.SecurityUtils;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.Data;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
@ -115,7 +116,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
"t.JCDT AS jcdt, " +
|
||||
"t.WDDT AS wddt, " +
|
||||
"t.BLDSTT_CODE AS bldsttCode, " +
|
||||
"CASE WHEN t.BLDSTT_CODE =2 THEN '已建' WHEN t.BLDSTT_CODE =1 THEN '在建' ELSE '未建/规划' END AS bldsttCcodeName, "+
|
||||
"CASE WHEN t.BLDSTT_CODE =2 THEN '已建' WHEN t.BLDSTT_CODE =1 THEN '在建' ELSE '未建/规划' END AS bldsttCcodeName, " +
|
||||
"t.INV AS inv, " +
|
||||
"t.INVINMN AS invinmn, " +
|
||||
"t.INTRODUCE AS introduce, " +
|
||||
@ -127,7 +128,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
"t.DTIN_TYPE AS dtinType, " +
|
||||
"t.DTIN_TM AS dtinTm, " +
|
||||
"t.MWAY AS mway, " +
|
||||
"CASE NVL(t.MWAY, 0) WHEN 1 THEN '人工' WHEN 2 THEN '自动' ELSE '未知' END AS mwayName , "+
|
||||
"CASE NVL(t.MWAY, 0) WHEN 1 THEN '人工' WHEN 2 THEN '自动' ELSE '未知' END AS mwayName , " +
|
||||
"t.STINDX AS stindx, " +
|
||||
"t.ORDER_INDEX AS orderIndex, " +
|
||||
"t.DMSTCD AS dmstcd, " +
|
||||
@ -445,7 +446,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
}
|
||||
sql.append(buildYearDetailOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<SdYearDetailVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdYearDetailVO.class);
|
||||
for (SdYearDetailVO vo : list) {
|
||||
vo.setActualTemp(vo.getWt());
|
||||
@ -490,7 +491,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
}
|
||||
sql.append(buildMonthDetailOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<SdMonthDetailVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdMonthDetailVO.class);
|
||||
DataSourceResult<SdMonthDetailVO> result = new DataSourceResult<>();
|
||||
result.setData(list);
|
||||
@ -518,7 +519,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("stcd", stcd);
|
||||
WtrvVo vo = (WtrvVo) microservicDynamicSQLMapper.getOneBySqlWithResultType(sql, paramMap, WtrvVo.class);
|
||||
if (vo == null ) {
|
||||
if (vo == null) {
|
||||
return buildDefaultWtrvVo(stcd);
|
||||
}
|
||||
return vo;
|
||||
@ -577,7 +578,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
paramMap.put("baseId", baseId);
|
||||
}
|
||||
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<WtFishVo> wtFishVoList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WtFishVo.class);
|
||||
String hbrvcd = wtFishVoList.isEmpty() ? null : wtFishVoList.get(0).getHbrvcd();
|
||||
|
||||
@ -850,7 +851,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
}
|
||||
|
||||
sql.append(buildVmsstbprptOrderBySql(dataSourceRequest.getSort()));
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<SdWtBaseInfoVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdWtBaseInfoVO.class);
|
||||
|
||||
DataSourceResult<SdWtBaseInfoVO> result = new DataSourceResult<>();
|
||||
@ -1153,7 +1154,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
|
||||
appendCxDetailOrderBy(sql, dataSourceRequest.getSort());
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest();
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<WtCxDetailRow> rowList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WtCxDetailRow.class);
|
||||
|
||||
List<Double> verticalList = getVerticals(rowList, wtDeviceType);
|
||||
@ -2954,7 +2955,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
" wt.LTTD AS lttd,\n" +
|
||||
" wt.WT_DEVICE_TYPE AS deviceType,\n" +
|
||||
" wt.ELEV AS dtmel,\n" +
|
||||
" wt.FHSTNM AS fhstnm,\n" +
|
||||
// " wt.FHSTNM AS fhstnm,\n" +
|
||||
" wt.MWAY AS mway,\n" +
|
||||
" eng.RVCD AS rvcd,\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_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 ");
|
||||
|
||||
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);
|
||||
String filterSql = QgcQueryWrapperUtil.buildFilterCondition(
|
||||
dataSourceRequest == null ? null : dataSourceRequest.getFilter(),
|
||||
paramMap,
|
||||
new int[]{0},
|
||||
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();
|
||||
if (sort != null && !sort.isEmpty()) {
|
||||
@ -3035,4 +3045,17 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
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