From 358e4f19e130045ce58c2313435baec2a3f11b61 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 25 二月 2025 10:47:58 +0800
Subject: [PATCH] 审批流

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
index 19144f9..f20404c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.system.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.constant.DictConstants;
@@ -24,7 +25,9 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.token.TokenService;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -59,9 +62,32 @@
     public PageInfo<TenantVO> pageListApplet(TTenantAppletQuery query) {
         PageInfo<TenantVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         List<TenantVO> list = this.baseMapper.pageListApplet(query,pageInfo);
+        List<String> ids = list.stream().map(TTenant::getId).collect(Collectors.toList());
+        if(CollectionUtils.isEmpty(ids)){
+            return new PageInfo<>();
+        }
+        List<TContract> contracts = contractMapper.selectList(Wrappers.lambdaQuery(TContract.class)
+                .in(TContract::getTenantId, ids)
+                .eq(TContract::getStatus, 4));
+        List<THouse> houses = new ArrayList<>();
+        if(!CollectionUtils.isEmpty(contracts)){
+            List<String> houseIds = contracts.stream().map(TContract::getHouseId).collect(Collectors.toList());
+            houses = houseMapper.selectList(Wrappers.lambdaQuery(THouse.class)
+                    .in(THouse::getId, houseIds));
+        }
+
         for (TenantVO tenantVO : list) {
             tenantVO.setTenantAttributesName(StringUtils.isNotBlank(tenantVO.getTenantAttributes())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_ATTRIBUTE,tenantVO.getTenantAttributes()):"");
             tenantVO.setTenantTypeName(StringUtils.isNotBlank(tenantVO.getTenantType())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_TYPE,tenantVO.getTenantType()):"");
+            if(!CollectionUtils.isEmpty(houses)){
+                List<TContract> contractList = contracts.stream().filter(contract -> contract.getTenantId().equals(tenantVO.getId())).collect(Collectors.toList());
+                if(!CollectionUtils.isEmpty(contractList)){
+                    TContract contract = contractList.get(0);
+                    List<THouse> houseList = houses.stream().filter(house -> house.getId().equals(contract.getHouseId())).collect(Collectors.toList());
+                    if(!CollectionUtils.isEmpty(houseList))
+                        tenantVO.setHouseName(houseList.get(0).getHouseName());
+                }
+            }
         }
         pageInfo.setRecords(list);
         return pageInfo;

--
Gitblit v1.7.1