package com.engine.salary.service; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeListDTO; import com.engine.salary.entity.taxagent.param.TaxAgentRangeQueryParam; import com.engine.salary.entity.taxagent.param.TaxAgentRangeSaveParam; import com.engine.salary.entity.taxagent.param.TaxAgentSubAdminRangeQueryParam; import com.engine.salary.entity.taxagent.param.TaxAgentSubAdminRangeSaveParam; import com.engine.salary.entity.taxagent.po.TaxAgentManageRangePO; import com.engine.salary.enums.salarysob.SalaryEmployeeStatusEnum; import com.engine.salary.util.page.PageInfo; import java.util.Collection; import java.util.List; /** * 个税扣缴义务人的管理范围 *

Copyright: Copyright (c) 2022

*

Company: 泛微软件

* * @author qiantao * @version 1.0 **/ public interface TaxAgentManageRangeService { /** * 根据个税扣缴义务人ID和当前账户查询人员 * * @param taxAgentIds * @return */ List listSalaryEmployeeByTaxAgentIds(List taxAgentIds); /** * 根据人员状态、个税扣缴义务人ID和当前账户查询人员 * * @param employeeStatus * @param taxAgentIds * @return */ List listSalaryEmployeeByTaxAgentIds(SalaryEmployeeStatusEnum employeeStatus, List taxAgentIds); /** * 根据分管理员ID和当前账户查询人员 * * @param taxAgentSubAdminIds * @return */ List listSalaryEmployeeBySubAdminIds(List taxAgentSubAdminIds); /** * 根据人员状态、分管理员ID和当前账户查询人员 * * @param employeeStatus * @param taxAgentSubAdminIds * @return */ List listSalaryEmployeeBySubAdminIds(SalaryEmployeeStatusEnum employeeStatus, List taxAgentSubAdminIds); /** * 根据查询条件查询分管理员的人员范围 * * @param queryParam 查询条件 * @param includeType 0-从范围中排除/1-关联人员范围 * @return */ PageInfo listPageByParamAndIncludeType(TaxAgentSubAdminRangeQueryParam queryParam, Integer includeType); /** * 根据查询条件查询个税扣缴义务人的人员范围 * * @param queryParam 查询条件 * @param includeType 0-从范围中排除/1-关联人员范围 * @return */ PageInfo listPageByParamAndIncludeType(TaxAgentRangeQueryParam queryParam, Integer includeType); /** * 根据分管理员id集合查询范围列表 * * @param taxAgentSubAdminIds * @return */ List listBySubAdminIds(Collection taxAgentSubAdminIds); /** * 保存 * * @param saveParam 保存参数 * @param employeeId 人员id */ void save(TaxAgentRangeSaveParam saveParam, Long employeeId); /** * 保存分管理员的管理范围 * * @param saveParam * @param employeeId */ void save4SubAdmin(TaxAgentSubAdminRangeSaveParam saveParam, Long employeeId); /** * 根据主键id删除管理范围 * * @param ids * @param employeeId */ void deleteByIds(Collection ids, Long employeeId); /** * 根据个税扣缴义务人的id删除管理范围 * * @param taxAgentIds 个税扣缴义务人的id */ void deleteByTaxAgentIds(Collection taxAgentIds); /** * 根据分管理员的id删除管理范围 * * @param subAdminIds 分管理员列表 */ void deleteBySubAdmins(Collection subAdminIds); }