From b73fac862ae808bc8033cfac8cf513677ad312dd Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 26 三月 2025 14:43:13 +0800 Subject: [PATCH] 转换统计金额单位为“万元” --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java | 43 ++++++++++++++++++++++--------------------- 1 files changed, 22 insertions(+), 21 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java index 8ed736c..084db02 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java @@ -4,7 +4,6 @@ import com.ruoyi.system.model.TBill; import com.ruoyi.system.model.TContract; import com.ruoyi.system.model.THouse; -import com.ruoyi.system.service.ITStreetService; import com.ruoyi.system.service.TBillService; import com.ruoyi.system.service.TContractService; import com.ruoyi.system.service.THouseService; @@ -16,11 +15,12 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; -import java.util.Calendar; -import java.util.ArrayList; import java.util.Objects; /** @@ -33,7 +33,6 @@ private final THouseService tHouseService; private final TContractService tContractService; private final TBillService tBillService; - private final ITStreetService tStreetService; /** * 获取顶部统计数据 * @return @@ -77,14 +76,14 @@ BigDecimal totalRentOwe = currentQuarterBillList.stream() .map(TBill::getOutstandingMoney) .reduce(BigDecimal.ZERO, BigDecimal::add) - .divide(BigDecimal.valueOf(10000L), 2, BigDecimal.ROUND_HALF_UP); + .divide(BigDecimal.valueOf(10000L), 2, RoundingMode.HALF_UP); vo.setTotalRentOwe(totalRentOwe); //总计欠费 List<TBill> allBillList = tBillService.lambdaQuery().le(TBill::getPayableFeesTime, last).list(); BigDecimal totalRentOweAll = allBillList.stream() .map(TBill::getOutstandingMoney) .reduce(BigDecimal.ZERO, BigDecimal::add) - .divide(BigDecimal.valueOf(10000L), 2, BigDecimal.ROUND_HALF_UP); + .divide(BigDecimal.valueOf(10000L), 2, RoundingMode.HALF_UP); vo.setTotalRentOweAll(totalRentOweAll); return vo; } @@ -117,31 +116,33 @@ Map<String, Date> quarterDate = DateUtils.getQuarterDate(targetDate); Date quarterStart = quarterDate.get("first"); Date quarterEnd = quarterDate.get("last"); - + // 获取该季度的账单数据 List<TBill> quarterBills = tBillService.lambdaQuery() - .between(TBill::getPayableFeesTime, quarterStart, quarterEnd) - .list(); - + .between(TBill::getPayableFeesTime, quarterStart, quarterEnd) + .list(); + // 计算季度租金收入总和 BigDecimal quarterIncome = quarterBills.stream() - .map(TBill::getPayFeesMoney) - .filter(Objects::nonNull) - .reduce(BigDecimal.ZERO, BigDecimal::add); - + .map(TBill::getPayFeesMoney) + .filter(Objects::nonNull) + .reduce(BigDecimal.ZERO, BigDecimal::add) + .divide(BigDecimal.valueOf(10000L), 2, RoundingMode.HALF_UP); + // 计算季度欠费总和 BigDecimal quarterOutstanding = quarterBills.stream() - .map(TBill::getOutstandingMoney) - .filter(Objects::nonNull) - .reduce(BigDecimal.ZERO, BigDecimal::add); - + .map(TBill::getOutstandingMoney) + .filter(Objects::nonNull) + .reduce(BigDecimal.ZERO, BigDecimal::add) + .divide(BigDecimal.valueOf(10000L), 2, RoundingMode.HALF_UP); + // 生成季度标签 (格式: YY-MM月) Calendar cal = Calendar.getInstance(); cal.setTime(quarterEnd); String label = String.format("%02d-%d月", - cal.get(Calendar.YEAR) % 100, - cal.get(Calendar.MONTH) + 1); - + cal.get(Calendar.YEAR) % 100, + cal.get(Calendar.MONTH) + 1); + quarterLabels.add(label); incomeData.add(quarterIncome); outstandingData.add(quarterOutstanding); // 添加欠费数据 -- Gitblit v1.7.1