ialbert 2025-07-21 18:55:25 +03:00
parent b7144dfd99
commit 6eef004c50

View file

@ -81,20 +81,24 @@ public class ObligationAdmissionAction extends AbstractSessionActionForOkErrorHa
log.info("found {} ({} groups) registries with sessionId {}", registries.size(), byGroups.size(), sessionId); log.info("found {} ({} groups) registries with sessionId {}", registries.size(), byGroups.size(), sessionId);
Map<Long, Registry> rgsToUpdate = new HashMap<>(); Map<Long, Registry> rgsToUpdate = new HashMap<>();
List<RgsErr> errs = new ArrayList<>(); List<RgsErr> errs = new ArrayList<>();
List<EnumMessage> groupErrors = new ArrayList<>();
for (Map.Entry<GroupRgsKey, List<Registry>> grpEntry : byGroups.entrySet()) { for (Map.Entry<GroupRgsKey, List<Registry>> grpEntry : byGroups.entrySet()) {
EnumMessage groupError = null;
List<Registry> rgsGroup = grpEntry.getValue(); List<Registry> rgsGroup = grpEntry.getValue();
for (Registry rgs : rgsGroup) { for (Registry rgs : rgsGroup) {
IValidator validator = valFor(rgs); IValidator validator = valFor(rgs);
Optional<EnumMessage> error = validator.tillFirstError(); Optional<EnumMessage> error = validator.tillFirstError();
if (error.isPresent()) { error.ifPresent(e -> {
groupError = error.get(); groupErrors.add(e);
errs.add(new RgsErr(rgs, messageResolver.resolve(groupError))); errs.add(new RgsErr(rgs, messageResolver.resolve(e)));
break; });
}
} }
if (groupError != null) { if (!groupErrors.isEmpty()) {
log.warn("error {} for registries groupId/market = {}/{}", messageResolver.resolve(groupError), String groupError = groupErrors
.stream()
.map(messageResolver::resolve)
.collect(Collectors.joining(";", "[", "]"));
log.warn("error {} for registries groupId/market = {}/{}",
groupError,
grpEntry.getKey().groupId(), grpEntry.getKey().market()); grpEntry.getKey().groupId(), grpEntry.getKey().market());
for (Registry rgs : rgsGroup) { for (Registry rgs : rgsGroup) {
rgs.setRegistryStatus(RegistryStatus.NACK.getKey()); rgs.setRegistryStatus(RegistryStatus.NACK.getKey());
@ -102,6 +106,7 @@ public class ObligationAdmissionAction extends AbstractSessionActionForOkErrorHa
rgsToUpdate.put(rgs.getId(), rgs); rgsToUpdate.put(rgs.getId(), rgs);
} }
} }
groupErrors.clear();
} }
ctx.getExtendedState().getVariables().put(DataEnum.obligationAdmissionStashedRgs, rgsToUpdate); ctx.getExtendedState().getVariables().put(DataEnum.obligationAdmissionStashedRgs, rgsToUpdate);