This commit is contained in:
parent
5f9b82df73
commit
ca9f1086db
2 changed files with 24 additions and 19 deletions
|
|
@ -139,28 +139,32 @@ public enum ProviderMemberCategoryValidationRule implements IValidationRule<Imdg
|
|||
|
||||
ClearingMemberCategory category = categoryImdg.getSingleObjectByID(categoryReq.getId());
|
||||
|
||||
ImdgPredicateBuilder predicateBuilder = registryImdg.predicateBuilder();
|
||||
ImdgPredicate registryPredicate = predicateBuilder.and(
|
||||
predicateBuilder.equals("companyId", category.getCompanyId()),
|
||||
predicateBuilder.regex("registryCode", "^O.{2}T"),
|
||||
predicateBuilder.or(
|
||||
predicateBuilder.and(
|
||||
predicateBuilder.not(predicateBuilder.equals("registryStatus", RegistryStatus.CLRD.getKey())),
|
||||
predicateBuilder.equals("clearingDate", LocalDate.now())
|
||||
),
|
||||
predicateBuilder.greater("settlementDate", LocalDate.now())
|
||||
)
|
||||
);
|
||||
Collection<Long> registryIds = registryImdg.getCollectionIdsByPredicate(registryPredicate);
|
||||
Company company = companyImdg.getSingleObjectByID(category.getCompanyId());
|
||||
if (!registryIds.isEmpty()) {
|
||||
return Optional.of(new EnumMessage(
|
||||
CompanyErrors.FoundUnfulfilledLiabilities,
|
||||
company.getShortName())
|
||||
ClearingCategory clearingCategory = IEnumKey.getEnumByKey(ClearingCategory.class, category.getClearingMemberCategory());
|
||||
if (clearingCategory == ClearingCategory.P) {
|
||||
ImdgPredicateBuilder predicateBuilder = registryImdg.predicateBuilder();
|
||||
ImdgPredicate registryPredicate = predicateBuilder.and(
|
||||
predicateBuilder.equals("companyId", category.getCompanyId()),
|
||||
predicateBuilder.regex("registryCode", "^O.{2}T"),
|
||||
predicateBuilder.or(
|
||||
predicateBuilder.and(
|
||||
predicateBuilder.not(predicateBuilder.equals("registryStatus", RegistryStatus.CLRD.getKey())),
|
||||
predicateBuilder.equals("clearingDate", LocalDate.now())
|
||||
),
|
||||
predicateBuilder.greater("settlementDate", LocalDate.now())
|
||||
)
|
||||
);
|
||||
Collection<Long> registryIds = registryImdg.getCollectionIdsByPredicate(registryPredicate);
|
||||
Company company = companyImdg.getSingleObjectByID(category.getCompanyId());
|
||||
if (!registryIds.isEmpty()) {
|
||||
return Optional.of(new EnumMessage(
|
||||
CompanyErrors.FoundUnfulfilledLiabilities,
|
||||
company.getShortName())
|
||||
);
|
||||
}
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -234,6 +234,7 @@ public class RelationService extends QueueConsumer implements InitializingBean {
|
|||
if (ClearingCategory.B.equalsByKey(clearingMemberCategory)
|
||||
|| ClearingCategory.I.equalsByKey(clearingMemberCategory)
|
||||
|| ClearingCategory.V.equalsByKey(clearingMemberCategory)
|
||||
|| ClearingCategory.P.equalsByKey(clearingMemberCategory)
|
||||
) {
|
||||
svc = MKR.getKey();
|
||||
} else if (ClearingCategory.C.equalsByKey(clearingMemberCategory)
|
||||
|
|
@ -246,7 +247,7 @@ public class RelationService extends QueueConsumer implements InitializingBean {
|
|||
|
||||
ru.spcex.platform.enumeration.Service serviceForCMC(ClearingCategory clearingCategory) {
|
||||
switch (Objects.requireNonNull(clearingCategory)) {
|
||||
case B, I, V:
|
||||
case B, I, V, P:
|
||||
return MKR;
|
||||
case C, F:
|
||||
return FOND;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue