package com.engine.salary.service;

import com.engine.salary.entity.salarysob.po.SalarySobItemGroupPO;

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

/**
 * 薪资账套的薪资项目分类
 * <p>Copyright: Copyright (c) 2022</p>
 * <p>Company: 泛微软件</p>
 *
 * @author qiantao
 * @version 1.0
 **/
public interface SalarySobItemGroupService {

    /**
     * 根据主键id获取单个薪资账套的薪资项目分类
     *
     * @param id        薪资账套的薪资项目分类的主键id
     * @return
     */
    SalarySobItemGroupPO getById(Long id);

    /**
     * 根据薪资账套id查询薪资账套的薪资项目分类
     *
     * @param salarySobId 薪资账套id
     * @return
     */
    List<SalarySobItemGroupPO> listBySalarySobId(Long salarySobId);

    /**
     * 根据薪资账套id查询薪资账套的薪资项目分类带上隐藏信息
     *
     * @param salarySobId 薪资账套id
     * @return
     */
    List<SalarySobItemGroupPO> listBySalarySobIdWithItemHide(Long salarySobId);

    /**
     * 批量保存
     *
     * @param salarySobItemGroupPOS 薪资账套的薪资项目分类po集合
     */
    void batchSave(Collection<SalarySobItemGroupPO> salarySobItemGroupPOS);

    /**
     * 根据薪资账套id删除薪资账套的薪资项目分类
     *
     * @param salarySobIds 薪资账套id
     */
    void deleteBySalarySobIds(Collection<Long> salarySobIds);
}
