diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java index 4e61ccdcd..abef73fad 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java @@ -140,13 +140,15 @@ public class TaskListener extends QueueConsumer implements InitializingBean { .filter(Objects::nonNull) .toList(); - String comment = "После проведения первой части сделок переноса будет получен отрицательный баланс по RUB:\n" - + String.join("\n", messages); - NotificationNewRequest newReq = new NotificationNewRequest(); - newReq.setObjectType(ObjectType.rgst.getKey()); - newReq.setPriority(Priority.HIGH.getKey()); - newReq.setComment(comment); - kafkaSender.sendRequestToQueue(Consts.NOTIFICATION_NEW, newReq); + if (!messages.isEmpty()) { + String comment = "После проведения первой части сделок переноса будет получен отрицательный баланс по RUB:\n" + + String.join("\n", messages); + NotificationNewRequest newReq = new NotificationNewRequest(); + newReq.setObjectType(ObjectType.rgst.getKey()); + newReq.setPriority(Priority.HIGH.getKey()); + newReq.setComment(comment); + kafkaSender.sendRequestToQueue(Consts.NOTIFICATION_NEW, newReq); + } log.info("SDOR export and send command to fix, request={}", req); try { diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/RatesValidationConfig.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/RatesValidationConfig.java index e7ab2dbe8..d15c73455 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/RatesValidationConfig.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/RatesValidationConfig.java @@ -51,7 +51,7 @@ public class RatesValidationConfig { IMDGDistributedNames.Map_Rates, RiskParameter.class, SecuritiesError.RequiredFieldIsEmpty, - SecuritiesError.RequiredFieldIsEmpty) + SecuritiesError.RecordNotFound) ); }; } diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/SCrossRatesValidationConfig.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/SCrossRatesValidationConfig.java index 217b1a75f..e17e4d670 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/SCrossRatesValidationConfig.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/SCrossRatesValidationConfig.java @@ -50,7 +50,7 @@ public class SCrossRatesValidationConfig { IMDGDistributedNames.Map_SCrossRate, SCrossRate.class, SecuritiesError.RequiredFieldIsEmpty, - SecuritiesError.RequiredFieldIsEmpty) + SecuritiesError.RecordNotFound) ); }; } diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java index 3434d6349..47bab7425 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java @@ -8,6 +8,7 @@ public enum SecuritiesError implements IErrorEnumId { RequiredFieldIsEmpty(1002L), DictionaryNotFound(1003L), WrongFieldValue(1004L), + RecordNotFound(1006L), InstrumentAlreadyExists(1010L), InstrumentNotFound(1011L), InstrumentNotActive(1012L),