package org.xsaas.xstat.dao;

import java.util.List;

import org.xsaas.xstat.po.InformantInfo;


public interface IInformantInfoDao {
	/**
	 * ±£´æ±»¼ì²â¶ÔÏóÐÅÏ¢
	 * @param data ±»¼ì²â¶ÔÏóÐÅÏ¢
	 */
	public void saveInformantInfo(InformantInfo data);
	/**
	 * ¸üÐÂ±»¼ì²â¶ÔÏóÐÅÏ¢
	 * @param data ±»¼ì²â¶ÔÏóÐÅÏ¢
	 */
	public void updateInformantInfo(InformantInfo data);
	/**
	 * É¾³ý±»¼ì²â¶ÔÏóÐÅÏ¢
	 * @param data ±»¼ì²â¶ÔÏóÐÅÏ¢
	 */
	public void deleteInformantInfo(InformantInfo data);	
	/**
	 * »ñÈ¡±»¼ì²â¶ÔÏóÐÅÏ¢
	 * @param informantID ÎÊ¾í±àºÅ
	 * @return ±»¼ì²â¶ÔÏóÐÅÏ¢
	 */
	public InformantInfo getInformantInfo(Long informantID);
	public int getInformantInfoTotal(long informantID,long clientID);
	/**
	 * ·ÖÒ³ÐÅÏ¢
	 * @param firstResult ¿ªÊ¼Êý
	 * @param maxResult ×î´óÊý
	 * @return ÐÅÏ¢½á¹û
	 */
	public List<InformantInfo> findInformantInfoByPage(final long clientID,final int firstResult, final int maxResult);
	/**
	 * »ñÈ¡±»¼ì²â¶ÔÏóÐÅÏ¢ÁÐ±í
	 * @return ±»¼ì²â¶ÔÏóÐÅÏ¢ÁÐ±í
	 */
	public List<InformantInfo> getInformantInfoList();
	
	public List<InformantInfo> getInformantInfoList(Long clientID);
	/**
	 * ÐÅÏ¢×ÜÊý
	 * @return ÊýÁ¿
	 */
	public int getInformantInfoTotal();
	/**
	 * ÐÅÏ¢×ÜÊý
	 * @return ÊýÁ¿
	 */
	public int getInformantInfoTotal(long clientID);
	/**
	 * ·ÖÒ³ÐÅÏ¢
	 * @param firstResult ¿ªÊ¼Êý
	 * @param maxResult ×î´óÊý
	 * @return ÐÅÏ¢½á¹û
	 */
	public List<InformantInfo> findInformantInfoByPage(final int firstResult, final int maxResult);

	/**
	 * É¾³ý×´Ì¬×ÜÊý
	 * @return int
	 */
	public int getTotalByDelStatus();
	/**
	 * É¾³ý×´Ì¬·ÖÒ³ÐÅÏ¢
	 * @param firstResult ¿ªÊ¼Êý
	 * @param maxResult ×î´óÊý
	 * @return ÐÅÏ¢½á¹û
	 */
	public List<InformantInfo> findPageByDelStatus(final int firstResult, final int maxResult);


}
