From 6dc67044d78225a67902f0c7036c1e4077a00cb9 Mon Sep 17 00:00:00 2001 From: yanyan Date: Fri, 9 May 2025 17:01:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=A0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zdxt/common/domain/Ztree.java | 20 +++++ .../main/java/com/zdxt/domain/auth/Dept.java | 27 +++++++ .../dept/controller/DeptController.java | 12 ++- .../system/dept/service/DeptServiceImpl.java | 77 ++++++++++++++++++- .../system/dept/service/IDeptService.java | 8 ++ .../role/controller/RoleController.java | 2 +- .../resources/mapper/system/DeptMapper.xml | 19 ++++- .../resources/mapper/system/RoleMapper.xml | 4 + .../resources/templates/system/dept/add.html | 19 ++++- .../resources/templates/system/dept/edit.html | 9 +++ 10 files changed, 183 insertions(+), 14 deletions(-) diff --git a/lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/domain/Ztree.java b/lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/domain/Ztree.java index ea69ab52..91f169b7 100644 --- a/lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/domain/Ztree.java +++ b/lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/domain/Ztree.java @@ -23,6 +23,10 @@ public class Ztree implements Serializable /** 节点标题 */ private String title; + private Integer zone; + + private String ancestors; + /** 是否勾选 */ private boolean checked = false; @@ -101,4 +105,20 @@ public class Ztree implements Serializable { this.nocheck = nocheck; } + + public Integer getZone() { + return zone; + } + + public void setZone(Integer zone) { + this.zone = zone; + } + + public String getAncestors() { + return ancestors; + } + + public void setAncestors(String ancestors) { + this.ancestors = ancestors; + } } diff --git a/lib/EmergencyBaseLib/EmergencyCommonEntity/src/main/java/com/zdxt/domain/auth/Dept.java b/lib/EmergencyBaseLib/EmergencyCommonEntity/src/main/java/com/zdxt/domain/auth/Dept.java index 5e79d128..fc5f8300 100644 --- a/lib/EmergencyBaseLib/EmergencyCommonEntity/src/main/java/com/zdxt/domain/auth/Dept.java +++ b/lib/EmergencyBaseLib/EmergencyCommonEntity/src/main/java/com/zdxt/domain/auth/Dept.java @@ -5,6 +5,7 @@ import com.zdxt.common.BaseDomain; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; +import java.util.List; /** * 部门表 sys_dept @@ -123,6 +124,16 @@ public class Dept extends BaseDomain { */ private String creditcode; + /** + * 角色左侧树状图区分 + */ + private Integer zone; + + /** + * 角色左侧树状图区分 + */ + private List zoneList; + /** * 测试 */ @@ -489,4 +500,20 @@ public class Dept extends BaseDomain { ", kingdeeOrgParentId='" + kingdeeOrgParentId + '\'' + "} " + super.toString(); } + + public Integer getZone() { + return zone; + } + + public void setZone(Integer zone) { + this.zone = zone; + } + + public List getZoneList() { + return zoneList; + } + + public void setZoneList(List zoneList) { + this.zoneList = zoneList; + } } diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/controller/DeptController.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/controller/DeptController.java index b9fd3369..db23cea4 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/controller/DeptController.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/controller/DeptController.java @@ -16,6 +16,7 @@ import com.zdxt.common.domain.Ztree; import com.zdxt.domain.auth.*; import com.zdxt.log.aspectj.lang.annotation.Log; import com.zdxt.log.aspectj.lang.enums.BusinessType; +import org.apache.commons.collections.CollectionUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -225,10 +226,15 @@ public class DeptController extends BaseController { */ @GetMapping("/treeData") @ResponseBody - public List treeData() + public List treeData(@RequestParam(value = "zoneList", required = false) List zoneList) { - List ztrees = deptService.selectDeptTree(new Dept()); - return ztrees; + Dept dept = new Dept(); + if (CollectionUtils.isNotEmpty(zoneList)) { + dept.setZoneList(zoneList); + return deptService.selectDeptTreeNew(dept); + }else { + return deptService.selectDeptTree(dept); + } } /** diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/DeptServiceImpl.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/DeptServiceImpl.java index db26b21d..78573589 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/DeptServiceImpl.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/DeptServiceImpl.java @@ -7,12 +7,15 @@ import com.zdxt.auth.common.exception.BusinessException; import com.zdxt.auth.common.utils.StringUtils; import com.zdxt.auth.common.utils.security.ShiroUtils; import com.zdxt.auth.project.system.dept.mapper.DeptMapper; +import com.zdxt.auth.project.system.dict.service.IDictDataService; import com.zdxt.common.annotation.DataScope; import com.zdxt.common.domain.Ztree; import com.zdxt.domain.auth.Dept; +import com.zdxt.domain.auth.DictData; import com.zdxt.domain.auth.Role; import com.zdxt.domain.auth.SysTenant; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.map.HashedMap; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; @@ -29,10 +32,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.security.MessageDigest; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * 部门管理 服务实现 @@ -47,6 +48,9 @@ public class DeptServiceImpl implements IDeptService @Autowired private DeptMapper deptMapper; + @Autowired + private IDictDataService dictDataService; + @Value("${srnwg.url}") private String znwgUrl; @Value("${srnwg.paasId}") @@ -130,6 +134,69 @@ public class DeptServiceImpl implements IDeptService List ztrees = initZtree(deptList); return ztrees; } + + @Override + @DataScope(deptAlias = "d") + public List selectDeptTreeNew(Dept dept) + { + List deptList = deptMapper.selectDeptList(dept); + List ztrees = initZtree(deptList); + if (CollectionUtils.isNotEmpty(ztrees)) { + //拿到深圳市 + Ztree ztree = new Ztree(); + ztree.setpId("0"); + ztree.setId("0"); + ztree.setTitle("深圳市"); + ztree.setName("深圳市"); + ztrees.add(ztree); + //拿到角色区分 + List list = dictDataService.selectDictDataByType("role_tree_zone"); + if (CollectionUtils.isNotEmpty(list)) { + // 进行拆解封装 + List zoneTree = list.stream() + .filter(item -> Objects.equals(item.getDictValue(), "1") || + Objects.equals(item.getDictValue(), "2")) + .map(item -> { + Ztree ztree1 = new Ztree(); + ztree1.setTitle(item.getDictLabel()); + ztree1.setName(item.getDictLabel()); + ztree1.setId(item.getDictValue()); + ztree1.setpId("0"); + return ztree1; + }).collect(Collectors.toList()); + ztrees.addAll(zoneTree); + + //给市值和区挂上深圳市 + ztrees = ztrees.stream() + .peek(i -> i.setpId(Objects.equals(i.getZone(), 1) || + Objects.equals(i.getZone(), 2) ? String.valueOf(i.getZone()) : i.getpId())) + .collect(Collectors.toList()); + + + List collect = ztrees.stream() + .filter(item -> Objects.equals(item.getZone(), 2)) + .map(Ztree::getId).collect(Collectors.toList()); + for (String pid : collect) { + //给区直挂上区直 + Ztree ztree1 = new Ztree(); + ztree1.setTitle("区直"); + ztree1.setName("区直"); + ztree1.setId(pid+"3"); + ztree1.setpId(pid); + ztrees.add(ztree1); + // + for (Ztree ztree2 : ztrees) { + if (Objects.equals(ztree2.getZone(), 3) && + StringUtils.isNotEmpty(ztree2.getAncestors()) && ztree2.getAncestors().contains(pid)) { + ztree2.setpId(ztree1.getId()); + } + } + } + } + } + + return ztrees; + } @Override public List selectDeptTreeNotRole(Dept dept) { @@ -193,6 +260,8 @@ public class DeptServiceImpl implements IDeptService ztree.setpId(dept.getParentId()); ztree.setName(dept.getDeptName()); ztree.setTitle(dept.getDeptName()); + ztree.setAncestors(dept.getAncestors()); + ztree.setZone(dept.getZone()); if (isCheck) { ztree.setChecked(roleDeptList.contains(dept.getDeptId() + dept.getDeptName())); diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/IDeptService.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/IDeptService.java index b5b60ab9..9f99c54b 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/IDeptService.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/service/IDeptService.java @@ -56,6 +56,14 @@ public interface IDeptService */ public List selectDeptTree(Dept dept); + + /** + * 查询部门管理树 + * + * @param dept 部门信息 + * @return 所有部门信息 + */ + public List selectDeptTreeNew(Dept dept); /** * 根据角色ID查询菜单 * diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/role/controller/RoleController.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/role/controller/RoleController.java index 5640aa4a..decdda60 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/role/controller/RoleController.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/role/controller/RoleController.java @@ -48,7 +48,7 @@ public class RoleController extends BaseController @GetMapping() public String role() { - return prefix + "/role"; + return prefix + "/roleNew"; } @RequiresPermissions("system:role:list") diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/DeptMapper.xml b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/DeptMapper.xml index e68eb45b..7a7d0d31 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/DeptMapper.xml +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/DeptMapper.xml @@ -44,13 +44,13 @@ - + select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time,dept_type,d.kingdee_org_id,d.kingdee_org_parent_id, tenant_code, organizationId, organizationParentId, zzLevel, code, mappingUnitParentId,updateAt, createAt, description, effectOn, sequence, isDeleted, zzDisplayPath, `name`, guid, zzIsLeaf, isDisabled, - fullname, isMappingUnit, srzUnitId, taskId,creditcode from sys_dept d + fullname, isMappingUnit, srzUnitId, taskId,creditcode,zone from sys_dept d +
- +
@@ -60,6 +60,14 @@
+
+ +
+ +
+
@@ -73,8 +81,13 @@
-