From 15b3e7a59fd14e802a5e48a8310e1cb8cb689bc7 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 26 三月 2025 14:04:18 +0800
Subject: [PATCH] 增加营业部权限控制

---
 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/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/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/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-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/resources/mapper/system/TFaultRepairMessageMapper.xml                  |    4 
 /dev/null                                                                                    |   20 ---
 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/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/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/TContract.java                             |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCheckAcceptRecordServiceImpl.java  |    6 
 31 files changed, 233 insertions(+), 87 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/TBusinessDeptController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/TBusinessDeptController.java
deleted file mode 100644
index d24c1ff..0000000
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/TBusinessDeptController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.web.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 营业部 前端控制器
- * </p>
- *
- * @author mitao
- * @since 2025-03-24
- */
-@RestController
-@RequestMapping("/t-business-dept")
-public class TBusinessDeptController {
-
-}
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 adea656..01e7e68 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
@@ -44,7 +44,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/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/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/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/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/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/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