|
|
@@ -74,6 +74,10 @@ public class AttenDanceWarnNoticeTask {
|
|
|
|
|
|
//查询今天所有的考勤规则
|
|
|
List<AttendanceRuleDetails> ruleDetailsList = categoryService.getTodayRules();
|
|
|
+ if(ruleDetailsList.isEmpty()){
|
|
|
+ log.info("未能查询出规则,不进行推送");
|
|
|
+ return;
|
|
|
+ }
|
|
|
Map<Long, AttendanceRuleDetails> ruleDetailsMap = new HashMap<>();
|
|
|
for (AttendanceRuleDetails ruleDetail : ruleDetailsList) {
|
|
|
ruleDetailsMap.put(ruleDetail.getAttendanceRuleCategoryId(), ruleDetail);
|
|
|
@@ -111,15 +115,19 @@ public class AttenDanceWarnNoticeTask {
|
|
|
}
|
|
|
//未查询到数据
|
|
|
String dayOfWeek = now.getDayOfWeek().name();
|
|
|
- if(holidayDate == null || "SUNDAY".equals(dayOfWeek) || "SATURDAY".equals(dayOfWeek)){
|
|
|
+ if("SUNDAY".equals(dayOfWeek) || "SATURDAY".equals(dayOfWeek)){
|
|
|
log.info("非工作日,不需要提醒");
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
//获取最近的时间
|
|
|
LocalDateTime recentlyTime = getRecentlyTime(ruleDetailsList, now);
|
|
|
+ if(recentlyTime == null){
|
|
|
+ log.info("未到时间,不进行推送");
|
|
|
+ return;
|
|
|
+ }
|
|
|
long minute = Math.abs(ChronoUnit.MINUTES.between(now, recentlyTime));
|
|
|
- if(minute >= 1){
|
|
|
+ if(now.isBefore(recentlyTime) && minute >= 1){
|
|
|
log.info("未到时间,不进行推送");
|
|
|
return;
|
|
|
}
|
|
|
@@ -142,6 +150,9 @@ public class AttenDanceWarnNoticeTask {
|
|
|
List<XjrUser> userList = getUserList(allTodyRule.keySet());
|
|
|
for (XjrUser xjrUser : userList) {
|
|
|
AttendanceRuleDetails ruleDetails = allTodyRule.get(xjrUser.getId());
|
|
|
+ if(ruleDetails == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
Integer status = ruleDetailsJudgeMap.get(ruleDetails.getId());
|
|
|
if(status == 0){
|
|
|
continue;
|