From 7b6c6a4ad053eee4bfd77331ae3ff64fd3224fda Mon Sep 17 00:00:00 2001 From: ialbert Date: Tue, 27 Jun 2023 16:53:06 +0300 Subject: [PATCH] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-372=20SDF57?= =?UTF-8?q?=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20DM*?= =?UTF-8?q?T=20=D0=BF=D0=BE=20=D0=BB=D1=8E=D0=B1=D1=8B=D0=BC=20specif=20?= =?UTF-8?q?=E2=84=96.*?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clearing/service/executors/Sdf57Executor.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java index e10c8392c..72841de98 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java @@ -67,7 +67,7 @@ public class Sdf57Executor extends AbstractExecutor { private final Imdg securityImdg; private final Imdg currencyImdg; private final IMessageResolver messageResolver; - private final Pattern pattern = Pattern.compile("№\\w*/\\d{6}/\\d*/\\d*"); + private final Pattern pattern = Pattern.compile("№.*"); public Sdf57Executor(@Qualifier("sdf57Validator") Function sDf57Validator, LoggingService errorLogger, @@ -164,7 +164,7 @@ public class Sdf57Executor extends AbstractExecutor { return; Optional err = validateActiveness(company, account); if (err.isEmpty()) { - Consumer update = rgs -> { + findRegByDesignation(stmt, RegistryDesignation.A).ifPresentOrElse(rgs -> { updateReg(stmt, rgs); //добавил создание если не найдены Registry registryUnitB = findRegByUnit(stmt, rgs, RegistryUnit.B).orElse(copyRegB(rgs)); @@ -182,18 +182,15 @@ public class Sdf57Executor extends AbstractExecutor { registryImdg.insert(registryUnitB); } registryImdg.update(rgs); - }; - Consumer createRegA = (dsgn) -> { - Registry registry = createRegistryByStatement(stmt, company, account, dsgn); + }, () -> { + Registry registry = createRegistryByStatement(stmt, company, account, RegistryDesignation.A); Registry registryB = copyRegB(registry); Registry registryF = copyRegF(registry, registryB.getBalance()); registryImdg.insert(registry); registryImdg.insert(registryF); registryImdg.insert(registryB); - }; - - findRegByDesignation(stmt, RegistryDesignation.A).ifPresentOrElse(update, () -> createRegA.accept(RegistryDesignation.A)); + }); InOutDirection direction = IEnumKey.getEnumByKey(InOutDirection.class, stmt.getInOutDirection()); if (!StringUtils.isEmpty(sdf57.getSpecif()) && pattern.matcher(sdf57.getSpecif()).find() && InOutDirection.in.equals(direction)) { //todo доделать 11. Идентификация средств УК на клиринговом счете