package com.engine.salary.mapper.datacollection;

import com.engine.salary.entity.datacollection.AddUpSituation;
import com.engine.salary.entity.datacollection.dto.AddUpSituationDTO;
import com.engine.salary.entity.datacollection.dto.AddUpSituationRecordDTO;
import com.engine.salary.entity.datacollection.param.AddUpSituationQueryParam;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;


public interface AddUpSituationMapper {

	/**
     * 查询所有记录
     *
     * @return 返回集合，没有返回空List
     */
	List<AddUpSituation> listAll();


	/**
     * 根据主键查询
     *
     * @param id 主键
     * @return 返回记录，没有返回null
     */
	AddUpSituation getById(Long id);

	/**
	 * 查询数据采集-累计专项附加扣除列表
	 * @param param
	 * @return
	 */
	List<AddUpSituationDTO> list(@Param("param") AddUpSituationQueryParam param);

	List<AddUpSituationRecordDTO> recordList(@Param("param") AddUpSituationQueryParam param);

	/**
	 * 根据条件查询
	 * @param param
	 * @return
	 */
	List<AddUpSituation> listSome(@Param("param") AddUpSituation param);

	/**
	 * 批量插入
	 * @param pos
	 */
	void insertData(@Param("collection") List<AddUpSituation> pos);

	/**
	 * 批量修改
	 * @param updateList
	 */
	void updateData(@Param("collection") List<AddUpSituation> updateList);


	void deleteByTaxYearMonthAndTaxAgentIds(@Param("param") AddUpSituation params);

	void deleteByIds(@Param("ids") Collection<Long> ids);

	/**
	 * 批量删除
	 */
	void deleteData(List<Long> longs);
}