company-service http://jira.mfd.msk:8088/browse/CLS-347 bug fix, правки поиска
This commit is contained in:
parent
c93e59c814
commit
c66df265d9
2 changed files with 6 additions and 31 deletions
|
|
@ -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<CompanySymbols> 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<CompanySymbols> companySymbolsFromImdg = companySymbolsImdg.getCollectionObjectsByFieldValues(
|
||||
Map.of(
|
||||
|
|
@ -399,32 +398,6 @@ public class MultiCompanyService
|
|||
return null;
|
||||
}
|
||||
|
||||
Long getCompanyIdForCompanySymbols(List<CompanySymbolNewRequest> otherRequests) {
|
||||
CompanySymbols companySymbol = null;
|
||||
for (CompanySymbolNewRequest req : otherRequests) {
|
||||
if (req.getCompanySymbol() == null) continue;
|
||||
log.trace("Search company by companySymbol {}={}", req.getCompanySymbol(), req.getCompanySymbolValue());
|
||||
Collection<CompanySymbols> 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 <T> BaseRequest<T> wrapRequest(BaseRequest<?> template, T payload, ActionType action) {
|
||||
BaseRequest<T> r = new BaseRequest<>();
|
||||
r.setId(template.getId());
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue