fix df service

This commit is contained in:
etreschenkov 2026-04-28 13:02:44 +03:00
parent 7ba03b3bdf
commit 4166d7f685

View file

@ -15,6 +15,7 @@ import ru.clearing.classes.statics.data.security.Rates;
import ru.clearing.platform.dictionary.CurrencyPairDictionary; import ru.clearing.platform.dictionary.CurrencyPairDictionary;
import ru.spcex.clearing.dflt.management.model.CalculationResult; import ru.spcex.clearing.dflt.management.model.CalculationResult;
import ru.spcex.clearing.dflt.management.model.OrderCurrencyContext; import ru.spcex.clearing.dflt.management.model.OrderCurrencyContext;
import ru.spcex.platform.enumeration.CurrencyCode;
import ru.spcex.platform.enumeration.SettleCode; import ru.spcex.platform.enumeration.SettleCode;
@Service @Service
@ -108,11 +109,11 @@ public class OrderCalculationService {
private CalculationResult calculationRubSums(Registry registry, Integer lotSize, BigDecimal s, BigDecimal n) { private CalculationResult calculationRubSums(Registry registry, Integer lotSize, BigDecimal s, BigDecimal n) {
BigDecimal planPosition = registry.getBalance(); BigDecimal planPosition = registry.getBalance();
Rates cnyRate = imdgQueryService.getRate(registry.getSecuritySymbol(), LocalDate.now()); SCrossRate sCrossRates = imdgQueryService.getSCrossRates(CurrencyCode.CNY.getKey(), LocalDate.now());
if (cnyRate == null) { if (sCrossRates == null) {
throw new IllegalStateException(String.format("Not fond rate by security symbol: %s", registry.getSecuritySymbol())); throw new IllegalStateException(String.format("Not fond rate by security symbol: %s", CurrencyCode.CNY.getKey()));
} }
BigDecimal rateValue = cnyRate.getValue(); BigDecimal rateValue = sCrossRates.getUnitRate();
BigDecimal sum1 = planPosition.divide(rateValue, MC); BigDecimal sum1 = planPosition.divide(rateValue, MC);