From a289ed3672907ef45a8233d77b217f40e6afc84b Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Sat, 27 May 2023 19:16:50 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-290 --- .../service/validation/RegistryStep3ValidationRule.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/RegistryStep3ValidationRule.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/RegistryStep3ValidationRule.java index 495574f9e..7d1eb69d9 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/RegistryStep3ValidationRule.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/RegistryStep3ValidationRule.java @@ -45,7 +45,11 @@ public enum RegistryStep3ValidationRule implements IValidationRule relationImdg = context.obtainMap(IMDGDistributedNames.Map_Relation, Relation.class); - Relation relation = relationImdg.getSingleObjectByFieldValues(Map.of("consumerId", validatedObject.getCompanyId())); + Imdg sessionImdg = context.obtainMap(IMDGDistributedNames.Map_Session, Session.class); + Session activeSession = sessionImdg.getSingleObjectByID(validatedObject.getSessionId()); + Relation relation = relationImdg.getSingleObjectByFieldValues(Map.of( + "consumerId", validatedObject.getCompanyId(), + "service", activeSession.getSection())); if (relation == null || (!ServiceStatus.Active.equalsByKey(relation.getServiceStatus()) && !ServiceStatus.Reopened.equalsByKey(relation.getServiceStatus()))) { return of(ClearingError.ClearingUnavailableForCompany, sectionFind.get(), validatedObject.getCompanyId()); } @@ -90,7 +94,7 @@ public enum RegistryStep3ValidationRule implements IValidationRule tradingClearingRegistryImdg = context.obtainMap(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class); TradingClearingRegistry tcr = tradingClearingRegistryImdg.getSingleObjectBySQL("id = " + validatedObject.getTradingClearingRegistryId()); - if (tcr == null || (ServiceStatus.Active.equalsByKey(tcr.getStatus()) || ServiceStatus.Reopened.equalsByKey(tcr.getStatus()))) + if (tcr == null || !(ServiceStatus.Active.equalsByKey(tcr.getStatus()) || ServiceStatus.Reopened.equalsByKey(tcr.getStatus()))) return of(ClearingError.TradingClearingRegistryNotActive, validatedObject.getTradingClearingRegistryId()); return empty(); }