package org.jeecg.modules.dnc.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.dnc.response.CommonJsonTree; import org.jeecg.modules.dnc.response.DepartmentTreeModel; import org.jeecg.modules.dnc.response.QueryPageResponseResult; import org.jeecg.modules.dnc.ucenter.Department; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.dnc.request.DepartmentRequest; import org.jeecg.modules.system.model.SysDepartTreeModel; import java.util.List; import java.util.Map; public interface IDepartmentService extends IService { /** * 添加部门信息 * @param department * @return */ boolean addDepartment(Department department); /** * 修改部门 * @param id * @param department * @return */ boolean editDepartment(String id,Department department); /** * 根据部门编号查找部门 * @param departCode * @param departId null 表示只根据departCode查, 非null 表示排除该departId * @return */ Department getByDepartCode(String departCode, String departId); /** * 获取用户未分配的部门列表 * @param userId * @return */ List getUserNonPermDepart(String userId); /** * 获取用户已分配的部门列表 * @param userId * @return */ List getUserPermDepart(String userId); /** * 分页查询 * @param page * @param size * @param requestParams * @return */ QueryPageResponseResult findPageList(int page, int size, DepartmentRequest requestParams); /** * 删除 部门 * @param id * @return */ boolean deleteDepartmentById(String id); /** * 根据父ID 查询数据 * @param parentId * @return */ List findSunLint(String parentId); /** * 获取所有列表,按层级 * @return */ List loadTree(); /** * 获取用户所在的部门 * @param userId * @return */ Map getMapByUserId(String userId); /** * 获取部门未指定的审批人 * @param departId * @return */ List getUserNonApproveDepart(String departId); /** * 获取部门已指定的审批人 * @param departId * @return */ List getUserApproveDepart(String departId); /** * 增加部门审批人 * @param departId * @param relativeFlag * @param userIds * @return */ boolean assignAddApproveUser(String departId, Integer relativeFlag, String[] userIds); /** * 移除部门审批人 * @param departId * @param relativeFlag * @param userIds * @return */ boolean assignRemoveApproveUser(String departId, Integer relativeFlag, String[] userIds); /** * 查询所有部门信息,并分节点进行显示 * @return */ List queryTreeList(); /** * 查询所有部门信息,并分节点进行显示 * @param ids 多个部门id * @return */ List queryTreeList(String ids); /** * 根据关键字搜索相关的部门数据 * @param keyWord * @param myDeptSearch * @param departIds 多个部门id * @return */ List searchByKeyWord(String keyWord,String myDeptSearch,String departIds); }