From 2b1af100a2402e65b44a929489754949198a19df Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期二, 06 十月 2026 00:29:34 +0800
Subject: [PATCH] fix(holiday): 国省道环比基期改为纯备用值,不进环比计算

---
 traffic-audit-server/src/test/java/com/trafficaudit/holiday/service/HolidayBulletinServiceTest.java |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/traffic-audit-server/src/test/java/com/trafficaudit/holiday/service/HolidayBulletinServiceTest.java b/traffic-audit-server/src/test/java/com/trafficaudit/holiday/service/HolidayBulletinServiceTest.java
index 846023c..cc81b4a 100644
--- a/traffic-audit-server/src/test/java/com/trafficaudit/holiday/service/HolidayBulletinServiceTest.java
+++ b/traffic-audit-server/src/test/java/com/trafficaudit/holiday/service/HolidayBulletinServiceTest.java
@@ -26,6 +26,8 @@
         assertEquals("-4.5%", ratio(service, "95.551398", "100", 2));
         assertEquals("-0.1%", ratio(service, "99.955", "100", 2));
         assertEquals("0%", ratio(service, "99.955", "100", 1));
+        assertEquals("6.7%", ratio(service, "106.649", "100", 2));
+        assertEquals("6.6%", ratio(service, "106.649", "100", 1));
         assertEquals("1.0%", ratio(service, "101", "100", 1));
         assertEquals("0%", ratio(service, "100", "100", 1));
         assertEquals("0%", ratio(service, "10004", "10000", 1));
@@ -102,6 +104,22 @@
                 text);
     }
 
+    @Test
+    void cumulativeAmountsUseExcelYiDisplayBeforeWanRounding() throws Exception {
+        HolidayBulletinService service = new HolidayBulletinService(null);
+
+        assertEquals("3961.77", cumulativeNumber(service, "3961.76472"));
+        assertEquals("4189.32", cumulativeNumber(service, "4189.31472"));
+        assertEquals("4486.63", cumulativeNumber(service, "4486.62652"));
+    }
+
+    private String cumulativeNumber(HolidayBulletinService service, String value) throws Exception {
+        Method method = HolidayBulletinService.class.getDeclaredMethod("numberCumulative", BigDecimal.class);
+        method.setAccessible(true);
+        BigDecimal number = value == null ? null : new BigDecimal(value);
+        return (String) method.invoke(service, number);
+    }
+
     private Object comparableCumulative(HolidayBulletinService service, DailyMetrics current,
                                         DailyMetrics comparisonYear,
                                         Function<DailyMetrics, BigDecimal> selector) throws Exception {

--
Gitblit v1.9.1