fix: 回退代码

This commit is contained in:
tangwei 2026-08-06 17:18:52 +08:00
parent a4f0d34776
commit 97982109ff

View File

@ -13,7 +13,6 @@ import com.yfd.platform.qgc_export.mapper.SdHydropwdaySMapper;
import com.yfd.platform.qgc_export.mapper.SdQecRMapper;
import com.yfd.platform.qgc_export.mapper.SdQecdaySMapper;
import com.yfd.platform.qgc_export.mapper.StationMappingMapper;
import com.yfd.platform.qgc_export.mapper.MsAlongdetBMapper;
import com.yfd.platform.qgc_export.processor.*;
import com.yfd.platform.qgc_export.service.IQgcExportService;
import com.yfd.platform.qgc_eng.eq.entity.vo.EngEqRuleVo;
@ -143,9 +142,6 @@ public class QgcExportServiceImpl implements IQgcExportService {
@Resource
private EngEqDataService engEqDataService;
@Resource
private MsAlongdetBMapper msAlongdetBMapper;
private static final SimpleDateFormat SDF_TIME = new SimpleDateFormat("dd日 HH时");
private static final SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@ -178,8 +174,10 @@ public class QgcExportServiceImpl implements IQgcExportService {
return;
}
// 4. 电站顺序优先按沿程配置 MS_ALONG_B.ORDER_INDEX 排序其余保持前端传入顺序
List<String> stationOrder = buildAlongSortedOrder(stationCodes, stationRes);
// 4. 电站顺序
List<String> stationOrder = new ArrayList<>(stationRes.displayNames.keySet());
// 5. 每月一个 ExcelData
String timestamp = String.valueOf(System.currentTimeMillis());
List<ExportZipUtil.ExcelData> excelList = new ArrayList<>();
for (String month : months) {
@ -190,7 +188,6 @@ public class QgcExportServiceImpl implements IQgcExportService {
// 判断是否包含水质指标后续用于追加 WQ 合规 Sheet
boolean hasWqIndicator = false;
for (ExportIndicatorProcessor processor : processors) {
String sttp = processor.getSttpType();
List<List<Object>> rows;
// QEC 自定义三栏达标率格式
if (processor instanceof QecProcessor) {
@ -200,6 +197,7 @@ public class QgcExportServiceImpl implements IQgcExportService {
}
if (rows != null) {
List<String> headers;
String sttp = processor.getSttpType();
if (processor instanceof QecProcessor) {
// 分部标题作为列标题合并单元格
String[] sectionTitles = {"生态流量达标率(环保部)", "生态流量达标率(水利部)", "生态流量达标率(多年平均)"};
@ -826,47 +824,6 @@ public class QgcExportServiceImpl implements IQgcExportService {
return result;
}
/**
* 按沿程配置 MS_ALONG_B.ORDER_INDEX 排序电站列表
* 有沿程配置的电站排前面无配置的保持原有顺序排后面
*/
private List<String> buildAlongSortedOrder(List<String> rstcds, StationResolution stationRes) {
if (rstcds.isEmpty()) return Collections.emptyList();
// 查询沿程配置MS_ALONGDET_B JOIN MS_ALONG_B ORDER_INDEX, SORT 排序
List<Map<String, Object>> alongList = msAlongdetBMapper.selectAlongSortOrder(rstcds);
if (alongList.isEmpty()) {
return new ArrayList<>(stationRes.displayNames.keySet());
}
// ORDER_INDEX 分组去重保留每站的最小 ORDER_INDEX
Map<String, Integer> rstcdOrderMap = new LinkedHashMap<>();
for (Map<String, Object> row : alongList) {
String rstcd = (String) row.get("RSTCD");
Object orderIdx = row.get("ORDER_INDEX");
if (rstcd != null && orderIdx != null && !rstcdOrderMap.containsKey(rstcd)) {
rstcdOrderMap.put(rstcd, ((Number) orderIdx).intValue());
}
}
// 有沿程配置的电站按 ORDER_INDEX 升序无配置的排后面
List<String> alongSorted = new ArrayList<>();
List<String> remaining = new ArrayList<>();
for (String rstcd : stationRes.displayNames.keySet()) {
if (rstcdOrderMap.containsKey(rstcd)) {
alongSorted.add(rstcd);
} else {
remaining.add(rstcd);
}
}
alongSorted.sort(Comparator.comparingInt(rstcdOrderMap::get));
List<String> result = new ArrayList<>(alongSorted);
result.addAll(remaining);
log.info("沿程排序完成,有沿程={}, 无沿程={}", alongSorted.size(), remaining.size());
return result;
}
// ======================== 月份范围 ========================
private MonthRange buildMonthRange(String month) {