fix: 优化逻辑

This commit is contained in:
tangwei 2026-05-28 10:30:40 +08:00
parent 8c2fb08efe
commit 652abf2cb2

View File

@ -1908,11 +1908,11 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
}
@Override
public DataSourceResult<WbsbVo> getWbsbList(DataSourceRequest dataSourceRequest) {
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
String wbsType = loadOptions == null ? null : QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "wbsType");
String objId = loadOptions == null ? null : QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "objId");
if (!"PSB_RVCD".equalsIgnoreCase(wbsType) && !"PSB".equalsIgnoreCase(wbsType)) {
DataSourceResult<WbsbVo> emptyResult = new DataSourceResult<>();
emptyResult.setData(new ArrayList<>());
@ -1922,6 +1922,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
}
StringBuilder sql = new StringBuilder();
Map<String, Object> paramMap = new HashMap<>();
if ("PSB".equalsIgnoreCase(wbsType)) {
sql.append("SELECT ")
.append("t.BASEID AS id, ")
@ -1974,6 +1975,10 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
.append("NULL AS displayDepartment ")
.append("FROM SD_HYDROBASE t ")
.append("WHERE NVL(t.IS_DELETED, 0) = 0 ");
if (StrUtil.isNotBlank(objId)) {
sql.append("AND t.BASEID = #{map.objId} ");
paramMap.put("objId", objId);
}
sql.append("ORDER BY NVL(t.ORDER_INDEX, 999999), t.BASENAME ASC");
} else {
sql.append("SELECT ")
@ -2028,9 +2033,13 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
.append("NULL AS displayDepartment ")
.append("FROM SD_HBRV_DIC t ")
.append("WHERE NVL(t.IS_DELETED, 0) = 0 ");
if (StrUtil.isNotBlank(objId)) {
sql.append("AND t.BASEID = #{map.objId} ");
paramMap.put("objId", objId);
}
sql.append("ORDER BY NVL(t.ORDER_INDEX, 999999), t.HBRVNM ASC");
}
List<WbsbVo> list = microservicDynamicSQLMapper.getAllListWithResultType(sql.toString(), new HashMap<>(), WbsbVo.class);
List<WbsbVo> list = microservicDynamicSQLMapper.getAllListWithResultType(sql.toString(), paramMap, WbsbVo.class);
DataSourceResult<WbsbVo> result = new DataSourceResult<>();
result.setData(list);
result.setTotal((long) list.size());