package com.engine.salary.service;

import com.engine.salary.entity.datacollection.dto.VariableItemListDTO;
import com.engine.salary.entity.datacollection.param.VariableItemQueryParam;
import com.engine.salary.entity.datacollection.param.VariableItemSaveParam;
import com.engine.salary.entity.datacollection.po.VariableItemPO;
import com.engine.salary.util.page.PageInfo;

import java.util.List;

/**
 * @author Harryxzy
 * @ClassName VariableItemService
 * @date 2024/08/07 9:30
 * @description 浮动薪酬项目
 */
public interface VariableItemService {

    VariableItemPO getById(Long id);

    List<VariableItemPO> listByIds(List<Long> ids);

    /**
     * 获取所有的浮动薪酬项目
     *
     * @return
     */
    List<VariableItemPO> listAll();

    /**
     * 获取浮动薪资项目列表（分页）
     *
     * @param queryParam
     * @return
     */
    PageInfo<VariableItemListDTO> listPage(VariableItemQueryParam queryParam);

    /**
     * 新建浮动薪酬项目
     *
     * @param saveParam
     */
    Integer save(VariableItemSaveParam saveParam);

    /**
     * 更新浮动薪酬项目
     *
     * @param saveParam
     */
    VariableItemPO update(VariableItemSaveParam saveParam);

    /**
     * 删除浮动薪资项目
     *
     * @param itemIds
     */
    void deleteItems(List<Long> itemIds);

    /**
     * 浮动薪酬项目详细信息
     *
     * @param id
     * @return
     */
    VariableItemListDTO getDetail(Long id);
}
