This commit is contained in:
parent
cea1fc2d39
commit
404cd991fd
2 changed files with 15 additions and 13 deletions
|
|
@ -1,5 +1,9 @@
|
|||
package ru.spcex.clearing.service.validation;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
import ru.spcex.clearing.error.ClearingError;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
|
@ -12,11 +16,6 @@ import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
|||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public enum RefundDateValidationRule implements IValidationRule<ImdgValidationContext<RegistryChangeRefundDateRequest>> {
|
||||
Fields() {
|
||||
@Override
|
||||
|
|
@ -39,6 +38,7 @@ public enum RefundDateValidationRule implements IValidationRule<ImdgValidationCo
|
|||
ImdgPredicateBuilder pb = rgsImdg.predicateBuilder();
|
||||
ImdgPredicate prdct = pb.and(
|
||||
pb.equals("groupId", validatedObject.getGroupId()),
|
||||
pb.equals("market", validatedObject.getMarket()),
|
||||
pb.or(
|
||||
pb.equals("registryStatus", RegistryStatus.PROC.getKey()),
|
||||
pb.equals("registryStatus", RegistryStatus.MNG.getKey()),
|
||||
|
|
@ -55,8 +55,8 @@ public enum RefundDateValidationRule implements IValidationRule<ImdgValidationCo
|
|||
.filter(rgs -> rgs.getRefundDate().equals(rgs.getSettlementDate()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (rgss.size() < 1) {
|
||||
return of(ClearingError.RecordNotFound, "groupId=" + validatedObject.getGroupId());
|
||||
if (rgss.isEmpty()) {
|
||||
return of(ClearingError.RecordNotFound, "groupId=%d; market=%s".formatted(validatedObject.getGroupId(), validatedObject.getMarket()));
|
||||
}
|
||||
for (Registry rgs : rgss) {
|
||||
if (!validatedObject.getRefundDate().isAfter(rgs.getValueDate())) { // если request.RefundDate <= ValueDate - то ошибка
|
||||
|
|
|
|||
|
|
@ -1,10 +1,14 @@
|
|||
package ru.spcex.clearing.service.validation;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collection;
|
||||
import java.util.Optional;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
import ru.spcex.clearing.error.ClearingError;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistryReturnDepositRequest;
|
||||
import static ru.spcex.clearing.service.registry.RegistryManager.equalsByCode;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
import ru.spcex.platform.enumeration.RegistryStatus;
|
||||
import ru.spcex.platform.enumeration.RegistryTradingParams;
|
||||
|
|
@ -19,12 +23,6 @@ import ru.spcex.platform.utils.enumeration.IEnumKey;
|
|||
import ru.spcex.platform.utils.text.TextUtil;
|
||||
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collection;
|
||||
import java.util.Optional;
|
||||
|
||||
import static ru.spcex.clearing.service.registry.RegistryManager.equalsByCode;
|
||||
|
||||
//1. Проверки
|
||||
//1.1 Проверить, в запросе у регистра код:
|
||||
// 1.1.1 Если регистр TM-T:
|
||||
|
|
@ -67,7 +65,11 @@ public enum ReturnDepositValidationRule implements IValidationRule<ImdgValidatio
|
|||
if (ctgr.get().equals(ClearingCategory.V)) {
|
||||
Imdg<Registry> rgsImdg = context.obtainMap(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
ImdgPredicateBuilder pb = rgsImdg.predicateBuilder();
|
||||
String mrkt = rgs.getMarket();
|
||||
ImdgPredicate mrktCondition = TextUtil.isEmpty(mrkt) ?
|
||||
pb.alwaysTrue() : pb.or(pb.equals("market", mrkt), pb.isNull("market"));
|
||||
ImdgPredicate prdct = pb.and(
|
||||
mrktCondition,
|
||||
pb.equals("groupId", rgs.getGroupId()),
|
||||
pb.equals("contract", rgs.getContract())
|
||||
);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue