diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/MoneyBalanceRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/MoneyBalanceRegisterService.java index 4e3b7ccc9..dc3912814 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/MoneyBalanceRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/MoneyBalanceRegisterService.java @@ -84,9 +84,9 @@ public class MoneyBalanceRegisterService extends QueueConsumer implements Initia private void insertMoneyBalanceRegister(Registry registry) { log.trace("Started generating MoneyBalanceRegister entity..."); MoneyBalanceRegister moneyBalanceRegister = new MoneyBalanceRegister(); - Registry registryForRemainderSum = registryMap.getSingleObjectBySQL(getSqlForRemainderSum(registry.getCompanyId())); - Registry registryForBlockedSum = registryMap.getSingleObjectBySQL(getSqlForBlockedSum(registry.getCompanyId())); - Registry registryForUnblockedSum = registryMap.getSingleObjectBySQL(getSqlForUnblockedSum(registry.getCompanyId())); + Registry registryForRemainderSum = registryMap.getSingleObjectBySQL(getSqlForRemainderSum(registry.getCompanyId(), registry.getAccount())); + Registry registryForBlockedSum = registryMap.getSingleObjectBySQL(getSqlForBlockedSum(registry.getCompanyId(), registry.getAccount())); + Registry registryForUnblockedSum = registryMap.getSingleObjectBySQL(getSqlForUnblockedSum(registry.getCompanyId(), registry.getAccount())); Company company = companyMap.getSingleObjectByFieldValues(Map.of("id", 2L)); CompanySymbols companySymbol = companySymbolsMap.getSingleObjectByFieldValues(Map.of("companyId", registry.getCompanyId())); String setHouseName = company != null ? company.getShortName() : null; @@ -124,19 +124,19 @@ public class MoneyBalanceRegisterService extends QueueConsumer implements Initia return String.format("companyId = '%s' and registryCode LIKE 'AM__'", companyId); } - private String getSqlForRemainderSum(Long companyId) { + private String getSqlForRemainderSum(Long companyId, String account) { log.trace("Started generating sql predicate for registries remainder sum..."); - return String.format("companyId = '%s' and registryCode LIKE 'AM_T'", companyId); + return String.format("companyId = '%s' and account = '%s' and registryCode LIKE 'AM_T'", companyId); } - private String getSqlForBlockedSum(Long companyId) { + private String getSqlForBlockedSum(Long companyId, String account) { log.trace("Started generating sql predicate for registries blocked sum..."); - return String.format("companyId = '%s' and registryCode LIKE 'AM_B'", companyId); + return String.format("companyId = '%s' and account = '%s' and registryCode LIKE 'AM_B'", companyId); } - private String getSqlForUnblockedSum(Long companyId) { + private String getSqlForUnblockedSum(Long companyId, String account) { log.trace("Started generating sql predicate for registries unblocked sum..."); - return String.format("companyId = '%s' and registryCode LIKE 'AM_F'", companyId); + return String.format("companyId = '%s' and account = '%s' and registryCode LIKE 'AM_F'", companyId); } }