From bcf3e3e3ff8feff2a3bc2ffce6e189ce7962a8a2 Mon Sep 17 00:00:00 2001 From: ialbert Date: Wed, 7 May 2025 11:40:52 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-838 --- .../clearing/service/executors/Sdf57Executor.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java index a3c6bcaef..4cee9b6d7 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java @@ -213,10 +213,6 @@ public class Sdf57Executor extends AbstractExecutor { )) != null; sdf = sdf.stream().sorted(Comparator.comparing(SpcexObjectBase::getId)).toList(); final Set gvtfIds = new HashSet<>(); - Consumer acceptAMAT_Gvtf = (amat) -> { - boolean isAmat = RegistryManager.equalsByCode(RegistryTradingParams.AMAT, amat); - if (isAmat) gvtfIds.add(amat.getId()); - }; for (SDf57 sdf57 : sdf) { IValidator validator = sDf57Validator.apply(sdf57); Optional error = validator.tillFirstError(); @@ -318,7 +314,11 @@ public class Sdf57Executor extends AbstractExecutor { registryB.getId()); return new AssetTrio(registryF, registryB, registry); }); - acceptAMAT_Gvtf.accept(asts.a__t()); + { + boolean isAmat = RegistryManager.equalsByCode(RegistryTradingParams.AMAT, asts.a__t()); + boolean isInfo = accountIsInfo(account); + if (isAmat && isInfo) gvtfIds.add(asts.a__t().getId()); + } InOutDirection direction = IEnumKey.getEnumByKey(InOutDirection.class, stmt.getInOutDirection()); boolean dm_tWasCreated = false; if (!StringUtils.isEmpty(stmt.getContract()) && InOutDirection.in.equals(direction)) { @@ -562,6 +562,11 @@ public class Sdf57Executor extends AbstractExecutor { return anlt; } + private boolean accountIsInfo(Account account) { + if (account == null) return false; + return AccountType.Info.getKey().equals(account.getAccountType()); + } + private Registry copyRegB(Registry rgs) { Registry rgsB = rgs.clone(); RegistryManager.zeroState(rgsB);