http://jira.mfd.msk:8088/browse/CLS-886 нотификейшен на 3м шаге сессий: писать все ошибки по регистру

This commit is contained in:
ialbert 2025-07-22 16:33:09 +03:00
parent 38cfc12fbc
commit 56dabbd28f
2 changed files with 18 additions and 5 deletions

View file

@ -7,7 +7,6 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import org.slf4j.Logger;
@ -88,10 +87,10 @@ public class ObligationAdmissionAction extends AbstractSessionActionForOkErrorHa
List<Registry> rgsGroup = grpEntry.getValue();
for (Registry rgs : rgsGroup) {
IValidator validator = valFor(rgs);
Optional<EnumMessage> error = validator.tillFirstError();
error.ifPresent(e -> {
Collection<EnumMessage> errors = validator.validateAll();
errors.forEach(e -> {
groupErrors.add(e);
errs.add(new RgsErr(rgs, messageResolver.resolve(e)));
errs.add(new RgsErr(rgs, messageResolver.resolve(e), e.getSubject()));
});
}
if (!groupErrors.isEmpty()) {

View file

@ -2,16 +2,24 @@ package ru.spcex.clearing.session.state.model;
import java.util.Objects;
import ru.clearing.classes.statics.data.registry.Registry;
import ru.spcex.platform.utils.enumeration.IEnumId;
public class RgsErr {
private Registry rgs;
private String err;
private IEnumId subj;
public RgsErr(Registry rgs, String err) {
this.rgs = rgs;
this.err = err;
}
public RgsErr(Registry rgs, String err, IEnumId subj) {
this.rgs = rgs;
this.err = err;
this.subj = subj;
}
public Registry getRgs() {
return rgs;
}
@ -40,7 +48,13 @@ public class RgsErr {
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof RgsErr other)) return false;
boolean meaningEqual;
if (subj != null && other.subj != null) {
meaningEqual = subj.equals(other.subj);
} else {
meaningEqual = Objects.equals(err, other.err);
}
return rgs.getTradingClearingRegistryId().equals(other.rgs.getTradingClearingRegistryId())
&& Objects.equals(err, other.err);
&& meaningEqual;
}
}