艾志《2024-01个税申报问题汇总》1、3、5、6

This commit is contained in:
Harryxzy 2024-02-27 15:39:03 +08:00
parent 9072bc164c
commit 7dafb37263
2 changed files with 20 additions and 17 deletions

View File

@ -1,6 +1,5 @@
package com.engine.salary.entity.employeedeclare.bo;
import com.api.formmode.page.util.Util;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.employeedeclare.dto.EmployeeDeclareRefreshDTO;
@ -10,18 +9,18 @@ import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
import com.engine.salary.enums.SalaryOnOffEnum;
import com.engine.salary.enums.employeedeclare.*;
import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum;
import com.engine.salary.enums.salaryarchive.SalaryArchiveStatusEnum;
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.IdGenerator;
import com.engine.salary.util.valid.SalaryCardUtil;
import com.google.common.collect.Lists;
import com.engine.salary.util.db.IdGenerator;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import java.time.LocalDate;
import java.util.*;
public class EmployeeDeclareRefresh {
@ -37,14 +36,16 @@ public class EmployeeDeclareRefresh {
// 非系统人员的数据任职受雇从业类型
Map<Long, ExtEmpPO> extEmployeeMap = SalaryEntityUtil.convert2Map(dto.getExtEmployees(), ExtEmpPO::getId);
Date now = new Date();
LocalDate checkLocalDate = SalaryDateUtil.dateToLocalDate(dto.getTaxCycle()).plusMonths(2);
// 对已有人员处理人员状态离职日期任职受雇从业类型
for (EmployeeDeclarePO employeeDeclare : dto.getEmployeeDeclares()) {
SalaryArchivePO salaryArchive = salaryArchiveMap.get(employeeDeclare.getEmployeeId());
if (salaryArchive != null &&
(Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue())
|| Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue()))) {
if (salaryArchive != null) {
// if (Objects.equals(employeeDeclare.getEmploymentStatus(), EmploymentStatusEnum.ABNORMAL.getValue())
// || Objects.equals(Util.null2String(employeeDeclare.getDismissDate()), Util.null2String(salaryArchive.getPayEndDate()))) {
if (Objects.equals(employeeDeclare.getEmploymentStatus(), EmploymentStatusEnum.ABNORMAL.getValue())
|| Objects.equals(Util.null2String(employeeDeclare.getDismissDate()), Util.null2String(salaryArchive.getPayEndDate()))) {
|| (!SalaryDateUtil.localDate2YearMonth(salaryArchive.getLastPayDate()).plusMonths(2).isAfter(SalaryDateUtil.localDate2YearMonth(dto.getTaxCycle())) )) {
employeeDeclare.setEmploymentStatus(EmploymentStatusEnum.ABNORMAL.getValue());
employeeDeclare.setDismissDate(salaryArchive.getLastPayDate());
employeeDeclare.setNewEmployeeInfo(1);
@ -76,8 +77,11 @@ public class EmployeeDeclareRefresh {
employeeDeclare.setUpdateTime(now);
// 对人员处理人员状态离职日期任职受雇从业类型
SalaryArchivePO salaryArchive = salaryArchiveMap.get(employeeDeclare.getEmployeeId());
if (salaryArchive != null && (Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue())
|| Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue()))) {
// if (salaryArchive != null && (Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue())
// || Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue()))) {
// 校验 末次发薪日期+2 是否等于或早于当前税款所属期
if (!SalaryDateUtil.localDate2YearMonth(salaryArchive.getLastPayDate()).plusMonths(2)
.isAfter(SalaryDateUtil.localDate2YearMonth(dto.getTaxCycle())) ) {
employeeDeclare.setDeclareStatus(DeclareStatusEnum.NOT_DECLARE.getValue());
employeeDeclare.setEmploymentStatus(EmploymentStatusEnum.ABNORMAL.getValue());
employeeDeclare.setDismissDate(salaryArchive.getLastPayDate());
@ -128,9 +132,13 @@ public class EmployeeDeclareRefresh {
SalaryArchivePO salaryArchive = salaryArchiveMap.get(employeeDeclare.getEmployeeId());
if (salaryArchive != null) {
// employeeDeclare.setEmploymentType(Util.getIntValue(salaryArchive.getEmploymentType()));
employeeDeclare.setEmploymentDate(salaryArchive.getFirstPayDate());
if (Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue())
|| Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue())) {
// 24-02-26存在修改义务人的情况需求改回取起始发薪日期
employeeDeclare.setEmploymentDate(salaryArchive.getPayStartDate());
// if (Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue())
// || Objects.equals(salaryArchive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue())) {
// 校验 末次发薪日期+2 是否等于或早于当前税款所属期
if (!SalaryDateUtil.localDate2YearMonth(salaryArchive.getLastPayDate()).plusMonths(2)
.isAfter(SalaryDateUtil.localDate2YearMonth(dto.getTaxCycle())) ) {
employeeDeclare.setEmploymentStatus(EmploymentStatusEnum.ABNORMAL.getValue());
employeeDeclare.setDismissDate(salaryArchive.getLastPayDate());
}

View File

@ -72,11 +72,6 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
}
private EmployMapper getEmployMapper() {
return SqlProxyHandle.getProxy(EmployMapper.class);
}
private ExtEmpService getExtEmpService(User user) {
return ServiceUtil.getService(ExtEmpServiceImpl.class, user);
}