ialbert 2026-03-27 12:37:41 +03:00
parent 5f92d863a5
commit a3967112ca

View file

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