package com.engine.salary.report.service;

import com.engine.salary.report.entity.param.SalaryStatisticsItemSaveParam;
import com.engine.salary.report.entity.po.SalaryStatisticsItemPO;

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

/**
 * 薪酬报表自定义统计项目
 * <p>Copyright: Copyright (c) 2022</p>
 * <p>Company: 泛微软件</p>
 *
 * @author qiantao
 * @version 1.0
 **/
public interface SalaryStatisticsItemService  {

    /**
     * 获取单个自定义统计项目
     *
     * @param id
     * @return
     */
    SalaryStatisticsItemPO getById(Long id);

    /**
     * 根据薪资报表id获取自定义统计项目
     *
     * @param statisticsReportId
     * @return
     */
    List<SalaryStatisticsItemPO> listByStatisticsReportId(Long statisticsReportId);

    /**
     * 删除自定义统计项目
     *
     * @param ids
     * @return
     */
    String delete(Collection<Long> ids);

    /**
     * 保存自定义统计项目
     *
     * @param param
     * @return
     */
    String save(SalaryStatisticsItemSaveParam param);

    /**
     * 保存或更新
     * @param salaryStatisticsItemList
     */
    void saveOrUpdateBatch(List<SalaryStatisticsItemPO> salaryStatisticsItemList);

    /**
     * 根据报表id删除
     * @param reportIds
     */
    void deleteByReportIds(List<Long> reportIds);
}
