company-service http://jira.mfd.msk:8088/browse/CLS-509 редактирование CompanySymbol (частично rollback и исправил)

This commit is contained in:
AKurakin 2023-09-14 13:31:57 +03:00
parent 8b35c7d6c5
commit da22a11afe
3 changed files with 10 additions and 3 deletions

View file

@ -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),

View file

@ -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 не найден

View file

@ -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);