From 0b27f298652f85322c5bafbe134e007bef5f2f82 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Mon, 9 Jan 2023 16:03:18 +0300 Subject: [PATCH] =?UTF-8?q?reports-service=20ReportId=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=B2=20=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B8=20=D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82?= =?UTF-8?q?=D0=B2=D0=B8=D0=B5=20=D1=87=D0=B0=D1=81=D1=82=D1=8F=D0=BC=20?= =?UTF-8?q?=D0=B8=D0=BC=D1=91=D0=BD=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= =?UTF-8?q?,=20=D1=82.=D0=BA.=20=D0=B3=D0=BE=D0=B2=D0=BE=D1=80=D0=B8=D0=BB?= =?UTF-8?q?=D0=B8,=20=D1=87=D1=82=D0=BE=20=D1=81=20=D1=84=D1=80=D0=BE?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=20=D0=B1=D1=83=D0=B4=D1=83=D1=82=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=B0=20=D0=BF=D1=80=D0=B8=D1=85=D0=BE=D0=B4=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20(=D1=80=D0=B5=D0=BA=D0=BE=D0=BC=D0=B5=D0=BD=D0=B4?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BB=D0=B8=20=D1=82=D0=B0=D0=BA,=20=D0=BD?= =?UTF-8?q?=D0=B5=D0=BE=D0=B1=D1=85=D0=BE=D0=B4=D0=B8=D0=BC=D0=BE=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B3=D0=BB=D0=B0=D1=81=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?=D1=81=20frontend-api).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clearing/reports/reports/ReportId.java | 36 +++++++++++++------ .../reports/bt_17_5/ReportBR_0420312_P8.java | 2 +- .../reports/services/QCommandExecutor.java | 15 ++++++-- 3 files changed, 39 insertions(+), 14 deletions(-) diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportId.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportId.java index d2ac8e468..d0babc48c 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportId.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportId.java @@ -1,24 +1,38 @@ package ru.spcex.clearing.reports.reports; +import ru.spcex.platform.utils.enumeration.IEnumKey; + /** * Идентификаторы отчётов */ -public enum ReportId {//todo переименовать в соответствии с именами файлов () - PA_BT2_B, PA_BT2_IV, +public enum ReportId implements IEnumKey { + PA_BT2_B("REPPA.BT12.2.B"), PA_BT2_IV("REPPA.BT12.2.IV"), - BT13_11, BT13_12, + BT13_11("DOCIN"), BT13_12("DOCOUT"), - BT16_5, + BT16_5("INACCNT"), - BR_0420315_P1, BR_0420315_P2, + BR_0420315_P1("REPBR.0420315.P1"), BR_0420315_P2("REPBR.0420315.P2"), - BR_0420317, + BR_0420317("REPBR.0420317"), - BR_0420318, + BR_0420318("REPBR.0420318"), - BR_0420314_P1, BR_0420314_P2, + BR_0420314_P1("REPBR.0420314.P1"), BR_0420314_P2("REPBR.0420314.P2"), - BR_0420312_P1, BR_0420312_P2, BR_0420312_P3, BR_0420312_P4, - BR_0420312_P5, BR_0420312_P6, BR_0420312_P7, BR_0420312_P8, - BR_0420312_P9, BR_0420312_P10, + BR_0420312_P1("REPBR.0420312_р1-1"), BR_0420312_P2("REPBR.0420312_р1-2"), BR_0420312_P3("REPBR.0420312_р1-3"), BR_0420312_P4("REPBR.0420312_р1-4"), + BR_0420312_P5("REPBR.0420312_р1-5"), BR_0420312_P6("REPBR.0420312_р1-6"), BR_0420312_P7("REPBR.0420312_р1-7"), BR_0420312_P8("REPBR.0420312_р3-1"), + BR_0420312_P9("REPBR.0420312_р3-2"), BR_0420312_P10("REPBR.0420312_р3-3"); + + + private final String key; + + ReportId(String key) { + this.key = key; + } + + @Override + public String getKey() { + return key; + } } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P8.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P8.java index 686540b2f..cf09746f6 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P8.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P8.java @@ -91,7 +91,7 @@ public class ReportBR_0420312_P8 extends ReportWithPeriod { @Override public String getReportName(LocalDateTime reportDateTime) { - return " REPBR.0420312_р3-1.%s-%s.%s".formatted( + return "REPBR.0420312_р3-1.%s-%s.%s".formatted( DATE_FORMATTER.format(startDate), DATE_FORMATTER.format(endDate), DATE_TIME_FORMATTER.format(reportDateTime) diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/QCommandExecutor.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/QCommandExecutor.java index c185fda56..3bb4f18f6 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/QCommandExecutor.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/QCommandExecutor.java @@ -1,5 +1,6 @@ package ru.spcex.clearing.reports.services; +import org.apache.commons.lang3.StringUtils; import org.apache.kafka.clients.consumer.Consumer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -13,6 +14,7 @@ import ru.spcex.clearing.reports.reports.ReportId; import ru.spcex.clearing.reports.services.builders.XMLReportBuilder; import ru.spcex.platform.enumeration.Task; import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.utils.enumeration.IEnumKey; import ru.spcex.platform.utils.log.ExceptionUtils; import java.io.File; @@ -52,14 +54,23 @@ public class QCommandExecutor extends QueueConsumer implements InitializingBean .forDestination(Task.createReport.topic(), callbacks::put); } + ReportId parseReportId(String reportStr) { + ReportId id = IEnumKey.getEnumByKey(ReportId.class, reportStr); + if (id == null) { + log.trace(""); + id = ReportId.valueOf(reportStr); + } + return id; + } + private void newReportWithPeriod(BaseRequest reportRequest) { log.debug("newReportWithPeriod request received"); ReportWithPeriodRequest request = reportRequest.getRequestPayload(); - if (request.getReportId() == null || request.getReportId().isBlank()) + if (StringUtils.isBlank(request.getReportId())) throw new IllegalStateException("ReportID is empty"); - ReportId reportId = ReportId.valueOf(request.getReportId()); + ReportId reportId = parseReportId(request.getReportId()); ReportDataCollector reportDataCollector = collectorForReport.get(reportId); if (reportDataCollector == null) throw new IllegalStateException("Collector for ReportID " + reportId + " not implemented yet");