package com.ruoyi.system.mapper; import java.util.List; import org.apache.ibatis.annotations.Param; import com.ruoyi.common.core.domain.entity.SysDept; /** * 部门管理 数据层 * * @author ruoyi */ public interface SysDeptMapper { /** * 查询部门管理数据 * * @param dept 部门信息 * @return 部门信息集合 */ public List selectDeptList(SysDept dept); /** * 根据角色ID查询部门树信息 * * @param roleId 角色ID * @param deptCheckStrictly 部门树选择项是否关联显示 * @return 选中部门列表 */ public List selectDeptListByRoleId(@Param("roleId") Long roleId, @Param("deptCheckStrictly") boolean deptCheckStrictly); /** * 根据部门ID查询信息 * * @param deptId 部门ID * @return 部门信息 */ public SysDept selectDeptById(Long deptId); public List selectDeptListByParentId(Long parentId); /** * 根据ID查询所有子部门 * * @param deptId 部门ID * @return 部门列表 */ public List selectChildrenDeptById(Long deptId); /** * 根据ID查询所有子部门(正常状态) * * @param deptId 部门ID * @return 子部门数 */ public int selectNormalChildrenDeptById(Long deptId); /** * 是否存在子节点 * * @param deptId 部门ID * @return 结果 */ public int hasChildByDeptId(Long deptId); /** * 查询部门是否存在用户 * * @param deptId 部门ID * @return 结果 */ public int checkDeptExistUser(Long deptId); /** * 校验部门名称是否唯一 * * @param deptName 部门名称 * @param parentId 父部门ID * @return 结果 */ public SysDept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") Long parentId); /** * 新增部门信息 * * @param dept 部门信息 * @return 结果 */ public int insertDept(SysDept dept); /** * 修改部门信息 * * @param dept 部门信息 * @return 结果 */ public int updateDept(SysDept dept); /** * 修改所在部门正常状态 * * @param deptIds 部门ID组 */ public void updateDeptStatusNormal(Long[] deptIds); /** * 修改子元素关系 * * @param depts 子元素 * @return 结果 */ public int updateDeptChildren(@Param("depts") List depts); /** * 删除部门管理信息 * * @param deptId 部门ID * @return 结果 */ public int deleteDeptById(Long deptId); /** * 根据departmentId查询部门 * * @param departmentId SQL Server中的部门ID * @return 部门信息 */ public SysDept selectDeptByDepartmentId(@Param("departmentId") Integer departmentId); /** * 根据departmentId和父部门ID查询部门 * * @param departmentId SQL Server中的部门ID * @param parentId 父部门ID * @return 部门信息 */ public SysDept selectDeptByDepartmentIdAndParentId(@Param("departmentId") Integer departmentId, @Param("parentId") Long parentId); /** * 获取指定部门ID的分公司ID(parent_id=100的部门) * 如果传入的就是分公司,直接返回;否则从ancestors中查找分公司ID * * @param deptId 部门ID * @return 分公司ID,如果找不到则返回null */ public Long selectBranchCompanyIdByDeptId(@Param("deptId") Long deptId); /** * 根据编码列表查询分公司 * 在service_order_class或dispatch_order_class中匹配 * * @param orderCodes 编码列表 * @return 分公司列表 */ public List selectBranchCompaniesByOrderCodes(@Param("orderCodes") List orderCodes); /** * 根据service_class查询部门信息 * * @param serviceClass 服务类别编码 * @return 部门信息 */ public SysDept selectDeptByServiceClass(@Param("serviceClass") String serviceClass); }