package com.engine.organization.util.detach; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.dto.JobListDTO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.service.impl.ManagerDetachServiceImpl; import com.weaver.general.BaseBean; import org.apache.commons.collections.CollectionUtils; import java.util.ArrayList; import java.util.List; /** * @author:dxfeng * @createTime: 2022/10/28 * @version: 1.0 */ public class DetachUtil { private boolean IS_DETACH = "true".equals(new BaseBean().getPropValue("hrmOrganization", "detach")); private final List jclRoleLevels; public DetachUtil(Integer uId) { if (1 == uId) { IS_DETACH = false; } if (IS_DETACH) { jclRoleLevels = ManagerDetachServiceImpl.getJclRoleLevels(uId); } else { jclRoleLevels = new ArrayList<>(); } } /** * 根据分权配置过滤分部 */ public void filterCompanyList(List companyList) { if (IS_DETACH && CollectionUtils.isNotEmpty(companyList)) { companyList.removeIf(item -> !jclRoleLevels.contains(item.getId())); } } /** * 根据分权配置过滤分部 */ public void filterDepartmentList(List departmentList) { if (IS_DETACH && CollectionUtils.isNotEmpty(departmentList)) { departmentList.removeIf(item -> !jclRoleLevels.contains(item.getParentComp())); } } /** * 根据分权配置过滤分部 */ public void filterJobDTOList(List jobList) { if (IS_DETACH && CollectionUtils.isNotEmpty(jobList)) { jobList.removeIf(item -> !jclRoleLevels.contains(item.getParentComp())); } } /** * 根据分权配置过滤分部 */ public void filterJobList(List jobList) { if (IS_DETACH && CollectionUtils.isNotEmpty(jobList)) { jobList.removeIf(item -> !jclRoleLevels.contains(item.getParentComp())); } } public List getJclRoleLevels() { return jclRoleLevels; } }