From 2abe2f03e1633ddcb71083c58c88e4d79595f0eb Mon Sep 17 00:00:00 2001 From: luofl <1442745593@qq.com> Date: 星期三, 02 四月 2025 18:18:07 +0800 Subject: [PATCH] 1.租户数量趋势统计 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ScreenController.java | 41 ++++++++++++++++++++++++++++------------- 1 files changed, 28 insertions(+), 13 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ScreenController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ScreenController.java index b426f37..7b53652 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ScreenController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ScreenController.java @@ -1,5 +1,6 @@ package com.ruoyi.web.controller.api; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -31,6 +32,8 @@ import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; + +import static org.checkerframework.checker.units.qual.Prefix.one; /** * @author mitao @@ -81,8 +84,7 @@ .between(TContract::getSignTime, startQuarterDate.get("first"), endQuarterDate.get("last")) .orderByAsc(TContract::getSignTime)); - // 创建季度格式化工具(示例:2025-Q1) - DateTimeFormatter quarterFormatter = DateTimeFormatter.ofPattern("yyyy-'Q'Q"); + DateTimeFormatter quarterFormatter = DateTimeFormatter.ofPattern("yyyy-MM"); List<TenantCountTrendVO> trendData = contracts.stream() .collect(Collectors.groupingBy(contract -> { @@ -110,6 +112,9 @@ List<THouse> houses = houseService.list(new LambdaQueryWrapper<THouse>() .last("ORDER BY RAND() LIMIT 10")); + if (CollectionUtil.isEmpty(houses)){ + return R.ok(new ArrayList<>()); + } // 提取streetIds List<String> streetIds = houses.stream() @@ -174,23 +179,33 @@ houseMapDistributionVO.setRentStatus(rentStatus); - TBill one = billService.getOne(new LambdaQueryWrapper<TBill>() +// TBill one = billService.getOne(new LambdaQueryWrapper<TBill>() +// .le(TBill::getStartTime, LocalDate.now()) +// .ge(TBill::getEndTime, LocalDate.now()) +// .eq(TBill::getBillType, 1) +// .eq(TBill::getContractId, contract.getId())); + + List<TBill> ones = billService.list(new LambdaQueryWrapper<TBill>() .le(TBill::getStartTime, LocalDate.now()) .ge(TBill::getEndTime, LocalDate.now()) .eq(TBill::getBillType, 1) .eq(TBill::getContractId, contract.getId())); - - if (one != null && "4".equals(one.getPayFeesStatus())){ - houseMapDistributionVO.setHouseStatus("4"); + TBill one = null; + if (!ones.isEmpty()){ + one = ones.get(0); } - - - BigDecimal payFeesMoney = one.getPayFeesMoney(); - BigDecimal payableFeesMoney1 = one.getPayableFeesMoney(); - String rent = String.format("%.2f/%.2f", payFeesMoney, payableFeesMoney1); - - houseMapDistributionVO.setRent(rent); + if (one != null){ + if ("4".equals(one.getPayFeesStatus())){ + houseMapDistributionVO.setHouseStatus("4"); + } + BigDecimal payFeesMoney = one.getPayFeesMoney(); + BigDecimal payableFeesMoney1 = one.getPayableFeesMoney(); + String rent = String.format("%.2f/%.2f", payFeesMoney, payableFeesMoney1); + houseMapDistributionVO.setRent(rent); + }else { + houseMapDistributionVO.setRent("暂无"); + } }else { houseMapDistributionVO.setTenant("暂无"); houseMapDistributionVO.setRentStatus("暂无"); -- Gitblit v1.7.1