diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java index e0818606b..3fef674bc 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/StatementService.java @@ -87,27 +87,21 @@ public class StatementService extends QueueConsumer implements InitializingBean kafkaSender.sendRequestToQueue(Consts.CONTINUE_SESSION_BN_FIRST_PART, continueSessionBn); pairOfSdfRequest.remove(key); } - } else if (List.of(SdfTable.SDF_04, SdfTable.SDF_13).contains(table)) { - //not implemented part; it's actually stage number 8 from any session - { - //всегда сначала обработаем sdf04 - Long key = completePairKey.get(); - Pair pair = pairOfSdfRequest.get(key); - processSdf04(pair.getFirst()); - - //затем sdf13 - processSdf13(pair.getSecond()); - //теперь можем продолжить сессию с шага 1 - ContinueSessionBnRequest continueSessionBn = new ContinueSessionBnRequest(); - kafkaSender.sendRequestToQueue(Consts.CONTINUE_SESSION_BN_SECOND_PART, continueSessionBn); - pairOfSdfRequest.remove(key); - } - } else if (List.of(SdfTable.SDF_08).contains(table)){ - { - Long key = completePairKey.get(); - Pair pair = pairOfSdfRequest.get(key); - processSdf08(pair.getFirst()); - pairOfSdfRequest.remove(key); + } else if (List.of(SdfTable.SDF_08, SdfTable.SDF_04).contains(table)) { + if (table == SdfTable.SDF_08) { + { + Long key = completePairKey.get(); + Pair pair = pairOfSdfRequest.get(key); + processSdf08(pair.getFirst()); + pairOfSdfRequest.remove(key); + } + } else if (table == SdfTable.SDF_04) { + { + Long key = completePairKey.get(); + Pair pair = pairOfSdfRequest.get(key); + processSdf04(pair.getFirst()); + pairOfSdfRequest.remove(key); + } } } } @@ -175,7 +169,7 @@ public class StatementService extends QueueConsumer implements InitializingBean private Optional saveRequest(StatementRequest statementRequest) { SdfTable sdfTable = statementRequest.getTable(); //immediately process - if (List.of(SdfTable.SDF_08).contains(sdfTable)){ + if (List.of(SdfTable.SDF_08, SdfTable.SDF_04).contains(sdfTable)) { Long id = imdgProvider.getImdgIdGenerator().nextId(); pairOfSdfRequest.put(id, new Pair<>(statementRequest, null)); return Optional.of(id); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java index 97819dd3b..4b31743b5 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java @@ -53,7 +53,7 @@ public class Sdf04Executor extends AbstractExecutor { for (SDf04 sdf04 : sdf) { //обычно мы ищем по группу sdf04, здесь как будто всегда только одна запись, todo нужно прочекать этот момент log.debug("Process sdf04 record; sdf04.id: {}", sdf04.getId()); - Collection registries = selectRegistryForSDF04(sdf04.getC_acc_cred()); + Collection registries = selectRegistryForSDF04(sdf04.getC_acc_deb()); registries.forEach(registry -> unlockRegistry(registry, new BigDecimal(sdf04.getPay_val()))); } return result; diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf04Table.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf04Table.java index 60a2d24c0..f17068af2 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf04Table.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf04Table.java @@ -23,48 +23,23 @@ public class SDf04Table extends AbstractTable { result.setDoc_type((String) entity[1]); result.setDocnm_ref((String) entity[2]); result.setDocnmprev((String) entity[3]); -// result.setPriority((String) entity[4]); -// result.setSbankcode((String) entity[5]); - result.setC_acc_deb((String) entity[6]); - result.setSbanknam1((String) entity[7]); - result.setSbanknam2((String) entity[8]); - result.setSbanknam3((String) entity[9]); - result.setSbanknam4((String) entity[10]); - result.setSbanknam5((String) entity[11]); -// result.setRbankcode((String) entity[12]); - result.setC_acc_cred((String) entity[13]); - result.setRbanknam1((String) entity[14]); - result.setRbanknam2((String) entity[15]); - result.setRbanknam3((String) entity[16]); - result.setRbanknam4((String) entity[17]); - result.setRbanknam5((String) entity[18]); - result.setPay_date((String) entity[19]); -// result.setExt_date((String) entity[20]); - result.setPay_val((String) entity[21]); - result.setSum_deb((String) entity[22]); -// result.setSclientn1((String) entity[23]); -// result.setSclientn2((String) entity[24]); -// result.setSclientn3((String) entity[25]); -// result.setSclientn4((String) entity[26]); -// result.setSc_code((String) entity[27]); -// result.setAcc_deb((String) entity[28]); -// result.setRclientn1((String) entity[29]); -// result.setRclientn2((String) entity[30]); -// result.setRclientn3((String) entity[31]); -// result.setRclientn4((String) entity[32]); -// result.setAcc_kr_1((String) entity[33]); -// result.setAcc_kr_2((String) entity[34]); -// result.setSp_code((String) entity[35]); - result.setSpecif_1((String) entity[36]); -// result.setSpecif_2((String) entity[37]); -// result.setSpecif_3((String) entity[38]); -// result.setSpecif_4((String) entity[39]); -// result.setSpecif_5((String) entity[40]); -// result.setSpecif_6((String) entity[41]); -// result.setSend_type((String) entity[42]); -// result.setServdate((String) entity[43]); -// result.setDoc_result((String) entity[44]); - result.setImp_result((String) entity[45]); + result.setC_acc_deb((String) entity[4]); + result.setSbanknam1((String) entity[5]); + result.setSbanknam2((String) entity[6]); + result.setSbanknam3((String) entity[7]); + result.setSbanknam4((String) entity[8]); + result.setSbanknam5((String) entity[9]); + result.setC_acc_cred((String) entity[10]); + result.setRbanknam1((String) entity[11]); + result.setRbanknam2((String) entity[12]); + result.setRbanknam3((String) entity[13]); + result.setRbanknam4((String) entity[14]); + result.setRbanknam5((String) entity[15]); + result.setPay_date((String) entity[16]); + result.setPay_val((String) entity[17]); + result.setSum_deb((String) entity[18]); + result.setSpecif_1((String) entity[19]); + result.setImp_result((String) entity[20]); result.setFileName(filename); result.setGenerationTime(Instant.now()); result.setGenerationId(fileId); diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java index 283a824d8..ae14aecb4 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java @@ -30,7 +30,7 @@ public class DbfImportKafkaMessenger implements InitializingBean { messengers.put(ETable.DF_09, groupId -> messageBalance(groupId, SdfTable.SDF_09)); messengers.put(ETable.DF_16, groupId -> messageBalance(groupId, SdfTable.SDF_16)); messengers.put(ETable.DF_57, groupId -> messageBalance(groupId, SdfTable.SDF_57)); - messengers.put(ETable.DF_04, this::messageDf04); + messengers.put(ETable.DF_04, groupId -> messageBalance(groupId, SdfTable.SDF_04)); } /**