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 716272de2..dd42e9530 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 @@ -61,6 +61,7 @@ public class StatementService extends QueueConsumer implements InitializingBean .forDestination(Consts.STATEMENT_PROCESS, callbacks::put); init(); } + private void process(BaseRequest systemRequest) { StatementRequest statementRequest = systemRequest.getRequestPayload(); Collection sdfGroup; @@ -75,19 +76,16 @@ public class StatementService extends QueueConsumer implements InitializingBean .map(part -> sdfImdg.getSingleObjectByID(part.getSdfId())) .collect(Collectors.toList()); } -// sdf01Group = sdf01Group -// .stream() -// .sorted(Comparator.comparing(SpcexObjectBase::getId)) -// .collect(Collectors.toList()); + AbstractExecutor service = executorsMap.get(table); Result res = service.execute(sdfGroup, statementRequest); - if (res.getAccountRequests().size() == 0) { + if (res.getAccountRequests().size() != 0) { + kafkaSender.sendRequestToQueue(Consts.ACCOUNT_NEW_SDF01, createAccountsRequest(statementRequest.getGroupId(), res.getAccountRequests())); + } else if (service.isNeedToSendCommandToExport()) { ExportToFileRequest exportRequest = new ExportToFileRequest(); exportRequest.setSdfGroupId(res.getGenerationId()); exportRequest.setNameOfTable(service.exportTableName()); kafkaSender.sendRequestToQueue(Consts.EXPORT_PROCESS, exportRequest); - } else { - kafkaSender.sendRequestToQueue(Consts.ACCOUNT_NEW_SDF01, createAccountsRequest(statementRequest.getGroupId(), res.getAccountRequests())); } } @@ -97,12 +95,4 @@ public class StatementService extends QueueConsumer implements InitializingBean r.setAccounts(accountRequests); return r; } - - private Imdg defineImdgByTableName(SdfTable table){ - switch (table){ - case SDF_01 -> imdgProvider.getImdg(IMDGDistributedNames.Map_SDf01, SDf01.class); - case SDF_57 -> imdgProvider.getImdg(IMDGDistributedNames.Map_SDf57, SDf57.class); - } - return null; - } } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/AbstractExecutor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/AbstractExecutor.java index a5ee180f4..b1bc4cddf 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/AbstractExecutor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/AbstractExecutor.java @@ -8,4 +8,5 @@ import java.util.Collection; public abstract class AbstractExecutor { public abstract Result execute(Collection sdf, StatementRequest statementRequest); public abstract String exportTableName(); + public abstract boolean isNeedToSendCommandToExport(); } 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 bac828e1f..e2b30c58c 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 @@ -64,6 +64,11 @@ public class Sdf01Executor extends AbstractExecutor { return "DF-02"; } + @Override + public boolean isNeedToSendCommandToExport() { + return true; + } + public Result execute(Collection sdf, StatementRequest statementRequest) { Result result = new Result(); Long generationIdForGroup = imdgProvider.getImdgIdGenerator().nextId(); 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 9102630cb..65e1f26c5 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 @@ -65,8 +65,13 @@ public class Sdf57Executor extends AbstractExecutor { @Override public String exportTableName() { - return "DF-57"; - } //no need... + return null; + } + + @Override + public boolean isNeedToSendCommandToExport() { + return false; + }//no need... //V - Изменение statement по sDf57 //