diff --git a/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java b/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java index dc6baaf10..264f77ca5 100644 --- a/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java +++ b/src/com/engine/salary/entity/employeedeclare/bo/EmployeeDeclareRefresh.java @@ -45,7 +45,7 @@ public class EmployeeDeclareRefresh { // 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()) - || (!SalaryDateUtil.localDate2YearMonth(salaryArchive.getLastPayDate()).plusMonths(2).isAfter(SalaryDateUtil.localDate2YearMonth(dto.getTaxCycle())) )) { + || (salaryArchive.getLastPayDate() != null && (!SalaryDateUtil.localDate2YearMonth(salaryArchive.getLastPayDate()).plusMonths(2).isAfter(SalaryDateUtil.localDate2YearMonth(dto.getTaxCycle()))) )) { employeeDeclare.setEmploymentStatus(EmploymentStatusEnum.ABNORMAL.getValue()); employeeDeclare.setDismissDate(salaryArchive.getLastPayDate()); employeeDeclare.setNewEmployeeInfo(1); @@ -80,8 +80,9 @@ public class EmployeeDeclareRefresh { // 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())) ) { + if (salaryArchive.getLastPayDate() != null && + (!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()); @@ -137,8 +138,9 @@ public class EmployeeDeclareRefresh { // 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())) ) { + if (salaryArchive.getLastPayDate() != null && + (!SalaryDateUtil.localDate2YearMonth(salaryArchive.getLastPayDate()).plusMonths(2) + .isAfter(SalaryDateUtil.localDate2YearMonth(dto.getTaxCycle()))) ) { employeeDeclare.setEmploymentStatus(EmploymentStatusEnum.ABNORMAL.getValue()); employeeDeclare.setDismissDate(salaryArchive.getLastPayDate()); }