From e9661f8ec69eee1d5660594db09cda2c9fa312be Mon Sep 17 00:00:00 2001 From: AKurakin Date: Wed, 28 Jun 2023 14:21:43 +0300 Subject: [PATCH] =?UTF-8?q?clearing-service=20http://jira.mfd.msk:8088/bro?= =?UTF-8?q?wse/CLS-265=20Sdf08Executor=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=20=D0=BE=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20depo=20type?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/spcex/clearing/service/executors/Sdf08Executor.java | 3 +++ .../spcex/clearing/service/executors/Sdf08ExecutorTest.java | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf08Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf08Executor.java index 6705fe6bb..054c0e1d2 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf08Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf08Executor.java @@ -187,6 +187,9 @@ public class Sdf08Executor extends AbstractExecutor { String accountType = null; if (depoCode != null) { int p = depoCode.indexOf(":"); + if (p == -1) { // двоеточие распарсили заранее при импорте файла, пример: 758200000AT0:000000000:SOVKB-BV-01:NW:0:РНКБ Банк(ПАО) + p = depoCode.length(); + } if (p > 3) { // выбрать 3-ю букву, отсчитывая от последнего символа accountType = depoCode.substring(p - 3, p - 2); } diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/executors/Sdf08ExecutorTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/executors/Sdf08ExecutorTest.java index 18d5be287..40737c1bc 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/executors/Sdf08ExecutorTest.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/executors/Sdf08ExecutorTest.java @@ -16,8 +16,11 @@ class Sdf08ExecutorTest { assertNull(sdf08Executor.parseAccountType(null)); assertNull(sdf08Executor.parseAccountType(".")); - assertNull(sdf08Executor.parseAccountType("AAA222")); + assertEquals("2", sdf08Executor.parseAccountType("AAA222")); assertNull(sdf08Executor.parseAccountType("AA:A222")); assertEquals("B", sdf08Executor.parseAccountType("AAB12:A222")); + + assertEquals("A", sdf08Executor.parseAccountType("758200000AT0:000000000:SOVKB-BV-01:NW:0:РНКБ Банк(ПАО)")); + assertEquals("A", sdf08Executor.parseAccountType("758200000AT0")); } } \ No newline at end of file