From f5d5c8acfb506b1e15bc9f0af418b02e9288ff89 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Wed, 30 Aug 2023 17:53:52 +0300 Subject: [PATCH] =?UTF-8?q?clearing-service=20Sdf13=20=D0=BE=D0=B6=D0=B8?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=BB=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8C=D1=8E=20=D0=B3=D0=BE=D1=82=D0=BE=D0=B2=D0=BE?= =?UTF-8?q?=D0=B9=20=D0=B3=D1=80=D1=83=D0=BF=D0=BF=D1=8B=20=D0=B2=20Sessio?= =?UTF-8?q?nMonitor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clearing/service/StatementService.java | 19 +++++++++---------- .../service/executors/Sdf13Executor.java | 9 +++++++++ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java index 614201c42..c9b0fa727 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java @@ -283,16 +283,15 @@ public class StatementService extends QueueConsumer implements InitializingBean AbstractExecutor service = executorsMap.get(SdfTable.SDF_13); Result res = service.execute(sdfGroup, statementRequest); SessionContinueEvent continueSessionBn = new SessionContinueEvent(SdfTable.SDF_13); -// if (res.isAnyHasError()) { todo -// NotificationNewRequest nRequest = new NotificationNewRequest(); -// nRequest.setObjectType(ObjectType.rgst.getKey()); -// nRequest.setPriority(Priority.HIGH.getKey()); -// nRequest.setComment(String.format("Ошибка : некоторые из новых SDF_13 имеют неправильный статус")); -// kafkaSender.sendRequestToQueue(Consts.NOTIFICATION_NEW, nRequest); -// } else { -// kafkaSender.sendRequestToQueue(Consts.CONTINUE_SESSION_BN_FIRST_PART, continueSessionBn); -// } - kafkaSender.sendRequestToQueue(Consts.CONTINUE_SESSION_BN_FIRST_PART, continueSessionBn); + if (res.isAnyHasError()) { + NotificationNewRequest nRequest = new NotificationNewRequest(); + nRequest.setObjectType(ObjectType.rgst.getKey()); + nRequest.setPriority(Priority.HIGH.getKey()); + nRequest.setComment("Поручения из клиринговой системы имеют неисполненный статус в ответе ДФ-13 из расчетной организации"); + kafkaSender.sendRequestToQueue(Consts.NOTIFICATION_NEW, nRequest); + } else { + kafkaSender.sendRequestToQueue(Consts.CONTINUE_SESSION_BN_FIRST_PART, continueSessionBn); + } // finishSendCommand(res, service, statementRequest); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java index a85e7b83b..8b3c8604e 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf13Executor.java @@ -1,5 +1,6 @@ package ru.spcex.clearing.service.executors; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -62,6 +63,14 @@ public class Sdf13Executor extends AbstractExecutor { Result result = new Result(); Long generationIdForGroup = imdgProvider.getImdgIdGenerator().nextId(); result.setChildGenerationId(generationIdForGroup); + result.setAnyHasError(false); + for (SDf13 sdf13 : sdf) { + if (!StringUtils.startsWith(sdf13.getResult(), "OK")) { + log.warn("groupId={} stop execute cause: sdf13[{}].result=\"{}\" was not ok.", statementRequest.getGroupId(), sdf13.getId(), sdf13.getResult()); + result.setAnyHasError(true); + return result; + } + } // for (SDf13 sdf13 : sdf) { // //обычно мы ищем по группу sdf04, здесь как будто всегда только одна запись, todo нужно прочекать этот момент // SDf12 sDf12 = selectSdf12bySdf13(sdf13);