return deposit contract condition
SettlementDate/ValueDate/RefundDate clone
This commit is contained in:
parent
815631d5d2
commit
93951a3bf5
2 changed files with 12 additions and 1 deletions
|
|
@ -47,6 +47,7 @@ import ru.spcex.platform.utils.validation.IValidator;
|
|||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -244,6 +245,9 @@ public class RegistryService {
|
|||
dm__ = _m_t.clone();
|
||||
dm__.setRegistryDesignation(RegistryDesignation.D.getKey());
|
||||
RegistryManager.zeroState(dm__);
|
||||
dm__.setSettlementDate(LocalDate.now());
|
||||
dm__.setValueDate(null);
|
||||
dm__.setRefundDate(null);
|
||||
if (RegistryDesignation.T.equalsByKey(_m_t.getRegistryDesignation())) {
|
||||
dm__.setRegistryUnit(RegistryUnit.X.getKey());
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ import ru.spcex.platform.enumeration.ClearingCategory;
|
|||
import ru.spcex.platform.enumeration.RegistryStatus;
|
||||
import ru.spcex.platform.enumeration.RegistryTradingParams;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
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.validation.ImdgValidationContext;
|
||||
import ru.spcex.platform.imdg.validation.Stored;
|
||||
|
|
@ -64,7 +66,12 @@ public enum ReturnDepositValidationRule implements IValidationRule<ImdgValidatio
|
|||
}
|
||||
if (ctgr.get().equals(ClearingCategory.V)) {
|
||||
Imdg<Registry> rgsImdg = context.obtainMap(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
Collection<Registry> group = rgsImdg.getCollectionObjectsBySQL("groupId = %d".formatted(rgs.getGroupId()));
|
||||
ImdgPredicateBuilder pb = rgsImdg.predicateBuilder();
|
||||
ImdgPredicate prdct = pb.and(
|
||||
pb.equals("groupId", rgs.getGroupId()),
|
||||
pb.equals("contract", rgs.getContract())
|
||||
);
|
||||
Collection<Registry> group = rgsImdg.getCollectionObjectsByPredicate(prdct);
|
||||
Optional<Registry> om_t = group.stream()
|
||||
.filter(r -> r.getSettlementDate() != null)
|
||||
.filter(r -> r.getValueDate() != null)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue