package com.engine.salary.service; import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO; import com.engine.salary.entity.salarysob.param.SalarySobBasicSaveParam; import com.engine.salary.entity.salarysob.param.SalarySobDisableParam; import com.engine.salary.entity.salarysob.param.SalarySobDuplicateParam; import com.engine.salary.entity.salarysob.param.SalarySobListQueryParam; import com.engine.salary.entity.salarysob.po.SalarySobPO; import com.engine.salary.enums.salarysob.IncomeCategoryEnum; import com.engine.salary.util.page.PageInfo; import java.time.YearMonth; import java.util.Collection; import java.util.List; /** * 薪资账套 *

Copyright: Copyright (c) 2022

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public interface SalarySobService { /** * 根据主键id获取单个薪资账套 * * @param id 主键id * @return */ SalarySobPO getById(Long id); /** * 根据主键id查询薪资账套 * * @param ids 主键id * @return */ List listByIds(Collection ids); /** * 根据名称精确匹配查询薪资账套 * * @param name 薪资账套名称 * @return */ List listByName(String name); /** * 根据名称(模糊匹配)查询薪资账套 * * @param nameLike 薪资账套名称 * @return */ List listByNameLike(String nameLike); /** * 查询启用/禁用的薪资账套 * * @param disable 启用/禁用 * @return */ List listByDisable(Integer disable); List listAll(); /** * 获取拥有管理权限的账套 * @return */ List listByAdmin(); List listByTaxAgentId(Long taxAgentId); /** * 根据薪资类型查询薪资账套 * * @param incomeCategory 薪资类型 * @return */ List listByIncomeCategory(IncomeCategoryEnum incomeCategory); /** * 根据列表查询参数查询薪资账套(分页) * * @param queryParam 列表查询参数 * @return */ PageInfo listPageByParam(SalarySobListQueryParam queryParam); List listByParam(SalarySobListQueryParam queryParam); /** * 保存 * * @param saveParam 保存参数 * @return */ Long save(SalarySobBasicSaveParam saveParam); /** * 编辑 * * @param saveParam 更新参数 * @return */ Long update(SalarySobBasicSaveParam saveParam); /** * 更新薪资账套的是否启用 * * @param disableParam 更新参数 */ void updateDisable(SalarySobDisableParam disableParam); /** * 根据主键id删除 * * @param ids 薪资账套的主键id */ void deleteByIds(Collection ids); /** * 复制 * * @param duplicateParam 复制参数 */ void duplicate(SalarySobDuplicateParam duplicateParam); /** * 根据薪资所属月计算出薪资账套的薪资周期、考勤周期的具体日期范围以及税款所属期、福利台账月份的具体月份 * * @param id 薪资账套的id * @param salaryMonth 薪资所属月 * @return */ SalarySobCycleDTO getSalarySobCycle(Long id, YearMonth salaryMonth); /** * 按权限过滤掉无权限的薪资账套 * * 总管理员拥有权限 * @param salarySobPOS * @return */ List filterByAuthority(List salarySobPOS); /** * 根据扣缴义务人查询 * @param taxAgentIds * @return */ List listByTaxAgentIds(Collection taxAgentIds); }