From 7dafb37263fe91a807dc0f6f0ae02f9b937c3e79 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Tue, 27 Feb 2024 15:39:03 +0800 Subject: [PATCH] =?UTF-8?q?=E8=89=BE=E5=BF=97=E3=80=8A2024-01=E4=B8=AA?= =?UTF-8?q?=E7=A8=8E=E7=94=B3=E6=8A=A5=E9=97=AE=E9=A2=98=E6=B1=87=E6=80=BB?= =?UTF-8?q?=E3=80=8B1=E3=80=813=E3=80=815=E3=80=816?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bo/EmployeeDeclareRefresh.java | 32 ++++++++++++------- .../impl/SalaryEmployeeServiceImpl.java | 5 --- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java b/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java index ce9130b51..dc6baaf10 100644 --- a/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java +++ b/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java @@ -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 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()); } diff --git a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java index 964a78d33..e8fc003ce 100644 --- a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java @@ -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); }