mitao
2025-03-26 b73fac862ae808bc8033cfac8cf513677ad312dd
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;
    }
@@ -127,13 +126,15 @@
            BigDecimal quarterIncome = quarterBills.stream()
                .map(TBill::getPayFeesMoney)
                .filter(Objects::nonNull)
                .reduce(BigDecimal.ZERO, BigDecimal::add);
                    .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);
                    .reduce(BigDecimal.ZERO, BigDecimal::add)
                    .divide(BigDecimal.valueOf(10000L), 2, RoundingMode.HALF_UP);
            
            // 生成季度标签 (格式: YY-MM月)
            Calendar cal = Calendar.getInstance();