修复资产负载表总额异常
This commit is contained in:
@ -201,7 +201,8 @@ public class StatementBalanceSheetConfigServiceImpl implements StatementBalanceS
|
|||||||
@Override
|
@Override
|
||||||
public void updateRuleBalance(StatementSubjectBalance subjectBalance, StatementRules statementRules) {
|
public void updateRuleBalance(StatementSubjectBalance subjectBalance, StatementRules statementRules) {
|
||||||
if (subjectBalance != null) {
|
if (subjectBalance != null) {
|
||||||
statementRules.setOpeningYearBalance(subjectBalance.getOpeningYearBalanceDebit().subtract(subjectBalance.getOpeningYearBalanceCredit()));
|
statementRules.setOpeningYearBalance(subjectBalance.getOpeningYearBalanceDebit()
|
||||||
|
.subtract(subjectBalance.getOpeningYearBalanceCredit()));
|
||||||
statementRules.setClosingBalance(subjectBalance.getBalance());
|
statementRules.setClosingBalance(subjectBalance.getBalance());
|
||||||
} else {
|
} else {
|
||||||
statementRules.setOpeningYearBalance(BigDecimal.ZERO);
|
statementRules.setOpeningYearBalance(BigDecimal.ZERO);
|
||||||
@ -230,7 +231,7 @@ public class StatementBalanceSheetConfigServiceImpl implements StatementBalanceS
|
|||||||
lqwRule.eq(StatementRules::getType, StatementTypeEnum.balance_sheet.name());
|
lqwRule.eq(StatementRules::getType, StatementTypeEnum.balance_sheet.name());
|
||||||
List<StatementRules> rules = rulesMapper.selectList(lqwRule);
|
List<StatementRules> rules = rulesMapper.selectList(lqwRule);
|
||||||
List<String> subjectCodes = rules.stream().map(StatementRules::getSubjectCode).toList();
|
List<String> subjectCodes = rules.stream().map(StatementRules::getSubjectCode).toList();
|
||||||
if(CollectionUtils.isNotEmpty(subjectCodes)) {
|
if (CollectionUtils.isNotEmpty(subjectCodes)) {
|
||||||
// 查询科目余额
|
// 查询科目余额
|
||||||
LambdaQueryWrapper<StatementSubjectBalance> lqwSubject = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<StatementSubjectBalance> lqwSubject = Wrappers.lambdaQuery();
|
||||||
lqwSubject.in(StatementSubjectBalance::getSubjectCode, subjectCodes);
|
lqwSubject.in(StatementSubjectBalance::getSubjectCode, subjectCodes);
|
||||||
@ -337,8 +338,11 @@ public class StatementBalanceSheetConfigServiceImpl implements StatementBalanceS
|
|||||||
}
|
}
|
||||||
node.setCurrentBalance(currentSum);
|
node.setCurrentBalance(currentSum);
|
||||||
node.setInitialBalance(initialSum);
|
node.setInitialBalance(initialSum);
|
||||||
|
// 避免重复叠加总额,因为节点可能被多次引用,如1199_1299
|
||||||
|
if (codes.length == 1) {
|
||||||
initialAllSum[0] = initialAllSum[0].add(initialSum);
|
initialAllSum[0] = initialAllSum[0].add(initialSum);
|
||||||
currentAllSum[0] = currentAllSum[0].add(currentSum);
|
currentAllSum[0] = currentAllSum[0].add(currentSum);
|
||||||
|
}
|
||||||
|
|
||||||
// 获取最大节点,一般为总计项
|
// 获取最大节点,一般为总计项
|
||||||
if (maxNode[0] == null || node.getItemCode().compareTo(maxNode[0].getItemCode()) > 0) {
|
if (maxNode[0] == null || node.getItemCode().compareTo(maxNode[0].getItemCode()) > 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user