From 8400a67289b214b83a20484410fff96d236c6d49 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Sat, 25 Nov 2023 18:39:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java |   54 ++++++++++
 src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.xml             |   17 +++
 src/main/java/org/springblade/modules/system/controller/DeptController.java                 |   18 +++
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java              |   98 +++++++++++++++++++
 src/main/java/org/springblade/modules/property/mapper/PropertyCapitalApplyMapper.xml        |   11 ++
 src/main/java/org/springblade/modules/property/controller/PropertyCompanyController.java    |   14 ++
 src/main/java/org/springblade/modules/property/entity/PropertyCapitalApplyEntity.java       |    2 
 src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.java            |    7 +
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.java                         |    7 +
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml                          |    8 +
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java              |    3 
 src/main/java/org/springblade/modules/system/service/IDeptService.java                      |    6 +
 src/main/java/org/springblade/modules/system/controller/UserController.java                 |    4 
 src/main/java/org/springblade/modules/property/mapper/PropertyCapitalApplyMapper.java       |    4 
 src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java         |   12 ++
 15 files changed, 256 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/springblade/modules/property/controller/PropertyCompanyController.java b/src/main/java/org/springblade/modules/property/controller/PropertyCompanyController.java
index 9db056d..c58bb50 100644
--- a/src/main/java/org/springblade/modules/property/controller/PropertyCompanyController.java
+++ b/src/main/java/org/springblade/modules/property/controller/PropertyCompanyController.java
@@ -28,6 +28,7 @@
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.system.service.IDeptService;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.modules.property.entity.PropertyCompanyEntity;
@@ -35,6 +36,8 @@
 import org.springblade.modules.property.wrapper.PropertyCompanyWrapper;
 import org.springblade.modules.property.service.IPropertyCompanyService;
 import org.springblade.core.boot.ctrl.BladeController;
+
+import java.util.List;
 
 /**
  * 物业公司 控制器
@@ -121,13 +124,22 @@
 	}
 
 	/**
+	 * 物业公司 自定义新增或修改
+	 */
+	@PostMapping("/saveOrUpdate")
+	public R saveOrUpdate(@Valid @RequestBody PropertyCompanyEntity propertyCompany) {
+		return R.status(propertyCompanyService.saveOrUpdatePropertyCompany(propertyCompany));
+	}
+
+	/**
 	 * 物业公司 删除
 	 */
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 7)
 	@ApiOperation(value = "逻辑删除", notes = "传入ids")
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		return R.status(propertyCompanyService.removeByIds(Func.toIntList(ids)));
+		List<Integer> toIntList = Func.toIntList(ids);
+		return R.status(propertyCompanyService.deleteByIds(toIntList));
 	}
 
 	/**
diff --git a/src/main/java/org/springblade/modules/property/entity/PropertyCapitalApplyEntity.java b/src/main/java/org/springblade/modules/property/entity/PropertyCapitalApplyEntity.java
index eb0dca5..bfb6695 100644
--- a/src/main/java/org/springblade/modules/property/entity/PropertyCapitalApplyEntity.java
+++ b/src/main/java/org/springblade/modules/property/entity/PropertyCapitalApplyEntity.java
@@ -81,7 +81,7 @@
 	 * 分摊方式
 	 */
 	@ApiModelProperty(value = "分摊方式")
-	private Integer allocationWay;
+	private String allocationWay;
 	/**
 	 * 预算总金额
 	 */
diff --git a/src/main/java/org/springblade/modules/property/mapper/PropertyCapitalApplyMapper.java b/src/main/java/org/springblade/modules/property/mapper/PropertyCapitalApplyMapper.java
index b5758b4..0ec021b 100644
--- a/src/main/java/org/springblade/modules/property/mapper/PropertyCapitalApplyMapper.java
+++ b/src/main/java/org/springblade/modules/property/mapper/PropertyCapitalApplyMapper.java
@@ -16,6 +16,7 @@
  */
 package org.springblade.modules.property.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.modules.property.entity.PropertyCapitalApplyEntity;
 import org.springblade.modules.property.vo.PropertyCapitalApplyVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -37,7 +38,8 @@
 	 * @param propertyCapitalApply
 	 * @return
 	 */
-	List<PropertyCapitalApplyVO> selectPropertyCapitalApplyPage(IPage page, PropertyCapitalApplyVO propertyCapitalApply);
+	List<PropertyCapitalApplyVO> selectPropertyCapitalApplyPage(IPage page,
+																@Param("propertyCapitalApply") PropertyCapitalApplyVO propertyCapitalApply);
 
 
 }
diff --git a/src/main/java/org/springblade/modules/property/mapper/PropertyCapitalApplyMapper.xml b/src/main/java/org/springblade/modules/property/mapper/PropertyCapitalApplyMapper.xml
index fc6d2e0..832504e 100644
--- a/src/main/java/org/springblade/modules/property/mapper/PropertyCapitalApplyMapper.xml
+++ b/src/main/java/org/springblade/modules/property/mapper/PropertyCapitalApplyMapper.xml
@@ -27,9 +27,18 @@
         <result column="is_deleted" property="isDeleted"/>
     </resultMap>
 
-
+    <!--自定义分页查询-->
     <select id="selectPropertyCapitalApplyPage" resultMap="propertyCapitalApplyResultMap">
         select * from jczz_property_capital_apply where is_deleted = 0
+        <if test="propertyCapitalApply.districtId!=null">
+            and district_id = #{propertyCapitalApply.districtId}
+        </if>
+        <if test="propertyCapitalApply.name!=null and propertyCapitalApply.name!=''">
+            and name like concat('%',#{propertyCapitalApply.name},'%')
+        </if>
+        <if test="propertyCapitalApply.linkman!=null and propertyCapitalApply.linkman!=''">
+            and linkman like concat('%',#{propertyCapitalApply.linkman},'%')
+        </if>
     </select>
 
 
diff --git a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.java b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.java
index 42b4930..ef1a87a 100644
--- a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.java
+++ b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.java
@@ -55,4 +55,11 @@
 	 * @return
 	 */
 	List<Map<Long,String>> getUserByPropertyCompany(@Param("propertyCompany") PropertyCompanyVO propertyCompany);
+
+	/**
+	 * 查询对应的机构id集合
+	 * @param toIntList
+	 * @return
+	 */
+	List<Long> getDeptListByCompanyId(@Param("list") List<Integer> toIntList);
 }
diff --git a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.xml b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.xml
index 4322bbf..911bcc2 100644
--- a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.xml
+++ b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyMapper.xml
@@ -46,5 +46,22 @@
         and jpc.id = #{propertyCompany.id}
     </select>
 
+    <!--查询对应的机构id集合-->
+    <select id="getDeptListByCompanyId" resultType="java.lang.Long">
+        select dept_id from jczz_property_company
+        jpc where is_deleted = 0
+        <choose>
+            <when test="list != null and list.size()>0">
+                and id in
+                <foreach collection="list" item="id" separator ="," open="("  close=")">
+                    #{id}
+                </foreach>
+            </when>
+            <otherwise>
+                and id in ('')
+            </otherwise>
+        </choose>
+    </select>
+
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java b/src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java
index 7ed1bed..36f9aeb 100644
--- a/src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java
+++ b/src/main/java/org/springblade/modules/property/service/IPropertyCompanyService.java
@@ -22,6 +22,8 @@
 import org.springblade.core.mp.base.BaseService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  * 物业公司 服务类
  *
@@ -51,4 +53,14 @@
 	 * 物业公司查询对应的用户信息
 	 */
     Object getUserByPropertyCompany(PropertyCompanyVO propertyCompany);
+
+	/**
+	 * 物业公司 自定义新增或修改
+	 */
+	boolean saveOrUpdatePropertyCompany(PropertyCompanyEntity propertyCompany);
+
+	/**
+	 * 物业公司 删除
+	 */
+	boolean deleteByIds(List<Integer> toIntList);
 }
diff --git a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
index 1ab2d13..3a08b29 100644
--- a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
+++ b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
@@ -16,14 +16,21 @@
  */
 package org.springblade.modules.property.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import liquibase.pro.packaged.D;
+import liquibase.pro.packaged.P;
 import org.springblade.modules.property.entity.PropertyCompanyEntity;
 import org.springblade.modules.property.vo.PropertyCompanyVO;
 import org.springblade.modules.property.mapper.PropertyCompanyMapper;
 import org.springblade.modules.property.service.IPropertyCompanyService;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.service.IDeptService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 
@@ -35,6 +42,9 @@
  */
 @Service
 public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMapper, PropertyCompanyEntity> implements IPropertyCompanyService {
+
+	@Autowired
+	private IDeptService deptService;
 
 	/**
 	 * 自定义分页
@@ -67,4 +77,48 @@
 	public Object getUserByPropertyCompany(PropertyCompanyVO propertyCompany) {
 		return baseMapper.getUserByPropertyCompany(propertyCompany);
 	}
+
+	/**
+	 * 物业公司 自定义新增或修改
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public boolean saveOrUpdatePropertyCompany(PropertyCompanyEntity propertyCompany) {
+		boolean flag = false;
+		Dept dept = new Dept();
+		dept.setDeptName(propertyCompany.getName());
+		dept.setFullName(propertyCompany.getName());
+		// 判断新增还是修改
+		if (null != propertyCompany.getId()){
+			// 修改
+			updateById(propertyCompany);
+			// 修改住址机构信息
+			dept.setId(propertyCompany.getDeptId());
+			flag = deptService.updateById(dept);
+		}else {
+			// 查询父级id
+			QueryWrapper<Dept> wrapper = new QueryWrapper<>();
+			wrapper.eq("is_deleted",0).eq("dept_name","物业公司");
+			Dept parentDept = deptService.getOne(wrapper);
+			dept.setParentId(parentDept.getId());
+			// 新增机构
+			flag = deptService.save(dept);
+			// 新增物业公司
+			propertyCompany.setDeptId(dept.getId());
+			flag = save(propertyCompany);
+		}
+		return flag;
+	}
+
+	/**
+	 * 物业公司 删除
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	@Override
+	public boolean deleteByIds(List<Integer> toIntList) {
+		// 先查询对应的机构id集合
+		List<Long> deptIds = baseMapper.getDeptListByCompanyId(toIntList);
+		// 删除机构,删除物业公司
+		return removeByIds(toIntList) && deptService.removeByIds(deptIds);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/controller/DeptController.java b/src/main/java/org/springblade/modules/system/controller/DeptController.java
index 9044fcf..99c2ba4 100644
--- a/src/main/java/org/springblade/modules/system/controller/DeptController.java
+++ b/src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -61,7 +61,7 @@
 @AllArgsConstructor
 @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/dept")
 @Api(value = "部门", tags = "部门")
-@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+//@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
 public class DeptController extends BladeController {
 
 	private final IDeptService deptService;
@@ -148,6 +148,22 @@
 	}
 
 	/**
+	 * 自定义新增或修改
+	 */
+	@PostMapping("/saveOrUpdateDeptInfo")
+	@ApiOperation(value = "自定义新增或修改", notes = "传入dept")
+	public R saveOrUpdateDeptInfo(@Valid @RequestBody Dept dept) {
+		if (deptService.saveOrUpdateDeptInfo(dept)) {
+			CacheUtil.clear(SYS_CACHE);
+			// 返回懒加载树更新节点所需字段
+			Kv kv = Kv.create().set("id", String.valueOf(dept.getId())).set("tenantId", dept.getTenantId())
+				.set("deptCategoryName", DictCache.getValue(DictEnum.ORG_CATEGORY, dept.getDeptCategory()));
+			return R.data(kv);
+		}
+		return R.fail("操作失败");
+	}
+
+	/**
 	 * 删除
 	 */
 	@PostMapping("/remove")
diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index 15b1796..f081684 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -81,7 +81,7 @@
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "查看详情", notes = "传入id")
 	@GetMapping("/detail")
-	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+//	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
 	public R<UserVO> detail(User user) {
 		User detail = userService.getOne(Condition.getQueryWrapper(user));
 		return R.data(UserWrapper.build().entityVO(detail));
@@ -125,7 +125,7 @@
 	})
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "列表", notes = "传入account和realName")
-	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+//	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
 	public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
 		IPage<User> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
 		return R.data(UserWrapper.build().pageVO(pages));
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
index bbcb7e6..7a028cd 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -17,6 +17,7 @@
 package org.springblade.modules.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.vo.DeptVO;
 
@@ -65,4 +66,10 @@
 	 */
 	List<String> getDeptNames(Long[] ids);
 
+	/**
+	 * 查询当前机构信息
+	 * @param id
+	 * @return
+	 */
+    DeptVO getDeptById(@Param("id") Long id);
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
index b002fc8..021b2f8 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -112,4 +112,12 @@
         and is_deleted = 0
     </select>
 
+    <!--查询当前机构信息-->
+    <select id="getDeptById" resultType="org.springblade.modules.system.vo.DeptVO">
+        select c.*,p.dept_name as parentName from blade_dept c
+        left join blade_dept p on c.parent_id = p.id and p.is_deleted = 0
+        where c.is_deleted = 0
+        and c.id = #{id}
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/IDeptService.java b/src/main/java/org/springblade/modules/system/service/IDeptService.java
index d7d0aa4..e14b643 100644
--- a/src/main/java/org/springblade/modules/system/service/IDeptService.java
+++ b/src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -116,4 +116,10 @@
 	 */
 	List<DeptVO> search(String deptName, Long parentId);
 
+	/**
+	 * 自定义新增或修改
+	 * @param dept
+	 * @return
+	 */
+	boolean saveOrUpdateDeptInfo(Dept dept);
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index 92e3850..c59e71d 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -17,6 +17,7 @@
 package org.springblade.modules.system.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.common.cache.SysCache;
@@ -26,12 +27,17 @@
 import org.springblade.core.tool.node.ForestNodeMerger;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
+import org.springblade.modules.property.entity.PropertyCompanyEntity;
+import org.springblade.modules.property.service.IPropertyCompanyService;
 import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.UserDept;
 import org.springblade.modules.system.mapper.DeptMapper;
 import org.springblade.modules.system.service.IDeptService;
 import org.springblade.modules.system.vo.DeptVO;
 import org.springblade.modules.system.wrapper.DeptWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Map;
@@ -46,6 +52,9 @@
 public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements IDeptService {
 	private static final String TENANT_ID = "tenantId";
 	private static final String PARENT_ID = "parentId";
+
+	@Autowired
+	private IPropertyCompanyService propertyCompanyService;
 
 	@Override
 	public List<DeptVO> lazyList(String tenantId, Long parentId, Map<String, Object> param) {
@@ -123,16 +132,38 @@
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public boolean removeDept(String ids) {
 		Long cnt = baseMapper.selectCount(Wrappers.<Dept>query().lambda().in(Dept::getParentId, Func.toLongList(ids)));
 		if (cnt > 0L) {
 			throw new ServiceException("请先删除子节点!");
 		}
-		return removeByIds(Func.toLongList(ids));
+		List<Long> longs = Func.toLongList(ids);
+		// 遍历
+		for (Long id : longs) {
+			// 查询当前机构信息
+			DeptVO dept = baseMapper.getDeptById(id);
+			// 如果父机构为物业公司
+			if (dept.getParentName().equals("物业公司")){
+				// 删除
+				propertyCompanyService.remove(Wrappers.<PropertyCompanyEntity>update().lambda().eq(PropertyCompanyEntity::getDeptId, id));
+			}
+		}
+		return removeByIds(longs);
 	}
 
 	@Override
 	public boolean submit(Dept dept) {
+		deptHandle(dept);
+		// 保存并返回
+		return saveOrUpdate(dept);
+	}
+
+	/**
+	 * 机构信息处理
+	 * @param dept
+	 */
+	private void deptHandle(Dept dept) {
 		if (Func.isEmpty(dept.getParentId())) {
 			dept.setTenantId(AuthUtil.getTenantId());
 			dept.setParentId(BladeConstant.TOP_PARENT_ID);
@@ -148,7 +179,70 @@
 			dept.setAncestors(ancestors);
 		}
 		dept.setIsDeleted(BladeConstant.DB_NOT_DELETED);
-		return saveOrUpdate(dept);
+	}
+
+	/**
+	 * 自定义新增或修改
+	 * @param dept
+	 * @return
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public boolean saveOrUpdateDeptInfo(Dept dept) {
+		boolean flag = false;
+		deptHandle(dept);
+		// 判断类型,如果为物业公司(上级机构名称为物业公司),名称不能重复
+		QueryWrapper<Dept> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("is_deleted",0).eq("id", dept.getParentId());
+		Dept parentDept = getOne(queryWrapper);
+		// 如果父机构为物业公司
+		if (parentDept.getDeptName().equals("物业公司")){
+			// 查询当前
+			QueryWrapper<Dept> wrapper = new QueryWrapper<>();
+			wrapper.eq("is_deleted",0)
+				.eq("dept_name",dept.getDeptName());
+			Dept one = getOne(wrapper);
+			if (null!=one){
+				dept.setId(one.getId());
+				flag = updateById(dept);
+			}else {
+				flag = save(dept);
+			}
+			//保存物业公司信息
+			savePropertyCompany(dept);
+		}else {
+			flag = saveOrUpdate(dept);
+		}
+		// 保存并返回
+		return flag;
+	}
+
+	/**
+	 * 保存物业公司信息
+	 * @param dept
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	public void savePropertyCompany(Dept dept) {
+		// 查询物业公司是否存在
+		QueryWrapper<PropertyCompanyEntity> wrapper = new QueryWrapper<>();
+		wrapper.eq("is_deleted",0)
+			.eq("dept_id",dept.getId())
+			.eq("name",dept.getDeptName());
+		PropertyCompanyEntity propertyCompanyEntity = propertyCompanyService.getOne(wrapper);
+		if (null!=propertyCompanyEntity){
+			// 修改
+			propertyCompanyEntity.setDeptId(dept.getId());
+			propertyCompanyEntity.setName(dept.getDeptName());
+			// 往物业公司表中插入一条数据
+			propertyCompanyService.updateById(propertyCompanyEntity);
+		}else {
+			// 新增
+			PropertyCompanyEntity companyEntity = new PropertyCompanyEntity();
+			companyEntity.setDeptId(dept.getId());
+			companyEntity.setName(dept.getDeptName());
+			// 往物业公司表中插入一条数据
+			propertyCompanyService.save(companyEntity);
+		}
 	}
 
 	@Override
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 6dc569d..6ae4d14 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -141,6 +141,9 @@
 
 	@Override
 	public IPage<User> selectUserPage(IPage<User> page, User user, Long deptId, String tenantId) {
+		if (null == deptId && !AuthUtil.isAdministrator()){
+			deptId = Long.parseLong(AuthUtil.getDeptId());
+		}
 		List<Long> deptIdList = SysCache.getDeptChildIds(deptId);
 		return page.setRecords(baseMapper.selectUserPage(page, user, deptIdList, tenantId));
 	}

--
Gitblit v1.9.3