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