package com.dhcc.finance.main.dao;

import com.dhcc.finance.main.domain.CwGlVouchermaxno;
import com.dhcc.finance.main.domain.CwGlVouchermaxnoExample;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CwGlVouchermaxnoMapper {
    long countByExample(CwGlVouchermaxnoExample example);

    int deleteByExample(CwGlVouchermaxnoExample example);

    int deleteByPrimaryKey(String pkVouchermaxno);

    int insert(CwGlVouchermaxno record);

    int insertSelective(CwGlVouchermaxno record);

    List<CwGlVouchermaxno> selectByExample(CwGlVouchermaxnoExample example);

    CwGlVouchermaxno selectByPrimaryKey(String pkVouchermaxno);

    int updateByExampleSelective(@Param("record") CwGlVouchermaxno record, @Param("example") CwGlVouchermaxnoExample example);

    int updateByExample(@Param("record") CwGlVouchermaxno record, @Param("example") CwGlVouchermaxnoExample example);

    int updateByPrimaryKeySelective(CwGlVouchermaxno record);

    int updateByPrimaryKey(CwGlVouchermaxno record);

	/**
	 * 获取最大凭证号
	 * @param pkGlorgbook
	 * @param period
	 * @param pkVouchertype
	 * @return List<CwGlVouchermaxno>
	 *@author huangpeng
	 *@date 2019年4月12日 下午4:05:06
	 *@修改日志：
	 */
	CwGlVouchermaxno selectGetMaxNo(@Param("pkGlorgbook")String pkGlorgbook, @Param("period")String period);
	/**
	 * 功能描述：查询某账套某期间全部最大凭证号信息
	 * @param pkGlorgbook
	 * @param period
	 * @return List<CwGlVouchermaxno>
	 * @author dml
	 * @date 2019年4月25日 下午5:04:57
	 * @修改日志：
	 */
	List<CwGlVouchermaxno> selectCwGlVouchermaxno(@Param("pkGlorgbook")String pkGlorgbook, @Param("period")String period);
	/**
	 * 功能描述：批量插入最大凭证信息
	 * @param cwGlVouchermaxnoList
	 * @return int
	 * @author dml
	 * @date 2019年4月25日 下午7:09:04
	 * @修改日志：
	 */
	int insertCwGlVouchermaxnoBatch(List<CwGlVouchermaxno> cwGlVouchermaxnoList);


	/**
	 * @description: 获取最大凭证号
	 * @param [pkGlorgbook, period]
	 * @return com.dhcc.finance.main.domain.CwGlVouchermaxno
	 * @author liuxianjv
	 * @date 2020-06-13 10:41
	 */
	CwGlVouchermaxno getVoucherMaxNo(@Param("pkGlorgbook")String pkGlorgbook, @Param("period")String period);
	
	/**
	 * 功能描述：批量获取最大凭证号
	 * @param pkGlorgbook
	 * @param periodList
	 * @return List<CwGlVouchermaxno>
	 * @author leiyu
	 * @date 2020年6月17日 下午3:22:07
	 */
	List<CwGlVouchermaxno> selectGetMaxNoForBatch(@Param("pkGlorgbook")String pkGlorgbook, @Param("list")List<String> periodList);
}
