package com.engine.salary.mapper.salarybill;
import com.engine.salary.entity.salaryBill.dto.SalaryMySalaryBillListDTO;
import com.engine.salary.entity.salaryBill.dto.SalarySendDetailListDTO;
import com.engine.salary.entity.salaryBill.dto.SalarySendInfoListDTO;
import com.engine.salary.entity.salaryBill.param.SalaryBillQueryParam;
import com.engine.salary.entity.salaryBill.param.SalarySendDetailQueryParam;
import com.engine.salary.entity.salaryBill.param.SalarySendInfoQueryParam;
import com.engine.salary.entity.salaryBill.po.SalarySendInfoPO;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.List;
import java.util.Set;
/**
* 工资单发放信息
*
Copyright: Copyright (c) 2022
* Company: 泛微软件
*
* @author qiantao
* @version 1.0
**/
public interface SalarySendInfoMapper {
List listSalaryAccRecordIds(@Param("param") SalarySendDetailQueryParam param);
/**
* 查询工资单发放信息列表
* @param param
* @return
*/
List list(@Param("param") SalarySendInfoQueryParam param);
/**
* 分页查询工资单发放信息列表
* @param page
* @param param
* @param tenantKey
* @return
*/
// IPage list(Page page, @Param("param") SalarySendInfoQueryParam param, @Param("tenantKey") String tenantKey);
/**
* 查询工资单发放详情列表
*
* @param param
* @param otherSalaryAccRecordIds
* @return
*/
List detailList(@Param("param") SalarySendDetailQueryParam param,
@Param("otherSalaryAccRecordIds") Set otherSalaryAccRecordIds);
/**
* 分页查询工资单发放详情列表
* @param page
* @param param
* @param tenantKey
* @return
*/
// IPage detailList(Page page, @Param("param") SalarySendDetailQueryParam param, @Param("tenantKey") String tenantKey);
/**
* 分页查询我的工资单列表
* @param queryParam
* @return
*/
List mySalaryBillList(@Param("param") SalaryBillQueryParam queryParam);
/**
* 批量插入工资单信息记录
* @param pos
*/
void batchInsert(@Param("collection") List pos);
/**
* 发放、撤回工资单
* @param po
* @param salarySendId
* @param statusList
* @param ids
*/
void updateGrantWithdraw(@Param("po") SalarySendInfoPO po, @Param("salarySendId")Long salarySendId, @Param("statusList")List statusList, @Param("ids")Collection ids);
/**
* 根据现有字段查询
* @param params
* @return
*/
List listSome(SalarySendInfoPO params);
/**
* 根据id更新
* @param po
*/
void updateIgnoreNull(SalarySendInfoPO po);
}