修复资产负载表总额异常

This commit is contained in:
wuyan
2025-06-12 07:23:38 +08:00
parent 36da9c588d
commit c5065f60e1

View File

@ -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);
@ -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) {