From fa5afbc415b1ac9dcc853f5bd59801d9bc409ccf Mon Sep 17 00:00:00 2001 From: lijiarao Date: Tue, 25 Oct 2022 15:08:16 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E7=A7=91=E5=AE=A4=E6=80=BB=E4=BD=93?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=A2=9E=E5=8A=A0=E6=80=BB=E8=AE=A1=E5=92=8C?= =?UTF-8?q?=E7=99=BE=E5=88=86=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/index/contoller/IndexController.java | 2 +- .../com/jero/index/service/IndexService.java | 33 +++++++++++++++++-- .../java/com/jero/index/vo/HistogramVO.java | 3 ++ .../project/mapper/PayWorkingGroupMapper.java | 3 ++ .../mapper/xml/PayWorkingGroupMapper.xml | 26 ++++++++++----- 5 files changed, 55 insertions(+), 12 deletions(-) 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 d06fc65e..47345a25 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 @@ -73,7 +73,7 @@ public class IndexController { List pieChartVOS = indexService.totalAmountClassificationStatistics("allMoney", type,departCode); return Result.OK(pieChartVOS); }else if (Objects.equals(type,2)){ - List pieChartVOS = indexService.totalAmountClassificationStatistics("confirmNoTaxAmount", type, departCode); + List pieChartVOS = indexService.totalAmountClassificationStatistics("no_tax_amount", type, departCode); return Result.OK(pieChartVOS); }else if (Objects.equals(type,3)){ List pieChartVOS = indexService.totalAmountClassificationStatistics("allMoney", type, departCode); 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 64a12607..5f24458f 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 @@ -12,6 +12,7 @@ import com.jero.index.vo.*; import com.jero.project.mapper.PayWorkingGroupMapper; import com.jero.project.service.IPayWorkingGroupService; import com.jero.statistics.entity.*; +import org.apache.ibatis.ognl.DynamicSubscript; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -23,6 +24,8 @@ import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; +import static org.apache.ibatis.ognl.DynamicSubscript.all; + /** * @author liJiaRao * @date 2022-09-01 16:32 @@ -189,12 +192,34 @@ public class IndexService { private List convertDepartStatistics(List list){ List histogramVOlist=Lists.newArrayList(); for (DepartStatistics departStatistics :list) { + String allMoney = departStatistics.getAllMoney(); + String confirmAmount = departStatistics.getConfirmAmount(); HistogramVO histogramVO = new HistogramVO(); histogramVO.setName(departStatistics.getDepartName()); - histogramVO.setConfirmAmount(departStatistics.getConfirmAmount()); - histogramVO.setAllMoney(departStatistics.getAllMoney()); + histogramVO.setConfirmAmount(confirmAmount); + histogramVO.setAllMoney(allMoney); + BigDecimal all = new BigDecimal(allMoney); + BigDecimal money = new BigDecimal(confirmAmount); + BigDecimal divide; + if (all.compareTo(BigDecimal.ZERO) == 0){ + divide = BigDecimal.ZERO; + }else { + divide = money + .divide(all,3,RoundingMode.HALF_DOWN) + .multiply(new BigDecimal(100)) + .setScale(1, RoundingMode.UNNECESSARY); + } + histogramVO.setValue(divide.toString()); histogramVOlist.add(histogramVO); } + BigDecimal allConfirmAmount = list.stream().map(i -> new BigDecimal(i.getConfirmAmount())).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal allAllMoney = list.stream().map(i -> new BigDecimal(i.getAllMoney())).reduce(BigDecimal.ZERO, BigDecimal::add); + HistogramVO histogramVO = new HistogramVO(); + histogramVO.setName("总计"); + histogramVO.setConfirmAmount(allConfirmAmount.toString()); + histogramVO.setAllMoney(allAllMoney.toString()); + histogramVO.setValue("100"); + histogramVOlist.add(histogramVO); return histogramVOlist; } @@ -233,8 +258,10 @@ public class IndexService { List amountClassDTOS; if (Objects.equals(type,3)){ amountClassDTOS = payWorkingGroupMapper.amountClass1(year,column,departCode); - }else { + }else if (Objects.equals(type,2)){ amountClassDTOS = payWorkingGroupMapper.amountClass(year,column,departCode,type); + }else { + amountClassDTOS = payWorkingGroupMapper.amountClass2(year,column,departCode,type); } Map decimalMap = amountClassDTOS.stream().collect(Collectors.toMap(AmountClassDTO::getChargeUse, AmountClassDTO::getMoney)); //获取所有类型 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/index/vo/HistogramVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/index/vo/HistogramVO.java index c7f1f21f..4e653e58 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/index/vo/HistogramVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/index/vo/HistogramVO.java @@ -17,4 +17,7 @@ public class HistogramVO { @ApiModelProperty(value = "名字") private String name; + + @ApiModelProperty(value = "比例") + private String value; } 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 adee0d01..217e5b9b 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 @@ -232,6 +232,8 @@ public interface PayWorkingGroupMapper extends BaseMapper { List amountClass1(@Param("year") String year, @Param("column") String column, @Param("departCode") String departCode); + List amountClass2(@Param("year") String year, @Param("column") String column, @Param("departCode") String departCode, @Param("type") Integer type); + List getYearMoneyDTO(); List queryListConfirmAmount(@Param(value = "allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch); @@ -248,4 +250,5 @@ public interface PayWorkingGroupMapper extends BaseMapper { BigDecimal invoiceAmount(@Param("start") Integer start, @Param("end") Integer end, @Param("departCode") String departCode); + } 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 9ba17bba..80182ca8 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 @@ -2400,17 +2400,25 @@ ORDER BY TMP1.paymentDate + + + +