From 7a7468b9f2693d486de70b0b7efc91792ce61e2c Mon Sep 17 00:00:00 2001 From: ialbert Date: Fri, 8 Sep 2023 17:14:08 +0300 Subject: [PATCH] SDF13 assets fix, SDF06 DM*T search status conditions --- .../clearing/service/executors/Sdf13Executor.java | 12 +++++------- .../validation/Sdf06NewValidationRule.java | 15 ++++++++++----- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java index 3aff02f15..7b82237ab 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java @@ -1,6 +1,5 @@ package ru.spcex.clearing.service.executors; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -12,6 +11,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.clearing.service.model.Result; +import ru.spcex.clearing.service.registry.AssetTBFProcessing; import ru.spcex.clearing.service.registry.RegistryManager; import ru.spcex.platform.enumeration.RegistryDesignation; import ru.spcex.platform.enumeration.RegistryInstrumentType; @@ -37,12 +37,14 @@ public class Sdf13Executor extends AbstractExecutor { private final Imdg registryImdg; protected final Imdg sessionImdg; protected final RegistryManager registryManager; - public Sdf13Executor(ImdgProvider imdgProvider, RegistryManager registryManager) { + private final AssetTBFProcessing assets; + public Sdf13Executor(ImdgProvider imdgProvider, RegistryManager registryManager, AssetTBFProcessing assets) { this.imdgProvider = imdgProvider; this.sdf12Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf12, SDf12.class); this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class); this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class); this.registryManager = registryManager; + this.assets = assets; } @Override @@ -88,12 +90,8 @@ public class Sdf13Executor extends AbstractExecutor { Optional registryUnitF = registryManager.findRegByUnit(registry.getCompanyId(), registry.getAccountId(), registry.getContract(), registry, RegistryUnit.F); Optional registryUnitT = registryManager.findRegByUnit(registry.getCompanyId(), registry.getAccountId(), registry.getContract(), registry, RegistryUnit.T); if (registryUnitF.isPresent() && registryUnitT.isPresent()) { - registryUnitF.get().setBalance(registryUnitT.get().getBalance().subtract(registry.getBalance())); - registryUnitF.get().setUpdated(now); - registryImdg.update(registryUnitF.get()); + assets.process(registry, registryUnitT.get(), registryUnitF.get(), BigDecimal.ZERO); } - registry.setUpdated(now); - registryImdg.update(registry); }); } return result; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf06NewValidationRule.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf06NewValidationRule.java index c40d8d855..28b383e38 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf06NewValidationRule.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf06NewValidationRule.java @@ -11,10 +11,7 @@ import ru.clearing.classes.statics.data.sdf.SDf06; import ru.spcex.clearing.error.ClearingError; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.service.AnltSearcher; -import ru.spcex.platform.enumeration.AccountType; -import ru.spcex.platform.enumeration.InOutDirection; -import ru.spcex.platform.enumeration.RegistryTradingParams; -import ru.spcex.platform.enumeration.WorkflowStatus; +import ru.spcex.platform.enumeration.*; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; @@ -130,7 +127,15 @@ public enum Sdf06NewValidationRule implements IValidationRule