package com.ygtx.system.mapper;

import java.util.List;
import com.ygtx.system.domain.SysDeptPost;

/**
 * 部门与岗位关联表 数据层
 * 
 * @author ruoyi
 */
public interface SysDeptPostMapper
{
    /**
     * 通过部门ID删除部门和岗位关联
     * 
     * @param deptId 部门ID
     * @return 结果
     */
    public int deleteDeptPostByDeptId(Long deptId);

    /**
     * 批量删除部门岗位关联信息
     * 
     * @param deptIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteDeptPost(Long[] deptIds);

    /**
     * 查询岗位使用数量
     * 
     * @param postId 岗位ID
     * @return 结果
     */
    public int selectCountDeptPostByPostId(Long postId);

    /**
     * 批量新增部门岗位信息
     * 
     * @param deptPostList 部门岗位列表
     * @return 结果
     */
    public int batchDeptPost(List<SysDeptPost> deptPostList);
    
    /**
     * 通过部门ID查询岗位ID列表
     * 
     * @param deptId 部门ID
     * @return 岗位ID列表
     */
    public List<Long> selectPostListByDeptId(Long deptId);
    
    /**
     * 通过部门ID查询主岗岗位ID
     * 
     * @param deptId 部门ID
     * @return 主岗岗位ID
     */
    public Long selectMainPostByDeptId(Long deptId);
    
    /**
     * 通过部门ID查询副岗岗位ID列表
     * 
     * @param deptId 部门ID
     * @return 副岗岗位ID列表
     */
    public List<Long> selectVicePostListByDeptId(Long deptId);
}