From d014a10a4e597718375c0964f0394babb3eae7d7 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期日, 13 三月 2022 10:02:44 +0800
Subject: [PATCH] fix(bug修复): 增加了定时计算年龄的定时任务

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java         |   18 ++++++++++++++++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java                  |    2 +-
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/task/ScheduledTask.java                  |    8 ++++++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java |   18 ++++++++++++++++++
 4 files changed, 45 insertions(+), 1 deletions(-)

diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
index f349cea..a9804e9 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
+++ b/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)
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java
index 7853f4b..8e6bfa0 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java
+++ b/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();
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
index 21a2520..249fb05 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
+++ b/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;
+    }
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/task/ScheduledTask.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/task/ScheduledTask.java
index 6aa5f4a..22c1ec6 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/task/ScheduledTask.java
+++ b/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();
     }
 }

--
Gitblit v1.8.0