mitao
2025-03-14 08f1b1f1804a8bd833d42f257908d80e88387b55
flower_city/src/main/java/com/dg/core/util/PermissionUtil.java
@@ -1,11 +1,8 @@
package com.dg.core.util;
import com.dg.core.controller.OrganizationController;
import com.dg.core.db.gen.entity.SysUser;
import com.dg.core.service.IOrganizationChartService;
import com.dg.core.service.impl.OrganizationChartImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
@@ -36,11 +33,29 @@
                }
                return ids;
            }
        }
        else if(StringUtils.equals("2", sysUser.getUserType()))
        } else if (StringUtils.equals("4", sysUser.getUserType())) {
            if (StringUtils.isEmpty(sysUser.getDataPermission())) {
                return null;
            }
            else
            {
                List<String> ids = new ArrayList<>();
                if (sysUser.getDataPermission().indexOf(",")>0)
                {
                    String[] idl=sysUser.getDataPermission().split(",");
                    Collections.addAll(ids,idl);
                }
                else
                {
                    ids.add(sysUser.getDataPermission());
                }
                return ids;
            }
        } else if(StringUtils.equals("2", sysUser.getUserType()))
        {
            //导办人员
            List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
//            List<String> ids=getStairDepartment(sysUser,iOrganizationChartService);
            return ids;
        }
        else if(StringUtils.equals("1", sysUser.getUserType()))
@@ -56,4 +71,32 @@
        }
    }
    /**
     * 通过部门id 获取一级部门下的全部子部门以及一级部门
     * @param sysUser
     * @param iOrganizationChartService
     * @return
     */
    public static List<String> getStairDepartment(SysUser sysUser,IOrganizationChartService iOrganizationChartService)
    {
        if(StringUtils.equals("1", sysUser.getUserType()))
        {
            //管理员
            List<String> ids=null;
            return ids;
        }
        else
        {
            //获取一级部门id
            String stairId= iOrganizationChartService.getStairId(sysUser.getDepartmentId());
            List<String> ids=iOrganizationChartService.getIds(stairId);
            return ids;
        }
    }
}