mitao
2025-03-26 b73fac862ae808bc8033cfac8cf513677ad312dd
转换统计金额单位为“万元”
4个文件已修改
63 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ScreenController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenRentIncomeTrendVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenTopStaticsDataVO.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ScreenController.java
@@ -51,18 +51,18 @@
    public R<ScreenTopStaticsDataVO> getTopStaticsData() {
        return R.ok(screenService.getTopStaticsData());
    }
    @GetMapping("/rent-rank")
    @ApiOperation("区域租金排名")
    public R<List<ScreenRentRankVO>> rentRank() {
        return R.ok(screenService.streetRentRank());
    }
    @GetMapping("/rent-income-trend")
    @ApiOperation("租金收入趋势")
    public R<ScreenRentIncomeTrendVO> rentIncomeTrend() {
        return R.ok(screenService.rentIncomeTrend());
    }
    @GetMapping("/getTenantCountTrend")
    @ApiModelProperty(value = "租户数量趋势统计")
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);  // 添加欠费数据
ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenRentIncomeTrendVO.java
@@ -18,9 +18,9 @@
    @ApiModelProperty("x轴 时间列表")
    private List<String> quarters;
    @ApiModelProperty("y轴 收入列表")
    @ApiModelProperty("y轴 收入列表(万元)")
    private List<BigDecimal> incomeData;
    @ApiModelProperty("y轴 欠费列表")
    @ApiModelProperty("y轴 欠费列表(万元)")
    private List<BigDecimal> outstandingData;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenTopStaticsDataVO.java
@@ -20,10 +20,10 @@
    @ApiModelProperty("已出租面积")
    private Double houseRentedArea;
    @ApiModelProperty("总计应收租金")
    @ApiModelProperty("总计应收租金(万元)")
    private BigDecimal totalReceivableRent;
    @ApiModelProperty("总计已收租金")
    @ApiModelProperty("总计已收租金(万元)")
    private BigDecimal totalReceivedRent;
    @ApiModelProperty("本月新增租户数")
@@ -32,16 +32,16 @@
    @ApiModelProperty("总计租户数")
    private Integer totalTenantCount;
    @ApiModelProperty("本季度已交租金")
    @ApiModelProperty("本季度已交租金(万元)")
    private BigDecimal totalRentPaid;
    @ApiModelProperty("本季度应交租金")
    @ApiModelProperty("本季度应交租金(万元)")
    private BigDecimal totalRentShould;
    @ApiModelProperty("本季度欠费")
    @ApiModelProperty("本季度欠费(万元)")
    private BigDecimal totalRentOwe;
    @ApiModelProperty("总计欠费")
    @ApiModelProperty("总计欠费(万元)")
    private BigDecimal totalRentOweAll;
}