diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/SpotPairPresent.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/SpotPairPresent.java index 3a4fb2202..82095060a 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/SpotPairPresent.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/SpotPairPresent.java @@ -11,6 +11,7 @@ import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; import ru.spcex.platform.imdg.validation.ImdgValidationContext; import ru.spcex.platform.utils.enumeration.EnumMessage; +import ru.spcex.platform.utils.enumeration.IEnumKey; import ru.spcex.platform.utils.validation.IValidationRule; public class SpotPairPresent implements IValidationRule> { @@ -19,6 +20,11 @@ public class SpotPairPresent implements IValidationRule validate(ImdgValidationContext ctx) { OrderCurrency oc = ctx.getStoredObject(OrderCurrencyValidationStored.OrderCurrency); + OrderStatus orderStatus = IEnumKey.getEnumByKey(OrderStatus.class, oc.getStatus()); + if (OrderStatus.REJECTED == orderStatus || OrderStatus.FILL == orderStatus) { + return of(DefaultManagementErrors.OperationNotAllowed); + } + if (!OvernightType.SPOT.equalsByKey(oc.getOvernightType())) { return empty(); }