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