From c5398c7a1df6642eae148b2962e3446bfeea9d8d Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 12 Sep 2023 17:47:59 +0300 Subject: [PATCH] =?UTF-8?q?securities-service=20http://jira.mfd.msk:8088/b?= =?UTF-8?q?rowse/CLS-516=20=D1=83=D0=BD=D0=B8=D0=BA=D0=B0=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20FixedIncomeCashFlow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../validation/FixedIncomeCashFlowValidationConfig.java | 9 +++++++-- .../securities/service/cud/GatewaySecurityService.java | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/FixedIncomeCashFlowValidationConfig.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/FixedIncomeCashFlowValidationConfig.java index fb306dd93..71a2cef1d 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/FixedIncomeCashFlowValidationConfig.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/FixedIncomeCashFlowValidationConfig.java @@ -47,9 +47,14 @@ public class FixedIncomeCashFlowValidationConfig { IMDGDistributedNames.Map_FixedIncomeCashFlow, FixedIncomeCashFlow.class ); Long securityId = Long.valueOf(securitySymbol); - HashMap query = new HashMap<>(); + HashMap> query = new HashMap<>(); query.put("securityId", securityId); - query.put("number", fixedIncomeCashFlowNewRequest.getNumber()); + if (fixedIncomeCashFlowNewRequest.getNumber() != null) { + query.put("number", fixedIncomeCashFlowNewRequest.getNumber()); + } + if (fixedIncomeCashFlowNewRequest.getValueDate() != null) { + query.put("valueDate", fixedIncomeCashFlowNewRequest.getValueDate()); + } Collection fixedIncomeCashFlows = fixedIncomeCashFlowImdg.getCollectionObjectsByFieldValues(query); if (!fixedIncomeCashFlows.isEmpty()) return SecuritiesError.CouponPeriodAlreadyExists; return null; diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java index 5e624228e..91199a8ad 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java @@ -358,9 +358,14 @@ public class GatewaySecurityService extends QueueConsumer implements Initializin log.error("Not a number \"{}\": {}", byRequest.getSecuritySymbol(), nan.toString()); return null; } - Map query = new HashMap<>(); + Map> query = new HashMap<>(); query.put("securityId", securityId); - query.put("number", byRequest.getNumber()); + if (byRequest.getNumber() != null) { + query.put("number", byRequest.getNumber()); + } + if (byRequest.getValueDate() != null) { + query.put("valueDate", byRequest.getValueDate()); + } FixedIncomeCashFlow existFixedIncomeCashFlow = fixedIncomeCashFlowImdg.getFirstObjectByFieldValues(query); if (existFixedIncomeCashFlow == null) log.trace("FixedIncomeCashFlow not found by securityId={}", securityId);