From c66df265d963227f7a559becc01304c7db880e91 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Thu, 28 Sep 2023 15:54:00 +0300 Subject: [PATCH 1/4] =?UTF-8?q?company-service=20http://jira.mfd.msk:8088/?= =?UTF-8?q?browse/CLS-347=20bug=20fix,=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../company/service/MultiCompanyService.java | 35 +++---------------- .../service/processor/CompanyProcessor.java | 2 ++ 2 files changed, 6 insertions(+), 31 deletions(-) diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java index f0cb6e513..22dc30751 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java @@ -131,10 +131,6 @@ public class MultiCompanyService ); companyId = getCompanyIdForCompanySymbols(req.getUuid(), req.getCompany(), req.getCompanySymbols()); log.debug("For request {} (uuid {}) company {}.", baseRequest.getId(), req.getUuid(), companyId == null ? "not found" : ("found, id=" + companyId)); - if (companyId == null) { - log.debug("For request {} (uuid {}) company not found. Try find by other symbols.", baseRequest.getId(), req.getUuid()); - companyId = getCompanyIdForCompanySymbols(req.getCompanySymbols()); - } if (companyId == null) { companyId = companyService.create(req.getCompany()); @@ -353,9 +349,11 @@ public class MultiCompanyService } } if (companySymbol == null && StringUtils.isNotEmpty(cnr.getCompanySymbolValue()) - && IEnumKey.contains(cnr.getCompanySymbol(), CompanySymbol.INN, CompanySymbol.CIO)) { // вероятно там будет только UUID + && IEnumKey.contains(cnr.getCompanySymbol(), CompanySymbol.UUID, CompanySymbol.INN, CompanySymbol.CIO)) { // вероятно там будет только UUID { String companySymbolType = cnr.getCompanySymbol(); + log.debug("Company not found by UUID=\"{}\", try find by {}={}", + uuid, companySymbolType, cnr.getCompanySymbolValue()); log.trace("Search company by companySymbol {}={}", companySymbolType, cnr.getCompanySymbolValue()); Collection companySymbolsFromImdg = companySymbolsImdg.getCollectionObjectsByFieldValues( Map.of( @@ -375,6 +373,7 @@ public class MultiCompanyService for (CompanySymbolNewRequest cSymbolReq : companySymbols) { if (IEnumKey.contains(cSymbolReq.getCompanySymbol(), CompanySymbol.INN, CompanySymbol.CIO)) { String companySymbolType = cSymbolReq.getCompanySymbol(); + log.debug("Company not found by UUID=\"{}\", try find by {}", uuid, companySymbolType); log.trace("Search company by companySymbol {}={}", companySymbolType, cSymbolReq.getCompanySymbolValue()); Collection companySymbolsFromImdg = companySymbolsImdg.getCollectionObjectsByFieldValues( Map.of( @@ -399,32 +398,6 @@ public class MultiCompanyService return null; } - Long getCompanyIdForCompanySymbols(List otherRequests) { - CompanySymbols companySymbol = null; - for (CompanySymbolNewRequest req : otherRequests) { - if (req.getCompanySymbol() == null) continue; - log.trace("Search company by companySymbol {}={}", req.getCompanySymbol(), req.getCompanySymbolValue()); - Collection companySymbolsFromImdg = companySymbolsImdg.getCollectionObjectsByFieldValues( - Map.of( - "companySymbol", req.getCompanySymbol(), - "companySymbolValue", req.getCompanySymbolValue() - ) - ); - if (!companySymbolsFromImdg.isEmpty()) { - companySymbol = companySymbolsFromImdg.iterator().next(); - if (companySymbolsFromImdg.size() > 1) { - log.warn("For {} found > 1 company_symbols, use first (id = {})", req.getCompanySymbol(), req.getCompanySymbolValue()); - } - log.debug("Found by company symbol {} {}", req.getCompanySymbol(), req.getCompanySymbolValue()); - break; - } - } - if (companySymbol != null) - return companySymbol.getCompanyId(); - else - return null; - } - private BaseRequest wrapRequest(BaseRequest template, T payload, ActionType action) { BaseRequest r = new BaseRequest<>(); r.setId(template.getId()); diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/CompanyProcessor.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/CompanyProcessor.java index 2635f1704..c23c4aebd 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/CompanyProcessor.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/CompanyProcessor.java @@ -53,6 +53,8 @@ public class CompanyProcessor { map(companyRequestAdapter::toCategoryRequest).toList(); CompanyGatewayRequest companyGatewayRequest = new CompanyGatewayRequest(); + if (companyId != null) + companyGatewayRequest.setUuid(companyId.toString()); companyGatewayRequest.setCompany(companyRequestAdapter.toCompanyRequest(memberCompany)); request.getCompanyInfoList() .stream() From 4b089a91aee70f07e4bce3ef18f44a8022167aeb Mon Sep 17 00:00:00 2001 From: akulikov Date: Thu, 28 Sep 2023 16:53:58 +0300 Subject: [PATCH 2/4] http://jira.mfd.msk:8088/browse/CLS-497 fix --- .../reports/ks/KSRepCashNettoReportBuilder.java | 10 ++++------ .../reports/ks/KSRepDepoNettoReportBuilder.java | 10 ++++------ .../ks/KSRepDepoRegisterQuantitiesReportBuilder.java | 2 +- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepCashNettoReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepCashNettoReportBuilder.java index 85d247f61..1901d631a 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepCashNettoReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepCashNettoReportBuilder.java @@ -67,13 +67,11 @@ public class KSRepCashNettoReportBuilder extends CSVReportBuilder sessionIds = params.getSessionId(); + if (sessionIds == null || sessionIds.isEmpty()) sessionIds = getSessionIdsForCurrentDate(sessionImdg); ImdgPredicate finalPredicate = pb.and( - pb.not(pb.in("registryStatus", - RegistryStatus.CLRD.getKey(), - RegistryStatus.UNCV.getKey(), - RegistryStatus.FAIL.getKey(), - RegistryStatus.NACK.getKey(), - RegistryStatus.NACC.getKey())), + pb.in("sessionId", sessionIds.toArray(new Long[0])), + pb.equals("clearingDate", nowDate), pb.sql(sql), pb.or( pb.equals("accountType", AccountType.Clrn.getKey()), diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoNettoReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoNettoReportBuilder.java index 755df29a6..1e33b4e51 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoNettoReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoNettoReportBuilder.java @@ -66,14 +66,12 @@ public class KSRepDepoNettoReportBuilder extends CSVReportBuilder sessionIds = params.getSessionId(); + if (sessionIds == null || sessionIds.isEmpty()) sessionIds = getSessionIdsForCurrentDate(sessionImdg); String sql = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.TS_T, RegistryTradingParams.OS_T).build(); ImdgPredicate finalPredicate = pb.and( - pb.not(pb.in("registryStatus", - RegistryStatus.CLRD.getKey(), - RegistryStatus.UNCV.getKey(), - RegistryStatus.FAIL.getKey(), - RegistryStatus.NACK.getKey(), - RegistryStatus.NACC.getKey())), + pb.in("sessionId", sessionIds.toArray(new Long[0])), + pb.equals("clearingDate", nowDate), pb.sql(sql), pb.equals("accountType", AccountType.Depo.getKey()), pb.notNull("account") diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoRegisterQuantitiesReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoRegisterQuantitiesReportBuilder.java index ca0dc7794..01893c3c6 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoRegisterQuantitiesReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoRegisterQuantitiesReportBuilder.java @@ -142,7 +142,7 @@ public class KSRepDepoRegisterQuantitiesReportBuilder extends CSVReportBuilder Date: Thu, 28 Sep 2023 16:50:53 +0300 Subject: [PATCH 3/4] =?UTF-8?q?registry-service=20=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B7=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/AdmittedLiabilitiesRegisterService.java | 3 ++- .../service/CoveredLiabilitiesRegisterService.java | 2 +- .../service/DepoBalanceRegisterService.java | 11 ++++++++--- .../DepoPaymentInstructionRegisterService.java | 5 +++-- .../service/ExcludeLiabilitiesRegisterService.java | 2 +- .../registry/service/ExecutionRegisterService.java | 13 +++++++++++++ .../service/LiabilitiesRegisterService.java | 10 +++++----- .../service/MoneyBalanceRegisterService.java | 4 +++- 8 files changed, 36 insertions(+), 14 deletions(-) diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/AdmittedLiabilitiesRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/AdmittedLiabilitiesRegisterService.java index 6b6694401..62faa9e03 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/AdmittedLiabilitiesRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/AdmittedLiabilitiesRegisterService.java @@ -74,7 +74,7 @@ public class AdmittedLiabilitiesRegisterService extends QueueConsumer implements log.debug("AdmittedLiabilitiesRegisterNewRequest received from {}", Consts.REGISTRY_ADMITTED_LIABILITIES_REGISTER_NEW); String sqlConditionForRegistry = getSqlForRegistries(); Collection registries = registryMap.getCollectionObjectsBySQL(sqlConditionForRegistry); - if (registries == null) { + if (registries.isEmpty()) { log.debug("No registry with such conditions {}", sqlConditionForRegistry); return; } @@ -131,6 +131,7 @@ public class AdmittedLiabilitiesRegisterService extends QueueConsumer implements @Override public Optional isDuplicateInMap(Registry entity) { return Optional.empty(); + //todo для всех isDuplicateInMap: сказали надо по критерию чистить мапу перед вставкой записей, критерий уточнят. // Map> fieldValues = Map.of( // "companyId", entity.getRegistryCode(), // "sessionId", entity.getSessionId(), diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java index 1b3928e62..247088edf 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java @@ -75,7 +75,7 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements log.debug("CoveredLiabilitiesRegisterNew received"); String sqlConditionForRegistry = getSqlForRegistries(); Collection registries = registryMap.getCollectionObjectsBySQL(sqlConditionForRegistry); - if (registries == null) { + if (registries.isEmpty()) { log.debug("No registry with such conditions {}", sqlConditionForRegistry); return; } diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoBalanceRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoBalanceRegisterService.java index 59122d989..d41a72d23 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoBalanceRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoBalanceRegisterService.java @@ -13,6 +13,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.enumeration.AccountType; import ru.spcex.platform.enumeration.RegistryTradingParams; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -63,7 +64,7 @@ public class DepoBalanceRegisterService extends QueueConsumer implements Initial ImdgPredicate prdctForRegistries = getPredicateForRegistries(userRequest.getRequestPayload().getCompanyId()); Collection registries = registryMap.getCollectionObjectsByPredicate(prdctForRegistries); log.trace("Started searching depoBalanceRegister in register by '{}'", prdctForRegistries); - if (registries == null) { + if (registries.isEmpty()) { log.debug("No registry with such conditions '{}'", prdctForRegistries); return; } @@ -83,8 +84,12 @@ public class DepoBalanceRegisterService extends QueueConsumer implements Initial depoBalanceRegister.setCreated(depoBalanceRegister.getUpdated()); depoBalanceRegister.setCompanyId(registry.getCompanyId()); depoBalanceRegister.setSessionId(registry.getSessionId()); - depoBalanceRegister.setDepoCode(registry.getAccountType()); - depoBalanceRegister.setQuantity(registry.getCloseBalance()); + if (AccountType.Depo.equalsByKey(registry.getAccountType())) { + depoBalanceRegister.setDepoCode(registry.getAccount()); + } else if (registry.getAccountType() != null) { + log.warn("Unexpected registry[{}].accountType={}", registry.getId(), registry.getAccountType()); + } + depoBalanceRegister.setQuantity(registry.getBalance()); depoBalanceRegister.setSecuritySymbol(registry.getSecuritySymbol()); depoBalanceRegisterMap.insert(depoBalanceRegister); log.debug("inserted successfully DepoBalanceRegister entity with id: {}", depoBalanceRegister.getId()); diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoPaymentInstructionRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoPaymentInstructionRegisterService.java index 52c7a7e3a..b62067ec6 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoPaymentInstructionRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/DepoPaymentInstructionRegisterService.java @@ -68,7 +68,7 @@ public class DepoPaymentInstructionRegisterService extends QueueConsumer impleme public void depoPaymentInstructionRegisterNew(BaseRequest userRequest) { log.debug("LauncherCommandRequest received from {}", createRegistry_GORR.topic()); Collection actualSessions = sessionMap.getCollectionObjectsByFieldValues(Map.of("section", "FOND")); - if (actualSessions == null) { + if (actualSessions.isEmpty()) { log.debug("No Session with such conditions section = FOND"); return; } @@ -89,7 +89,8 @@ public class DepoPaymentInstructionRegisterService extends QueueConsumer impleme private void insertDepoPaymentInstructionRegister(PaymentInstruction paymentInstruction) { log.trace("Started generating DepoPaymentInstructionRegister entity..."); DepoPaymentInstructionRegister depoPaymentInstructionRegister = new DepoPaymentInstructionRegister(); - TradingClearingRegistry tradingClearingRegistry = paymentInstruction.getSenderId() == null ? null : tradingClearingRegistryMap.getFirstObjectByFieldValues(Map.of("companyId", paymentInstruction.getSenderId())); + TradingClearingRegistry tradingClearingRegistry = paymentInstruction.getCreditLeg_accountId() == null ? null : + tradingClearingRegistryMap.getFirstObjectByFieldValues(Map.of("depoAccountId", paymentInstruction.getCreditLeg_accountId())); InOutDirectionDictionary inOutDirectionDictionary = InOutDirectionDictionaryMap.getFirstObjectByFieldValues(Map.of("code", paymentInstruction.getCreditLeg_direction())); depoPaymentInstructionRegister.setCreated(Instant.now()); depoPaymentInstructionRegister.setUpdated(Instant.now()); diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java index b00e34806..7f6b083b2 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java @@ -78,7 +78,7 @@ public class ExcludeLiabilitiesRegisterService extends QueueConsumer implements log.debug("ExcludeLiabilitiesRegisterNew received"); String sqlForRegistries = getSqlForRegistries(); Collection registries = registryMap.getCollectionObjectsBySQL(sqlForRegistries); - if (registries == null) { + if (registries.isEmpty()) { log.debug("No registry with such conditions {}", sqlForRegistries); return; } diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExecutionRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExecutionRegisterService.java index 4f41ab830..4058813ae 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExecutionRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExecutionRegisterService.java @@ -115,6 +115,19 @@ public class ExecutionRegisterService extends QueueConsumer implements Initializ private void insertExecutionRegister(Boolean isFond, ExecutionCommon common) { log.trace("Started generating ExecutionRegister entity..."); + /* todo сверить с ТЗ, замечания от 28.09.2023: + executionRegister - Реестр сделок +sellerId - Если executionDeposit/Fond.side=BUY - company.shortName [executionDeposit/Fond.counterPartyId = company.id]. Если executionDeposit/Fond.side=SELL - company.shortName [executionDeposit/Fond.companyId = company.id] +sellerClearingCode - не заполняется +sellerTradingClearingRegister - не заполняется +sellerMoneyAccount - не заполняется +sellerDepoAccount - не заполняется +buyerId - Если executionDeposit/Fond.side=BUY - company.shortName [executionDeposit/Fond.counterPartyId = company.id]. Если executionDeposit/Fond.side=SELL - company.shortName [executionDeposit/Fond.counterPartyId = company.id] +buyerClearingCode - не заполняется +buyerTradingClearingRegister - не заполняется +buyerMoneyAccount - не заполняется +buyerDepoAccount - не заполняется + */ String sellerClearingCode = null; String sellerTradingClearingRegister = null; String sellerMoneyAccount = null; diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java index ea22fa856..4231f47c8 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java @@ -18,6 +18,7 @@ import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.registry.LiabilitiesRegisterNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.enumeration.CompanySymbol; import ru.spcex.platform.enumeration.RegistryDesignation; import ru.spcex.platform.enumeration.RegistryInstrumentType; import ru.spcex.platform.enumeration.RegistryUnit; @@ -97,10 +98,8 @@ public class LiabilitiesRegisterService extends QueueConsumer implements Initial ) ); CompanySymbols companySymbols = companySymbolsMap.getFirstObjectByFieldValues( - Map.of("companyId", - registry.getCompanyId(), - "companySymbol", - "INN" + Map.of("companyId", registry.getCompanyId(), + "companySymbol", CompanySymbol.INN.getKey() ) ); MoneyMarketSecurity moneyMarketSecurity = moneyMarketSecurityMap.getFirstObjectByFieldValues( @@ -116,7 +115,7 @@ public class LiabilitiesRegisterService extends QueueConsumer implements Initial liabilitiesRegister.setValidToDate(TimeUtil.toLocalDate(session.getUpdated())); } if (companySymbols == null) { - log.warn("CompanySymbols is empty!"); + log.warn("CompanySymbols is empty! For companyId={}", registry.getCompanyId()); } else { liabilitiesRegister.setInn(companySymbols.getCompanySymbolValue()); } @@ -127,6 +126,7 @@ public class LiabilitiesRegisterService extends QueueConsumer implements Initial } liabilitiesRegister.setSessionId(registry.getSessionId()); liabilitiesRegister.setCompanyId(registry.getCompanyId()); + liabilitiesRegister.setCompanyFullName(registry.getFullName()); liabilitiesRegister.setRegistryCode(registry.getRegistryCode()); liabilitiesRegister.setAccount(registry.getAccount()); liabilitiesRegister.setRegistryStatus(registry.getRegistryStatus()); 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 4924a68a0..40a438400 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 @@ -16,6 +16,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; +import ru.spcex.platform.enumeration.CompanySymbol; import ru.spcex.platform.enumeration.RegistryTradingParams; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -76,6 +77,7 @@ public class MoneyBalanceRegisterService extends QueueConsumer implements Initia log.debug("No registry with such conditions {}", sqlConditionForRegistry); return; } + //todo надо группировать! registries.forEach((registry -> { if (isDuplicateInMap(registry).isEmpty()) { insertMoneyBalanceRegister(registry); @@ -92,7 +94,7 @@ public class MoneyBalanceRegisterService extends QueueConsumer implements Initia Registry registryForBlockedSum = registryMap.getFirstObjectByPredicate(getSqlForBlockedSum(registry.getCompanyId(), registry.getAccount())); Registry registryForUnblockedSum = registryMap.getFirstObjectByPredicate(getSqlForUnblockedSum(registry.getCompanyId(), registry.getAccount())); Company company = companyMap.getFirstObjectByFieldValues(Map.of("id", 2L)); - CompanySymbols companySymbol = companySymbolsMap.getFirstObjectByFieldValues(Map.of("companyId", registry.getCompanyId())); + CompanySymbols companySymbol = companySymbolsMap.getFirstObjectByFieldValues(Map.of("companySymbol", CompanySymbol.INN.getKey(), "companyId", registry.getCompanyId())); String setHouseName = company != null ? company.getShortName() : null; String inn = companySymbol != null ? companySymbol.getCompanySymbolValue() : null; String accountType = registry.getAccountType(); From caeece00f3c257f578339b06fd17d6366d3aff76 Mon Sep 17 00:00:00 2001 From: ialbert Date: Thu, 28 Sep 2023 17:26:04 +0300 Subject: [PATCH 4/4] SDF06 active session error 4 -> 1 --- .../ru/spcex/clearing/service/executors/Sdf06Executor.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java index 9cb346202..1982a15ac 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java @@ -211,6 +211,9 @@ public class Sdf06Executor { if (ClearingError.WrongField.equals(err.getSubject())) { result = errorResult4; } + if (ClearingError.ActiveSessionIsPresent.equals(err.getSubject())) { + result = errorResult1; + } if (result == null) { result = errorResult4; }