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

import java.util.List;

import android.database.Cursor;
import cn.net.caoyao.cpzshandset.bean.WarehouseBean;

public interface WarehouseDal {
	/**
	 * 根据操作类型，查询对应的出库，入库，返库信息
	 * @param option_type：操作类型
	 * 入库：（HandsetOperationConstant.OPERATION_IN_WAREHOUSE_CONSTANT ）
	 * 出库：（HandsetOperationConstant.OPERATION_OUT_WAREHOUSE_CONSTANT ）
	 * 返库：（HandsetOperationConstant.OPERATION_BACK_WAREHOUSE_CONSTANT ）
	 * @return 按照id降序排列
	 */
	List<WarehouseBean> queryWarehouseByOptionType(int option_type);
	/**
	 * 根据操作类型，查询对应的出库，入库，返库信息
	 * @param option_type：操作类型
	 * 入库：（HandsetOperationConstant.OPERATION_IN_WAREHOUSE_CONSTANT ）
	 * 出库：（HandsetOperationConstant.OPERATION_OUT_WAREHOUSE_CONSTANT ）
	 * 返库：（HandsetOperationConstant.OPERATION_BACK_WAREHOUSE_CONSTANT ）
	 * @return 按照id升序排列
	 */
	List<WarehouseBean> queryWarehouseByOptionTypeASC(int option_type);
	/**
	 * 根据操作类型和id，查询对应的出库，入库，返库信息
	 * @param option_type：操作类型
	 * 入库：（HandsetOperationConstant.OPERATION_IN_WAREHOUSE_CONSTANT ）
	 * 出库：（HandsetOperationConstant.OPERATION_OUT_WAREHOUSE_CONSTANT ）
	 * 返库：（HandsetOperationConstant.OPERATION_BACK_WAREHOUSE_CONSTANT ）
	 * @return 
	 */
	WarehouseBean queryWarehouseById(int option_type,int id);
	/**
	 * 删除出库信息
	 * @param warehouseBean
	 */
	void deleteWarehouse(WarehouseBean warehouseBean);
	/**
	 * 修改出库的状态信息
	 * @param warehouseBean
	 */
	void updateWarehouseErrorStatus(int status,int error_code,int id);
	
	/**
	 * 修改出库信息
	 * @param warehouseBean
	 */
	void updateWarehouseInfo(WarehouseBean warehouseBean);
	/**
	 * 插入出入库信息
	 * @param warehouseBean
	 * @return
	 */
	int insertWarehouseInfo(WarehouseBean warehouseBean);
	WarehouseBean getWarehouseBean(Cursor c);
	
}
