From 1d0f669c4130dafe3adc77ec0568602445691be6 Mon Sep 17 00:00:00 2001 From: akulikov Date: Fri, 21 Jun 2024 18:47:39 +0300 Subject: [PATCH] report-service fixes --- .../ks/KSRepCashNettoReportBuilder.java | 79 +++++++++---------- 1 file changed, 39 insertions(+), 40 deletions(-) diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepCashNettoReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepCashNettoReportBuilder.java index a3c265717..b3c43a621 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepCashNettoReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepCashNettoReportBuilder.java @@ -127,8 +127,6 @@ public class KSRepCashNettoReportBuilder extends CSVReportBuilder sessionTypeForValue = Set.of( - SessionType.IPOT, - SessionType.TRDT, - SessionType.LIQU, - SessionType.IPOB, - SessionType.IPO0, - SessionType.UNIT + SessionType.IPOT, + SessionType.TRDT, + SessionType.LIQU, + SessionType.IPOB, + SessionType.IPO0 ); Set sessionTypeForOblReqValue = Set.of( - SessionType.FINL, - SessionType.MEDM, - SessionType.XDEP, - SessionType.UNIT + SessionType.FINL, + SessionType.MEDM, + SessionType.XDEP ); for (Registry cmtRegistry : cmtRegistries) { if (cmtRegistry.getBalance() != null) { SessionType sessionType = IEnumKey.getEnumByKey(SessionType.class, cmtRegistry.getSessionType()); Section section = IEnumKey.getEnumByKey(Section.class, cmtRegistry.getSection()); if (sessionType == null || section == null) continue; - if (sessionTypeForValue.contains(sessionType)) { - cmtBalance = cmtBalance.add(cmtRegistry.getBalance()); - if (sessionType == SessionType.UNIT && section == Section.CURR) forUnitSession = true; - else withValue = true; + if (section == Section.FOND || sessionTypeForValue.contains(sessionType)) { + if (ReportConst.DB_ZERO.compareTo(cmtRegistry.getBalance()) != 0) { + cmtBalance = cmtBalance.add(cmtRegistry.getBalance()); + withValue = true; + } } - if (sessionTypeForOblReqValue.contains(sessionType)) { - reqValue = reqValue.add(cmtRegistry.getBalance()); - if (sessionType == SessionType.UNIT && section == Section.CURR) forUnitSession = true; - else withOblReqValue = true; + if (section == Section.MKR || sessionTypeForOblReqValue.contains(sessionType)) { + if (ReportConst.DB_ZERO.compareTo(cmtRegistry.getBalance()) != 0) { + reqValue = reqValue.add(cmtRegistry.getBalance()); + withOblReqValue = true; + } + } + if (section == Section.CURR || sessionType == SessionType.CURR) { + if (ReportConst.DB_ZERO.compareTo(cmtRegistry.getBalance()) != 0) { + cmtCurrencyNetto = cmtCurrencyNetto.add(cmtBalance); + withCurrencyNettoValue = true; + } } } } @@ -243,23 +243,22 @@ public class KSRepCashNettoReportBuilder extends CSVReportBuilder