package com.engine.salary.wrapper.proxy;

import com.engine.salary.entity.salaryacct.dto.SalaryAcctRecordListDTO;
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
import com.engine.salary.util.page.PageInfo;

import java.util.Collection;
import java.util.Map;

public interface SalaryAcctRecordWrapperProxy {
    /**
     * 分页列表
     */
    PageInfo<SalaryAcctRecordListDTO> listPage(SalaryAcctRecordQueryParam queryParam);

    /**
     * 薪资核算记录详情
     *
     * @param id 薪资核算记录id
     */
    Map<String, Object> getForm(Long id);


    /**
     * 保存
     *
     * @param saveParam 保存参数
     */
    Long save(SalaryAcctRecordSaveParam saveParam);

    /**
     * 删除
     *
     * @param ids 薪资核算记录的id
     */
    void delete(Collection<Long> ids);

    /**
     * 归档
     *
     * @param id 薪资核算记录的id
     */
    void file(Long id);

    /**
     * 重新核算
     *
     * @param id 薪资核算记录的id
     */
    void reCalculate(Long id);

}
