From 657698fd2fb32794932474648dbaee9e284e38c8 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 12 十月 2026 18:31:20 +0800
Subject: [PATCH] feat(bpm): 添加全局免审批功能支持

---
 yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/energy/EnergyRecordServiceTest.java |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/energy/EnergyRecordServiceTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/energy/EnergyRecordServiceTest.java
index b4254be..be2d69c 100644
--- a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/energy/EnergyRecordServiceTest.java
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/energy/EnergyRecordServiceTest.java
@@ -20,12 +20,30 @@
 
 @ExtendWith(MockitoExtension.class)
 class EnergyRecordServiceTest {
+    @Mock private org.springframework.context.ApplicationEventPublisher applicationEventPublisher;
     @Mock
     private EnergyRecordMapper mapper;
     @InjectMocks
     private EnergyRecordService service;
 
     @Test
+    void changedDateChecksBothDaysWithOriginalTenant() {
+        var req = request(); req.setId(77L);
+        var old = new EnergyRecordDO(); old.setId(77L); old.setRecordDate(req.getRecordDate().minusDays(1));
+        when(mapper.selectById(77L)).thenReturn(old);
+        when(mapper.updateById(any(EnergyRecordDO.class))).thenReturn(1);
+        var previousTenant = cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder.getTenantId();
+        try {
+            cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder.setTenantId(42L);
+            service.update(req);
+            var event = org.mockito.ArgumentCaptor.forClass(EnergyRecordChangedEvent.class);
+            verify(applicationEventPublisher).publishEvent(event.capture());
+            assertEquals(42L, event.getValue().tenantId());
+            assertEquals(java.util.Set.of(old.getRecordDate(), req.getRecordDate()), event.getValue().dates());
+        } finally { cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder.setTenantId(previousTenant); }
+    }
+
+    @Test
     void calculatesMoneyWithDecimalRoundingAndClearsRemark() {
         EnergyRecordSaveReqVO req = request();
         req.setQuantity(new BigDecimal("12.345"));

--
Gitblit v1.9.3