package cn.com.countrygarden.bi.main.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.github.pagehelper.PageRowBounds;

import cn.com.countrygarden.bi.main.dto.AreaUser;
import cn.com.countrygarden.bi.main.model.BigholderRightManager;

public interface BigholderRightManagerMapper {
	
	//通过监护人查找
	public List<BigholderRightManager> getRightManagerByHandmanId(
			@Param(value="HandmanId")String HandmanId); 
	//通过区域查找
	public List<BigholderRightManager> getRightManagerByArea(
			@Param(value="area")String area);
	//插入数据
	public Boolean insertRightManager();
	//修改
	public Boolean updateRightManager();
	
	/**
	 * 添加区域，负责人权限列表
	 * @param param
	 * @return
	 */
	void addRightList(@Param("area") String area,@Param("areaId") String areaId,@Param("user") String user,@Param("userId") String userId);
	
	/**
	 * 删除区域，负责人权限列表
	 * @param param
	 * @return
	 */
	void deleteRightList(@Param("areaId") String areaId,@Param("userId") String userId);

	/**
	 * 查询区域，负责人权限列表
	 * @param pageRowBounds 
	 * @param user
	 * @return
	 */
	List<BigholderRightManager> findRightList(@Param("user") String user);
	
	/**
	 * 查询权限通过区域
	 * @param area
	 * @return
	 */
	List<BigholderRightManager> findRightsByArea(@Param("area") String area,@Param("areaId") String areaId);
	/**
	 * 按区域分组，查询来判断是否存在负责人
	 * @return
	 */
	List<BigholderRightManager> findRightsGroupByArea();
	
	/**
	 * 查询权限管理中已添加权限user对应的areaIds
	 * @param user
	 * @return
	 */
	public List<String> findAreaIds(@Param("user") String user);
	
	/**
	 * 按区域分组查询
	 */
	public List<AreaUser> findAreaByRightManageTable();
	
	/**
	 * 根据usercode获取areaList
	 * @param userCode
	 */
	public List<String> findAreasByUserCode(@Param("userCode") String userCode);
	
	/**
	 * 通过用户id进行分页
	 * @param pageRowBounds
	 * @param userCode
	 * @return
	 */
	public List<BigholderRightManager> getRightManagerByHandmanId(PageRowBounds pageRowBounds, String userCode);
	
	/**
	 * 通过用户查询分页
	 * @param pageRowBounds
	 * @param object
	 * @return
	 */
	public List<BigholderRightManager> findRightList(PageRowBounds pageRowBounds, Object object);
	
}
