From de5af5f2c90bddffc9e43b95cb98d49d562a2dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Fri, 6 Dec 2024 16:00:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=BF=AB=E7=85=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/entity/hrm/po/HrmSnapshotPO.java | 6 ++ .../salaryacct/bo/SalaryAcctEmployeeBO.java | 20 +++--- .../salaryacct/bo/SalaryAcctFormulaBO.java | 6 +- .../salary/mapper/hrm/HrmSnapshotMapper.java | 8 +-- .../salary/mapper/hrm/HrmSnapshotMapper.xml | 19 ++++++ .../salary/service/SalaryEmployeeService.java | 3 + .../impl/SalaryAcctEmployeeServiceImpl.java | 68 ++++++++++++------- .../impl/SalaryEmployeeServiceImpl.java | 48 ++++++++++++- .../engine/salary/timer/HrmSnapshotJob.java | 29 ++++---- 9 files changed, 150 insertions(+), 57 deletions(-) diff --git a/src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java b/src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java index 2dc410de5..48411733a 100644 --- a/src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java +++ b/src/com/engine/salary/entity/hrm/po/HrmSnapshotPO.java @@ -221,6 +221,12 @@ public class HrmSnapshotPO { @ElogTransform(name = "职称") private Integer jobcall; + /** + * 职称名称 + */ + @ElogTransform(name = "职称名称") + private String jobcallname; + /** * 工作级别 */ diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctEmployeeBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctEmployeeBO.java index a8dbc514e..09505ef25 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctEmployeeBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctEmployeeBO.java @@ -103,16 +103,16 @@ public class SalaryAcctEmployeeBO { .employeeId(emp.getEmployeeId()) .employeeType(emp.isExtEmp() ? 1 : 0) .taxAgentId(taxAgentId) - .departmentId(emp.getDepartmentId()) - .departmentName(emp.getDepartmentName()) - .jobcall(emp.getJobcall()) - .jobcallId(emp.getJobcallId()) - .jobtitleId(emp.getJobtitleId()) - .jobtitleName(emp.getJobtitleName()) - .subcompanyId(emp.getSubcompanyid()) - .subcompanyName(emp.getSubcompanyName()) - .status(emp.getStatus()) - .accountType(emp.getAccountType()) +// .departmentId(emp.getDepartmentId()) +// .departmentName(emp.getDepartmentName()) +// .jobcall(emp.getJobcall()) +// .jobcallId(emp.getJobcallId()) +// .jobtitleId(emp.getJobtitleId()) +// .jobtitleName(emp.getJobtitleName()) +// .subcompanyId(emp.getSubcompanyid()) +// .subcompanyName(emp.getSubcompanyName()) +// .status(emp.getStatus()) +// .accountType(emp.getAccountType()) .creator(employeeId) .createTime(now) .updateTime(now) diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java index cc19925b2..b3335f05e 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java @@ -6,12 +6,14 @@ import com.engine.salary.entity.salaryformula.dto.SalaryFormulaEmployeeDTO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.entity.salarysob.po.SalarySobBackItemPO; import com.engine.salary.entity.salarysob.po.SalarySobItemPO; +import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; import com.engine.salary.util.JsonUtil; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryI18nUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import weaver.general.Util; import java.math.BigDecimal; import java.util.Collections; @@ -115,8 +117,8 @@ public class SalaryAcctFormulaBO { .mobile(simpleEmployee.getMobile()) .telephone(simpleEmployee.getTelephone()) .sex(sexName) - .status(simpleEmployee.getStatus()) - .statusName(simpleEmployee.getStatusName()) + .status(salaryAcctEmployeePO.getStatus()) + .statusName(UserStatusEnum.getDefaultLabelByValue(new Integer(Util.null2s(salaryAcctEmployeePO.getStatus(), "1")))) .accountType(simpleEmployee.getAccountType()) .accountTypeName(simpleEmployee.getAccountTypeName()) .departmentName(salaryAcctEmployeePO.getDepartmentName()) diff --git a/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.java b/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.java index b8598f68a..81082b003 100644 --- a/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.java +++ b/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.java @@ -16,7 +16,7 @@ public interface HrmSnapshotMapper { */ List listAll(); - List snapshot(List employeeIds, Date snapshotTime); + List snapshot(@Param("employeeId")Long employeeId, @Param("snapshotTime")Date snapshotTime); /** * 条件查询 @@ -42,12 +42,6 @@ public interface HrmSnapshotMapper { */ int insertIgnoreNull(HrmSnapshotPO hrmSnapshot); - /** - * 批量插入 - * - * @param hrmSnapshot - */ - void batchInsert(@Param("collection") List hrmSnapshot); /** * 修改,修改所有字段 diff --git a/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml b/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml index b2cbfc262..d56a738ea 100644 --- a/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml +++ b/src/com/engine/salary/mapper/hrm/HrmSnapshotMapper.xml @@ -35,6 +35,7 @@ + @@ -107,6 +108,7 @@ , t.ISLABOUUNION , t.JOBACTIVITYDESC , t.JOBCALL + , t.jobcallname , t.JOBLEVEL , t.JOBTITLE , t.JOBTITLENAME @@ -157,6 +159,8 @@ FROM hrsa_hrm_snapshot t WHERE snapshot_time >= #{snapshotTime} + AND employee_id = #{employeeId} + order by snapshot_time @@ -269,6 +273,9 @@ AND JOBCALL = #{jobcall} + + AND jobcallname = #{jobcallname} + AND JOBLEVEL = #{joblevel} @@ -485,6 +492,9 @@ JOBCALL, + + jobcallname, + JOBLEVEL, @@ -688,6 +698,9 @@ #{jobcall}, + + #{jobcallname}, + #{joblevel}, @@ -831,6 +844,7 @@ ISLABOUUNION=#{islabouunion}, JOBACTIVITYDESC=#{jobactivitydesc}, JOBCALL=#{jobcall}, + jobcallname=#{jobcallname}, JOBLEVEL=#{joblevel}, JOBTITLE=#{jobtitle}, JOBTITLENAME=#{jobtitlename}, @@ -968,6 +982,9 @@ JOBCALL=#{jobcall}, + + jobcallname=#{jobcallname}, + JOBLEVEL=#{joblevel}, @@ -1148,6 +1165,7 @@ ,e.DEGREE ,e.USEKIND ,e.JOBCALL + ,job.NAME as jobcallname ,e.ACCUMFUNDACCOUNT ,e.BIRTHPLACE ,e.FOLK @@ -1177,6 +1195,7 @@ left join hrmdepartment d on e.departmentid = d.id left join HrmSubCompany c on e.SUBCOMPANYID1=c.id left join hrmjobtitles j on e.jobtitle = j.id + left join hrmjobcall job on e.jobcall=job.id \ No newline at end of file diff --git a/src/com/engine/salary/service/SalaryEmployeeService.java b/src/com/engine/salary/service/SalaryEmployeeService.java index f3b19a040..e5b25c281 100644 --- a/src/com/engine/salary/service/SalaryEmployeeService.java +++ b/src/com/engine/salary/service/SalaryEmployeeService.java @@ -9,6 +9,7 @@ import com.engine.salary.entity.hrm.dto.EmployeeInfoExpandDTO; import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam; import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum; +import java.util.Date; import java.util.List; import java.util.Map; @@ -181,4 +182,6 @@ public interface SalaryEmployeeService { * @return */ JobCallInfo getJobCallInfoById(Long jobCallId); + + List snapshot(List employeeIds, Date snapshotTime); } diff --git a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java index 90391abd4..fbb5851f7 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java @@ -7,7 +7,6 @@ import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.hrmelog.entity.dto.LoggerContext; import com.engine.salary.config.SalaryElogConfig; -import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.salaryacct.bo.SalaryAcctConfig; import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO; @@ -154,24 +153,24 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct @Override public void addFromReduce(SalaryAcctEmployeeAddParam addParam) { - ValidUtil.doValidator(addParam); - // 查询薪资核算记录 - SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(addParam.getSalaryAcctRecordId()); - if (Objects.isNull(salaryAcctRecordPO)) { - throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除")); - } - // 查询环比减少的薪资核算人员 - List salaryAcctEmployeePOS = listByIds(addParam.getIds()); - if (CollectionUtils.isEmpty(salaryAcctEmployeePOS)) { - throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98830, "薪资核算人员不存在或已被删除")); - } - // 添加薪资核算人员 - Date now = new Date(); - List newSalaryAcctEmployeePOS = salaryAcctEmployeePOS.stream().map(salaryAcctEmployeePO -> new SalaryAcctEmployeePO() - .setSalaryAcctRecordId(salaryAcctRecordPO.getId()).setSalarySobId(salaryAcctRecordPO.getSalarySobId()).setSalaryMonth(salaryAcctRecordPO.getSalaryMonth()).setEmployeeId(salaryAcctEmployeePO.getEmployeeId()).setTaxAgentId(salaryAcctEmployeePO.getTaxAgentId()).setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).setCreateTime(now).setUpdateTime(now).setCreator((long) user.getUID()).setDeleteType(0)).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(newSalaryAcctEmployeePOS)) { - batchSave(newSalaryAcctEmployeePOS); - } +// ValidUtil.doValidator(addParam); +// // 查询薪资核算记录 +// SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(addParam.getSalaryAcctRecordId()); +// if (Objects.isNull(salaryAcctRecordPO)) { +// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除")); +// } +// // 查询环比减少的薪资核算人员 +// List salaryAcctEmployeePOS = listByIds(addParam.getIds()); +// if (CollectionUtils.isEmpty(salaryAcctEmployeePOS)) { +// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98830, "薪资核算人员不存在或已被删除")); +// } +// // 添加薪资核算人员 +// Date now = new Date(); +// List newSalaryAcctEmployeePOS = salaryAcctEmployeePOS.stream().map(salaryAcctEmployeePO -> new SalaryAcctEmployeePO() +// .setSalaryAcctRecordId(salaryAcctRecordPO.getId()).setSalarySobId(salaryAcctRecordPO.getSalarySobId()).setSalaryMonth(salaryAcctRecordPO.getSalaryMonth()).setEmployeeId(salaryAcctEmployeePO.getEmployeeId()).setTaxAgentId(salaryAcctEmployeePO.getTaxAgentId()).setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).setCreateTime(now).setUpdateTime(now).setCreator((long) user.getUID()).setDeleteType(0)).collect(Collectors.toList()); +// if (CollectionUtils.isNotEmpty(newSalaryAcctEmployeePOS)) { +// batchSave(newSalaryAcctEmployeePOS); +// } } @Override @@ -431,6 +430,9 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct if (CollectionUtils.isEmpty(salaryAcctEmployeePOS)) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98769, "个税扣缴义务人下无该人员档案信息或薪资缴纳日期不在薪资周期内")); } + + //替换快照数据 + shotEmpData(salaryAcctEmployeePOS, salarySobCycleDTO.getSalaryCycleFromDate()); batchSave(salaryAcctEmployeePOS); @@ -447,6 +449,24 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct SalaryElogConfig.salaryAcctRecordLoggerTemplate.write(loggerContext); } + private void shotEmpData(List salaryAcctEmployeePOS, Date shotTime) { + List employees = SalaryEntityUtil.properties(salaryAcctEmployeePOS, SalaryAcctEmployeePO::getEmployeeId, Collectors.toList()); + List snapshot = getSalaryEmployeeService(user).snapshot(employees, shotTime); + Map shotEmpMap = SalaryEntityUtil.convert2Map(snapshot, DataCollectionEmployee::getEmployeeId); + salaryAcctEmployeePOS.forEach(salaryAcctEmployeePO -> { + DataCollectionEmployee shotEmp = shotEmpMap.getOrDefault(salaryAcctEmployeePO.getEmployeeId(), new DataCollectionEmployee()); + salaryAcctEmployeePO.setDepartmentId(shotEmp.getDepartmentId()); + salaryAcctEmployeePO.setDepartmentName(shotEmp.getDepartmentName()); + salaryAcctEmployeePO.setJobcall(shotEmp.getJobcall()); + salaryAcctEmployeePO.setJobcallId(shotEmp.getJobcallId()); + salaryAcctEmployeePO.setJobtitleId(shotEmp.getJobtitleId()); + salaryAcctEmployeePO.setJobtitleName(shotEmp.getJobtitleName()); + salaryAcctEmployeePO.setSubcompanyId(shotEmp.getSubcompanyid()); + salaryAcctEmployeePO.setSubcompanyName(shotEmp.getSubcompanyName()); + salaryAcctEmployeePO.setStatus(shotEmp.getStatus()); + salaryAcctEmployeePO.setAccountType(shotEmp.getAccountType()); + }); + } @Override public void batchSave(Collection salaryAcctEmployeePOS) { if (CollectionUtils.isEmpty(salaryAcctEmployeePOS)) { @@ -560,6 +580,7 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct // 保存薪资核算人员 if (CollectionUtils.isNotEmpty(salaryAcctEmployeePOS)) { + shotEmpData(salaryAcctEmployeePOS, salarySobCycleDTO.getSalaryCycleFromDate()); batchSave(salaryAcctEmployeePOS); } } @@ -606,6 +627,7 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct List delIds = oldEmps.stream().filter(po -> !newEmpMap.containsKey(po.getTaxAgentId() + "_" + po.getEmployeeId())).map(SalaryAcctEmployeePO::getId).collect(Collectors.toList()); deleteByIds(delIds); + shotEmpData(addEmps, salarySobCycleDTO.getSalaryCycleFromDate()); batchSave(addEmps); } @@ -762,7 +784,7 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct list = list.stream().filter(po -> param.getEmployee().contains(po.getEmployeeId())).collect(Collectors.toList()); } - if(isRealOrg){ + if (isRealOrg) { Set empIds = SalaryEntityUtil.properties(employeeList, DataCollectionEmployee::getEmployeeId); list = list.stream().filter(po -> empIds.contains(po.getEmployeeId())).collect(Collectors.toList()); } @@ -788,16 +810,16 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct throw new SalaryRunTimeException("锁定状态异常!"); } - if (updateParam.getLockStatus() == LockStatusEnum.LOCK){ + if (updateParam.getLockStatus() == LockStatusEnum.LOCK) { SalaryAcctConfig salaryAcctSobConfig = getSalaryAcctSobConfigService(user).getSalaryAcctConfig(updateParam.getSalaryAcctRecordId()); List salarySobItems = salaryAcctSobConfig.getSalarySobItems(); - List itemIds = SalaryEntityUtil.properties(salarySobItems, SalarySobItemPO::getSalaryItemId,Collectors.toList()); + List itemIds = SalaryEntityUtil.properties(salarySobItems, SalarySobItemPO::getSalaryItemId, Collectors.toList()); salaryAcctEmployees.forEach(salaryAcctEmployeePO -> { salaryAcctEmployeePO.setLockItems(itemIds); lock(salaryAcctEmployeePO); }); - }else { + } else { salaryAcctEmployees.forEach(salaryAcctEmployeePO -> { salaryAcctEmployeePO.setLockItems(new ArrayList<>()); lock(salaryAcctEmployeePO); diff --git a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java index 42b555cdb..9dc5673e1 100644 --- a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import cn.hutool.core.util.NumberUtil; import com.alibaba.fastjson.JSON; import com.api.formmode.mybatis.util.SqlProxyHandle; import com.engine.common.util.ServiceUtil; @@ -19,6 +20,7 @@ import com.engine.salary.entity.hrm.po.HrmSnapshotPO; import com.engine.salary.entity.salarysob.bo.SalarySobRangeBO; import com.engine.salary.entity.salarysob.param.SalarySobRangeEmpQueryParam; import com.engine.salary.entity.salarysob.po.SalarySobRangePO; +import com.engine.salary.enums.AccountTypeEnum; import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum; import com.engine.salary.enums.salarysob.TargetTypeEnum; @@ -620,7 +622,49 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee return SalaryI18nUtil.i18n(getEmployMapper().getJobCallInfoById(jobCallId)); } - public List snapshot(List employeeIds, Date snapshotTime) { - return getHrmSnapshotMapper().snapshot(employeeIds, snapshotTime); + public List snapshot(List employeeIds, Date snapshotTime) { + + List currentEmployees = getEmployeeByIdsAll(employeeIds); + Map currentEmployeeMap = SalaryEntityUtil.convert2Map(currentEmployees, DataCollectionEmployee::getEmployeeId); + + List employees = employeeIds.stream() + .map(employeeId -> { + + List snapshot = getHrmSnapshotMapper().snapshot(employeeId, snapshotTime); + + return snapshot.stream().findFirst().map(hrmSnapshotPO -> DataCollectionEmployee. + builder() + .employeeId(employeeId) + .username(hrmSnapshotPO.getLastname()) + .departmentName(hrmSnapshotPO.getDepartmentname()) + .departmentId(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getDepartmentid()))) + .subcompanyName(hrmSnapshotPO.getSubcompanyname()) + .subcompanyid(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getSubcompanyid1()))) + .costcenterId(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getCostcenterid()))) + .locationId(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getLocationid()))) + .jobtitleName(hrmSnapshotPO.getJobtitlename()) + .jobtitleId(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getJobtitle()))) + .companystartdate(hrmSnapshotPO.getCompanystartdate()) + .mobile(hrmSnapshotPO.getMobile()) +// .dismissdate() + .status(Util.null2String(hrmSnapshotPO.getStatus())) + .statusName(UserStatusEnum.getDefaultLabelByValue(NumberUtils.toInt(Util.null2String(hrmSnapshotPO.getStatus()), 1))) + .workcode(hrmSnapshotPO.getWorkcode()) + .sex(hrmSnapshotPO.getSex()) + .email(hrmSnapshotPO.getEmail()) + .telephone(hrmSnapshotPO.getTelephone()) + .jobcall(hrmSnapshotPO.getJobcallname()) + .jobcallId(NumberUtil.parseLong(Util.null2String(hrmSnapshotPO.getJobcall()))) + .birthday(hrmSnapshotPO.getBirthday()) + .workYear(hrmSnapshotPO.getWorkyear() == null ? 0.00 : hrmSnapshotPO.getWorkyear().doubleValue()) + .companyWorkYear(hrmSnapshotPO.getCompanyworkyear() == null ? 0.00 : hrmSnapshotPO.getCompanyworkyear().doubleValue()) + .idNo(hrmSnapshotPO.getCertificatenum()) + .accountTypeName(AccountTypeEnum.getDefaultLabelByValue(hrmSnapshotPO.getAccounttype())) + .accountType(hrmSnapshotPO.getAccounttype()) + .build()) + .orElse(currentEmployeeMap.get(employeeId)); + }).collect(Collectors.toList()); + + return SalaryI18nUtil.i18nList(employees); } } diff --git a/src/com/engine/salary/timer/HrmSnapshotJob.java b/src/com/engine/salary/timer/HrmSnapshotJob.java index 5a256371a..ac0a7a091 100644 --- a/src/com/engine/salary/timer/HrmSnapshotJob.java +++ b/src/com/engine/salary/timer/HrmSnapshotJob.java @@ -6,6 +6,7 @@ import com.engine.salary.mapper.hrm.HrmSnapshotMapper; import com.engine.salary.util.SalaryDateUtil; import com.engine.salary.util.db.IdGenerator; import com.engine.salary.util.db.MapperProxyFactory; +import lombok.extern.slf4j.Slf4j; import weaver.hrm.User; import weaver.interfaces.schedule.BaseCronJob; @@ -13,9 +14,10 @@ import java.time.LocalDate; import java.util.Date; import java.util.List; - +@Slf4j public class HrmSnapshotJob extends BaseCronJob { + //指定筷子时间 private String appointSnapshotTime; private HrmSnapshotMapper getHrmSnapshotMapper() { @@ -28,24 +30,25 @@ public class HrmSnapshotJob extends BaseCronJob { user.setUid(1); user.setLoginid("sysadmin"); - List hrmSnapshotPOS = getHrmSnapshotMapper().currentEmpData(); + try { + List hrmSnapshotPOS = getHrmSnapshotMapper().currentEmpData(); - Date snapshotTime = StrUtil.isNotBlank(appointSnapshotTime) && SalaryDateUtil.checkDay(appointSnapshotTime) ? SalaryDateUtil.dateStrToLocalDate(appointSnapshotTime) : SalaryDateUtil.localDateToDate(LocalDate.now()); + Date snapshotTime = StrUtil.isNotBlank(appointSnapshotTime) && SalaryDateUtil.checkDay(appointSnapshotTime) ? SalaryDateUtil.dateStrToLocalDate(appointSnapshotTime) : SalaryDateUtil.localDateToDate(LocalDate.now()); - //先删除当日快照 - getHrmSnapshotMapper().deleteBySnapshotTime(snapshotTime); + //先删除当日快照 + getHrmSnapshotMapper().deleteBySnapshotTime(snapshotTime); - hrmSnapshotPOS.forEach(hrmSnapshotPO -> { + hrmSnapshotPOS.forEach(hrmSnapshotPO -> { - hrmSnapshotPO.setId(IdGenerator.generate()); - hrmSnapshotPO.setSnapshotTime(snapshotTime); + hrmSnapshotPO.setId(IdGenerator.generate()); + hrmSnapshotPO.setSnapshotTime(snapshotTime); - getHrmSnapshotMapper().insertIgnoreNull(hrmSnapshotPO); + getHrmSnapshotMapper().insertIgnoreNull(hrmSnapshotPO); - }); - - - System.out.println(hrmSnapshotPOS); + }); + }catch (Exception e){ + log.error("生成快照失败", e); + } } }