From d5b5272bb37227f29bd5d9355a42a93ea1489a56 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Thu, 28 May 2026 13:48:54 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-1038 --- .../validation/OrderCurrencyOnlyLccCompany.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/OrderCurrencyOnlyLccCompany.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/OrderCurrencyOnlyLccCompany.java index fc643fde7..505b6716e 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/OrderCurrencyOnlyLccCompany.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/OrderCurrencyOnlyLccCompany.java @@ -10,6 +10,7 @@ import ru.clearing.classes.statics.data.misc.OrderCurrency; import ru.spcex.clearing.dflt.management.config.ValidationConfig; import ru.spcex.clearing.dflt.management.error.DefaultManagementErrors; import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.domain.cud.order.OrderCompanyNewRequest; import ru.spcex.platform.enumeration.CompanyRole; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; @@ -18,7 +19,7 @@ import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.validation.IValidationRule; public class OrderCurrencyOnlyLccCompany - implements IValidationRule> { + implements IValidationRule> { private static final Logger log = LoggerFactory.getLogger(ValidationConfig.class); public static OrderCurrencyOnlyLccCompany getInstance() { @@ -26,7 +27,7 @@ public class OrderCurrencyOnlyLccCompany } @Override - public Optional validate(ImdgValidationContext ctx) { + public Optional validate(ImdgValidationContext ctx) { Imdg cmpRoleImdg = ctx.obtainMap(IMDGDistributedNames.Map_CompanyRoleSet, CompanyRoleSet.class); Imdg companyImdg = ctx.obtainMap(IMDGDistributedNames.Map_Company, Company.class); ImdgPredicateBuilder cmpRolePb = cmpRoleImdg.predicateBuilder(); @@ -42,6 +43,11 @@ public class OrderCurrencyOnlyLccCompany log.error("couldn't find company CLCC"); return of(DefaultManagementErrors.RecordNotFound, "company[CLCC]"); } + OrderCompanyNewRequest companyNewRequest = ctx.getValidatedObject(); + if (Objects.equals(companyNewRequest.getCompanyId(), clccCmp.getId())) { + return of(DefaultManagementErrors.OperationNotAllowed); + } + OrderCurrency order = ctx.getStoredObject(OrderCurrencyValidationStored.OrderCurrency); if (!Objects.equals(order.getCounterPartyId(), clccCmp.getId())) { return of(DefaultManagementErrors.OperationNotAllowed);