ialbert 2026-04-28 10:30:37 +03:00
parent 333603c937
commit 195cc41de2
3 changed files with 13 additions and 8 deletions

View file

@ -120,7 +120,7 @@ public class PrecSessionStateMachineConfig extends EnumStateMachineConfigurerAda
); );
this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs); this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs);
this.inspectionObligationsV2Action.setClearingMemberCategoryFilter( this.inspectionObligationsV2Action.setClearingMemberCategoryFilter(
category -> category == null || !ClearingCategory.P.equalsByKey(category) ctgrs -> ctgrs.stream().noneMatch(ClearingCategory.P::equalsByKey)
); );
} }

View file

@ -120,7 +120,7 @@ public class PrpcSessionStateMachineConfig extends EnumStateMachineConfigurerAda
); );
this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs); this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs);
this.inspectionObligationsV2Action.setClearingMemberCategoryFilter( this.inspectionObligationsV2Action.setClearingMemberCategoryFilter(
ctgr -> ctgr != null && ClearingCategory.P.equalsByKey(ctgr) ctgrs -> ctgrs.stream().anyMatch(ClearingCategory.P::equalsByKey)
); );
} }

View file

@ -10,6 +10,7 @@ import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Function; import java.util.function.Function;
@ -63,7 +64,7 @@ public class InspectionObligationsPrecAction extends ReviseStage1Action {
private final Imdg<ClearingMemberCategory> cmcImdg; private final Imdg<ClearingMemberCategory> cmcImdg;
private final ImdgId idGen; private final ImdgId idGen;
private final IMessageResolver msgResolver = new SimpleMessageResolver(); private final IMessageResolver msgResolver = new SimpleMessageResolver();
private Function<String, Boolean> cmcFilter; private Function<List<String>, Boolean> cmcFilter;
private SessionType sessionType; private SessionType sessionType;
private Long sessionId; private Long sessionId;
@ -75,7 +76,7 @@ public class InspectionObligationsPrecAction extends ReviseStage1Action {
this.idGen = imdgProvider.getImdgIdGenerator(); this.idGen = imdgProvider.getImdgIdGenerator();
} }
public void setClearingMemberCategoryFilter(Function<String, Boolean> cmcFilter) { public void setClearingMemberCategoryFilter(Function<List<String>, Boolean> cmcFilter) {
this.cmcFilter = cmcFilter; this.cmcFilter = cmcFilter;
} }
@ -174,10 +175,14 @@ public class InspectionObligationsPrecAction extends ReviseStage1Action {
ImdgPredicate cmcPrdct = new CategoryByCompanyIdCashingPredicate( ImdgPredicate cmcPrdct = new CategoryByCompanyIdCashingPredicate(
rgs.getCompanyId() rgs.getCompanyId()
).cashed(cmcImdg.predicateBuilder(), cmcCash); ).cashed(cmcImdg.predicateBuilder(), cmcCash);
ClearingMemberCategory cmc = cmcImdg.getSingleObjectByPredicate(cmcPrdct); Collection<ClearingMemberCategory> cmcList = cmcImdg.getCollectionObjectsByPredicate(cmcPrdct);
if (!cmcFilter.apply(cmc != null ? cmc.getClearingMemberCategory() : null)) { List<String> categories = cmcList.stream()
log.debug("group.id={}, rgs.id={}, company.id={}: category {}, skipping", .filter(Objects::nonNull)
entry.getKey().groupId(), rgs.getId(), rgs.getCompanyId(), cmc != null ? cmc.getClearingMemberCategory() : "null"); .map(ClearingMemberCategory::getClearingMemberCategory)
.toList();
if (!cmcFilter.apply(categories)) {
log.debug("group.id={}, rgs.id={}, company.id={}: category size {}, skipping",
entry.getKey().groupId(), rgs.getId(), rgs.getCompanyId(), cmcList.size());
continue; continue;
} }
ImdgPredicate am_bPrdct = AssetByTcrCompanyAccountCashedPredicate ImdgPredicate am_bPrdct = AssetByTcrCompanyAccountCashedPredicate