fix: 优化批复文件列表排序

This commit is contained in:
tangwei 2026-06-11 16:41:47 +08:00
parent 9ceb2899d0
commit ddde939ad7

View File

@ -1139,20 +1139,45 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
return null;
}
return switch (field) {
case "stcd", "eiaStcd" -> "e.STCD";
case "hydropowerStation" -> "e.ENNM";
case "baseId", "baseid" -> "e.BASEID";
case "hbrvcd" -> "e.HBRVCD";
case "envMonitoringRequire" -> "e.ENV_MONITORING_REQUIRE";
case "ecologicalFlow" -> "e.ECOLOGICAL_FLOW";
case "approvalFileNo" -> "e.APPROVAL_FILE_NO";
case "approvalFileTitle" -> "e.APPROVAL_FILE_TITLE";
case "fishPassageMeasures" -> "e.FISH_PASSAGE_MEASURES";
case "bldsttCcode" -> "s.BLDSTT_CODE";
case "bldsttCName" -> "CASE WHEN s.BLDSTT_CODE = 0 OR s.BLDSTT_CODE IS NULL THEN '未建/规划' WHEN s.BLDSTT_CODE = 1 THEN '在建' WHEN s.BLDSTT_CODE = 2 THEN '已建' ELSE NULL END";
case "id" -> "e.ID";
case "basin" -> "e.BASIN";
case "river" -> "e.RIVER";
case "hydropowerStation" -> "e.ENNM";
case "approvalFileNo" -> "e.APPROVAL_FILE_NO";
case "approvalFileTitle" -> "e.APPROVAL_FILE_TITLE";
case "fileName" -> "e.FILE_NAME";
case "flpath" -> "e.FLPATH";
case "ecologicalFlow" -> "e.ECOLOGICAL_FLOW";
case "waterEnvProtection" -> "e.WATER_ENV_PROTECTION";
case "coldWaterMitigation" -> "e.COLD_WATER_MITIGATION";
case "habitatProtection" -> "e.HABITAT_PROTECTION";
case "fishPassageMeasures" -> "e.FISH_PASSAGE_MEASURES";
case "fishStocking" -> "e.FISH_STOCKING";
case "terrestrialEcoSoilCons" -> "e.TERRESTRIAL_ECO_SOIL_CONS";
case "rarePlantProtection" -> "e.RARE_PLANT_PROTECTION";
case "animalRescue" -> "e.ANIMAL_RESCUE";
case "resettlementMeasures" -> "e.RESETTLEMENT_MEASURES";
case "constructionPollutionCtrl" -> "e.CONSTRUCTION_POLLUTION_CTRL";
case "groundwaterGeoProtect" -> "e.GROUNDWATER_GEO_PROTECT";
case "scenicAreaProtection" -> "e.SCENIC_AREA_PROTECTION";
case "envMonitoringRequire" -> "e.ENV_MONITORING_REQUIRE";
case "baseId", "baseid" -> "e.BASEID";
case "hbrvcd" -> "e.HBRVCD";
case "eiaStcd" -> "e.STCD";
case "stcd" -> "s.STCD";
case "stnm" -> "s.ENNM";
case "sttp" -> "sttp.ID";
case "sttpName" -> "sttp.STTP_NAME";
case "bldsttCcode" -> "s.BLDSTT_CODE";
case "bldsttCName" -> "CASE WHEN s.BLDSTT_CODE = 0 OR s.BLDSTT_CODE IS NULL THEN '未建/规划' WHEN s.BLDSTT_CODE = 1 THEN '在建' WHEN s.BLDSTT_CODE = 2 THEN '已建' ELSE NULL END";
case "bldstt" -> "s.BLDSTT";
case "lgtd" -> "s.LGTD";
case "lttd" -> "s.LTTD";
case "flid" -> "e.FLPATH";
case "baseStepSort" -> "baseStepSort";
case "rvcdStepSort" -> "rvcdStepSort";
case "rstcdStepSort" -> "rstcdStepSort";
case "siteStepSort" -> "siteStepSort";
default -> null;
};
}
@ -1166,23 +1191,12 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
if (sortDescriptor == null || !StringUtils.hasText(sortDescriptor.getField())) {
continue;
}
String column = switch (sortDescriptor.getField()) {
case "baseStepSort" -> "baseStepSort";
case "rvcdStepSort" -> "rvcdStepSort";
case "rstcdStepSort" -> "rstcdStepSort";
case "siteStepSort" -> "siteStepSort";
case "stnm" -> "stnm";
case "hydropowerStation" -> "e.HYDROPOWER_STATION";
case "approvalFileNo" -> "e.APPROVAL_FILE_NO";
case "recordTime" -> "e.RECORD_TIME";
case "bldsttCcode" -> "s.BLDSTT_CODE";
default -> null;
};
String column = mapEiaapprovalColumn(sortDescriptor.getField());
if (!StringUtils.hasText(column)) {
continue;
}
String dir = "desc".equalsIgnoreCase(sortDescriptor.getDir()) ? "DESC" : "ASC";
orderItems.add(column + " " + dir);
String dir = "desc".equalsIgnoreCase(sortDescriptor.getDir()) || "des".equalsIgnoreCase(sortDescriptor.getDir()) ? "DESC" : "ASC";
orderItems.add(column + " " + dir + " NULLS LAST");
}
if (orderItems.isEmpty()) {
return " ORDER BY baseStepSort ASC, rvcdStepSort ASC, rstcdStepSort ASC, siteStepSort ASC, stnm ASC";