From 1ac4ea4cb98a67ebf30857715f3c50c8d8538052 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 15 Sep 2022 16:06:51 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E9=A6=96=E9=A1=B5=20=E4=B8=89=E5=B9=B4?= =?UTF-8?q?=E5=86=85=E5=BA=94=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/index/contoller/IndexController.java | 8 ++++++++ .../java/com/jero/index/dto/YearMoneyDTO.java | 13 +++++++++++++ .../com/jero/index/service/IndexService.java | 18 ++++++++++++++++++ .../project/mapper/PayWorkingGroupMapper.java | 3 +++ .../mapper/xml/PayWorkingGroupMapper.xml | 6 ++++++ 5 files changed, 48 insertions(+) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/index/dto/YearMoneyDTO.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/index/contoller/IndexController.java b/jero-boot-incoming-payment/src/main/java/com/jero/index/contoller/IndexController.java index 5fe455ec..a49bc4c9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/index/contoller/IndexController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/index/contoller/IndexController.java @@ -90,4 +90,12 @@ public class IndexController { List histogramVOS = indexService.top10Statistics(); return Result.OK(histogramVOS); } + + @ApiOperation(value = "三年内应收") + @GetMapping(value = "/threeYear") + public Result withinThreeYears() { + List histogramVOS = indexService.withinThreeYears(); + return Result.OK(histogramVOS); + } + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/index/dto/YearMoneyDTO.java b/jero-boot-incoming-payment/src/main/java/com/jero/index/dto/YearMoneyDTO.java new file mode 100644 index 00000000..fd7e2896 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/index/dto/YearMoneyDTO.java @@ -0,0 +1,13 @@ +package com.jero.index.dto; + +import lombok.Data; + +/** + * @author liJiaRao + * @date 2022-09-15 15:47 + */ +@Data +public class YearMoneyDTO { + private String year; + private String allMoney; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java b/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java index b39bc4c2..a3316b0d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java @@ -5,6 +5,7 @@ import com.google.common.collect.Lists; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import com.jero.index.dto.YearMoneyDTO; import com.jero.index.vo.*; import com.jero.project.mapper.PayWorkingGroupMapper; import com.jero.project.service.IPayWorkingGroupService; @@ -16,6 +17,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; @@ -233,4 +235,20 @@ public class IndexService { } return pieChartVOS; } + + public List withinThreeYears() { + int yearInt = DateUtil.year(new DateTime()); + List yearMoneyDTOList = payWorkingGroupMapper.getYearMoneyDTO(); + Map map = yearMoneyDTOList.stream() + .collect(Collectors.toMap(YearMoneyDTO::getYear, YearMoneyDTO::getAllMoney, (key1, key2) -> key2)); + List histogramVOList = new ArrayList<>(); + for (int i = 2; i >= 0 ; i--) { + HistogramVO histogramVO = new HistogramVO(); + String year = String.valueOf(yearInt - i); + histogramVO.setName(year); + histogramVO.setAllMoney(map.getOrDefault(year, "0")); + histogramVOList.add(histogramVO); + } + return histogramVOList; + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java index c46c5f07..13fd42e4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java @@ -2,6 +2,7 @@ package com.jero.project.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.index.dto.YearMoneyDTO; import com.jero.index.vo.AmountClassDTO; import com.jero.project.entity.PayWorkingGroupSearch; import com.jero.project.entity.PayWorkingGroupStatistics; @@ -232,4 +233,6 @@ public interface PayWorkingGroupMapper extends BaseMapper { List amountClass(@Param("year") String year, @Param("column") String column); List amountClass1(@Param("year") String year, @Param("column") String column); + + List getYearMoneyDTO(); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml index f967b341..8784cbbf 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml @@ -2575,4 +2575,10 @@ GROUP BY chargeUse + +