From 1b72929d14f5fca18cc12889eebd97d41a795581 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 15 Aug 2026 00:48:43 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=88fms=EF=BC=89=EF=BC=9A=E5=8D=95?= =?UTF-8?q?=E6=B5=8B=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mysql/config/FmsAuxiliaryItemMapper.java | 8 +++---- .../config/FmsAccountSetServiceImplTest.java | 2 +- .../service/home/FmsHomeServiceImplTest.java | 21 ++++++++++++++++++- .../src/test/resources/sql/create_tables.sql | 2 +- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/yudao-module-fms/yudao-module-fms-server/src/main/java/cn/iocoder/yudao/module/fms/dal/mysql/config/FmsAuxiliaryItemMapper.java b/yudao-module-fms/yudao-module-fms-server/src/main/java/cn/iocoder/yudao/module/fms/dal/mysql/config/FmsAuxiliaryItemMapper.java index 8f8bad8cb..e467aa51a 100644 --- a/yudao-module-fms/yudao-module-fms-server/src/main/java/cn/iocoder/yudao/module/fms/dal/mysql/config/FmsAuxiliaryItemMapper.java +++ b/yudao-module-fms/yudao-module-fms-server/src/main/java/cn/iocoder/yudao/module/fms/dal/mysql/config/FmsAuxiliaryItemMapper.java @@ -55,8 +55,8 @@ public interface FmsAuxiliaryItemMapper extends BaseMapperX return selectList(new LambdaQueryWrapperX() .eq(FmsAuxiliaryItemDO::getAccountSetId, accountSetId) .eq(FmsAuxiliaryItemDO::getAuxiliaryTypeId, auxiliaryTypeId) - .orderByDesc(FmsAuxiliaryItemDO::getCode) - .orderByDesc(FmsAuxiliaryItemDO::getId)); + .orderByAsc(FmsAuxiliaryItemDO::getCode) + .orderByAsc(FmsAuxiliaryItemDO::getId)); } default List selectListByAccountSetIdAndAuxiliaryTypeIdAndStatus( @@ -65,8 +65,8 @@ public interface FmsAuxiliaryItemMapper extends BaseMapperX .eq(FmsAuxiliaryItemDO::getAccountSetId, accountSetId) .eq(FmsAuxiliaryItemDO::getAuxiliaryTypeId, auxiliaryTypeId) .eq(FmsAuxiliaryItemDO::getStatus, status) - .orderByDesc(FmsAuxiliaryItemDO::getCode) - .orderByDesc(FmsAuxiliaryItemDO::getId)); + .orderByAsc(FmsAuxiliaryItemDO::getCode) + .orderByAsc(FmsAuxiliaryItemDO::getId)); } default List selectListByAccountSetId(Long accountSetId) { diff --git a/yudao-module-fms/yudao-module-fms-server/src/test/java/cn/iocoder/yudao/module/fms/service/config/FmsAccountSetServiceImplTest.java b/yudao-module-fms/yudao-module-fms-server/src/test/java/cn/iocoder/yudao/module/fms/service/config/FmsAccountSetServiceImplTest.java index 546dca0dc..d415145bd 100644 --- a/yudao-module-fms/yudao-module-fms-server/src/test/java/cn/iocoder/yudao/module/fms/service/config/FmsAccountSetServiceImplTest.java +++ b/yudao-module-fms/yudao-module-fms-server/src/test/java/cn/iocoder/yudao/module/fms/service/config/FmsAccountSetServiceImplTest.java @@ -17,6 +17,7 @@ import cn.iocoder.yudao.module.fms.service.closing.FmsClosingTemplateService; import cn.iocoder.yudao.module.fms.service.config.FmsAuxiliaryTypeService; import cn.iocoder.yudao.module.fms.service.config.FmsCurrencyService; import cn.iocoder.yudao.module.fms.service.config.FmsFinanceParameterService; +import cn.iocoder.yudao.module.fms.service.config.FmsFinanceIndicatorService; import cn.iocoder.yudao.module.fms.service.config.FmsSubjectService; import cn.iocoder.yudao.module.fms.service.config.FmsVoucherWordService; import jakarta.annotation.Resource; @@ -69,7 +70,6 @@ public class FmsAccountSetServiceImplTest extends BaseDbUnitTest { private FmsClosingSchemeService closingSchemeService; @MockitoBean private FmsClosingTemplateService closingTemplateService; - @Test public void testCreateAccountSet_success() { // 准备参数 diff --git a/yudao-module-fms/yudao-module-fms-server/src/test/java/cn/iocoder/yudao/module/fms/service/home/FmsHomeServiceImplTest.java b/yudao-module-fms/yudao-module-fms-server/src/test/java/cn/iocoder/yudao/module/fms/service/home/FmsHomeServiceImplTest.java index 68bfd3acc..7bed38502 100644 --- a/yudao-module-fms/yudao-module-fms-server/src/test/java/cn/iocoder/yudao/module/fms/service/home/FmsHomeServiceImplTest.java +++ b/yudao-module-fms/yudao-module-fms-server/src/test/java/cn/iocoder/yudao/module/fms/service/home/FmsHomeServiceImplTest.java @@ -8,7 +8,11 @@ import cn.iocoder.yudao.module.fms.controller.admin.report.vo.FmsReportListReqVO import cn.iocoder.yudao.module.fms.dal.dataobject.config.FmsAccountSetDO; import cn.iocoder.yudao.module.fms.service.closing.FmsClosingPeriodService; import cn.iocoder.yudao.module.fms.service.config.FmsAccountSetService; +import cn.iocoder.yudao.module.fms.service.config.FmsFinanceIndicatorService; +import cn.iocoder.yudao.module.fms.service.config.FmsSubjectService; +import cn.iocoder.yudao.module.fms.service.report.FmsBalanceSheetService; import cn.iocoder.yudao.module.fms.service.report.FmsIncomeStatementService; +import cn.iocoder.yudao.module.fms.service.report.FmsReportCommonService; import jakarta.annotation.Resource; import org.junit.jupiter.api.Test; import org.springframework.context.annotation.Import; @@ -26,6 +30,7 @@ import static cn.iocoder.yudao.module.fms.enums.ErrorCodeConstants.ACCOUNT_SET_N import static cn.iocoder.yudao.module.fms.enums.ErrorCodeConstants.HOME_METRIC_INVALID; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -42,6 +47,14 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest { private FmsClosingPeriodService closingPeriodService; @MockitoBean private FmsIncomeStatementService incomeStatementService; + @MockitoBean + private FmsBalanceSheetService balanceSheetService; + @MockitoBean + private FmsReportCommonService reportCommonService; + @MockitoBean + private FmsSubjectService subjectService; + @MockitoBean + private FmsFinanceIndicatorService financeIndicatorService; @Test public void testGetHome_success() { @@ -52,6 +65,8 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest { .thenReturn(accountSet); when(closingPeriodService.getCurrentMonth(1L, accountSet.getStartTime())) .thenReturn(YearMonth.of(2026, 8)); + when(reportCommonService.isLineFormula(anyString())) + .thenAnswer(invocation -> invocation.getArgument(0, String.class).contains("L")); when(incomeStatementService.getIncomeStatement(any(FmsReportListReqVO.class), eq(10L))) .thenAnswer(invocation -> buildIncomeStatement( invocation.getArgument(0).getStartMonth())); @@ -82,6 +97,8 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest { .thenReturn(accountSet); when(closingPeriodService.getCurrentMonth(1L, accountSet.getStartTime())) .thenReturn(YearMonth.of(2026, 8)); + when(reportCommonService.isLineFormula(anyString())) + .thenAnswer(invocation -> invocation.getArgument(0, String.class).contains("L")); when(incomeStatementService.getIncomeStatement(any(FmsReportListReqVO.class), eq(10L))) .thenAnswer(invocation -> buildMetricIncomeStatement( invocation.getArgument(0).getStartMonth())); @@ -99,7 +116,7 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest { assertEquals(new BigDecimal("80.00"), result.getStructure().get(0).getAmount()); assertEquals("5051", result.getStructure().get(1).getSubjectCode()); assertEquals(new BigDecimal("20.00"), result.getStructure().get(1).getAmount()); - verify(incomeStatementService, times(8)).getIncomeStatement(any(FmsReportListReqVO.class), eq(10L)); + verify(incomeStatementService, times(9)).getIncomeStatement(any(FmsReportListReqVO.class), eq(10L)); } @Test @@ -133,6 +150,8 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest { when(accountSetService.validateAccountSetReadPermission(1L, 10L)).thenReturn(accountSet); when(closingPeriodService.getCurrentMonth(1L, accountSet.getStartTime())) .thenReturn(YearMonth.of(2026, 8)); + when(reportCommonService.isLineFormula(anyString())) + .thenAnswer(invocation -> invocation.getArgument(0, String.class).contains("L")); when(incomeStatementService.getIncomeStatement(any(FmsReportListReqVO.class), eq(10L))) .thenReturn(Arrays.asList( new FmsReportItemRespVO().setRowNo(1).setCurrentAmount(new BigDecimal("100.00")) diff --git a/yudao-module-fms/yudao-module-fms-server/src/test/resources/sql/create_tables.sql b/yudao-module-fms/yudao-module-fms-server/src/test/resources/sql/create_tables.sql index 20246de0a..e71d381ce 100644 --- a/yudao-module-fms/yudao-module-fms-server/src/test/resources/sql/create_tables.sql +++ b/yudao-module-fms/yudao-module-fms-server/src/test/resources/sql/create_tables.sql @@ -584,7 +584,7 @@ CREATE TABLE IF NOT EXISTS "fms_closing_template" ( ); ALTER TABLE "fms_closing_template" - ADD "unique_active" int GENERATED ALWAYS AS (CASE WHEN "deleted" = FALSE THEN 1 ELSE NULL END); + ADD IF NOT EXISTS "unique_active" int GENERATED ALWAYS AS (CASE WHEN "deleted" = FALSE THEN 1 ELSE NULL END); CREATE UNIQUE INDEX IF NOT EXISTS "uk_fms_closing_template_active" ON "fms_closing_template" ("account_set_id", "preset_code", "unique_active", "tenant_id");