diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/CodcrProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/CodcrProcessor.java new file mode 100644 index 00000000..11e8a591 --- /dev/null +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/CodcrProcessor.java @@ -0,0 +1,30 @@ +package com.yfd.platform.qgc_export.processor; + +import org.springframework.stereotype.Component; + +/** + * 电导率(COND) 指标处理器 + */ +@Component +public class CodcrProcessor extends WqIndicatorProcessor { + + @Override + public String getFieldName() { + return "CODCR"; + } + + @Override + public String getSheetName() { + return "水质(化学需氧量)"; + } + + @Override + public int getDecimalPlaces() { + return 2; + } + + @Override + public int getOrder() { + return 12; + } +} diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/CondProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/CondProcessor.java index f9b70e9d..6d5b4da5 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/CondProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/CondProcessor.java @@ -24,7 +24,7 @@ public class CondProcessor extends WqIndicatorProcessor { } @Override - public String getSttpType() { - return "WQ"; + public int getOrder() { + return 13; } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/DoxProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/DoxProcessor.java index 5d3723da..023ce588 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/DoxProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/DoxProcessor.java @@ -24,7 +24,7 @@ public class DoxProcessor extends WqIndicatorProcessor { } @Override - public String getSttpType() { - return "WQ"; + public int getOrder() { + return 11; } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/DwtProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/DwtProcessor.java index 87b7f550..d8544f3a 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/DwtProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/DwtProcessor.java @@ -19,4 +19,9 @@ public class DwtProcessor extends WtrvIndicatorProcessor { public String getSheetName() { return "出库水温"; } + + @Override + public int getOrder() { + return 8; + } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/DwtVariationProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/DwtVariationProcessor.java index 46ac84d5..87835dbf 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/DwtVariationProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/DwtVariationProcessor.java @@ -24,4 +24,9 @@ public class DwtVariationProcessor extends WtrvIndicatorProcessor { public boolean isVariation() { return true; } + + @Override + public int getOrder() { + return 9; + } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/DzProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/DzProcessor.java index 83a8c58e..a645d9de 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/DzProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/DzProcessor.java @@ -17,4 +17,9 @@ public class DzProcessor extends HydropwIndicatorProcessor { public String getSheetName() { return "坝下水位"; } + + @Override + public int getOrder() { + return 3; + } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/DzVariationProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/DzVariationProcessor.java index f34ce869..da0e26bb 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/DzVariationProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/DzVariationProcessor.java @@ -22,4 +22,9 @@ public class DzVariationProcessor extends HydropwIndicatorProcessor { public boolean isVariation() { return true; } + + @Override + public int getOrder() { + return 4; + } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/ExportIndicatorProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/ExportIndicatorProcessor.java index c24728f9..c182b0c4 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/ExportIndicatorProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/ExportIndicatorProcessor.java @@ -56,6 +56,14 @@ public interface ExportIndicatorProcessor { return false; } + /** + * Sheet 排序号,升序排列。 + * 数值越小越靠前,同组指标标准格式应排在日变幅格式之前。 + */ + default int getOrder() { + return 100; + } + /** * 查询原始数据 * diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/PhProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/PhProcessor.java index e4c123c2..8442bda4 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/PhProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/PhProcessor.java @@ -24,7 +24,7 @@ public class PhProcessor extends WqIndicatorProcessor { } @Override - public String getSttpType() { - return "WQ"; + public int getOrder() { + return 15; } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/QProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/QProcessor.java index 031d7361..0446c615 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/QProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/QProcessor.java @@ -9,17 +9,14 @@ import org.springframework.stereotype.Component; public class QProcessor extends RiverIndicatorProcessor { @Override - public String getFieldName() { - return "Q"; - } + public String getFieldName() { return "Q"; } @Override - public String getSheetName() { - return "流量(m³/s)"; - } + public String getSheetName() { return "流量(m³/s)"; } @Override - public String getSttpType() { - return "ZQ"; - } + public String getSttpType() { return "ZQ"; } + + @Override + public int getOrder() { return 32; } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/RzProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/RzProcessor.java index c00dd40f..42e4ccea 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/RzProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/RzProcessor.java @@ -17,4 +17,9 @@ public class RzProcessor extends HydropwIndicatorProcessor { public String getSheetName() { return "坝上水位"; } + + @Override + public int getOrder() { + return 1; + } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/RzVariationProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/RzVariationProcessor.java index f7ed04d9..f74d3627 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/RzVariationProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/RzVariationProcessor.java @@ -22,4 +22,9 @@ public class RzVariationProcessor extends HydropwIndicatorProcessor { public boolean isVariation() { return true; } + + @Override + public int getOrder() { + return 2; + } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/TuProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/TuProcessor.java index babef596..36e67231 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/TuProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/TuProcessor.java @@ -24,7 +24,7 @@ public class TuProcessor extends WqIndicatorProcessor { } @Override - public String getSttpType() { - return "WQ"; + public int getOrder() { + return 14; } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/VProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/VProcessor.java index 74438880..330c68fb 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/VProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/VProcessor.java @@ -9,17 +9,14 @@ import org.springframework.stereotype.Component; public class VProcessor extends RiverIndicatorProcessor { @Override - public String getFieldName() { - return "V"; - } + public String getFieldName() { return "V"; } @Override - public String getSheetName() { - return "流速(m/s)"; - } + public String getSheetName() { return "流速(m/s)"; } @Override - public String getSttpType() { - return "ZQ"; - } + public String getSttpType() { return "ZQ"; } + + @Override + public int getOrder() { return 33; } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/WtmpProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/WtmpProcessor.java index c18a1357..2217aa2d 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/WtmpProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/WtmpProcessor.java @@ -24,8 +24,7 @@ public class WtmpProcessor extends WqIndicatorProcessor { } @Override - public String getSttpType() { - return "WQ"; + public int getOrder() { + return 10; } - } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/processor/ZProcessor.java b/backend/src/main/java/com/yfd/platform/qgc_export/processor/ZProcessor.java index 32e5e8b3..abf293d8 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/processor/ZProcessor.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/processor/ZProcessor.java @@ -9,17 +9,14 @@ import org.springframework.stereotype.Component; public class ZProcessor extends RiverIndicatorProcessor { @Override - public String getFieldName() { - return "Z"; - } + public String getFieldName() { return "Z"; } @Override - public String getSheetName() { - return "水位(m)"; - } + public String getSheetName() { return "水位(m)"; } @Override - public String getSttpType() { - return "ZQ"; - } + public String getSttpType() { return "ZQ"; } + + @Override + public int getOrder() { return 31; } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/service/impl/QgcExportServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_export/service/impl/QgcExportServiceImpl.java index e21b57ed..bfd3ff67 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_export/service/impl/QgcExportServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_export/service/impl/QgcExportServiceImpl.java @@ -86,6 +86,8 @@ public class QgcExportServiceImpl implements IQgcExportService { @Resource private WtmpProcessor wtmpProcessor; @Resource + private CodcrProcessor codcrProcessor; + @Resource private PhProcessor phProcessor; @Resource private DoxProcessor doxProcessor; @@ -288,6 +290,7 @@ public class QgcExportServiceImpl implements IQgcExportService { Map processorMap = new LinkedHashMap<>(); // WQ 在前 processorMap.put("wtmp", wtmpProcessor); + processorMap.put("codcr", codcrProcessor); processorMap.put("ph", phProcessor); processorMap.put("dox", doxProcessor); processorMap.put("cond", condProcessor); @@ -302,7 +305,7 @@ public class QgcExportServiceImpl implements IQgcExportService { for (String field : dataFields) { String lower = field.trim().toLowerCase(); if ("wq".equals(lower)) { - expanded.addAll(List.of("wtmp", "ph", "dox", "cond", "tu")); + expanded.addAll(List.of("wtmp","codcr", "ph", "dox", "cond", "tu")); } else { expanded.add(lower); } @@ -345,6 +348,7 @@ public class QgcExportServiceImpl implements IQgcExportService { result.add(p); } } + result.sort(Comparator.comparingInt(ExportIndicatorProcessor::getOrder)); return result; }