From a3967112cad05c336cc1a86f4b26fd65c7b20ace Mon Sep 17 00:00:00 2001 From: ialbert Date: Fri, 27 Mar 2026 12:37:41 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-944 --- .../execution/ExecutionCurrencyComponent.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionCurrencyComponent.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionCurrencyComponent.java index c493b6ac4..0cbb9a371 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionCurrencyComponent.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionCurrencyComponent.java @@ -1,6 +1,5 @@ package ru.spcex.clearing.service.execution; -import static java.lang.String.format; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.Instant; @@ -11,6 +10,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Optional; +import static java.lang.String.format; import org.apache.kafka.clients.producer.Producer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,6 +42,7 @@ import ru.spcex.clearing.service.validation.ValidationStored; import ru.spcex.clearing.service.validation.strades.CompanyByTradingCodeCashingValidationRule; import ru.spcex.clearing.service.validation.strades.STradesSecurityPresentValidationRule; import ru.spcex.clearing.service.validation.strades.TcrByCodeAndCmpIsActiveCashingValidationRule; +import ru.spcex.clearing.validation.common.rules.FieldNotBlankRequiredRule; import ru.spcex.platform.enumeration.ObjectType; import ru.spcex.platform.enumeration.Priority; import ru.spcex.platform.enumeration.Section; @@ -266,7 +267,13 @@ public class ExecutionCurrencyComponent implements IExecutionUploadComponent { Company company = validator.getStored(ValidationStored.STradesCompany); Company counterCompany = validator.getStored(ValidationStored.STradesCounterCompany); TradingClearingRegistry rgstr = validator.getStored(ValidationStored.STradesTradingClearingRegistry); - Listing listing = listingImdg.getFirstObjectByFieldValues(Map.of("securityId", security.getId())); + Listing listing = listingImdg.getFirstObjectByFieldValues( + Map.of( + "securityId", security.getId(), + "market", sTrades.getClassCode() + ) + ); + ExecutionCurrency eCurrency = new ExecutionCurrency(); final Instant now = Instant.now(); @@ -424,7 +431,11 @@ public class ExecutionCurrencyComponent implements IExecutionUploadComponent { new CompanyByTradingCodeCashingValidationRule<>( STrades::getCpFirmId, valCash.cmpCash, ValidationStored.STradesCounterCompany ), - new TcrByCodeAndCmpIsActiveCashingValidationRule(valCash.tcrCash) + new TcrByCodeAndCmpIsActiveCashingValidationRule(valCash.tcrCash), + FieldNotBlankRequiredRule.instance( + "classCode", + STrades::getClassCode, + ClearingError.RequiredFieldEmpty, true) ); }