Commit 03da03540e1dfe05ce132c2ff22c6a1e8dbb4768
1 parent
bff17062
fix(fms):单测报错
Showing
4 changed files
with
28 additions
and
6 deletions
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<FmsAuxiliaryItemDO> | @@ -65,8 +65,8 @@ public interface FmsAuxiliaryItemMapper extends BaseMapperX<FmsAuxiliaryItemDO> | ||
| 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 "fms_closing_template" ( | @@ -584,7 +584,7 @@ CREATE TABLE IF NOT EXISTS "fms_closing_template" ( | ||
| 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 |