febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
@@ -313,7 +313,7 @@ @FieldInfo(name = "entryType", type = "varchar", explain = "入职类型") @TableField("entryType") private String entryType = "20"; private String entryType; @FieldInfo(name = "entryTypeName", type = "varchar", explain = "入职类型") @TableField(exist = false) febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java
@@ -203,7 +203,25 @@ List<EmpBaseInfo> listAll(QueryWrapper<EmpBaseInfo> wrapper); /** * * 更新人员工龄 * * date 2022-03-13 09:45 * @author: luoyibo * @return boolean */ boolean updateSeniority(); /** * * 更新人员年龄 * * date 2022-03-13 09:47 * @author: luoyibo * @param userId 1 * @return boolean */ boolean updateEmpAge(String userId); boolean updateDeptName(); } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -1431,4 +1431,22 @@ public boolean updateDeptName() { return empBaseInfoMapper.updateDeptName() > 0; } @Override public boolean updateEmpAge(String userId) { List<EmpBaseInfo> empBaseInfoList = new ArrayList<>(); if(StringUtils.isNotBlank(userId)){ EmpBaseInfo empBaseInfo = this.getById(userId); empBaseInfoList.add(empBaseInfo); } else { empBaseInfoList = this.list(); } if(empBaseInfoList.size()>0){ empBaseInfoList.forEach(p->{ p.setAge(DateUtil.ageOfNow(p.getBirthdate())); this.saveOrUpdate(p); }); } return false; } } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/task/ScheduledTask.java
@@ -3,6 +3,7 @@ import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; import cc.mrbird.febs.server.hr.service.IEmpContractInfoService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.boot.CommandLineRunner; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -52,10 +53,17 @@ log.info("每天凌晨3点检查到期合同"); empContractInfoService.autoStopContract("32"); } @Scheduled(cron = "0 0 4 * * ?") public void autoCalculateAge(){ log.info("每天凌晨4点自动更新年龄"); String userId = ""; empBaseInfoService.updateEmpAge(userId); } @Override public void run(String... args) throws Exception { calculateSeniority(); autoStopContract(); autoCalculateAge(); // updateDeptName(); } }