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());
|
ClearingMemberCategory category = categoryImdg.getSingleObjectByID(categoryReq.getId());
|
||||||
|
|
||||||
ImdgPredicateBuilder predicateBuilder = registryImdg.predicateBuilder();
|
ClearingCategory clearingCategory = IEnumKey.getEnumByKey(ClearingCategory.class, category.getClearingMemberCategory());
|
||||||
ImdgPredicate registryPredicate = predicateBuilder.and(
|
if (clearingCategory == ClearingCategory.P) {
|
||||||
predicateBuilder.equals("companyId", category.getCompanyId()),
|
ImdgPredicateBuilder predicateBuilder = registryImdg.predicateBuilder();
|
||||||
predicateBuilder.regex("registryCode", "^O.{2}T"),
|
ImdgPredicate registryPredicate = predicateBuilder.and(
|
||||||
predicateBuilder.or(
|
predicateBuilder.equals("companyId", category.getCompanyId()),
|
||||||
predicateBuilder.and(
|
predicateBuilder.regex("registryCode", "^O.{2}T"),
|
||||||
predicateBuilder.not(predicateBuilder.equals("registryStatus", RegistryStatus.CLRD.getKey())),
|
predicateBuilder.or(
|
||||||
predicateBuilder.equals("clearingDate", LocalDate.now())
|
predicateBuilder.and(
|
||||||
),
|
predicateBuilder.not(predicateBuilder.equals("registryStatus", RegistryStatus.CLRD.getKey())),
|
||||||
predicateBuilder.greater("settlementDate", LocalDate.now())
|
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())
|
|
||||||
);
|
);
|
||||||
|
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();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,7 @@ public class RelationService extends QueueConsumer implements InitializingBean {
|
||||||
if (ClearingCategory.B.equalsByKey(clearingMemberCategory)
|
if (ClearingCategory.B.equalsByKey(clearingMemberCategory)
|
||||||
|| ClearingCategory.I.equalsByKey(clearingMemberCategory)
|
|| ClearingCategory.I.equalsByKey(clearingMemberCategory)
|
||||||
|| ClearingCategory.V.equalsByKey(clearingMemberCategory)
|
|| ClearingCategory.V.equalsByKey(clearingMemberCategory)
|
||||||
|
|| ClearingCategory.P.equalsByKey(clearingMemberCategory)
|
||||||
) {
|
) {
|
||||||
svc = MKR.getKey();
|
svc = MKR.getKey();
|
||||||
} else if (ClearingCategory.C.equalsByKey(clearingMemberCategory)
|
} 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) {
|
ru.spcex.platform.enumeration.Service serviceForCMC(ClearingCategory clearingCategory) {
|
||||||
switch (Objects.requireNonNull(clearingCategory)) {
|
switch (Objects.requireNonNull(clearingCategory)) {
|
||||||
case B, I, V:
|
case B, I, V, P:
|
||||||
return MKR;
|
return MKR;
|
||||||
case C, F:
|
case C, F:
|
||||||
return FOND;
|
return FOND;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue