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