5 шаг сессии по возврату: поиск DM*T(clnr) условие на контракт

This commit is contained in:
ialbert 2023-07-20 16:22:14 +03:00
parent cba1772bf6
commit e1d565522b
2 changed files with 4 additions and 14 deletions

View file

@ -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);
}

View file

@ -127,7 +127,7 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
}
continue;
}
Optional<Registry> dmtClnr = searchDmtClrn(omtRgs);
Optional<Registry> 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<Registry> 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<Registry> searchAssetByOMT(Registry obligation) {
String sqlCondition = String.format("%s and " +
"tradingClearingRegistryId = '%s' and " +