From da22a11afe4ee5921fd83967b816cea858af1d2e Mon Sep 17 00:00:00 2001 From: AKurakin Date: Thu, 14 Sep 2023 13:31:57 +0300 Subject: [PATCH] =?UTF-8?q?company-service=20http://jira.mfd.msk:8088/brow?= =?UTF-8?q?se/CLS-509=20=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20CompanySymbol=20(=D1=87?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D0=B8=D1=87=D0=BD=D0=BE=20rollback=20=D0=B8?= =?UTF-8?q?=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../validation/CompanySymbolValidationConfig.java | 10 +++++++++- .../ru/spcex/clearing/company/error/CompanyErrors.java | 1 - .../clearing/company/service/CompanySymbolService.java | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanySymbolValidationConfig.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanySymbolValidationConfig.java index 0585c211f..08a313415 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanySymbolValidationConfig.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/CompanySymbolValidationConfig.java @@ -73,7 +73,15 @@ public class CompanySymbolValidationConfig { IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class, CompanyErrors.RequiredFieldEmpty, - CompanyErrors.CompanyInfoNotFound + CompanyErrors.CompanyInfoNotFound, + (CompanySymbols existSymbol) -> { + assert existSymbol.getId().equals(context.getValidatedObject().getId()); + if (context.getValidatedObject().getCompanySymbol() == null) + return null; + // сейчас в коде предусмотрено редактирование-смена типа, но пока в ТЗ это не делали + return existSymbol.getCompanySymbol().equals(context.getValidatedObject().getCompanySymbol()) + ? null : CompanyErrors.EditCompanySymbols; + } ), FieldRequiredRule.instance("companyId", CompanySymbolUpdateRequest::getCompanyId, CompanyErrors.RequiredFieldEmpty), diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java index feaa34f50..824f55545 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java @@ -21,7 +21,6 @@ public enum CompanyErrors implements IErrorEnumId { CategoryAlreadySet(3017L), // Компании %s уже присвоена категория %s. CompanyAlreadyHasLiabilities(3018L), // У компании %s присутствуют обязательства. CompanyWithCompanySymbolAlreadyExist(3019L), // Компания с %s = %s уже создана" (где первый %s - companySymbol, второй %s - companySymbolValue) - @Deprecated EditCompanySymbols(3020L), // Тип реквизита компании %s не может быть изменен. EditContactType(3021L), // Тип контакта компании %s не может быть изменен. TradingClearingRegistryNotFound(3022L), // ТКР с %s не найден diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanySymbolService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanySymbolService.java index ac69dc9fc..3d3cc40e0 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanySymbolService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanySymbolService.java @@ -176,7 +176,7 @@ public class CompanySymbolService extends QueueConsumer implements InitializingB if (companySymbols == null) { throw new ClearingBaseException(new EnumMessage(CompanyErrors.CompanyInfoNotFound, req.getId())); } - if (!companySymbols.getCompanySymbol().equalsIgnoreCase(req.getCompanySymbol())) { + if (req.getCompanySymbol() != null && !companySymbols.getCompanySymbol().equalsIgnoreCase(req.getCompanySymbol())) { log.debug("Change CompanySymbol[{}].CompanySymbol from \"{}\" to \"{}\"", companySymbols.getId(), companySymbols.getCompanySymbol(), req.getCompanySymbol()); companyService.updateCompanyBySymbol(transaction, companySymbols, true);