From ccabfb623a0a3aae9f338bd7c3765e95b80e9200 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 26 三月 2025 15:45:54 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/xizang into dev

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBusinessDeptController.java          |   46 +++++
 ruoyi-system/src/main/java/com/ruoyi/system/query/TCheckAcceptRecordQuery.java               |    4 
 ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml                              |    8 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultRepairMessageServiceImpl.java |    6 
 ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java                         |   15 +
 ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml                              |   23 ++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBusinessDeptServiceImpl.java       |   20 ++
 ruoyi-system/src/main/resources/mapper/system/TCheckAcceptRecordMapper.xml                   |    3 
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java           |   30 +-
 ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java                          |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/query/THouseQuery.java                           |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ScreenService.java                  |   63 +++++--
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java              |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java             |   13 +
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java                  |   18 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/ITBusinessDeptService.java               |   16 +
 ruoyi-system/src/main/java/com/ruoyi/system/dto/TerminateContractDTO.java                    |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java                                |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/model/TInformation.java                          |   12 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ScreenController.java                 |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenTopStaticsDataVO.java                   |   14 +
 ruoyi-system/src/main/resources/mapper/system/THouseMapper.xml                               |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/THouseMapper.java                         |    1 
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java                      |    2 
 ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml                            |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenRentIncomeTrendVO.java                  |    5 
 ruoyi-system/src/main/resources/mapper/system/TFaultRepairMessageMapper.xml                  |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java             |   47 +++--
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java              |   13 +
 ruoyi-system/src/main/resources/mapper/system/TBusinessDeptMapper.xml                        |    5 
 ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultRepairMessageQuery.java              |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java           |    5 
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBusinessDeptMapper.java                  |   16 +
 ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java                          |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateTaskCenterServiceImpl.java     |    1 
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java                        |    7 
 ruoyi-system/src/main/java/com/ruoyi/system/model/TBusinessDept.java                         |   39 ++++
 ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java                             |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCheckAcceptRecordServiceImpl.java  |    6 
 39 files changed, 390 insertions(+), 92 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 d12d728..c65a613 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
@@ -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 = "租户数量趋势统计")
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBusinessDeptController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBusinessDeptController.java
new file mode 100644
index 0000000..2da5025
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBusinessDeptController.java
@@ -0,0 +1,46 @@
+package com.ruoyi.web.controller.api;
+
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.system.model.TBusinessDept;
+import com.ruoyi.system.service.ITBusinessDeptService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.RequiredArgsConstructor;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 营业部 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2025-03-24
+ */
+@Api(tags = {"营业部相关接口"})
+@Validated
+@RestController
+@RequestMapping("/t-business-dept")
+@RequiredArgsConstructor(onConstructor_ = @Lazy)
+public class TBusinessDeptController {
+    private final ITBusinessDeptService businessDeptService;
+    @ApiOperation(value = "获取营业部列表")
+    @GetMapping("/list/type")
+    public R<List<TBusinessDept>> list(@ApiParam(name = "type",value = "是否添加人员使用 1:是 0:否",required = true) Integer type ) {
+        List<TBusinessDept> list = businessDeptService.list();
+        if (type == 1){
+            TBusinessDept tBusinessDept = new TBusinessDept();
+            tBusinessDept.setId("0");
+            tBusinessDept.setName("领导层");
+            list.add(0,tBusinessDept);
+        }
+        return R.ok(list);
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
index 5e0643f..58477ae 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
@@ -15,6 +15,7 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.enums.ProcessCategoryEnum;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -103,6 +104,12 @@
         }
         dto.setChangeRent(dto.getMonthRent());
         dto.setChangeTime(null);
+        //查询房产信息,获取所属营业部
+        THouse house = houseService.getById(dto.getHouseId());
+        if (Objects.isNull(house)) {
+            throw new ServiceException("房产信息不存在");
+        }
+        dto.setBusinessDeptId(house.getBusinessDeptId());
         contractService.save(dto);
         if (dto.getStatus().equals("2")){
             //发起合同新增审批
@@ -152,6 +159,12 @@
     @PreAuthorize("@ss.hasPermi('contract:list:edit')")
     public R<Boolean> updateContract(@Validated @RequestBody TContractDTO dto) {
         dto.setChangeTime(null);
+        //查询房产信息,获取所属营业部
+        THouse house = houseService.getById(dto.getHouseId());
+        if (Objects.isNull(house)) {
+            throw new ServiceException("房产信息不存在");
+        }
+        dto.setBusinessDeptId(house.getBusinessDeptId());
         contractService.updateById(dto);
         contractRentTypeService.remove(new LambdaQueryWrapper<TContractRentType>()
                 .eq(TContractRentType::getContractId,dto.getId()));
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
index 9a6eea2..246a26d 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -1,18 +1,18 @@
 package com.ruoyi.common.core.domain.entity;
 
-import java.util.Date;
-import java.util.List;
-import javax.validation.constraints.*;
-
 import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.common.xss.Xss;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
-import com.ruoyi.common.core.domain.BaseEntity;
-import com.ruoyi.common.xss.Xss;
+
+import javax.validation.constraints.Email;
+import javax.validation.constraints.Size;
+import java.util.Date;
+import java.util.List;
 
 /**
  * 用户对象 sys_user
@@ -131,6 +131,10 @@
     @TableField(exist = false)
     private List<String> deptIds;
 
+    @ApiModelProperty(value = "营业部id")
+    @TableField("business_dept_id")
+    private String businessDeptId;
+
     public String getRoleName() {
         return roleName;
     }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
index 89c8853..6d0ea4a 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
@@ -46,7 +46,20 @@
             throw new ServiceException("获取部门ID异常", HttpStatus.UNAUTHORIZED);
         }
     }
-    
+    /**
+     * 获取营业部ID
+     **/
+    public static String getBusinessDeptId()
+    {
+        try
+        {
+            return getLoginUser().getUser().getBusinessDeptId();
+        }
+        catch (Exception e)
+        {
+            throw new ServiceException("获取营业部ID异常", HttpStatus.UNAUTHORIZED);
+        }
+    }
     /**
      * 获取用户账户
      **/
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index e54ccc2..c7302b8 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -1,27 +1,15 @@
 package com.ruoyi.framework.web.service;
 
-import javax.annotation.Resource;
-
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.common.core.domain.entity.TTenantResp;
-import com.ruoyi.common.core.domain.model.LoginUserApplet;
-import com.ruoyi.common.enums.UserStatus;
-import com.ruoyi.system.model.TTenant;
-import com.ruoyi.system.service.TTenantService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.authentication.AuthenticationManager;
-import org.springframework.security.authentication.BadCredentialsException;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.stereotype.Component;
 import com.ruoyi.common.constant.CacheConstants;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.entity.TTenantResp;
 import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.domain.model.LoginUserApplet;
 import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.enums.UserStatus;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.exception.user.BlackListException;
 import com.ruoyi.common.exception.user.CaptchaException;
@@ -35,8 +23,20 @@
 import com.ruoyi.framework.manager.AsyncManager;
 import com.ruoyi.framework.manager.factory.AsyncFactory;
 import com.ruoyi.framework.security.context.AuthenticationContextHolder;
+import com.ruoyi.system.model.TTenant;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysUserService;
+import com.ruoyi.system.service.TTenantService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.BadCredentialsException;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
 
 /**
  * 登录校验方法
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TerminateContractDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TerminateContractDTO.java
index cdc21ef..351f424 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TerminateContractDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TerminateContractDTO.java
@@ -6,7 +6,7 @@
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @ApiModel(value = "终止合同DTO")
@@ -20,6 +20,6 @@
 
     @ApiModelProperty(value = "终止日期")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date terminateTime;
+    private LocalDateTime terminateTime;
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBusinessDeptMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBusinessDeptMapper.java
new file mode 100644
index 0000000..651f548
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBusinessDeptMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.system.mapper;
+
+import com.ruoyi.system.model.TBusinessDept;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 营业部 Mapper 接口
+ * </p>
+ *
+ * @author mitao
+ * @since 2025-03-24
+ */
+public interface TBusinessDeptMapper extends BaseMapper<TBusinessDept> {
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java
index 5a36e89..490e09e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java
@@ -21,7 +21,7 @@
  */
 public interface TContractMapper extends BaseMapper<TContract> {
 
-    List<TContract> contractList(@Param("query") TContractQuery query, @Param("pageInfo") PageInfo<TContract> pageInfo);
+    List<TContract> contractList(@Param("query") TContractQuery query, @Param("pageInfo") PageInfo<TContract> pageInfo,@Param("businessDeptId") String businessDeptId);
 
     List<TContract> contractAppletList(@Param("query")TContractAppletQuery query, @Param("pageInfo")  PageInfo<TContract> pageInfo);
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/THouseMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/THouseMapper.java
index 5c9afe1..1cafeac 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/THouseMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/THouseMapper.java
@@ -24,5 +24,4 @@
 
     List<HouseVO> userHistoryList(@Param("req")TUserHistoryQuery query, @Param("pageInfo")PageInfo<HouseVO> pageInfo);
 
-    Double getHouseRentedArea();
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java
index e0812d5..c30a287 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java
@@ -38,4 +38,11 @@
 
     List<ExamineVO> examineList(@Param("query")TExamineAppletQuery dto, @Param("pageInfo")PageInfo<ExamineVO> pageInfo);
 
+    /**
+     * 根据营业部id获取租户列表
+     * @param query
+     * @param pageInfo
+     * @return
+     */
+    List<TenantVO> pageListByBusinessDeptId(@Param("query") TTenantQuery query, @Param("pageInfo")PageInfo<TenantVO> pageInfo);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TBusinessDept.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TBusinessDept.java
new file mode 100644
index 0000000..a16c85b
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TBusinessDept.java
@@ -0,0 +1,39 @@
+package com.ruoyi.system.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BaseModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 营业部
+ * </p>
+ *
+ * @author mitao
+ * @since 2025-03-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_business_dept")
+@ApiModel(value="TBusinessDept对象", description="营业部")
+public class TBusinessDept extends BaseModel implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private String id;
+
+    @ApiModelProperty(value = "营业部名称")
+    private String name;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
index 01645ad..d36bc2b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
@@ -188,4 +188,8 @@
     @TableField("terminate_time")
     private LocalDateTime terminateTime;
 
+    @ApiModelProperty(value = "营业部id")
+    @TableField("business_dept_id")
+    private String businessDeptId;
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java
index eeffb53..7960382 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java
@@ -106,4 +106,8 @@
     @ApiModelProperty(value = "纬度")
     @TableField("latitude")
     private BigDecimal latitude;
+
+    @ApiModelProperty(value = "营业部id")
+    @TableField("business_dept_id")
+    private String businessDeptId;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TInformation.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TInformation.java
index 3132361..70a3e56 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TInformation.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TInformation.java
@@ -1,12 +1,9 @@
 package com.ruoyi.system.model;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
-
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.domain.BaseModel;
 import io.swagger.annotations.ApiModel;
@@ -16,6 +13,7 @@
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
 
 /**
  * <p>
@@ -79,4 +77,8 @@
     @TableField(exist = false)
     private Integer viewCount;
 
+    @ApiModelProperty(value = "营业部id")
+    @TableField("business_dept_id")
+    private String businessDeptId;
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java
index 3c7b3d4..5b12765 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java
@@ -23,4 +23,7 @@
     @ApiModelProperty(value = "状态  0=正常 1=停用")
     private String status;
 
+    @ApiModelProperty(value = "营业部id",hidden = true)
+    private String businessDeptId;
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TCheckAcceptRecordQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TCheckAcceptRecordQuery.java
index 89da8f4..bb14ad0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TCheckAcceptRecordQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TCheckAcceptRecordQuery.java
@@ -1,6 +1,5 @@
 package com.ruoyi.system.query;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.domain.model.TimeRangeQueryBody;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -19,4 +18,7 @@
     @ApiModelProperty(value = "验收结果 1=合格 0=不合格")
     private Boolean checkResult;
 
+    @ApiModelProperty(value = "营业部id",hidden = true)
+    private String businessDeptId;
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultRepairMessageQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultRepairMessageQuery.java
index cd0015b..b1256e5 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultRepairMessageQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultRepairMessageQuery.java
@@ -1,6 +1,5 @@
 package com.ruoyi.system.query;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.domain.BasePage;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -24,4 +23,7 @@
 
     @ApiModelProperty(value = "处理人")
     private String handlePerson;
+
+    @ApiModelProperty(value = "营业部id", hidden = true)
+    private String businessDeptId;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/THouseQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/THouseQuery.java
index 1eb82ac..9c8a5d8 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/THouseQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/THouseQuery.java
@@ -18,4 +18,7 @@
     @ApiModelProperty(value = "租赁状态 1=待出租 2=已出租 3=维修中")
     private String leaseStatus;
 
+    @ApiModelProperty(value = "所属营业部", hidden = true)
+    private String businessDeptId;
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java
index 83e1748..8eff3eb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java
@@ -1,7 +1,6 @@
 package com.ruoyi.system.query;
 
 import com.ruoyi.common.core.domain.BasePage;
-import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -16,6 +15,9 @@
     @ApiModelProperty(value = "联系电话")
     private String phone;
 
+    @ApiModelProperty(value = "营业部id")
+    private String businessDeptId;
+
 
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ITBusinessDeptService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ITBusinessDeptService.java
new file mode 100644
index 0000000..549694d
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ITBusinessDeptService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.system.service;
+
+import com.ruoyi.system.model.TBusinessDept;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 营业部 服务类
+ * </p>
+ *
+ * @author mitao
+ * @since 2025-03-24
+ */
+public interface ITBusinessDeptService extends IService<TBusinessDept> {
+
+}
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 dd6307c..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,13 @@
 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;
 
 /**
  * @author mitao
@@ -32,7 +33,6 @@
     private final THouseService tHouseService;
     private final TContractService tContractService;
     private final TBillService tBillService;
-    private final ITStreetService tStreetService;
     /**
      * 获取顶部统计数据
      * @return
@@ -72,6 +72,19 @@
         BigDecimal totalRentShould = currentQuarterBillList.stream().filter(item -> !item.getPayFeesStatus().equals("5"))
                 .map(TBill::getPayableFeesMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
         vo.setTotalRentShould(totalRentShould);
+        //本季度欠费
+        BigDecimal totalRentOwe = currentQuarterBillList.stream()
+                .map(TBill::getOutstandingMoney)
+                .reduce(BigDecimal.ZERO, BigDecimal::add)
+                .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, RoundingMode.HALF_UP);
+        vo.setTotalRentOweAll(totalRentOweAll);
         return vo;
     }
 
@@ -92,8 +105,9 @@
         
         // 获取当前日期
         Date currentDate = new Date();
-        List<String> quarterLabels = new ArrayList<>();
-        List<BigDecimal> incomeData = new ArrayList<>();
+        List<String> quarterLabels = new ArrayList<>(); // 季度标签列表
+        List<BigDecimal> incomeData = new ArrayList<>(); //收入数据列表
+        List<BigDecimal> outstandingData = new ArrayList<>();  // 欠费数据列表
         
         // 获取最近7个季度的数据
         for (int i = 6; i >= 0; i--) {
@@ -102,28 +116,41 @@
             Map<String, Date> quarterDate = DateUtils.getQuarterDate(targetDate);
             Date quarterStart = quarterDate.get("first");
             Date quarterEnd = quarterDate.get("last");
-            
-            // 获取该季度的账单数据并计算总和
-            BigDecimal quarterIncome = tBillService.lambdaQuery()
-                .between(TBill::getPayableFeesTime, quarterStart, quarterEnd)
-                .list()
-                .stream()
-                .map(TBill::getPayFeesMoney)
-                .reduce(BigDecimal.ZERO, BigDecimal::add);
-            
+
+            // 获取该季度的账单数据
+            List<TBill> quarterBills = tBillService.lambdaQuery()
+                    .between(TBill::getPayableFeesTime, quarterStart, quarterEnd)
+                    .list();
+
+            // 计算季度租金收入总和
+            BigDecimal quarterIncome = quarterBills.stream()
+                    .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)
+                    .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);  // 添加欠费数据
         }
         
         vo.setQuarters(quarterLabels);
         vo.setIncomeData(incomeData);
+        vo.setOutstandingData(outstandingData);  // 设置欠费数据到VO
         return vo;
     }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateTaskCenterServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateTaskCenterServiceImpl.java
index 83ad381..a0cc43d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateTaskCenterServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateTaskCenterServiceImpl.java
@@ -5,7 +5,6 @@
 import com.ruoyi.system.bo.ProcessTaskListBO;
 import com.ruoyi.system.mapper.StateTaskCenterMapper;
 import com.ruoyi.system.model.StateTaskCenter;
-import com.ruoyi.system.model.TFaultAreaDic;
 import com.ruoyi.system.service.StateTaskCenterService;
 import com.ruoyi.system.vo.ProcessTaskListVO;
 import org.springframework.stereotype.Service;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 82743d4..ba35a11 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -1,27 +1,8 @@
 package com.ruoyi.system.service.impl;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-import javax.validation.Validator;
-
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.common.basic.PageInfo;
-import com.ruoyi.common.core.domain.entity.SysDept;
-import com.ruoyi.system.mapper.*;
-import com.ruoyi.system.model.TDept;
-import com.ruoyi.system.model.TDeptToUser;
-import com.ruoyi.system.query.SysUserQuery;
-import com.ruoyi.system.service.TDeptToUserService;
-import com.ruoyi.system.vo.SysUserVO;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
 import com.ruoyi.common.annotation.DataScope;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
@@ -33,8 +14,32 @@
 import com.ruoyi.system.domain.SysPost;
 import com.ruoyi.system.domain.SysUserPost;
 import com.ruoyi.system.domain.SysUserRole;
+import com.ruoyi.system.mapper.SysPostMapper;
+import com.ruoyi.system.mapper.SysRoleMapper;
+import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.system.mapper.SysUserPostMapper;
+import com.ruoyi.system.mapper.SysUserRoleMapper;
+import com.ruoyi.system.mapper.TDeptMapper;
+import com.ruoyi.system.mapper.TDeptToUserMapper;
+import com.ruoyi.system.model.TDept;
+import com.ruoyi.system.model.TDeptToUser;
+import com.ruoyi.system.query.SysUserQuery;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysUserService;
+import com.ruoyi.system.service.TDeptToUserService;
+import com.ruoyi.system.vo.SysUserVO;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import javax.validation.Validator;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 用户 业务层处理
@@ -665,6 +670,8 @@
     @Override
     public PageInfo<SysUserVO> pageList(SysUserQuery query) {
         PageInfo<SysUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        String businessDeptId = SecurityUtils.getBusinessDeptId();
+        query.setBusinessDeptId(businessDeptId);
         List<SysUserVO> list = userMapper.pageList(query,pageInfo);
         if(CollectionUtils.isEmpty(list)){
             return pageInfo;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBusinessDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBusinessDeptServiceImpl.java
new file mode 100644
index 0000000..419f956
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBusinessDeptServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.system.service.impl;
+
+import com.ruoyi.system.model.TBusinessDept;
+import com.ruoyi.system.mapper.TBusinessDeptMapper;
+import com.ruoyi.system.service.ITBusinessDeptService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 营业部 服务实现类
+ * </p>
+ *
+ * @author mitao
+ * @since 2025-03-24
+ */
+@Service
+public class TBusinessDeptServiceImpl extends ServiceImpl<TBusinessDeptMapper, TBusinessDept> implements ITBusinessDeptService {
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCheckAcceptRecordServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCheckAcceptRecordServiceImpl.java
index 7006063..3251b76 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCheckAcceptRecordServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCheckAcceptRecordServiceImpl.java
@@ -1,8 +1,10 @@
 package com.ruoyi.system.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.constant.DictConstants;
 import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.system.mapper.TCheckAcceptRecordMapper;
 import com.ruoyi.system.mapper.TContractMapper;
 import com.ruoyi.system.mapper.THouseMapper;
@@ -12,8 +14,6 @@
 import com.ruoyi.system.query.TCheckAcceptRecordAppletQuery;
 import com.ruoyi.system.query.TCheckAcceptRecordQuery;
 import com.ruoyi.system.service.TCheckAcceptRecordService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.system.vo.SysUserVO;
 import com.ruoyi.system.vo.TCheckAcceptRecordVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -39,6 +39,8 @@
     @Override
     public PageInfo<TCheckAcceptRecordVO> pageList(TCheckAcceptRecordQuery query) {
         PageInfo<TCheckAcceptRecordVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        String businessDeptId = SecurityUtils.getBusinessDeptId();
+        query.setBusinessDeptId(businessDeptId);
         List<TCheckAcceptRecordVO> list = this.baseMapper.pageList(query,pageInfo);
         list.forEach(item -> {
             item.setCleanSituation(StringUtils.hasLength(item.getCleanSituation()) ?(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CHECK_SITUATION,item.getCleanSituation())):"");
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
index 26dcba0..e67701e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
@@ -10,6 +10,7 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.enums.ProcessCategoryEnum;
 import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.system.bo.ProcessStartBO;
 import com.ruoyi.system.dto.SignContractDTO;
@@ -68,7 +69,9 @@
     @Override
     public PageInfo<TContract> contractList(TContractQuery query) {
         PageInfo<TContract> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
-        List<TContract> list = this.baseMapper.contractList(query,pageInfo);
+        //获取当前登录用户信息
+        String businessDeptId = SecurityUtils.getBusinessDeptId();
+        List<TContract> list = this.baseMapper.contractList(query,pageInfo,businessDeptId);
         for (TContract tContract : list) {
             tContract.setPayType(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_PAY_TYPE,tContract.getPayType()));
             tContract.setStatus(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_STATUS,tContract.getStatus()));
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultRepairMessageServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultRepairMessageServiceImpl.java
index e763517..40e8985 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultRepairMessageServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultRepairMessageServiceImpl.java
@@ -1,13 +1,13 @@
 package com.ruoyi.system.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.system.mapper.TFaultRepairMessageMapper;
 import com.ruoyi.system.model.TFaultRepairMessage;
 import com.ruoyi.system.query.TFaultRepairMessageAppletQuery;
 import com.ruoyi.system.query.TFaultRepairMessageQuery;
 import com.ruoyi.system.service.TFaultRepairMessageService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.system.vo.SysOperLogVO;
 import com.ruoyi.system.vo.TFaultRepairMessageVO;
 import org.springframework.stereotype.Service;
 
@@ -31,6 +31,8 @@
 
     @Override
     public PageInfo<TFaultRepairMessageVO> pageList(TFaultRepairMessageQuery query) {
+        String businessDeptId = SecurityUtils.getBusinessDeptId();
+        query.setBusinessDeptId(businessDeptId);
         PageInfo<TFaultRepairMessageVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         List<TFaultRepairMessageVO> list = this.baseMapper.pageList(query,pageInfo);
         pageInfo.setRecords(list);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java
index d6f8b6d..1c0cbbb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java
@@ -5,6 +5,7 @@
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.constant.DictConstants;
 import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.mapper.TContractMapper;
 import com.ruoyi.system.mapper.THouseMapper;
@@ -35,6 +36,9 @@
     private TContractMapper contractMapper;
     @Override
     public PageInfo<THouse> houseList(THouseQuery query) {
+        //查询当前登录用户所属部门
+        String businessDeptId = SecurityUtils.getBusinessDeptId();
+        query.setBusinessDeptId(businessDeptId);
         PageInfo<THouse> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         List<THouse> list = this.baseMapper.houseList(query,pageInfo);
         List<TContract> tContracts = contractMapper.selectList(new LambdaQueryWrapper<TContract>()
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 0c1e19f..aeeec8d 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
@@ -6,14 +6,13 @@
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.constant.DictConstants;
 import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.dto.TTenantDTO;
-import com.ruoyi.system.mapper.SysUserMapper;
 import com.ruoyi.system.mapper.TContractMapper;
 import com.ruoyi.system.mapper.THouseMapper;
 import com.ruoyi.system.mapper.TTenantMapper;
 import com.ruoyi.system.model.TContract;
-import com.ruoyi.system.model.TDept;
 import com.ruoyi.system.model.THouse;
 import com.ruoyi.system.model.TTenant;
 import com.ruoyi.system.query.TBillAppletQuery;
@@ -25,7 +24,6 @@
 import com.ruoyi.system.vo.TBillVO;
 import com.ruoyi.system.vo.TenantVO;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.token.TokenService;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -51,7 +49,14 @@
     @Override
     public PageInfo<TenantVO> pageList(TTenantQuery query) {
         PageInfo<TenantVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
-        List<TenantVO> list = this.baseMapper.pageList(query,pageInfo);
+        String businessDeptId = SecurityUtils.getBusinessDeptId();
+        List<TenantVO> list = null;
+        if (StringUtils.isBlank(businessDeptId) || "0".equals(businessDeptId)) {
+            list = this.baseMapper.pageList(query, pageInfo);
+        } else {
+            query.setBusinessDeptId(businessDeptId);
+            list = this.baseMapper.pageListByBusinessDeptId(query,pageInfo);
+        }
         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()):"");
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenRentIncomeTrendVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenRentIncomeTrendVO.java
index bfda473..1f01605 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenRentIncomeTrendVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenRentIncomeTrendVO.java
@@ -18,6 +18,9 @@
     @ApiModelProperty("x轴 时间列表")
     private List<String> quarters;
 
-    @ApiModelProperty("y轴 收入列表")
+    @ApiModelProperty("y轴 收入列表(万元)")
     private List<BigDecimal> incomeData;
+
+    @ApiModelProperty("y轴 欠费列表(万元)")
+    private List<BigDecimal> outstandingData;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenTopStaticsDataVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenTopStaticsDataVO.java
index 87cabfb..a76573d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ScreenTopStaticsDataVO.java
+++ b/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,10 +32,16 @@
     @ApiModelProperty("总计租户数")
     private Integer totalTenantCount;
 
-    @ApiModelProperty("本季度已交租金")
+    @ApiModelProperty("本季度已交租金(万元)")
     private BigDecimal totalRentPaid;
 
-    @ApiModelProperty("本季度应交租金")
+    @ApiModelProperty("本季度应交租金(万元)")
     private BigDecimal totalRentShould;
+
+    @ApiModelProperty("本季度欠费(万元)")
+    private BigDecimal totalRentOwe;
+
+    @ApiModelProperty("总计欠费(万元)")
+    private BigDecimal totalRentOweAll;
 }
 
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index a3fff3f..63e273c 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -25,6 +25,7 @@
         <result property="remark"       column="remark"       />
         <result property="ifBlack"       column="ifBlack"       />
         <result property="districtId"       column="districtId"       />
+        <result property="businessDeptId"       column="business_dept_id"       />
         <association property="dept"    javaType="SysDept"         resultMap="deptResult" />
         <collection  property="roles"   javaType="java.util.List"  resultMap="RoleResult" />
     </resultMap>
@@ -49,7 +50,7 @@
     </resultMap>
 	
 	<sql id="selectUserVo">
-        select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, 
+        select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.business_dept_id,
         d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
         r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
         from sys_user u
@@ -131,7 +132,7 @@
 	<select id="selectUserById" parameterType="Long" resultType="com.ruoyi.common.core.domain.entity.SysUser">
 		select u.user_id AS userId, u.dept_id AS deptId, u.user_name AS userName, u.nick_name AS nickName, u.email AS email, u.avatar AS avatar,
 			   u.phonenumber AS phonenumber, u.sex AS sex, u.status AS status, u.del_flag AS delFlag, u.login_ip AS loginIp,
-			   u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.ifBlack AS ifBlack, u.districtId AS districtId,
+			   u.login_date AS loginDate, u.create_by AS createBy, u.create_time AS createTime, u.remark AS remark,u.ifBlack AS ifBlack, u.districtId AS districtId,u.business_dept_id AS businessDeptId,
 			   ur.role_id AS roleId,sr.role_name AS roleName,u.deptName as deptName
 		from sys_user u
 		left join sys_user_role ur on u.user_id = ur.user_id
@@ -248,6 +249,9 @@
 				#{roleId}
 			</foreach>
 		</if>
+		<if test="query.businessDeptId != null and query.businessDeptId != '' and query.businessDeptId != '0'">
+			AND u.business_dept_id = #{query.businessDeptId}
+		</if>
 		ORDER BY u.create_time DESC
 	</select>
 	<select id="selectIdByPhone" resultType="java.lang.Long">
diff --git a/ruoyi-system/src/main/resources/mapper/system/TBusinessDeptMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TBusinessDeptMapper.xml
new file mode 100644
index 0000000..d14b117
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/TBusinessDeptMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.TBusinessDeptMapper">
+
+</mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TCheckAcceptRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TCheckAcceptRecordMapper.xml
index f0f1693..df64a73 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TCheckAcceptRecordMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TCheckAcceptRecordMapper.xml
@@ -76,6 +76,9 @@
                 AND t.check_time &gt;= #{query.startTime}
                 AND t.check_time &lt;= #{query.endTime}
             </if>
+            <if test="query.businessDeptId != null and query.businessDeptId != '' and query.businessDeptId != '0'">
+                AND c.business_dept_id = #{query.businessDeptId}
+            </if>
             AND t.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
         </where>
         ORDER BY t.create_time DESC
diff --git a/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
index 92a83f9..0404766 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
@@ -68,6 +68,9 @@
                     #{item}
                 </foreach>
             </if>
+            <if test="businessDeptId!=null and businessDeptId !='' and businessDeptId != '0'">
+                and t1.business_dept_id = #{businessDeptId}
+            </if>
             AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
         </where>
         order by t1.create_time desc
diff --git a/ruoyi-system/src/main/resources/mapper/system/TFaultRepairMessageMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TFaultRepairMessageMapper.xml
index ba2c3f1..3e9f773 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TFaultRepairMessageMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TFaultRepairMessageMapper.xml
@@ -112,6 +112,7 @@
                  LEFT JOIN t_item i ON t.item_id = i.id
                  LEFT JOIN t_item_type it ON t.item_type_id = it.id
                  LEFT JOIN t_tenant tnt ON t.tenant_id = tnt.id
+                 LEFT JOIN t_contract tc ON t.contract_id = tc.id
         <where>
             <if test="query.residentName != null and query.residentName != ''">
                 AND tnt.resident_name LIKE CONCAT('%', #{query.residentName}, '%')
@@ -128,6 +129,9 @@
             <if test="query.handlePerson != null and query.handlePerson != ''">
                 AND t.handle_person LIKE CONCAT('%', #{query.handlePerson}, '%')
             </if>
+            <if test="query.businessDeptId != null and query.businessDeptId != '' and query.businessDeptId != '0'">
+                AND tc.business_dept_id = #{query.businessDeptId}
+            </if>
             AND t.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
         </where>
         ORDER BY t.create_time DESC
diff --git a/ruoyi-system/src/main/resources/mapper/system/THouseMapper.xml b/ruoyi-system/src/main/resources/mapper/system/THouseMapper.xml
index d5450f9..39b0c9c 100644
--- a/ruoyi-system/src/main/resources/mapper/system/THouseMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/THouseMapper.xml
@@ -55,6 +55,9 @@
             <if test="req.leaseStatus == 1">
                 and (t2.start_time is null) and t1.lease_status = 1
             </if>
+            <if test="req.businessDeptId != null and req.businessDeptId != '' and req.businessDeptId!='0'">
+                and t1.business_dept_id = #{req.businessDeptId}
+            </if>
             AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
         </where>
         order by t1.create_time desc
diff --git a/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml
index 112f54f..5795000 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml
@@ -112,5 +112,28 @@
             </otherwise>
         </choose>
     </select>
+    <select id="pageListByBusinessDeptId" resultType="com.ruoyi.system.vo.TenantVO">
+        SELECT * FROM (
+        SELECT tt.id, tt.resident_name, tt.checkIn_time, tt.tenant_attributes, tt.tenant_type, tt.phone,
+        tt.id_card, tt.email,
+        tt.bank_number, tt.mail_address, tt.create_time, tt.disabled,tt.account
+        FROM t_tenant tt
+        WHERE EXISTS (
+        SELECT 1
+        FROM t_contract tc
+        WHERE tc.tenant_id = tt.id AND tc.business_dept_id = #{query.businessDeptId}
+        )
+        ) AS te
+        <where>
+            <if test="query.residentName != null and query.residentName != ''">
+                AND te.resident_name LIKE concat('%',#{query.residentName},'%')
+            </if>
+            <if test="query.phone != null and query.phone != ''">
+                AND te.phone LIKE concat('%',#{query.phone},'%')
+            </if>
+            AND te.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        </where>
+        ORDER BY te.create_time DESC
+    </select>
 
 </mapper>

--
Gitblit v1.7.1