diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryManager.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryManager.java index baab4ae63..c768d076d 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryManager.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryManager.java @@ -8,6 +8,7 @@ import ru.spcex.platform.enumeration.*; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; +import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; import ru.spcex.platform.imdg.api.predicate.specific.RegistryAssetPredicate; import ru.spcex.platform.imdg.api.predicate.specific.RegistryCodeSqlBuilder; import ru.spcex.platform.imdg.api.predicate.specific.RegistryDm_tClrnPredicate; @@ -54,6 +55,8 @@ public class RegistryManager { ImdgPredicate dmtClrnPrdct = RegistryDm_tClrnPredicate .instance(rgs.getCompanyId(), rgs.getCounterPartyId()) .apply(rgsImdg); + ImdgPredicateBuilder rgsPb = rgsImdg.predicateBuilder(); + dmtClrnPrdct = rgsPb.and(dmtClrnPrdct, rgsPb.equals("contract", rgs.getContract())); Registry dmt = rgsImdg.getSingleObjectByPredicate(dmtClrnPrdct); return Optional.ofNullable(dmt); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java index 95556413d..57180074c 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java @@ -127,7 +127,7 @@ public class InspectionObligationsDepositReturn implements ISessionStage { } continue; } - Optional dmtClnr = searchDmtClrn(omtRgs); + Optional dmtClnr = rgsMng.searchDmtClrn(omtRgs); if (dmtClnr.isPresent()) { BigDecimal dmtBalance = safeBD(dmtClnr.get().getBalance()); log.debug("OM*T.id={} -> DM*T(CLNR).id={}, dmtBalance={}, omtBalance={}, amfBalance={}", @@ -156,19 +156,6 @@ public class InspectionObligationsDepositReturn implements ISessionStage { registryImdg.update(registry); } - /** - * Если УК зачисляет средства на свой ТБС - */ - private Optional searchDmtClrn(Registry rgs) { - String sqlCondition = String.format("(%s) and accountType='%s' and companyId = %d and counterPartyId = %d", - RegistryCodeSqlBuilder.getInstance(DM_T).build(), - AccountType.Clrn.getKey(), - rgs.getCompanyId(), - rgs.getCounterPartyId()); - Registry dmt = registryImdg.getFirstObjectBySQL(sqlCondition); - return Optional.ofNullable(dmt); - } - private Optional searchAssetByOMT(Registry obligation) { String sqlCondition = String.format("%s and " + "tradingClearingRegistryId = '%s' and " +