Răsfoiți Sursa

调整机构树筛选条件

luojun 2 ani în urmă
părinte
comite
c17b7a1f33

+ 2 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/domain/SysOrg.java

@@ -31,7 +31,8 @@ import java.util.List;
 @ApiModel(value = "SysOrg对象", description = "【请填写功能名称】")
 public class SysOrg extends BaseEntity {
     private static final long serialVersionUID = 1L;
-
+    @TableField(exist = false)
+    private Long removeId;
     @TableId
     @JsonSerialize(using = ToStringSerializer.class)
     private Long id;

+ 3 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysDeptController.java

@@ -144,7 +144,9 @@ public class SysDeptController extends BaseController {
      */
     @GetMapping("/deptTree")
     public AjaxResult deptTree(SysOrg dept) {
-        return success(deptService.selectDeptTreeList());
+        List<SysOrgVO> sysOrgVOS = deptService.selectDeptTreeList(dept);
+
+        return success(sysOrgVOS);
     }
 
     /**

+ 2 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysRoleController.java

@@ -11,6 +11,7 @@ import com.xunmei.common.security.annotation.InnerAuth;
 import com.xunmei.common.security.annotation.RequiresPermissions;
 import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.system.api.Eto.RoleConditionEto;
+import com.xunmei.system.api.domain.SysDept;
 import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.domain.SysRole;
 import com.xunmei.system.api.domain.SysUser;
@@ -203,7 +204,7 @@ public class SysRoleController extends BaseController {
     public AjaxResult deptTree(@PathVariable("roleId") Long roleId) {
         AjaxResult ajax = AjaxResult.success();
         ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId));
-        ajax.put("depts", deptService.selectDeptTreeList());
+        ajax.put("depts", deptService.selectDeptTreeList(new SysDept()));
         return ajax;
     }
 

+ 1 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysDeptService.java

@@ -29,7 +29,7 @@ public interface ISysDeptService extends IService<SysDept> {
      * @param dept 机构信息
      * @return 机构树信息集合
      */
-    List<SysOrgVO> selectDeptTreeList();
+    List<SysOrgVO> selectDeptTreeList(SysOrg dept);
 
     /**
      * 返回行社树

+ 9 - 5
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysDeptServiceImpl.java

@@ -26,6 +26,7 @@ import com.xunmei.system.mapper.SysOrgMapper;
 import com.xunmei.system.mapper.SysRoleMapper;
 import com.xunmei.system.service.ISysDeptService;
 import com.xunmei.system.service.ISysOrgService;
+import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -111,9 +112,10 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
      * @return 机构树信息集合
      */
     @Override
-    public List<SysOrgVO> selectDeptTreeList() {
+    public List<SysOrgVO> selectDeptTreeList(SysOrg dept) {
         Long s = System.currentTimeMillis();
-        SysOrg sysOrg = getLoginUserOrg();
+        SysOrg sysOrg = null;
+        sysOrg = getLoginUserOrg();
         List<SysOrgVO> cacheList = getOrgCache();
         List<SysOrgVO> orgs = new ArrayList<>();
         for (SysOrgVO org : cacheList) {
@@ -125,12 +127,14 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
             if (StringUtils.isEmpty(org.getShortName())) {
                 org.setShortName(org.getName());
             }
-            if(org.getSort() == null){
+            if (org.getSort() == null) {
                 org.setSort(100000);
             }
             orgs.add(org);
         }
-
+        if (dept.getRemoveId() != null) {
+            orgs.removeIf(d -> d.getId().equals(dept.getRemoveId()));
+        }
         return generateTree(orgs, sysOrg);
     }
 
@@ -152,7 +156,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
     public List<SysOrgVO> getHangsheTreeCache(String path) {
         List<SysOrgVO> cacheList = getOrgCache();
         List<SysOrgVO> hangshelist = cacheList.stream().filter(c -> ObjectUtil.equal(c.getType(), 3)
-                        && ObjectUtil.isNotEmpty(c.getPath()) && c.getPath().startsWith(path))
+                && ObjectUtil.isNotEmpty(c.getPath()) && c.getPath().startsWith(path))
                 .collect(Collectors.toList());
         Set<Long> hangsheSet = hangshelist.stream().map(o -> o.getId()).collect(Collectors.toSet());
         Set<Long> parentIds = new HashSet<>();