package com.dhcc.finance.main.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.dhcc.finance.main.domain.CwBdAccsubj;
import com.dhcc.finance.main.domain.CwBdSubjscheme;
import com.dhcc.finance.main.domain.CwBdSubjschemeExample;

public interface CwBdSubjschemeMapper {
    long countByExample(CwBdSubjschemeExample example);

    int deleteByExample(CwBdSubjschemeExample example);

    int deleteByPrimaryKey(String pkSubjscheme);

    int insert(CwBdSubjscheme record);

    int insertSelective(CwBdSubjscheme record);

    List<CwBdSubjscheme> selectByExample(CwBdSubjschemeExample example);

    CwBdSubjscheme selectByPrimaryKey(String pkSubjscheme);

    int updateByExampleSelective(@Param("record") CwBdSubjscheme record, @Param("example") CwBdSubjschemeExample example);

    int updateByExample(@Param("record") CwBdSubjscheme record, @Param("example") CwBdSubjschemeExample example);

    int updateByPrimaryKeySelective(CwBdSubjscheme record);

    int updateByPrimaryKey(CwBdSubjscheme record);
    /**
     * 功能描述：会计科目版本启动
     * @param record
     * @return int
     * @author dml
     * @date 2019年3月23日 上午11:45:37
     * @修改日志：
     */
    int updateEnablestate(CwBdSubjscheme record);

	/**
	 * 
	 *@author huangpeng
	 *@date 2019年3月29日 下午3:19:37
	 *@修改日志：
	 */
	List<CwBdSubjscheme> selectAll();
	/**
	 * 功能描述：查寻所有科目版本信息
	 * @param nameLike
	 * @return List<CwBdSubjscheme>
	 * @author dml
	 * @date 2019年4月11日 上午9:54:35
	 * @修改日志：
	 */
	List<CwBdSubjscheme> searchCwBdSubjschemeAllData(@Param("nameLike")String  nameLike);
	/**
	 * 功能描述：查询正启用的科目版本信息
	 * @return CwBdSubjscheme
	 * @author dml
	 * @date 2019年6月4日 下午3:44:04
	 * @修改日志：
	 */
	CwBdSubjscheme selectByEnablestate();
	/**
	 * Title: selectByEnablestate <br/>  
	 * Description: TODO查询正启用的科目版本信息数目 <br/>
	 * @author lipeng 
	 * @return CwBdSubjscheme
	 * @date 2019年7月11日 下午3:04:54
	 */
	int selectNumByEnablestate();
	/**
	 * @Title: selectAllSubjcode
	 * @Description: TODO(查询所有的科目编号)
	 * @author lipeng
	 * @param @return
	 * @return List<String>
	 * @see
	 * @throws
	 */
	List<CwBdAccsubj> selectAllSubjcode();
}