diff --git a/src/com/engine/salary/enums/salaryarchive/SalaryArchiveAddTypeEnum.java b/src/com/engine/salary/enums/salaryarchive/SalaryArchiveAddTypeEnum.java index 7f814d323..0983e7b9c 100644 --- a/src/com/engine/salary/enums/salaryarchive/SalaryArchiveAddTypeEnum.java +++ b/src/com/engine/salary/enums/salaryarchive/SalaryArchiveAddTypeEnum.java @@ -12,7 +12,7 @@ package com.engine.salary.enums.salaryarchive; public enum SalaryArchiveAddTypeEnum { INDUCTION(0, "入职", 85901), - // REHIRE(2, "返聘", 109535), + REHIRE(2, "返聘", 109535), TAXAGENTADJUST(1, "调整个税扣缴义务人", 93910); private int value; diff --git a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.java b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.java index b2f69593f..2b17941e5 100644 --- a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.java +++ b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.java @@ -70,8 +70,23 @@ public interface SalaryArchiveMapper { */ void batchDeleteHistoryData(SalaryArchivePO build); + /** + * 条件查询 + * @param param + * @return + */ List listSome(@Param("param") SalaryArchivePO param); + /** + * 获取人员状态为空的数据 + * @return + */ + List getStatusIsNullData(); + /** + * 更新状态 + * @param build + */ + void updateStatus(SalaryArchivePO build); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml index 3434e76d3..15ce631a5 100644 --- a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml +++ b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml @@ -12,6 +12,7 @@ + @@ -28,6 +29,7 @@ , t.tax_agent_id , t.pay_start_date , t.pay_end_date + , t.run_status @@ -50,6 +52,7 @@ tax_agent_id=#{taxAgentId}, pay_start_date=#{payStartDate}, pay_end_date=#{payEndDate}, + run_status=#{runStatus}, WHERE id = #{id} @@ -84,6 +87,7 @@ , t1.tax_agent_id , t1.pay_start_date , t1.pay_end_date + , t1.run_status , e.mobile , e.workcode , e.lastname as username @@ -150,7 +154,7 @@ - ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc} + ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc} @@ -281,7 +285,8 @@ tenant_key, tax_agent_id, pay_start_date, - pay_end_date + pay_end_date, + run_status ) VALUES @@ -294,7 +299,8 @@ #{item.tenantKey}, #{item.taxAgentId}, #{item.payStartDate}, - #{item.payEndDate} + #{item.payEndDate}, + #{item.runStatus} ) @@ -308,7 +314,8 @@ tenant_key, tax_agent_id, pay_start_date, - pay_end_date + pay_end_date, + run_status ) @@ -321,7 +328,8 @@ #{item.tenantKey,jdbcType=VARCHAR}, #{item.taxAgentId,jdbcType=DOUBLE}, #{item.payStartDate,jdbcType=DATE}, - #{item.payEndDate,jdbcType=DATE} + #{item.payEndDate,jdbcType=DATE}, + #{item.runStatus,jdbcType=VARCHAR} from dual @@ -336,7 +344,8 @@ tenant_key, tax_agent_id, pay_start_date, - pay_end_date + pay_end_date, + run_status ) VALUES ( @@ -348,7 +357,8 @@ #{item.tenantKey}, #{item.taxAgentId}, #{item.payStartDate}, - #{item.payEndDate} + #{item.payEndDate}, + #{item.runStatus} ) @@ -390,4 +400,22 @@ ORDER BY t.id DESC + + + + UPDATE hrsa_salary_archive + + run_status=#{runStatus} + + WHERE id IN + + #{id} + + + \ No newline at end of file diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java index 17a1afdd0..8660a1b35 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java @@ -23,10 +23,7 @@ import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.UserStatusEnum; -import com.engine.salary.enums.salaryarchive.SalaryArchiveImportTypeEnum; -import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum; -import com.engine.salary.enums.salaryarchive.SalaryArchiveStatusEnum; -import com.engine.salary.enums.salaryarchive.SalaryArchiveTaxAgentAdjustReasonEnum; +import com.engine.salary.enums.salaryarchive.*; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.archive.SalaryArchiveItemMapper; import com.engine.salary.mapper.archive.SalaryArchiveMapper; @@ -1637,9 +1634,17 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe // .isNull(SalaryArchivePO::getIncomeCategory) // .set(SalaryArchivePO::getIncomeCategory, IncomeCategoryEnum.WAGES_AND_SALARIES.getValue()) // .update(); - List salaryArchives = getSalaryArchiveMapper().getHistoryData(); - log.info("处理历史数据开始,数据总量==============={}", salaryArchives.size()); + //历史档案默认为发薪员工 + List historyData = getSalaryArchiveMapper().getStatusIsNullData(); + List ids = SalaryEntityUtil.properties(historyData, SalaryArchivePO::getId, Collectors.toList()); + List> partIds = Lists.partition(ids, 999); + for (List part : partIds) { + getSalaryArchiveMapper().updateStatus(SalaryArchivePO.builder().ids(part).runStatus(ArchiveStatusEnum.FIXED.getValue()).build()); + } + + //处理个税扣缴义务人为空 + List salaryArchives = getSalaryArchiveMapper().getHistoryData(); if (CollectionUtils.isEmpty(salaryArchives)) { return; }