From 06cfb877e693d328fdcaa497f0f2a6bb14e17435 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 24 Jan 2024 11:39:38 +0800
Subject: [PATCH] 机构过滤
---
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java | 33 ++++++++++++++++++++++++++++++++-
1 files changed, 32 insertions(+), 1 deletions(-)
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 bfdea32..d409db3 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
@@ -22,6 +22,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.cache.SysCache;
import org.springblade.common.node.TreeStringNode;
+import org.springblade.common.utils.SpringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.constant.BladeConstant;
@@ -29,12 +30,15 @@
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
+import org.springblade.modules.grid.entity.GridEntity;
+import org.springblade.modules.grid.service.IGridService;
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.mapper.DeptMapper;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IRegionService;
+import org.springblade.modules.system.vo.DeptDetailVO;
import org.springblade.modules.system.vo.DeptVO;
import org.springblade.modules.system.wrapper.DeptWrapper;
import org.springframework.beans.factory.annotation.Autowired;
@@ -96,6 +100,7 @@
@Override
public List<DeptVO> tree(String tenantId) {
Long parentId = null;
+ Long id = null;
// 判断数据权限控制,非超管角色只可看到本级及以下数据
// if (!AuthUtil.isAdministrator()) {
// Long deptId = Func.firstLong(AuthUtil.getDeptId());
@@ -108,8 +113,14 @@
// copy = copy.stream().filter(item -> AuthUtil.getDeptId().contains(item.getId().toString())).collect(Collectors.toList());
// return copy;
// }
+ String userRole = AuthUtil.getUserRole();
+ // 判断物业公司
+ if (userRole.contains("wygly") || userRole.contains("wyxmjl")) {
+ // 获取当前用户的机构
+ id = Func.firstLong(AuthUtil.getDeptId());
+ }
- return ForestNodeMerger.merge(baseMapper.tree(tenantId, parentId));
+ return ForestNodeMerger.merge(baseMapper.tree(tenantId, parentId, id));
}
@Override
@@ -338,4 +349,24 @@
}
return null;
}
+
+ /**
+ * 数据处理(区域网格编号绑定)
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Object dataRegionGridCodeBindHandle() {
+ // 查询网格对应的机构信息(包含父级机构名称)
+ List<DeptVO> deptVOS = baseMapper.getGridDeptAndParentList();
+ //遍历处理
+ for (DeptVO deptVO : deptVOS) {
+ GridEntity gridEntity = SpringUtils.getBean(IGridService.class).getGridByNames(deptVO.getDeptName(), deptVO.getParentName());
+ if (null != gridEntity) {
+ deptVO.setRegionCode(gridEntity.getGridCode());
+ // 更新
+ updateById(deptVO);
+ }
+ }
+ return null;
+ }
}
--
Gitblit v1.9.3