etreschenkov 2023-05-27 19:16:50 +03:00
parent d18504377f
commit a289ed3672

View file

@ -45,7 +45,11 @@ public enum RegistryStep3ValidationRule implements IValidationRule<ImdgValidatio
return of(ClearingError.ClearingUnavailableForCompany, sectionFind.get());
}
Imdg<Relation> relationImdg = context.obtainMap(IMDGDistributedNames.Map_Relation, Relation.class);
Relation relation = relationImdg.getSingleObjectByFieldValues(Map.of("consumerId", validatedObject.getCompanyId()));
Imdg<Session> 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<ImdgValidatio
}
Imdg<TradingClearingRegistry> 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();
}