package com.engine.salary.service;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.enums.SalarySystemTypeEnum;
import java.util.Collection;
import java.util.List;
/**
* 薪资项目
*
Copyright: Copyright (c) 2022
* Company: 泛微软件
*
* @author qiantao
* @version 1.0
**/
public interface SalaryItemService {
/**
* 根据主键id获取薪资项目
*
* @param id 主键id
* @return
*/
SalaryItemPO getById(Long id);
/**
* 查询所有薪资项目
*
* @return
*/
List listAll();
/**
* 根据主键id获取薪资项目
*
* @param ids 主键id
* @return
*/
List listByIds(Collection ids);
/**
* 根据系统薪资项目的id查询薪资项目
*
* @param sysSalaryItemIds 关联的系统薪资项目id
* @return
*/
List listBySysSalaryItemIds(Collection sysSalaryItemIds);
/**
* 根据名称精确匹配获取薪资项目
*
* @param name 薪资项目名称
* @return
*/
List listByName(String name);
/**
* 根据(自定义薪资项目/系统薪资项目)查询薪资项目
*
* @param systemType 自定义薪资项目/系统薪资项目
* @return
*/
List listBySystemType(SalarySystemTypeEnum systemType);
/**
* 根据(自定义薪资项目/系统薪资项目)、是否默认使用 查询薪资项目
*
* @param systemType 自定义薪资项目/系统薪资项目
* @param useDefault 是否默认使用
* @return
*/
List listBySystemTypeAndUseDefault(SalarySystemTypeEnum systemType, Integer useDefault);
/**
* 根据查询参数获取薪资项目(分页)
*
* @param searchParam 查询参数
* @param tenantKey 租户key
* @return
*/
// Page listPageByParam(SalaryItemSearchParam searchParam, String tenantKey);
// /**
// * 保存
// *
// * @param saveParam 保存参数
// * @param employeeId 人员id
// * @param tenantKey 租户key
// */
// void save(SalaryItemSaveParam saveParam, Long employeeId, String tenantKey);
//
// /**
// * 批量保存
// *
// * @param salaryItemPOS 薪资项目
// */
// void batchSave(Collection salaryItemPOS);
//
// /**
// * 更新
// *
// * @param saveParam 更新参数
// * @param employeeId 人员id
// * @param tenantKey 租户key
// */
// void update(SalaryItemSaveParam saveParam, Long employeeId, String tenantKey);
//
// /**
// * 根据主键id删除薪资项目
// *
// * @param ids 主键id
// * @param tenantKey 租户key
// */
// void deleteByIds(Collection ids, String tenantKey);
}