fixes from dev

This commit is contained in:
ialbert 2025-05-29 18:15:31 +03:00
parent ea77a68fb6
commit bcdbde9a16
3 changed files with 12 additions and 5 deletions

View file

@ -20,7 +20,6 @@ import org.springframework.context.annotation.Scope;
import org.springframework.statemachine.StateContext;
import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.registry.Registry;
import ru.spcex.clearing.component.predicate.cash.registry.AssetByObligationCashedPredicate;
import ru.spcex.clearing.component.predicate.cash.registry.AssetByTcrCompanyAccountCashedPredicate;
import ru.spcex.clearing.error.ClearingError;
import ru.spcex.clearing.error.RgsError;
@ -161,9 +160,9 @@ public class InspectionObligationsV2Action extends AbstractSessionActionForOkErr
checkResults.add(new CheckResult(obligation, false));
continue;
}
ImdgPredicate assetPrdct = AssetByObligationCashedPredicate
.getPredicate(obligation)
.cashed(rgsPb, a__fCash);
ImdgPredicate assetPrdct = AssetByTcrCompanyAccountCashedPredicate
.getPredicate(obligation, A__F.type(obligation.getRegistryInstrumentType()))
.cashed(rgsPb, a___Cash);
Registry asset = registryImdg.getFirstObjectByPredicate(assetPrdct);
if (asset == null) {
log.warn("Not found asset by registry.id={}", obligation.getId());

View file

@ -32,6 +32,7 @@ import ru.clearing.classes.statics.data.registry.Registry;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistryList;
import ru.clearing.classes.statics.data.security.CurrencyPairSecurity;
import ru.clearing.classes.statics.data.security.DigitalCertificateSecurity;
import ru.clearing.classes.statics.data.security.MoneyMarketSecurity;
import ru.clearing.classes.statics.data.security.Security;
import ru.clearing.platform.dictionary.CurrencyPairDictionary;
@ -90,6 +91,7 @@ public class RequirementAndObligationCreationAction extends AbstractSessionActio
private final Imdg<MoneyMarketSecurity> monMrktSecImdg;
private final Imdg<EquitySecurity> eqtySecImdg;
private final Imdg<CurrencyPairDictionary> currPairDictImdg;
private final Imdg<DigitalCertificateSecurity> digitCertSecImdg;
private final Imdg<Currency> currImdg;
private final TcrSearcher tcrSearcher;
private final SecuritySelector<Security> secSelector;
@ -114,6 +116,7 @@ public class RequirementAndObligationCreationAction extends AbstractSessionActio
this.monMrktSecImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class, cash.monMrktSecCash);
this.eqtySecImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class, cash.eqtySecCash);
this.currPairDictImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_CurrencyPairDictionary, CurrencyPairDictionary.class, cash.currPairDictCash);
this.digitCertSecImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_DigitalCertificateSecurity, DigitalCertificateSecurity.class, cash.digitCertSecCash);
this.currImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_Currency, Currency.class, null);
@ -122,7 +125,8 @@ public class RequirementAndObligationCreationAction extends AbstractSessionActio
this.secSelector = new SecuritySelector<>(castSecImdg(fixIncSecImdg),
castSecImdg(monMrktSecImdg),
castSecImdg(eqtySecImdg),
castSecImdg(currPairSecImdg));
castSecImdg(currPairSecImdg),
castSecImdg(digitCertSecImdg));
}
private static <T extends Security> Imdg<Security> castSecImdg(Imdg<T> m) {
@ -431,6 +435,7 @@ public class RequirementAndObligationCreationAction extends AbstractSessionActio
protected final CashV2<Long, MoneyMarketSecurity> monMrktSecCash;
protected final CashV2<Long, EquitySecurity> eqtySecCash;
protected final CashV2<Long, CurrencyPairDictionary> currPairDictCash;
protected final CashV2<Long, DigitalCertificateSecurity> digitCertSecCash;
protected final CashV2ByIdAndString<TradingClearingRegistryList> tcrListCash;
public RequirementsAndObligationCreationCash() {
@ -447,6 +452,7 @@ public class RequirementAndObligationCreationAction extends AbstractSessionActio
monMrktSecCash = add(new CashV2ById<>("monMrktSecCash"));
eqtySecCash = add(new CashV2ById<>("eqtySecCash"));
currPairDictCash = add(new CashV2ById<>("currPairDictCash"));
digitCertSecCash = add(new CashV2ById<>("digitCertSecCash"));
tcrListCash = add(new CashV2ByIdAndString<>("tcrListCash", tcrList -> new CashV2ByIdAndString.CustomKey(tcrList.getTradingClearingRegistryId(), tcrList.getCurrency())));
}
}

View file

@ -27,6 +27,7 @@ import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgId;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.specific.StatementRevisePredicate;
import ru.spcex.platform.utils.text.UuidUtil;
import ru.spcex.platform.utils.time.TimeUtil;
@Service
@ -88,6 +89,7 @@ public class Sdf56Action extends AbstractSessionActionForOkErrorHandling {
sDf56.setEnd_datetime(String.valueOf(now.toEpochMilli()));
sDf56.setGenerationTime(now);
sDf56.setGenerationId(idGenerator.nextId());
sDf56.setMessageId(UuidUtil.withoutHyphens());
sDf56Imdg.insert(sDf56);
SdfClearingRequest requestForExporter = new SdfClearingRequest();
requestForExporter.setGroupId(sDf56.getGenerationId());