package cn.net.caoyao.cpzshandset.db.presenter;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import cn.net.cpzslibs.prot.handset.bean.req.Prot20002ReqBatchBean;
public interface BatchLabelDal {	
	/**
	 * 根据批量数据Id修改批量数据
	 * @param id
	 * @param reqBatchBean
	 */
	public void updateBatchLabelById(int id, Prot20002ReqBatchBean reqBatchBean);
	/**
	 * 删除所有的批量数据
	 */
	public void deleteAllBatch();
	/**
	 * 删除某种操作的所有批量数据
	 */
	public void deleteBatchByType(int option_type);
	
	/**
	 * 根据id和操作类型删除某条批量操作的数据
	 */
	public void deleteBatchById(int option_type,int option_id);
	
	/**
	 * 插入批量激活信息到数据库
	 * @param option_type
	 * @param option_id
	 * @param reqBatchBean
	 * @return
	 */
	public int insertBatch(int option_type,int option_id, Prot20002ReqBatchBean reqBatchBean);
	
	public boolean hasExistOptionBatchInfo(SQLiteDatabase db,int option_type, int option_id);
	/**
	 * 根据操作类型和操作id查询批量数据的个数
	 * @param option_type
	 * @param option_id
	 * @return
	 */
	public int queryBatchCountById(int option_type,int option_id);

	/**
	 * 根据操作类型和操作id查询批量数据
	 * @param option_type
	 * @param option_id
	 * @return
	 */
	public Prot20002ReqBatchBean queryBatchBeanById(int option_type, int option_id);


	/**
	 * 检测某个标签段是否已经存在在激活表中
	 * 
	 * @param labelId
	 * @return
	 */
	public boolean hasExistBatchLabel(String startLabel, String endLabel, int option_type,int optionId);
	
	/**
	 * 检测某个标签段是否已经存在在激活表中
	 * 
	 * @param labelId
	 * @return
	 */
	public boolean hasExistBatchLabelInTwoType(String startLabel, String endLabel, int current_option_type, int other_option_type,int optionId);
	public Prot20002ReqBatchBean getBatchBean(Cursor cursor);
}
