166 lines
4.1 KiB
Java
166 lines
4.1 KiB
Java
package com.engine.salary.service;
|
|
|
|
import com.engine.salary.entity.salaryitem.config.SalaryItemConfig;
|
|
import com.engine.salary.entity.salaryitem.param.*;
|
|
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
|
import com.engine.salary.enums.SalarySystemTypeEnum;
|
|
import com.engine.salary.service.impl.SalaryItemServiceImpl;
|
|
import com.engine.salary.util.excel.ImportExcelResponse;
|
|
import com.engine.salary.util.page.PageInfo;
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
|
import java.util.Collection;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
|
|
/**
|
|
* 薪资项目
|
|
* <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获取薪资项目
|
|
*
|
|
* @param ids 主键id
|
|
* @return
|
|
*/
|
|
List<SalaryItemPO> listByIds(Collection<Long> ids);
|
|
|
|
/**
|
|
* 根据系统薪资项目的id查询薪资项目
|
|
*
|
|
* @param sysSalaryItemIds 关联的系统薪资项目id
|
|
* @return
|
|
*/
|
|
List<SalaryItemPO> listBySysSalaryItemIds(Collection<Long> sysSalaryItemIds);
|
|
|
|
/**
|
|
* 根据名称精确匹配获取薪资项目
|
|
*
|
|
* @param name 薪资项目名称
|
|
* @return
|
|
*/
|
|
List<SalaryItemPO> listByName(String name);
|
|
SalaryItemPO getByName(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
|
|
*/
|
|
List<SalaryItemPO> listByParam(SalaryItemSearchParam searchParam);
|
|
|
|
List<SalaryItemPO> listByParamOrderById(SalaryItemSearchParam searchParam);
|
|
|
|
PageInfo<SalaryItemPO> listPageByParam(SalaryItemSearchParam searchParam);
|
|
|
|
|
|
boolean filterInRange(Set<Long> userTaxAgentIds, SalaryItemPO po);
|
|
|
|
/**
|
|
* 保存
|
|
*
|
|
* @param saveParam 保存参数
|
|
*/
|
|
SalaryItemPO save(SalaryItemSaveParam saveParam);
|
|
|
|
/**
|
|
* 批量保存
|
|
*
|
|
* @param salaryItemPOS 薪资项目
|
|
*/
|
|
void batchSave(Collection<SalaryItemPO> salaryItemPOS);
|
|
|
|
/**
|
|
* 更新
|
|
*
|
|
* @param saveParam 更新参数
|
|
*/
|
|
SalaryItemPO update(SalaryItemSaveParam saveParam);
|
|
|
|
/**
|
|
* 根据主键id删除薪资项目
|
|
*
|
|
* @param ids 主键id
|
|
*/
|
|
void deleteByIds(Collection<Long> ids);
|
|
|
|
/**
|
|
* 获取使用中的项目情况
|
|
*
|
|
* @return
|
|
*/
|
|
SalaryItemServiceImpl.UsingItem getUsingItem();
|
|
|
|
/**
|
|
* 批量保存薪资项目顺序
|
|
* @param values
|
|
*/
|
|
void batchUpdateSortedIndex(List<SalaryItemPO> values);
|
|
|
|
/**
|
|
* 获取薪资项目在哪些账套中使用
|
|
* @param salaryItemId
|
|
* @return
|
|
*/
|
|
List<Map<String, Object>> getSalarySobBySalaryItem(Long salaryItemId);
|
|
|
|
/**
|
|
* 将薪资项目管理中的信息同步至账套
|
|
* @param syncSalaryItemParam
|
|
*/
|
|
void syncSalaryItemToSalarySobItem(SyncSalaryItemParam syncSalaryItemParam);
|
|
|
|
List<SalaryItemConfig> getConfig(SalaryItemExportParam param);
|
|
|
|
List<SalaryItemConfig> getAllConfig(SalaryItemExportParam param);
|
|
|
|
Map<String, Object> preview(SalaryItemImportParam param);
|
|
|
|
ImportExcelResponse importSalaryItem(SalaryItemImportParam param);
|
|
|
|
XSSFWorkbook export(SalaryItemExportParam param);
|
|
|
|
XSSFWorkbook downloadTemplate(SalaryItemDownloadTemplateParam param);
|
|
}
|