package com.dxhy.admin.sys.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dxhy.admin.sys.entity.SysCompanyEntity;
import com.dxhy.admin.sys.entity.SysDeptEntity;
import com.dxhy.admin.sys.entity.SysUserOrgEntity;

/**
 * 用户与部门对应关系
 * 
 * @author jiaohongyang
 */
public interface SysUserOrgService extends IService<SysUserOrgEntity> {
    /**
     * 保存用户和部门对应信息
     * 
     * @param userId
     *            用户id
     * @param orgList
     *            部门信息
     */
    void saveOrUpdate(Long userId, List<SysUserOrgEntity> orgList);

    /**
     * 根据用户ID，获取角色ID列表
     * 
     * @param userId
     *            用户id
     * @return 用户与部门关联信息
     */
    List<SysUserOrgEntity> queryOrgIdList(Long userId);

    /**
     * 根据用户id查询 公司编码信息
     * 
     * @param userId
     *            用户id
     * @return 部门信息
     */
    List<SysDeptEntity> queryOrgCodes(Long userId);

    /**
     * 根据部门id 修改税号、名称
     * 
     * @param taxno
     *            税号
     * @param taxname
     *            名称
     * @param deptId
     *            部门id
     */
    void updateDeptId(String taxno, String taxname, Long deptId);

    /**
     * 删除用户关联部门信息
     * 
     * @param userId
     *            用户id
     */
    void delete(Long userId);

    /**
     * 获取登录用户对应的所有组织
     *
     * @param userId
     *            用户id
     */
    List<SysCompanyEntity> getOrgsByUserId(Long userId);

}
