добавил условие на sessionId: сессии TRDT, финальная/промежуточная МКР, возврат депозитов

This commit is contained in:
ialbert 2023-08-23 12:11:52 +03:00
parent 7164442752
commit 866849dc8f
3 changed files with 20 additions and 6 deletions

View file

@ -112,12 +112,15 @@ public class FormingPaymentInstructionAssets implements ISessionStage {
return registryImdg.getCollectionObjectsByPredicate(rgsCodePrdct); return registryImdg.getCollectionObjectsByPredicate(rgsCodePrdct);
} }
private Collection<Registry> selectASBRegistries() { private Collection<Registry> selectASBRegistries(Long sessionId) {
ImdgPredicateBuilder rgsPb = registryImdg.predicateBuilder(); ImdgPredicateBuilder rgsPb = registryImdg.predicateBuilder();
RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance( RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(
AS_B AS_B
); );
ImdgPredicate rgsCodePrdct = rgsPb.sql(registryCodeSqlBuilder.build()); ImdgPredicate rgsCodePrdct = rgsPb.and(
rgsPb.sql(registryCodeSqlBuilder.build()),
rgsPb.equals("sessionId", sessionId)
);
return registryImdg.getCollectionObjectsByPredicate(rgsCodePrdct); return registryImdg.getCollectionObjectsByPredicate(rgsCodePrdct);
} }
@ -217,7 +220,7 @@ public class FormingPaymentInstructionAssets implements ISessionStage {
paymentInstructions.add(paymentInstruction); paymentInstructions.add(paymentInstruction);
} }
if (section == null || !section.equals(Section.MKR)) { if (section == null || !section.equals(Section.MKR)) {
Collection<Registry> ASBregistries = selectASBRegistries(); Collection<Registry> ASBregistries = selectASBRegistries(sessionId);
log.debug("found ASB registries.size() = {}", ASBregistries.size()); log.debug("found ASB registries.size() = {}", ASBregistries.size());
for (Registry registry : ASBregistries) { for (Registry registry : ASBregistries) {

View file

@ -34,6 +34,8 @@ import ru.spcex.platform.enumeration.RegistryStatus;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgId;
import ru.spcex.platform.imdg.api.ImdgProvider; 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.RegistryCodeSqlBuilder; import ru.spcex.platform.imdg.api.predicate.specific.RegistryCodeSqlBuilder;
import ru.spcex.platform.utils.collection.Pair; import ru.spcex.platform.utils.collection.Pair;
import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.EnumMessage;
@ -103,8 +105,12 @@ public class FormingPaymentInstructionDepositReturn implements ISessionStage {
RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(LM_T,CM_T, LS_T, CS_T); RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(LM_T,CM_T, LS_T, CS_T);
String registryCodeCondition = registryCodeSqlBuilder.build(); String registryCodeCondition = registryCodeSqlBuilder.build();
ImdgPredicateBuilder pb = registryImdg.predicateBuilder();
Collection<Registry> obligations = registryImdg.getCollectionObjectsBySQL(registryCodeCondition) ImdgPredicate prdct = pb.and(
pb.sql(registryCodeCondition),
pb.equals("sessionId", sessionId)
);
Collection<Registry> obligations = registryImdg.getCollectionObjectsByPredicate(prdct)
.stream() .stream()
.filter(rgs -> rgs.getValueDate() != null) .filter(rgs -> rgs.getValueDate() != null)
.filter(rgs -> rgs.getSettlementDate() != null) .filter(rgs -> rgs.getSettlementDate() != null)

View file

@ -100,7 +100,12 @@ public class FormingPaymentInstructionReturnMkr implements ISessionStage {
RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(LM_T, CM_T); RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(LM_T, CM_T);
String registryCodeCondition = registryCodeSqlBuilder.build(); String registryCodeCondition = registryCodeSqlBuilder.build();
Collection<Registry> rgsAll = registryImdg.getCollectionObjectsBySQL(registryCodeCondition) ImdgPredicateBuilder pb = registryImdg.predicateBuilder();
ImdgPredicate prdct = pb.and(
pb.sql(registryCodeCondition),
pb.equals("sessionId", sessionId)
);
Collection<Registry> rgsAll = registryImdg.getCollectionObjectsByPredicate(prdct)
.stream() .stream()
.filter(rgs -> rgs.getValueDate() != null) .filter(rgs -> rgs.getValueDate() != null)
.filter(rgs -> rgs.getSettlementDate() != null) .filter(rgs -> rgs.getSettlementDate() != null)