Fixing VerificationResultComponent.

This commit is contained in:
psemenkov 2023-03-20 10:25:28 +03:00
parent e24cece994
commit 3c31fc9d02

View file

@ -2,20 +2,14 @@ package ru.spcex.clearing.service;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import ru.clearing.classes.objects.BusinessObject;
import ru.clearing.classes.statics.data.account.Account;
import ru.clearing.classes.statics.data.account.AccountBalance;
import ru.clearing.classes.statics.data.clearing.VerificationResult;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.sdf.SDf01;
import ru.clearing.classes.statics.data.account.AccountBalance;
import ru.clearing.classes.statics.data.sdf.SDf03;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.platform.classes.base.interfaces.WithId;
import ru.spcex.platform.enumeration.AccountType;
@ -243,7 +237,7 @@ public class VerificationResultComponent {
{
Map<String, BigDecimal> summOfSDf01 = new HashMap<>();
for (SDf01 document : allSDf01) {
if (StringUtils.isEmpty(document.getRemainder())) {
if (!StringUtils.isEmpty(document.getRemainder())) {
try {
String account = document.getAccount();
BigDecimal value = new BigDecimal(document.getRemainder());
@ -264,7 +258,7 @@ public class VerificationResultComponent {
if (account.getCloseBalanceAmount() != null) {
String accountKey = account.getAccount();
BigDecimal value = account.getCloseBalanceAmount();
;
BigDecimal a = summOfAccountBalance.get(accountKey);
if (a == null) a = BigDecimal.ZERO;
a = a.add(value);
@ -306,7 +300,11 @@ public class VerificationResultComponent {
.anyMatch(check -> ResultStatuses.notSuccess.equalsByKey(check.getResultStatus()));
final String finalStatus = hasMissmatch ? ResultStatuses.notSuccess.getKey() : ResultStatuses.success.getKey();
log.trace("For company {} set GenerationStatus = {}", forCompany.getId(), finalStatus);
for (VerificationResult check : checks) check.setGenerationStatus(finalStatus);
Long generationId = idGenerator.nextId();
for (VerificationResult check : checks) {
check.setGenerationStatus(finalStatus);
check.setGenerationId(generationId);
}
return checks;
}