156 lines
3.8 KiB
Java
156 lines
3.8 KiB
Java
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;
|
|
|
|
/**
|
|
* 薪资账套
|
|
* <p>Copyright: Copyright (c) 2022</p>
|
|
* <p>Company: 泛微软件</p>
|
|
*
|
|
* @author qiantao
|
|
* @version 1.0
|
|
**/
|
|
public interface SalarySobService {
|
|
|
|
/**
|
|
* 根据主键id获取单个薪资账套
|
|
*
|
|
* @param id 主键id
|
|
* @return
|
|
*/
|
|
SalarySobPO getById(Long id);
|
|
|
|
/**
|
|
* 根据主键id查询薪资账套
|
|
*
|
|
* @param ids 主键id
|
|
* @return
|
|
*/
|
|
List<SalarySobPO> listByIds(Collection<Long> ids);
|
|
|
|
/**
|
|
* 根据名称精确匹配查询薪资账套
|
|
*
|
|
* @param name 薪资账套名称
|
|
* @return
|
|
*/
|
|
List<SalarySobPO> listByName(String name);
|
|
|
|
/**
|
|
* 根据名称(模糊匹配)查询薪资账套
|
|
*
|
|
* @param nameLike 薪资账套名称
|
|
* @return
|
|
*/
|
|
List<SalarySobPO> listByNameLike(String nameLike);
|
|
|
|
/**
|
|
* 查询启用/禁用的薪资账套
|
|
*
|
|
* @param disable 启用/禁用
|
|
* @return
|
|
*/
|
|
List<SalarySobPO> listByDisable(Integer disable);
|
|
|
|
List<SalarySobPO> listAll();
|
|
|
|
/**
|
|
* 获取拥有管理权限的账套
|
|
* @return
|
|
*/
|
|
List<SalarySobPO> listByAdmin();
|
|
|
|
List<SalarySobPO> listByTaxAgentId(Long taxAgentId);
|
|
|
|
/**
|
|
* 根据薪资类型查询薪资账套
|
|
*
|
|
* @param incomeCategory 薪资类型
|
|
* @return
|
|
*/
|
|
List<SalarySobPO> listByIncomeCategory(IncomeCategoryEnum incomeCategory);
|
|
|
|
/**
|
|
* 根据列表查询参数查询薪资账套(分页)
|
|
*
|
|
* @param queryParam 列表查询参数
|
|
* @return
|
|
*/
|
|
PageInfo<SalarySobPO> listPageByParam(SalarySobListQueryParam queryParam);
|
|
|
|
List<SalarySobPO> 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<Long> ids);
|
|
|
|
/**
|
|
* 复制
|
|
*
|
|
* @param duplicateParam 复制参数
|
|
*/
|
|
void duplicate(SalarySobDuplicateParam duplicateParam);
|
|
|
|
/**
|
|
* 根据薪资所属月计算出薪资账套的薪资周期、考勤周期的具体日期范围以及税款所属期、福利台账月份的具体月份
|
|
*
|
|
* @param id 薪资账套的id
|
|
* @param salaryMonth 薪资所属月
|
|
* @return
|
|
*/
|
|
SalarySobCycleDTO getSalarySobCycle(Long id, YearMonth salaryMonth);
|
|
|
|
/**
|
|
* 按权限过滤掉无权限的薪资账套
|
|
*
|
|
* 总管理员拥有权限
|
|
* @param salarySobPOS
|
|
* @return
|
|
*/
|
|
List<SalarySobPO> filterByAuthority(List<SalarySobPO> salarySobPOS);
|
|
|
|
/**
|
|
* 根据扣缴义务人查询
|
|
* @param taxAgentIds
|
|
* @return
|
|
*/
|
|
List<SalarySobPO> listByTaxAgentIds(Collection<Long> taxAgentIds);
|
|
}
|