From 03328d6ffd7d42cacedcaebe2f4f05f049e8d3ee Mon Sep 17 00:00:00 2001 From: ialbert Date: Mon, 16 Mar 2026 14:44:45 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/BKI-3465 --- .../mapper/indic/IndicFlagsMapper.java | 2 + .../service/indic/FlagsService2.java | 6 +- .../service/task/impl/FlagsEnricher.java | 5 +- .../mybatis/mapper/indic/FlagsMapper.xml | 62 ++++++++++++++----- 4 files changed, 58 insertions(+), 17 deletions(-) diff --git a/src/main/java/ru/nbch/credit_tracker/mapper/indic/IndicFlagsMapper.java b/src/main/java/ru/nbch/credit_tracker/mapper/indic/IndicFlagsMapper.java index aab4350..9a68aea 100644 --- a/src/main/java/ru/nbch/credit_tracker/mapper/indic/IndicFlagsMapper.java +++ b/src/main/java/ru/nbch/credit_tracker/mapper/indic/IndicFlagsMapper.java @@ -14,4 +14,6 @@ public interface IndicFlagsMapper { List findFlag90ByRuPaymt(@Param("fids") List fids, @Param("reportedDate") LocalDate reportedDate); + List findFlag90ByRuAllArrears(@Param("fids") List fids, @Param("reportedDate") LocalDate reportedDate); + } diff --git a/src/main/java/ru/nbch/credit_tracker/service/indic/FlagsService2.java b/src/main/java/ru/nbch/credit_tracker/service/indic/FlagsService2.java index 030ee64..3cb0af6 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/indic/FlagsService2.java +++ b/src/main/java/ru/nbch/credit_tracker/service/indic/FlagsService2.java @@ -1,10 +1,10 @@ package ru.nbch.credit_tracker.service.indic; -import com.fasterxml.jackson.databind.ObjectMapper; import java.time.LocalDate; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import ru.nbch.credit_tracker.entities.indic.PaymentsFlag; @@ -41,4 +41,8 @@ public class FlagsService2 { .collect(Collectors.toMap(PaymentsFlag::getFid, PaymentsFlag::getFlag)); } + public Map findFlag90ByRuAllArrears(List fids, LocalDate date) { + return flagsMapper.findFlag90ByRuAllArrears(fids, date).stream() + .collect(Collectors.toMap(PaymentsFlag::getFid, PaymentsFlag::getFlag)); + } } diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/impl/FlagsEnricher.java b/src/main/java/ru/nbch/credit_tracker/service/task/impl/FlagsEnricher.java index 799894e..85e89a0 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/impl/FlagsEnricher.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/impl/FlagsEnricher.java @@ -54,6 +54,7 @@ public class FlagsEnricher { Map flagsDebt5000 = flagsService.findFlagsDebt5000(noFlagDataFids); Map flag90ByPastDueArrear = flagsService.findFlag90ByPastDueArrear(noFlagDataFids, yearAgo); Map flag90ByRuPaymt = flagsService.findFlag90ByRuPaymt(noFlagDataFids, yearAgo); + Map flag90ByRuAllArrear = flagsService.findFlag90ByRuAllArrears(noFlagDataFids, yearAgo); List flagCacheOnUpdate = phonesMaps.stream() .flatMap(phonesMap -> { @@ -61,8 +62,8 @@ public class FlagsEnricher { Integer debt5000 = flagsDebt5000.getOrDefault(fid, 0); int pastDue90 = flag90ByPastDueArrear.getOrDefault(fid, 0); int paymt90 = flag90ByRuPaymt.getOrDefault(fid, 0); - Integer flagDays90 = Math.max(pastDue90, paymt90); - + int allArrears90 = flag90ByRuAllArrear.getOrDefault(fid, 0); + Integer flagDays90 = Math.max(allArrears90, Math.max(pastDue90, paymt90)); FlagData flagData = FlagData.builder() .flag_90_12(flagDays90) .flag_debt5000(debt5000) diff --git a/src/main/resources/mybatis/mapper/indic/FlagsMapper.xml b/src/main/resources/mybatis/mapper/indic/FlagsMapper.xml index 1ada050..49dde01 100644 --- a/src/main/resources/mybatis/mapper/indic/FlagsMapper.xml +++ b/src/main/resources/mybatis/mapper/indic/FlagsMapper.xml @@ -46,21 +46,42 @@ + +