Commit 03da03540e1dfe05ce132c2ff22c6a1e8dbb4768

Authored by YunaiV
1 parent bff17062

fix(fms):单测报错

yudao-module-fms/src/main/java/cn/iocoder/yudao/module/fms/dal/mysql/config/FmsAuxiliaryItemMapper.java
@@ -55,8 +55,8 @@ public interface FmsAuxiliaryItemMapper extends BaseMapperX<FmsAuxiliaryItemDO> @@ -55,8 +55,8 @@ public interface FmsAuxiliaryItemMapper extends BaseMapperX<FmsAuxiliaryItemDO>
55 return selectList(new LambdaQueryWrapperX<FmsAuxiliaryItemDO>() 55 return selectList(new LambdaQueryWrapperX<FmsAuxiliaryItemDO>()
56 .eq(FmsAuxiliaryItemDO::getAccountSetId, accountSetId) 56 .eq(FmsAuxiliaryItemDO::getAccountSetId, accountSetId)
57 .eq(FmsAuxiliaryItemDO::getAuxiliaryTypeId, auxiliaryTypeId) 57 .eq(FmsAuxiliaryItemDO::getAuxiliaryTypeId, auxiliaryTypeId)
58 - .orderByDesc(FmsAuxiliaryItemDO::getCode)  
59 - .orderByDesc(FmsAuxiliaryItemDO::getId)); 58 + .orderByAsc(FmsAuxiliaryItemDO::getCode)
  59 + .orderByAsc(FmsAuxiliaryItemDO::getId));
60 } 60 }
61 61
62 default List<FmsAuxiliaryItemDO> selectListByAccountSetIdAndAuxiliaryTypeIdAndStatus( 62 default List<FmsAuxiliaryItemDO> selectListByAccountSetIdAndAuxiliaryTypeIdAndStatus(
@@ -65,8 +65,8 @@ public interface FmsAuxiliaryItemMapper extends BaseMapperX&lt;FmsAuxiliaryItemDO&gt; @@ -65,8 +65,8 @@ public interface FmsAuxiliaryItemMapper extends BaseMapperX&lt;FmsAuxiliaryItemDO&gt;
65 .eq(FmsAuxiliaryItemDO::getAccountSetId, accountSetId) 65 .eq(FmsAuxiliaryItemDO::getAccountSetId, accountSetId)
66 .eq(FmsAuxiliaryItemDO::getAuxiliaryTypeId, auxiliaryTypeId) 66 .eq(FmsAuxiliaryItemDO::getAuxiliaryTypeId, auxiliaryTypeId)
67 .eq(FmsAuxiliaryItemDO::getStatus, status) 67 .eq(FmsAuxiliaryItemDO::getStatus, status)
68 - .orderByDesc(FmsAuxiliaryItemDO::getCode)  
69 - .orderByDesc(FmsAuxiliaryItemDO::getId)); 68 + .orderByAsc(FmsAuxiliaryItemDO::getCode)
  69 + .orderByAsc(FmsAuxiliaryItemDO::getId));
70 } 70 }
71 71
72 default List<FmsAuxiliaryItemDO> selectListByAccountSetId(Long accountSetId) { 72 default List<FmsAuxiliaryItemDO> selectListByAccountSetId(Long accountSetId) {
yudao-module-fms/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; @@ -17,6 +17,7 @@ import cn.iocoder.yudao.module.fms.service.closing.FmsClosingTemplateService;
17 import cn.iocoder.yudao.module.fms.service.config.FmsAuxiliaryTypeService; 17 import cn.iocoder.yudao.module.fms.service.config.FmsAuxiliaryTypeService;
18 import cn.iocoder.yudao.module.fms.service.config.FmsCurrencyService; 18 import cn.iocoder.yudao.module.fms.service.config.FmsCurrencyService;
19 import cn.iocoder.yudao.module.fms.service.config.FmsFinanceParameterService; 19 import cn.iocoder.yudao.module.fms.service.config.FmsFinanceParameterService;
  20 +import cn.iocoder.yudao.module.fms.service.config.FmsFinanceIndicatorService;
20 import cn.iocoder.yudao.module.fms.service.config.FmsSubjectService; 21 import cn.iocoder.yudao.module.fms.service.config.FmsSubjectService;
21 import cn.iocoder.yudao.module.fms.service.config.FmsVoucherWordService; 22 import cn.iocoder.yudao.module.fms.service.config.FmsVoucherWordService;
22 import jakarta.annotation.Resource; 23 import jakarta.annotation.Resource;
@@ -67,6 +68,8 @@ public class FmsAccountSetServiceImplTest extends BaseDbUnitTest { @@ -67,6 +68,8 @@ public class FmsAccountSetServiceImplTest extends BaseDbUnitTest {
67 private FmsClosingSchemeService closingSchemeService; 68 private FmsClosingSchemeService closingSchemeService;
68 @MockitoBean 69 @MockitoBean
69 private FmsClosingTemplateService closingTemplateService; 70 private FmsClosingTemplateService closingTemplateService;
  71 + @MockitoBean
  72 + private FmsFinanceIndicatorService financeIndicatorService;
70 73
71 @Test 74 @Test
72 public void testCreateAccountSet_success() { 75 public void testCreateAccountSet_success() {
yudao-module-fms/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 @@ -8,7 +8,11 @@ import cn.iocoder.yudao.module.fms.controller.admin.report.vo.FmsReportListReqVO
8 import cn.iocoder.yudao.module.fms.dal.dataobject.config.FmsAccountSetDO; 8 import cn.iocoder.yudao.module.fms.dal.dataobject.config.FmsAccountSetDO;
9 import cn.iocoder.yudao.module.fms.service.closing.FmsClosingPeriodService; 9 import cn.iocoder.yudao.module.fms.service.closing.FmsClosingPeriodService;
10 import cn.iocoder.yudao.module.fms.service.config.FmsAccountSetService; 10 import cn.iocoder.yudao.module.fms.service.config.FmsAccountSetService;
  11 +import cn.iocoder.yudao.module.fms.service.config.FmsFinanceIndicatorService;
  12 +import cn.iocoder.yudao.module.fms.service.config.FmsSubjectService;
  13 +import cn.iocoder.yudao.module.fms.service.report.FmsBalanceSheetService;
11 import cn.iocoder.yudao.module.fms.service.report.FmsIncomeStatementService; 14 import cn.iocoder.yudao.module.fms.service.report.FmsIncomeStatementService;
  15 +import cn.iocoder.yudao.module.fms.service.report.FmsReportCommonService;
12 import jakarta.annotation.Resource; 16 import jakarta.annotation.Resource;
13 import org.junit.jupiter.api.Test; 17 import org.junit.jupiter.api.Test;
14 import org.springframework.context.annotation.Import; 18 import org.springframework.context.annotation.Import;
@@ -26,6 +30,7 @@ import static cn.iocoder.yudao.module.fms.enums.ErrorCodeConstants.ACCOUNT_SET_N @@ -26,6 +30,7 @@ import static cn.iocoder.yudao.module.fms.enums.ErrorCodeConstants.ACCOUNT_SET_N
26 import static cn.iocoder.yudao.module.fms.enums.ErrorCodeConstants.HOME_METRIC_INVALID; 30 import static cn.iocoder.yudao.module.fms.enums.ErrorCodeConstants.HOME_METRIC_INVALID;
27 import static org.junit.jupiter.api.Assertions.assertEquals; 31 import static org.junit.jupiter.api.Assertions.assertEquals;
28 import static org.mockito.ArgumentMatchers.any; 32 import static org.mockito.ArgumentMatchers.any;
  33 +import static org.mockito.ArgumentMatchers.anyString;
29 import static org.mockito.ArgumentMatchers.eq; 34 import static org.mockito.ArgumentMatchers.eq;
30 import static org.mockito.Mockito.times; 35 import static org.mockito.Mockito.times;
31 import static org.mockito.Mockito.verify; 36 import static org.mockito.Mockito.verify;
@@ -42,6 +47,14 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest { @@ -42,6 +47,14 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest {
42 private FmsClosingPeriodService closingPeriodService; 47 private FmsClosingPeriodService closingPeriodService;
43 @MockitoBean 48 @MockitoBean
44 private FmsIncomeStatementService incomeStatementService; 49 private FmsIncomeStatementService incomeStatementService;
  50 + @MockitoBean
  51 + private FmsBalanceSheetService balanceSheetService;
  52 + @MockitoBean
  53 + private FmsReportCommonService reportCommonService;
  54 + @MockitoBean
  55 + private FmsSubjectService subjectService;
  56 + @MockitoBean
  57 + private FmsFinanceIndicatorService financeIndicatorService;
45 58
46 @Test 59 @Test
47 public void testGetHome_success() { 60 public void testGetHome_success() {
@@ -52,6 +65,8 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest { @@ -52,6 +65,8 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest {
52 .thenReturn(accountSet); 65 .thenReturn(accountSet);
53 when(closingPeriodService.getCurrentMonth(1L, accountSet.getStartTime())) 66 when(closingPeriodService.getCurrentMonth(1L, accountSet.getStartTime()))
54 .thenReturn(YearMonth.of(2026, 8)); 67 .thenReturn(YearMonth.of(2026, 8));
  68 + when(reportCommonService.isLineFormula(anyString()))
  69 + .thenAnswer(invocation -> invocation.getArgument(0, String.class).contains("L"));
55 when(incomeStatementService.getIncomeStatement(any(FmsReportListReqVO.class), eq(10L))) 70 when(incomeStatementService.getIncomeStatement(any(FmsReportListReqVO.class), eq(10L)))
56 .thenAnswer(invocation -> buildIncomeStatement( 71 .thenAnswer(invocation -> buildIncomeStatement(
57 invocation.<FmsReportListReqVO>getArgument(0).getStartMonth())); 72 invocation.<FmsReportListReqVO>getArgument(0).getStartMonth()));
@@ -82,6 +97,8 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest { @@ -82,6 +97,8 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest {
82 .thenReturn(accountSet); 97 .thenReturn(accountSet);
83 when(closingPeriodService.getCurrentMonth(1L, accountSet.getStartTime())) 98 when(closingPeriodService.getCurrentMonth(1L, accountSet.getStartTime()))
84 .thenReturn(YearMonth.of(2026, 8)); 99 .thenReturn(YearMonth.of(2026, 8));
  100 + when(reportCommonService.isLineFormula(anyString()))
  101 + .thenAnswer(invocation -> invocation.getArgument(0, String.class).contains("L"));
85 when(incomeStatementService.getIncomeStatement(any(FmsReportListReqVO.class), eq(10L))) 102 when(incomeStatementService.getIncomeStatement(any(FmsReportListReqVO.class), eq(10L)))
86 .thenAnswer(invocation -> buildMetricIncomeStatement( 103 .thenAnswer(invocation -> buildMetricIncomeStatement(
87 invocation.<FmsReportListReqVO>getArgument(0).getStartMonth())); 104 invocation.<FmsReportListReqVO>getArgument(0).getStartMonth()));
@@ -99,7 +116,7 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest { @@ -99,7 +116,7 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest {
99 assertEquals(new BigDecimal("80.00"), result.getStructure().get(0).getAmount()); 116 assertEquals(new BigDecimal("80.00"), result.getStructure().get(0).getAmount());
100 assertEquals("5051", result.getStructure().get(1).getSubjectCode()); 117 assertEquals("5051", result.getStructure().get(1).getSubjectCode());
101 assertEquals(new BigDecimal("20.00"), result.getStructure().get(1).getAmount()); 118 assertEquals(new BigDecimal("20.00"), result.getStructure().get(1).getAmount());
102 - verify(incomeStatementService, times(8)).getIncomeStatement(any(FmsReportListReqVO.class), eq(10L)); 119 + verify(incomeStatementService, times(9)).getIncomeStatement(any(FmsReportListReqVO.class), eq(10L));
103 } 120 }
104 121
105 @Test 122 @Test
@@ -133,6 +150,8 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest { @@ -133,6 +150,8 @@ public class FmsHomeServiceImplTest extends BaseDbUnitTest {
133 when(accountSetService.validateAccountSetReadPermission(1L, 10L)).thenReturn(accountSet); 150 when(accountSetService.validateAccountSetReadPermission(1L, 10L)).thenReturn(accountSet);
134 when(closingPeriodService.getCurrentMonth(1L, accountSet.getStartTime())) 151 when(closingPeriodService.getCurrentMonth(1L, accountSet.getStartTime()))
135 .thenReturn(YearMonth.of(2026, 8)); 152 .thenReturn(YearMonth.of(2026, 8));
  153 + when(reportCommonService.isLineFormula(anyString()))
  154 + .thenAnswer(invocation -> invocation.getArgument(0, String.class).contains("L"));
136 when(incomeStatementService.getIncomeStatement(any(FmsReportListReqVO.class), eq(10L))) 155 when(incomeStatementService.getIncomeStatement(any(FmsReportListReqVO.class), eq(10L)))
137 .thenReturn(Arrays.asList( 156 .thenReturn(Arrays.asList(
138 new FmsReportItemRespVO().setRowNo(1).setCurrentAmount(new BigDecimal("100.00")) 157 new FmsReportItemRespVO().setRowNo(1).setCurrentAmount(new BigDecimal("100.00"))
yudao-module-fms/src/test/resources/sql/create_tables.sql
@@ -584,7 +584,7 @@ CREATE TABLE IF NOT EXISTS &quot;fms_closing_template&quot; ( @@ -584,7 +584,7 @@ CREATE TABLE IF NOT EXISTS &quot;fms_closing_template&quot; (
584 ); 584 );
585 585
586 ALTER TABLE "fms_closing_template" 586 ALTER TABLE "fms_closing_template"
587 - ADD "unique_active" int GENERATED ALWAYS AS (CASE WHEN "deleted" = FALSE THEN 1 ELSE NULL END); 587 + ADD IF NOT EXISTS "unique_active" int GENERATED ALWAYS AS (CASE WHEN "deleted" = FALSE THEN 1 ELSE NULL END);
588 CREATE UNIQUE INDEX IF NOT EXISTS "uk_fms_closing_template_active" 588 CREATE UNIQUE INDEX IF NOT EXISTS "uk_fms_closing_template_active"
589 ON "fms_closing_template" ("account_set_id", "preset_code", "unique_active", "tenant_id"); 589 ON "fms_closing_template" ("account_set_id", "preset_code", "unique_active", "tenant_id");
590 590