package net.wicp.tams.app.duckula.controller.service.cas;

import java.util.List;

import net.wicp.tams.app.duckula.controller.bean.constant.UnitType;
import net.wicp.tams.app.duckula.controller.bean.models.SysRole;
import net.wicp.tams.app.duckula.controller.bean.models.SysUser;

/*****
 * 雇员相关服务
 *
 * @author Administrator
 *
 */
public interface IStaffService {
	/***
	 * 跟据模板查询合法的Ｉｄ
	 *
	 * @param id
	 * @return
	 */
	public List<SysUser> findValidStaff(SysUser sysUser);

	public SysUser findValidStaff(long staffId);

	/***
	 * 跟据用户id得到所拥有的角色
	 *
	 * @param staffId
	 * @return
	 */
	public List<SysRole> findRolesByStaff(long staffId);

	/***
	 * 跟据组织类型得ID得到它所分配的角色
	 *
	 * @param unitType      组织类型
	 * @param objId         组织ID
	 * @param includeAncest 是否要搜索祖先组织
	 * @return
	 */
	public List<SysRole> findRolesByUnit(UnitType unitType, long objId, Boolean includeAncest);

	/***
	 * 找到所有合法的角色
	 *
	 * @return
	 */
	public List<SysRole> findValidRole(boolean isSuper);
}
