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()