package com.dhcc.finance.main.dao;

import com.dhcc.finance.main.domain.CwBdAccassitem;
import com.dhcc.finance.main.domain.CwBdAccassitemExample;
import com.dhcc.finance.main.model.CwBdAccassitemWeb;

import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface CwBdAccassitemMapper {
    long countByExample(CwBdAccassitemExample example);

    int deleteByExample(CwBdAccassitemExample example);

    int deleteByPrimaryKey(String pkAccassitem);

    int insert(CwBdAccassitem record);

    int insertSelective(CwBdAccassitem record);

    List<CwBdAccassitem> selectByExample(CwBdAccassitemExample example);

    CwBdAccassitem selectByPrimaryKey(String pkAccassitem);

    int updateByExampleSelective(@Param("record") CwBdAccassitem record, @Param("example") CwBdAccassitemExample example);

    int updateByExample(@Param("record") CwBdAccassitem record, @Param("example") CwBdAccassitemExample example);

    int updateByPrimaryKeySelective(CwBdAccassitem record);

    int updateByPrimaryKey(CwBdAccassitem record);

    /**
     * 功能描述:更新状态码
     * @param cwBdAccassitem
     * @return int
     *@author baiyc
     *@date 2019年4月4日 下午5:23:58
     *@修改日志:
     */
       int updateEnablestate(CwBdAccassitem cwBdAccassitem);

	/**
	 * @param accassitemPks
	 * @return List<CwBdAccassitem>
	 *@author huangpeng
	 *@date 2019年4月6日 下午2:23:34
	 *@修改日志：
	 */
	List<CwBdAccassitem> selectForBatch(@Param("accassitemPks") List<String> accassitemPks);
	
	/**
	 * 功能描述：查询辅助项中文名
	 * @param sql
	 * @return String
	 * @author dml
	 * @date 2019年6月15日 下午4:22:56
	 * @修改日志：
	 */
	String selectCheckname(@Param("sql") String sql);
	/**
	 * 功能描述 根据版本和科目查询辅助项详情 
	 * @param pkSubjscheme
	 * @param pkAccsubj
	 * @return List<CwBdAccassitem>
	 * @author huangpeng
	 * @date 2019年7月2日 上午9:55:49
	 * 修改日志
	 */
	List<CwBdAccassitem> searchPkAccassitemList(String pkSubjscheme, String pkAccsubj);
	/**
	 * 功能描述  获取受益凭据信息 
	 *@param xtzxmbh
	 *@return List<CwBdAccassitemWeb>
	 *@author huangpeng
	 *@date 2019年10月30日 下午6:16:53
	 *修改日志:
	 */
	List<CwBdAccassitemWeb> searchCwBdAccassitemForSypj(String xtzxmbh);

    List<CwBdAccassitem> selectCheckType(String subjcode);
}