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 d764ea2f9..e1680dc53 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,7 @@ package ru.spcex.clearing.service.execution; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.Instant; import java.time.LocalDate; import java.time.format.DateTimeFormatter; @@ -54,6 +55,7 @@ import ru.spcex.platform.utils.enumeration.IEnumId; import ru.spcex.platform.utils.enumeration.IEnumKey; import ru.spcex.platform.utils.enumeration.IMessageResolver; import ru.spcex.platform.utils.log.ExceptionUtils; +import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD; import ru.spcex.platform.utils.time.TimeUtil; import ru.spcex.platform.utils.validation.IValidator; import ru.spcex.platform.utils.validation.ValidatorImpl; @@ -262,7 +264,7 @@ public class ExecutionCurrencyComponent implements IExecutionUploadComponent { // } eCurrency.setPrice(sTrades.getPrice()); eCurrency.setLots(sTrades.getQty()); - eCurrency.setSettlementAmount(sTrades.getValue()); + eCurrency.setSettlementAmount(safeBD(sTrades.getValue()).setScale(2, RoundingMode.HALF_UP)); if (listing != null && listing.getLotSize() != null && eCurrency.getLots() != null) { BigDecimal lots = eCurrency.getLots(); BigDecimal listingLotSize = listing.getLotSize();