weaver-hrm-salary/src/com/engine/salary/service/SalaryItemService.java

151 lines
3.7 KiB
Java
Raw Normal View History

2022-03-17 15:14:35 +08:00
package com.engine.salary.service;
2022-03-21 09:33:21 +08:00
import com.engine.salary.entity.salaryitem.param.SalaryItemSaveParam;
import com.engine.salary.entity.salaryitem.param.SalaryItemSearchParam;
2023-08-31 09:24:41 +08:00
import com.engine.salary.entity.salaryitem.param.SyncSalaryItemParam;
2022-03-17 15:14:35 +08:00
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.enums.SalarySystemTypeEnum;
2023-02-17 14:37:59 +08:00
import com.engine.salary.service.impl.SalaryItemServiceImpl;
2022-04-15 13:54:47 +08:00
import com.engine.salary.util.page.PageInfo;
2022-03-17 15:14:35 +08:00
import java.util.Collection;
import java.util.List;
2023-08-31 09:24:41 +08:00
import java.util.Map;
2022-11-11 13:59:37 +08:00
import java.util.Set;
2022-03-17 15:14:35 +08:00
/**
* 薪资项目
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public interface SalaryItemService {
/**
* 根据主键id获取薪资项目
*
* @param id 主键id
* @return
*/
SalaryItemPO getById(Long id);
/**
* 查询所有薪资项目
*
* @return
*/
List<SalaryItemPO> listAll();
/**
* 根据主键id获取薪资项目
*
2023-02-17 14:37:59 +08:00
* @param ids 主键id
2022-03-17 15:14:35 +08:00
* @return
*/
List<SalaryItemPO> listByIds(Collection<Long> ids);
/**
* 根据系统薪资项目的id查询薪资项目
*
* @param sysSalaryItemIds 关联的系统薪资项目id
* @return
*/
List<SalaryItemPO> listBySysSalaryItemIds(Collection<Long> sysSalaryItemIds);
/**
* 根据名称精确匹配获取薪资项目
*
2023-02-17 14:37:59 +08:00
* @param name 薪资项目名称
2022-03-17 15:14:35 +08:00
* @return
*/
List<SalaryItemPO> listByName(String name);
/**
* 根据自定义薪资项目/系统薪资项目查询薪资项目
*
* @param systemType 自定义薪资项目/系统薪资项目
* @return
*/
List<SalaryItemPO> listBySystemType(SalarySystemTypeEnum systemType);
/**
* 根据自定义薪资项目/系统薪资项目是否默认使用 查询薪资项目
*
* @param systemType 自定义薪资项目/系统薪资项目
* @param useDefault 是否默认使用
* @return
*/
List<SalaryItemPO> listBySystemTypeAndUseDefault(SalarySystemTypeEnum systemType, Integer useDefault);
/**
* 根据查询参数获取薪资项目分页
*
* @param searchParam 查询参数
* @return
*/
2022-03-21 09:33:21 +08:00
List<SalaryItemPO> listByParam(SalaryItemSearchParam searchParam);
2023-05-31 09:55:24 +08:00
List<SalaryItemPO> listByParamOrderById(SalaryItemSearchParam searchParam);
2022-03-21 09:33:21 +08:00
PageInfo<SalaryItemPO> listPageByParam(SalaryItemSearchParam searchParam);
2022-11-11 13:59:37 +08:00
boolean filterInRange(Set<Long> userTaxAgentIds, SalaryItemPO po);
2022-03-21 09:33:21 +08:00
/**
* 保存
*
2023-02-17 14:37:59 +08:00
* @param saveParam 保存参数
2022-03-21 09:33:21 +08:00
*/
2024-02-21 18:19:02 +08:00
SalaryItemPO save(SalaryItemSaveParam saveParam);
2022-03-21 09:33:21 +08:00
/**
* 批量保存
*
* @param salaryItemPOS 薪资项目
*/
void batchSave(Collection<SalaryItemPO> salaryItemPOS);
/**
* 更新
*
2023-02-17 14:37:59 +08:00
* @param saveParam 更新参数
2022-03-21 09:33:21 +08:00
*/
2024-02-21 18:19:02 +08:00
SalaryItemPO update(SalaryItemSaveParam saveParam);
2022-03-21 09:33:21 +08:00
/**
* 根据主键id删除薪资项目
*
2023-02-17 14:37:59 +08:00
* @param ids 主键id
2022-03-21 09:33:21 +08:00
*/
void deleteByIds(Collection<Long> ids);
2023-02-17 14:37:59 +08:00
/**
* 获取使用中的项目情况
*
* @return
*/
SalaryItemServiceImpl.UsingItem getUsingItem();
2023-05-31 09:55:24 +08:00
/**
* 批量保存薪资项目顺序
* @param values
*/
void batchUpdateSortedIndex(List<SalaryItemPO> values);
2023-08-31 09:24:41 +08:00
/**
* 获取薪资项目在哪些账套中使用
* @param salaryItemId
* @return
*/
List<Map<String, Object>> getSalarySobBySalaryItem(Long salaryItemId);
2023-05-31 09:55:24 +08:00
2023-08-31 09:24:41 +08:00
/**
* 将薪资项目管理中的信息同步至账套
* @param syncSalaryItemParam
*/
void syncSalaryItemToSalarySobItem(SyncSalaryItemParam syncSalaryItemParam);
2022-03-17 15:14:35 +08:00
}