package com.engine.salary.service; import com.engine.salary.entity.salarysob.param.SalarySobBasicSaveParam; import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO; import com.engine.salary.entity.salarysob.param.SalarySobDisableParam; import com.engine.salary.entity.salarysob.param.SalarySobDuplicateParam; import com.engine.salary.entity.salarysob.po.SalarySobPO; import com.engine.salary.enums.salarysob.IncomeCategoryEnum; import java.time.YearMonth; import java.util.Collection; import java.util.List; /** * @description: 薪资账套 * @author: xiajun * @modified By: xiajun * @date: Created in 11/9/21 4:06 PM * @version:v1.0 */ public interface SalarySobService { /** * 根据主键id获取单个薪资账套 * * @param id 主键id * @param tenantKey 租户key * @return */ SalarySobPO getById(Long id, String tenantKey); /** * 根据主键id查询薪资账套 * * @param ids 主键id * @param tenantKey 租户key * @return */ List listByIds(Collection ids, String tenantKey); /** * 根据名称精确匹配查询薪资账套 * * @param name 薪资账套名称 * @param tenantKey 租户key * @return */ List listByName(String name, String tenantKey); /** * 根据名称(模糊匹配)查询薪资账套 * * @param nameLike 薪资账套名称 * @param tenantKey 租户key * @return */ List listByNameLike(String nameLike, String tenantKey); /** * 查询启用/禁用的薪资账套 * * @param disable 启用/禁用 * @param tenantKey 租户key * @return */ List listByDisable(Integer disable, String tenantKey); /** * 根据薪资类型查询薪资账套 * * @param incomeCategory 薪资类型 * @param tenantKey 租户key * @return */ List listByIncomeCategory(IncomeCategoryEnum incomeCategory, String tenantKey); /** * 根据列表查询参数查询薪资账套(分页) * * @param queryParam 列表查询参数 * @param tenantKey 租户key * @return */ // Page listPageByParam(SalarySobListQueryParam queryParam, String tenantKey); /** * 保存 * * @param saveParam 保存参数 * @param employeeId 人员id * @param tenantKey 租户key * @return */ Long save(SalarySobBasicSaveParam saveParam, Long employeeId, String tenantKey); /** * 编辑 * * @param saveParam 更新参数 * @param employeeId 人员id * @param tenantKey 租户key * @return */ Long update(SalarySobBasicSaveParam saveParam, Long employeeId, String tenantKey); /** * 更新薪资账套的是否启用 * * @param disableParam 更新参数 * @param tenantKey 租户key */ void updateDisable(SalarySobDisableParam disableParam, String tenantKey); /** * 根据主键id删除 * * @param ids 薪资账套的主键id * @param tenantKey 租户key */ void deleteByIds(Collection ids, String tenantKey); /** * 复制 * * @param duplicateParam 复制参数 * @param employeeId 人员id * @param tenantKey 租户key */ void duplicate(SalarySobDuplicateParam duplicateParam, Long employeeId, String tenantKey); /** * 根据薪资所属月计算出薪资账套的薪资周期、考勤周期的具体日期范围以及税款所属期、福利台账月份的具体月份 * * @param id 薪资账套的id * @param salaryMonth 薪资所属月 * @return */ SalarySobCycleDTO getSalarySobCycle(Long id, YearMonth salaryMonth); }