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