From 0086bbf98bd2f3665299dc2aeddbc81e6ba2233c Mon Sep 17 00:00:00 2001 From: ialbert Date: Thu, 29 Jun 2023 16:40:56 +0300 Subject: [PATCH] =?UTF-8?q?SDF01=20executor=20=D0=BE=D0=BF=D1=80=D0=B5?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D1=82=D1=83=D1=81=D0=B0=20=D1=81=D0=B4=D0=B5=D0=BB=D0=BA=D0=B8?= =?UTF-8?q?=20bugfix=20SDF57=20executor=20trim=20all=20whitespaces=20from?= =?UTF-8?q?=20statement#contract?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/executors/Sdf01Executor.java | 6 +++++- .../service/executors/Sdf57Executor.java | 19 +------------------ 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf01Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf01Executor.java index 5e3636e0b..c6f36980a 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf01Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf01Executor.java @@ -160,7 +160,7 @@ public class Sdf01Executor extends AbstractExecutor { rgs = createRegistryByStatement(stmt, company, account); registryImdg.insert(rgs); } - if (!BigDecimal.ZERO.equals(rgs.getDiffBalance())) { + if (!checkDiffBalance(rgs.getDiffBalance())) { log.info("sdf01.id={}, stmt.id={}, registry.id={} diffBalance is not zero: {}", sdf01.getId(), stmt.getId(), @@ -186,6 +186,10 @@ public class Sdf01Executor extends AbstractExecutor { return result; } + private boolean checkDiffBalance(BigDecimal diffBalance) { + return BigDecimalUtil.safeBD(diffBalance).compareTo(BigDecimal.ZERO) == 0; + } + private final static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yy"); private Statement createSdf01Statement(SDf01 sdf01, Company company, Account account) { Statement stmt = new Statement(); 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 d1db705d9..3edbe9228 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 @@ -456,23 +456,6 @@ public class Sdf57Executor extends AbstractExecutor { return Optional.ofNullable(registryImdg.getSingleObjectByPredicate(rgstrPredicate)); } - private Optional findRegByDesignation(Statement s, RegistryDesignation des) { - RegistryTradingParams p = new RegistryTradingParams( - des, RegistryInstrumentType.M, null, RegistryUnit.T - ); - String sql = RegistryCodeSqlBuilder.getInstance(p).build(); - ImdgPredicateBuilder pb = registryImdg.predicateBuilder(); - ImdgPredicate rgstrPredicate = pb.and(pb.sql(sql), - pb.sql(sql), - pb.equals("companyId", s.getAddresseeId()), - pb.equals("accountId", s.getAccountId()) - ); - if (des.equals(RegistryDesignation.D) || des.equals(RegistryDesignation.O) && !TextUtil.isEmpty(s.getContract())) { - rgstrPredicate = pb.and(rgstrPredicate, pb.equals("contract", s.getContract())); - } - return Optional.ofNullable(registryImdg.getSingleObjectByPredicate(rgstrPredicate)); - } - private Optional findRegByUnit(Statement s, Registry registry, RegistryUnit unit) { RegistryTradingParams p = new RegistryTradingParams( IEnumKey.getEnumByKey(RegistryDesignation.class, registry.getRegistryDesignation()), @@ -509,7 +492,7 @@ public class Sdf57Executor extends AbstractExecutor { if (index == -1) { return null; } - return specif.substring(index + 1); + return specif.substring(index + 1).replaceAll("\\s+", ""); } @FunctionalInterface