From 54307516ad393be891effc91fb569257341343fd Mon Sep 17 00:00:00 2001 From: ialbert Date: Fri, 16 Jun 2023 19:55:00 +0300 Subject: [PATCH] clearing-service SDF06 amount, direction --- .../spcex/clearing/service/executors/Sdf06Executor.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java index e93f870c4..57b95ba52 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf06Executor.java @@ -26,8 +26,10 @@ import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.IMessageResolver; +import ru.spcex.platform.utils.number.BigDecimalUtil; import ru.spcex.platform.utils.validation.IValidator; +import java.math.BigDecimal; import java.time.Instant; import java.time.LocalDate; import java.util.ArrayList; @@ -143,10 +145,15 @@ public class Sdf06Executor extends AbstractExecutor { private AssetOperationRequest requestFromStatement(Statement stmt, String tradingCode, String tcrCode) { AssetOperationRequest req = new AssetOperationRequest(); - req.setAmount(stmt.getAmount()); + req.setAmount(BigDecimalUtil.safeBD(stmt.getAmount()).abs()); req.setSecuritySymbol(CurrencyCode.RUB.getKey()); //fixme retrieve security symbol from validator req.setTradingCode(tradingCode); req.setCode(tcrCode); + if (BigDecimalUtil.safeBD(stmt.getAmount()).compareTo(BigDecimal.ZERO) >= 0) { + req.setDirection(InOutDirection.in.getKey()); + } else { + req.setDirection(InOutDirection.out.getKey()); + } return req; } }