From 96d7241e6bae223100ae607081658595c24b7abf Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 17 Sep 2025 11:39:03 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-889 --- .../execution/ExecutionFondComponent.java | 5 ++--- .../STradesSecurityDGCTValidationRule.java | 17 ----------------- 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionFondComponent.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionFondComponent.java index f7729db1a..180c204ff 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionFondComponent.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/execution/ExecutionFondComponent.java @@ -283,7 +283,6 @@ public class ExecutionFondComponent implements IExecutionUploadComponent { Company company = validator.getStored(ValidationStored.STradesCompany); Company counterCompany = validator.getStored(ValidationStored.STradesCounterCompany); TradingClearingRegistry rgstr = validator.getStored(ValidationStored.STradesTradingClearingRegistry); - UtilitarianDigitalRight udr = validator.getStored(ValidationStored.STradesUtilitarianDigitalRight); ClientCode clientCode = clientCodeImdg.getFirstObjectByFieldValues(Map.of("code", sTrades.getClientCode())); ExecutionFond eFond = new ExecutionFond(); @@ -300,7 +299,7 @@ public class ExecutionFondComponent implements IExecutionUploadComponent { eFond.setMarket(sTrades.getClassCode()); BigDecimal price = sTrades.getPrice(); - if (udr != null) { + if (InstrumentType.DGCT.equalsByKey(security.getInstrumentType())) { DigitalCertificateSecurity dcs = (DigitalCertificateSecurity) security; BigDecimal baseUnitSize = BigDecimal.valueOf(Optional.ofNullable(dcs.getBaseUnitSize()).orElse(0L)); price = safeBD(sTrades.getPrice()) @@ -342,7 +341,7 @@ public class ExecutionFondComponent implements IExecutionUploadComponent { BigDecimal qty = safeBD(eFond.getLots()).multiply(lotSize); eFond.setQuantity(qty); BigDecimal settlementAmount = BigDecimal.ZERO; - if (udr != null) { + if (InstrumentType.DGCT.equalsByKey(security.getInstrumentType())) { settlementAmount = qty.multiply(eFond.getPrice()); } else if (InstrumentType.BOND.equalsByKey(security.getInstrumentType())) { FixedIncomeSecurity fixedIncome = (FixedIncomeSecurity) security; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/strades/STradesSecurityDGCTValidationRule.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/strades/STradesSecurityDGCTValidationRule.java index 7315e5204..f6a3e7853 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/strades/STradesSecurityDGCTValidationRule.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/strades/STradesSecurityDGCTValidationRule.java @@ -6,15 +6,10 @@ import ru.clearing.classes.statics.data.misc.STrades; import ru.clearing.classes.statics.data.security.DigitalCertificateSecurity; import ru.clearing.classes.statics.data.security.Security; import ru.clearing.classes.statics.data.security.UtilitarianDigitalRight; -import ru.spcex.clearing.component.predicate.cash.UtilitarianDigitalRightPredicate; import ru.spcex.clearing.error.ClearingError; -import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.service.validation.ValidationStored; import ru.spcex.platform.enumeration.InstrumentType; import ru.spcex.platform.enumeration.NominalTypeCode; -import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; -import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2; import ru.spcex.platform.imdg.validation.ImdgValidationContext; import ru.spcex.platform.utils.enumeration.EnumMessage; @@ -40,17 +35,6 @@ public class STradesSecurityDGCTValidationRule implements IValidationRule udrImdg = ctx.obtainMap( - IMDGDistributedNames.Map_UtilitarianDigitalRight, UtilitarianDigitalRight.class - ); - ImdgPredicateBuilder pb = udrImdg.predicateBuilder(); - ImdgPredicate cashingPredicate = UtilitarianDigitalRightPredicate - .getPredicate(security.getId()) - .cashed(pb, udrCash); - UtilitarianDigitalRight udr = udrImdg.getFirstObjectByPredicate(cashingPredicate); - if (udr == null) { - return of(ClearingError.UtilitarianDigitalRightNotFound, security.getSecuritySymbol()); - } if (NominalTypeCode.INDX.equalsByKey(dcs.getNominalTypeCode())) { if (!Objects.equals(dcs.getNominalIndexationDate(), validatedObject.getSettleDate())) { return of(ClearingError.UtilitarianDigitalRightNotFound, security.getSecuritySymbol()); @@ -63,7 +47,6 @@ public class STradesSecurityDGCTValidationRule implements IValidationRule