diff --git a/src/com/engine/salary/mapper/salaryacct/SalaryAcctRecordMapper.java b/src/com/engine/salary/mapper/salaryacct/SalaryAcctRecordMapper.java index 4d53cff06..eda9abadb 100644 --- a/src/com/engine/salary/mapper/salaryacct/SalaryAcctRecordMapper.java +++ b/src/com/engine/salary/mapper/salaryacct/SalaryAcctRecordMapper.java @@ -1,10 +1,12 @@ package com.engine.salary.mapper.salaryacct; +import com.engine.salary.common.LocalDateRange; import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO; import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; +import java.util.Set; public interface SalaryAcctRecordMapper { @@ -71,4 +73,5 @@ public interface SalaryAcctRecordMapper { */ void deleteByIds(@Param("ids") Collection ids); + List listByCreateDate(@Param(value = "createRange") LocalDateRange createRange, @Param(value = "salarySobIds") Set salarySobIds); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/salaryacct/SalaryAcctRecordMapper.xml b/src/com/engine/salary/mapper/salaryacct/SalaryAcctRecordMapper.xml index 5e1e0b404..123da569a 100644 --- a/src/com/engine/salary/mapper/salaryacct/SalaryAcctRecordMapper.xml +++ b/src/com/engine/salary/mapper/salaryacct/SalaryAcctRecordMapper.xml @@ -117,6 +117,25 @@ ORDER BY id DESC + diff --git a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java index f326c51c7..5f9ff6c7d 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java @@ -400,12 +400,12 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe throw new SalaryRunTimeException("个税申报功能异常"); } - LocalDateRange taxCycleRebootYearRange = LocalDateRange.builder() - .fromDate(SalaryDateUtil.getFirstDayDateOfMonthWithMinutesAndSeconds(taxDeclarationRebootDate)) - .endDate(SalaryDateUtil.getLastDayOfYearWithMinutesAndSeconds(taxDeclarationRebootDate)) + .fromDate(taxDeclarationRebootDate) + .endDate(SalaryDateUtil.getLastDayOfYear(taxDeclarationRebootDate)) .build(); - List salaryAcctRebootRecords = listByTaxCycle(taxCycleRebootYearRange,salarySobIds); +// List salaryAcctRebootRecords = listByTaxCycle(taxCycleRebootYearRange,salarySobIds); + List salaryAcctRebootRecords = listByCreateDate(taxCycleRebootYearRange,salarySobIds); SalaryAcctRecordPO notDeclaredSalaryAcctRecordPO = salaryAcctRebootRecords.stream() .filter(e -> !Objects.equals(e.getStatus(), SalaryAcctRecordStatusEnum.DECLARED.getValue()) && e.getTaxCycle().before(SalaryDateUtil.localDateToDate(salarySobCycleDTO.getTaxCycle().atDay(1)))) @@ -433,6 +433,10 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe } + private List listByCreateDate(LocalDateRange taxCycleRebootYearRange, Set salarySobIds) { + return getSalaryAcctRecordMapper().listByCreateDate(taxCycleRebootYearRange,salarySobIds); + } + @Override public void updateStatusByIds(Collection ids, SalaryAcctRecordStatusEnum status) { @@ -579,19 +583,19 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe TaxDeclarationFunctionEnum taxDeclaration = getSalarySysConfService(user).getTaxDeclaration(); - if(taxDeclaration.getValue().equals(TaxDeclarationFunctionEnum.OPEN.getValue())){ +// if(taxDeclaration.getValue().equals(TaxDeclarationFunctionEnum.OPEN.getValue())){ // 开启了个税申报功能 // 删除个税申报表(个税申报表、个税申报表详情、往期累计情况) getTaxDeclarationService(user).delete(salaryAcctRecordPO); - }else if(taxDeclaration.getValue().equals(TaxDeclarationFunctionEnum.REBOOT.getValue())){ - // 重启个税申报功能 - Date taxDeclarationRebootDateTemp = getSalarySysConfService(user).getTaxDeclarationRebootDate(); - Date taxDeclarationRebootDate = SalaryDateUtil.getFirstDayDateOfMonthWithMinutesAndSeconds(taxDeclarationRebootDateTemp); - if(!taxDeclarationRebootDate.after(salaryAcctRecordPO.getTaxCycle())){ - // 删除个税申报表(个税申报表、个税申报表详情、往期累计情况) - getTaxDeclarationService(user).delete(salaryAcctRecordPO); - } - } +// }else if(taxDeclaration.getValue().equals(TaxDeclarationFunctionEnum.REBOOT.getValue())){ +// // 重启个税申报功能 +// Date taxDeclarationRebootDateTemp = getSalarySysConfService(user).getTaxDeclarationRebootDate(); +// Date taxDeclarationRebootDate = SalaryDateUtil.getFirstDayDateOfMonthWithMinutesAndSeconds(taxDeclarationRebootDateTemp); +// if(!taxDeclarationRebootDate.after(salaryAcctRecordPO.getTaxCycle())){ +// // 删除个税申报表(个税申报表、个税申报表详情、往期累计情况) +// getTaxDeclarationService(user).delete(salaryAcctRecordPO); +// } +// } // 更新薪资核算记录的状态 salaryAcctRecordPO.setStatus(SalaryAcctRecordStatusEnum.NOT_ARCHIVED.getValue()); salaryAcctRecordPO.setUpdateTime(new Date()); diff --git a/src/com/engine/salary/util/SalaryDateUtil.java b/src/com/engine/salary/util/SalaryDateUtil.java index 5b146358f..c34b18dbc 100644 --- a/src/com/engine/salary/util/SalaryDateUtil.java +++ b/src/com/engine/salary/util/SalaryDateUtil.java @@ -276,17 +276,7 @@ public class SalaryDateUtil { return cal.getTime(); } - public static Date getLastDayOfYearWithMinutesAndSeconds(final Date date) { - final Calendar cal = Calendar.getInstance(); - cal.setTime(date); - final int last = cal.getActualMaximum(Calendar.DAY_OF_YEAR); - cal.set(Calendar.DAY_OF_YEAR, last); - cal.set(Calendar.HOUR_OF_DAY, 0); - cal.set(Calendar.MINUTE, 0); - cal.set(Calendar.SECOND, 0); - cal.set(Calendar.MILLISECOND, 0); - return cal.getTime(); - } + public static String getMonthBegin(String specifiedDay) {