weaver-hrm-salary/src/com/engine/salary/service/EmployeeDeclareService.java

211 lines
4.8 KiB
Java

package com.engine.salary.service;
import com.engine.salary.entity.employeedeclare.dto.EmployeeDeclareFailListDTO;
import com.engine.salary.entity.employeedeclare.dto.EmployeeDeclareInfoDTO;
import com.engine.salary.entity.employeedeclare.dto.EmployeeDeclareListDTO;
import com.engine.salary.entity.employeedeclare.dto.EmployeeDeclareRateDTO;
import com.engine.salary.entity.employeedeclare.param.*;
import com.engine.salary.entity.employeedeclare.po.EmployeeDeclarePO;
import com.engine.salary.entity.salaryacct.po.SalaryAcctTaxAgentPO;
import com.engine.salary.util.page.PageInfo;
import java.util.Collection;
import java.util.Date;
import java.util.List;
/**
* 人员报送(人员)
* <p>Copyright: Copyright (c) 2023</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
public interface EmployeeDeclareService{
/**
* 查询人员报送信息
*
* @param id
* @return
*/
EmployeeDeclarePO getById(Long id);
/**
* 查询人员报送信息
*
* @param ids
* @return
*/
List<EmployeeDeclarePO> listByIds(Collection<Long> ids);
/**
* 查询人员报送信息
*
* @param taxCycle
* @param taxAgentId
* @return
*/
List<EmployeeDeclarePO> listByTaxCycleAndTaxAgentId(Date taxCycle, Long taxAgentId);
/**
* 查询人员报送信息
*
* @param taxCycle
* @param taxAgentId
* @param employeeIds
* @return
*/
List<EmployeeDeclarePO> listByTaxCycleAndTaxAgentIdAndEmployeeIds(Date taxCycle, Long taxAgentId,
Collection<Long> employeeIds);
/**
* 查询人员报送信息
*
* @param queryParam
* @return
*/
List<EmployeeDeclarePO> listByParam(EmployeeDeclareListQueryParam queryParam);
/**
* 查询人员报送-本月新增
* *
*
* @param queryParam
* @return
*/
List<EmployeeDeclarePO> list4AddByParam(EmployeeDeclareAddListQueryParam queryParam);
/**
* 本月变动
*
* @param queryParam
* @return
*/
List<EmployeeDeclarePO> list4UpdateByParam(EmployeeDeclareListQueryParam queryParam);
/**
* 本月信息变动
*
* @param queryParam
* @return
*/
PageInfo<EmployeeDeclarePO> listPage4UpdateByParam(EmployeeDeclareListQueryParam queryParam);
/**
* 本月报送失败
*
* @param param
* @param tenantKey
* @return
*/
// List<EmployeeDeclarePO> list4FailByParam(EmployeeDeclareFailListQueryParam param);
/**
* 本月报送失败
*
* @param param
* @return
*/
PageInfo<EmployeeDeclarePO> listPage4FailByParam(EmployeeDeclareFailListQueryParam param);
/**
* 根据薪资核算记录关系的个税扣缴义务人查询报送人员
*
* @param salaryAcctTaxAgents
* @return
*/
List<EmployeeDeclarePO> listBySalaryAcctTaxAgent(List<SalaryAcctTaxAgentPO> salaryAcctTaxAgents);
/**
* 保存
*
* @param saveParam
*/
void save(EmployeeDeclareSaveParam saveParam);
/**
* 批量编辑
*
* @param batchUpdateParam
*/
void batchUpdate(EmployeeDeclareBatchUpdateParam batchUpdateParam);
/**
* 删除
*
* @param ids
*/
void deleteByIds(Collection<Long> ids);
/**
* 人员报送(人员)列表
*
* @param employeeDeclares
* @return
*/
List<EmployeeDeclareListDTO> convert(List<EmployeeDeclarePO> employeeDeclares);
/**
* 人员报送-失败列表
*
* @param employeeDeclares
* @return
*/
List<EmployeeDeclareFailListDTO> convert2FailListDTO(List<EmployeeDeclarePO> employeeDeclares);
/**
* 刷新数据
*
* @param refreshParam
* @param employeeId
*/
void refresh(EmployeeDeclareRefreshParam refreshParam, Long employeeId);
/**
* 获取人员报送的整体情况
*
* @param employeeDeclareParam
* @return
*/
EmployeeDeclareInfoDTO getDeclareInfo(EmployeeDeclareParam employeeDeclareParam);
/**
* 报送人员
*
* @param param
*/
void declare(EmployeeDeclareParam param);
/**
* 获取报送人员的反馈
*
* @param param
*/
void getDeclareFeedback(EmployeeDeclareParam param, EmployeeDeclareRateDTO employeeDeclareRate);
/**
* 作废人员
* @param param
*/
String invalid(EmployeeInvalidParam param);
/**
* 关键信息变更
* @param param
* @return
*/
String informationChange(EmployeeInformationChangeParam param);
/**
* 同步任职受雇日期为入职日期
*
* @return
*/
String syncEmploymentDate(EmployeeDeclareSyncStartDateParam param);
void batchInsert(List<EmployeeDeclarePO> insertList);
}