From a9e6c0b1ddc8c2683ea604f3d5146ce8c310816e Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期五, 04 九月 2026 16:54:34 +0800
Subject: [PATCH] fix: 整车吨位按平均吨位口径审核、提示数字去科学计数;拆分导入按目标期取月页签(重导04-06验证);数据查看全屏可翻页 + 测试报告
---
traffic-audit-server/src/main/java/com/trafficaudit/auditengine/service/AuditEngineService.java | 30 +++++++++++++++++++++++-------
1 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/service/AuditEngineService.java b/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/service/AuditEngineService.java
index 8d16e0c..5d343bb 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/service/AuditEngineService.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/service/AuditEngineService.java
@@ -1679,15 +1679,29 @@
return null;
}
- /** 鏁板�艰寖鍥存鏌ワ紙濡� 鏁磋溅鍚ㄤ綅 4鈮や笖鈮�40锛� */
+ /** 鏁板�艰寖鍥存鏌ワ紱鏁磋溅鍚ㄤ綅鎸夆�滃钩鍧囧惃浣�=鏁磋溅鍚ㄤ綅/鏁磋溅鏁扳�濆彛寰勫垽瀹� 4~40 */
private AuditResult checkOutRange(AuditRule rule, H2032EnterpriseMonthly report) {
String[] bounds = rule.getThreshold().split(",");
if (bounds.length < 2) return null;
- double value = getH2032FieldValue(report, rule.getCheckField());
+ String field = rule.getCheckField();
+ String label = h2032FieldLabel(field);
+ double value;
+ if ("tonsWhole".equals(field)) {
+ double vehicles = report.getVehicleWhole() == null ? 0.0 : report.getVehicleWhole().doubleValue();
+ double tons = nvl(report.getTonsWhole());
+ if (vehicles > 0) {
+ value = tons / vehicles;
+ label = "鏁磋溅骞冲潎鍚ㄤ綅(鏁磋溅鍚ㄤ綅/鏁磋溅鏁�)";
+ } else {
+ value = tons; // 鏃犳暣杞︽暟浣嗘湁鍚ㄤ綅鏃朵粛鎸夊師鍚ㄤ綅鍒ゅ畾
+ }
+ } else {
+ value = getH2032FieldValue(report, field);
+ }
double low = Double.parseDouble(bounds[0].trim());
double high = Double.parseDouble(bounds[1].trim());
if (value > 0 && (value < low || value > high)) {
- return buildResult(rule, report, h2032FieldLabel(rule.getCheckField()) + "=" + fmt(value),
+ return buildResult(rule, report, label + "=" + fmt(value),
"鑼冨洿 " + fmt(low) + "~" + fmt(high), "瓒呭嚭鑼冨洿");
}
return null;
@@ -1805,18 +1819,20 @@
}
private String fmt(double v) {
- if (v == Math.floor(v) && !Double.isInfinite(v)) {
+ if (v == Math.floor(v) && !Double.isInfinite(v) && Math.abs(v) < 1e15) {
return String.valueOf((long) v);
}
- return String.valueOf(Math.round(v * 100.0) / 100.0);
+ return java.math.BigDecimal.valueOf(v).setScale(2, java.math.RoundingMode.HALF_UP)
+ .stripTrailingZeros().toPlainString();
}
/** 鍗犳瘮/灏忔暟鍊硷細淇濈暀 4 浣嶅皬鏁� */
private String fmt4(double v) {
- if (v == Math.floor(v) && !Double.isInfinite(v)) {
+ if (v == Math.floor(v) && !Double.isInfinite(v) && Math.abs(v) < 1e15) {
return String.valueOf((long) v);
}
- return String.valueOf(Math.round(v * 10000.0) / 10000.0);
+ return java.math.BigDecimal.valueOf(v).setScale(4, java.math.RoundingMode.HALF_UP)
+ .stripTrailingZeros().toPlainString();
}
// ========== H2031 鏃呭瀹℃牳 ==========
--
Gitblit v1.9.1