luoyb
2022-03-13 d014a10a4e597718375c0964f0394babb3eae7d7
fix(bug修复): 增加了定时计算年龄的定时任务
4个文件已修改
46 ■■■■■ 已修改文件
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/task/ScheduledTask.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
    }
}