2022-05-19 14:50:01 +08:00
|
|
|
|
package com.engine.salary.service;
|
|
|
|
|
|
|
|
|
|
|
|
import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO;
|
|
|
|
|
|
import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeTaxAgentDTO;
|
|
|
|
|
|
import com.engine.salary.entity.taxagent.dto.TaxAgentListDTO;
|
|
|
|
|
|
import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO;
|
|
|
|
|
|
import com.engine.salary.entity.taxagent.param.TaxAgentAdminChangeCheckParam;
|
|
|
|
|
|
import com.engine.salary.entity.taxagent.param.TaxAgentQueryParam;
|
|
|
|
|
|
import com.engine.salary.entity.taxagent.param.TaxAgentSaveParam;
|
2022-10-26 13:46:36 +08:00
|
|
|
|
import com.engine.salary.entity.taxagent.po.TaxAgentEmployeePO;
|
2022-05-19 14:50:01 +08:00
|
|
|
|
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
|
|
|
|
|
import com.engine.salary.enums.salarysob.SalaryEmployeeStatusEnum;
|
|
|
|
|
|
import com.engine.salary.enums.taxagent.TaxAgentRoleTypeEnum;
|
|
|
|
|
|
import com.engine.salary.util.page.PageInfo;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.Collection;
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
2022-05-31 21:05:59 +08:00
|
|
|
|
public interface TaxAgentService {
|
2022-05-19 14:50:01 +08:00
|
|
|
|
|
2022-10-26 13:46:36 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 获取租户下所有人员的基本信息
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxAgentEmployeePO> listEmployees();
|
|
|
|
|
|
|
2022-05-19 14:50:01 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 获取当前登录人角色(返回最大角色,优先级为:总管理员-》管理员-》分管理员)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param currentEmployeeId
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
TaxAgentRoleTypeEnum getRoleType(Long currentEmployeeId);
|
|
|
|
|
|
|
2022-05-31 21:48:00 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 是否需要分权
|
2022-10-26 13:46:36 +08:00
|
|
|
|
*
|
2022-05-31 21:48:00 +08:00
|
|
|
|
* @param currentEmployeeId
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Boolean isNeedAuth(Long currentEmployeeId);
|
|
|
|
|
|
|
2022-05-19 14:50:01 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 是否是薪酬模块总管理员
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param currentEmployeeId
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Boolean isChief(Long currentEmployeeId);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 默认权限是否开启
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param currentEmployeeId
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Boolean isDefaultOpen(Long currentEmployeeId);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 管理员是否有权限
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param currentEmployeeId
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Boolean isAdminEnable(Long currentEmployeeId);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 个税扣缴义务人列表(分页)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param queryParam
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
PageInfo<TaxAgentPO> listPage(TaxAgentQueryParam queryParam);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 个税扣缴义务人列表(不分页)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param queryParam
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxAgentPO> list(TaxAgentQueryParam queryParam);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 根据id查询个税扣缴义务人
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param ids
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxAgentPO> listByIds(Collection<Long> ids);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 查询租户下的所有个税扣缴义务人
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxAgentPO> listAll();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 根据id获取单个个税扣缴义务人
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param id
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
TaxAgentPO getById(Long id);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取所有个税扣缴义务人
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Collection<TaxAgentListDTO> findAll();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取作为管理员或分管理员的个税扣缴义务人列表
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param currentEmployeeId 当前登录人id
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Collection<TaxAgentPO> listAllTaxAgents(Long currentEmployeeId);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取作为管理员的所有个税扣缴义务人列表
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param currentEmployeeId 当前登录人id
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Collection<TaxAgentPO> listAllTaxAgentsAsAdmin(Long currentEmployeeId);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取作为人员范围中的个税扣缴义务人列表
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param employeeIds 被管理的人员id
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Collection<TaxAgentEmployeeTaxAgentDTO> listAllTaxAgentsAsRange(List<Long> employeeIds);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 新建个税扣缴义务人
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param saveParam
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-05-24 09:14:26 +08:00
|
|
|
|
String save(TaxAgentSaveParam saveParam);
|
2022-05-19 14:50:01 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 更新代缴机构
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param taxAgentPO
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-05-19 16:36:18 +08:00
|
|
|
|
String paymentAgencyUpdate(TaxAgentPO taxAgentPO);
|
2022-05-19 14:50:01 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 编辑个税扣缴义务人
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param saveParam
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-05-24 09:14:26 +08:00
|
|
|
|
String update(TaxAgentSaveParam saveParam);
|
2022-05-19 14:50:01 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 删除个税扣缴义务人
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param ids
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-12-02 16:58:19 +08:00
|
|
|
|
String delete(List<Long> ids);
|
2022-05-19 14:50:01 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取个税扣缴义务人下拉列表
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-05-24 09:14:26 +08:00
|
|
|
|
List<Map<String, Object>> selectList();
|
2022-05-19 14:50:01 +08:00
|
|
|
|
|
2022-07-05 15:31:18 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 获取作为管理员的个税扣缴义务人的下拉列表
|
2022-10-26 13:46:36 +08:00
|
|
|
|
*
|
2022-07-05 15:31:18 +08:00
|
|
|
|
* @param chiefCanSeeAll
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<Map<String, Object>> selectListAsAdmin(boolean chiefCanSeeAll);
|
|
|
|
|
|
|
2022-05-19 14:50:01 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 是否开启分权
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Boolean isOpenDevolution();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取个税扣缴义务人和可查看的人员列表(树型)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param employeeId
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxAgentManageRangeEmployeeDTO> listTaxAgentAndEmployeeTree(Long employeeId);
|
|
|
|
|
|
|
2022-12-05 09:57:27 +08:00
|
|
|
|
List<TaxAgentManageRangeEmployeeDTO> listAllTaxAgentAndEmployeeTree();
|
|
|
|
|
|
|
2022-12-08 17:48:46 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 获取所有个税扣缴义务人和可查看的人员列表(树型)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-07-06 16:42:13 +08:00
|
|
|
|
List<TaxAgentManageRangeEmployeeDTO> listTaxAgentAndEmployeeTree();
|
|
|
|
|
|
|
2022-05-19 14:50:01 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 获取个税扣缴义务人和可查看的人员列表(扁平型)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param employeeId
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxAgentEmployeeDTO> listTaxAgentAndEmployee(Long employeeId);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取个税扣缴义务人和可查看的人员列表(树型)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param employeeStatus
|
|
|
|
|
|
* @param employeeId
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxAgentManageRangeEmployeeDTO> listTaxAgentAndEmployeeTree(SalaryEmployeeStatusEnum employeeStatus, Long employeeId);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取个税扣缴义务人和可查看的人员列表(扁平型)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param employeeStatus
|
|
|
|
|
|
* @param employeeId
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
List<TaxAgentEmployeeDTO> listTaxAgentAndEmployee(SalaryEmployeeStatusEnum employeeStatus, Long employeeId);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 更换管理员校验是否有核算数据
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param checkParam
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2022-05-24 09:14:26 +08:00
|
|
|
|
Boolean adminChangeCheck(TaxAgentAdminChangeCheckParam checkParam);
|
2022-06-29 17:38:00 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取个税扣缴义务人下的人员范围
|
2022-10-26 13:46:36 +08:00
|
|
|
|
*
|
2022-06-29 17:38:00 +08:00
|
|
|
|
* @param taxAgentId
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
Collection<Long> listEmployeeIdsInTaxAgent(Long taxAgentId);
|
2022-05-19 14:50:01 +08:00
|
|
|
|
}
|