소스 검색

消息通知报错解决

dzx 1 년 전
부모
커밋
36cfcd7d3a
1개의 변경된 파일12개의 추가작업 그리고 6개의 파일을 삭제
  1. 12 6
      src/main/java/com/xjrsoft/module/job/AttenDanceWarnNoticeTask.java

+ 12 - 6
src/main/java/com/xjrsoft/module/job/AttenDanceWarnNoticeTask.java

@@ -193,18 +193,22 @@ public class AttenDanceWarnNoticeTask {
                 if(ruleDetails.getAmStartTime() != null){
                     LocalDateTime amStartTime = judgeTime.with(ruleDetails.getAmStartTime().toLocalTime());
                     Long amBetween = Math.abs(ChronoUnit.MINUTES.between(judgeTime, amStartTime));
-                    if(recentlyTime.isEqual(amStartTime.plusMinutes(- ruleDetails.getAgoMinutes())) && amBetween >= ruleDetails.getAgoMinutes() - 1 && amBetween <= ruleDetails.getAgoMinutes() + 1){//相差分钟数小于0
+                    if(ruleDetails.getAgoMinutes() != null && recentlyTime.isEqual(amStartTime.plusMinutes(- ruleDetails.getAgoMinutes()))
+                            && amBetween >= ruleDetails.getAgoMinutes() - 1 && amBetween <= ruleDetails.getAgoMinutes() + 1){//相差分钟数小于0
                         result.put(ruleDetails.getId(), 1);
-                    }else if(recentlyTime.isEqual(amStartTime.plusMinutes(ruleDetails.getOverMinutes())) && amBetween >= ruleDetails.getOverMinutes() - 1 && amBetween <= ruleDetails.getOverMinutes() + 1){
+                    }else if(ruleDetails.getOverMinutes() != null && recentlyTime.isEqual(amStartTime.plusMinutes(ruleDetails.getOverMinutes()))
+                            && amBetween >= ruleDetails.getOverMinutes() - 1 && amBetween <= ruleDetails.getOverMinutes() + 1){
                         result.put(ruleDetails.getId(), 2);
                     }
                 }
                 if(ruleDetails.getPmStartTime() != null){
                     LocalDateTime pmStartTime = judgeTime.with(ruleDetails.getPmStartTime().toLocalTime());
                     Long pmBetween = Math.abs(ChronoUnit.MINUTES.between(judgeTime, pmStartTime));
-                    if(recentlyTime.isEqual(pmStartTime.plusMinutes(- ruleDetails.getAgoMinutes())) && pmBetween >= ruleDetails.getAgoMinutes() - 1 && pmBetween <= ruleDetails.getAgoMinutes() + 1){//相差分钟数小于0
+                    if(ruleDetails.getAgoMinutes() != null && recentlyTime.isEqual(pmStartTime.plusMinutes(- ruleDetails.getAgoMinutes()))
+                            && pmBetween >= ruleDetails.getAgoMinutes() - 1 && pmBetween <= ruleDetails.getAgoMinutes() + 1){//相差分钟数小于0
                         result.put(ruleDetails.getId(), 1);
-                    }else if(recentlyTime.isEqual(pmStartTime.plusMinutes(ruleDetails.getOverMinutes())) && pmBetween >= ruleDetails.getOverMinutes() - 1 && pmBetween <= ruleDetails.getOverMinutes() + 1){
+                    }else if(ruleDetails.getOverMinutes() != null && recentlyTime.isEqual(pmStartTime.plusMinutes(ruleDetails.getOverMinutes()))
+                            && pmBetween >= ruleDetails.getOverMinutes() - 1 && pmBetween <= ruleDetails.getOverMinutes() + 1){
                         result.put(ruleDetails.getId(), 2);
                     }
                 }
@@ -212,9 +216,11 @@ public class AttenDanceWarnNoticeTask {
                 if(ruleDetails.getEveningStartTime() != null){
                     LocalDateTime eveningStartTime = judgeTime.with(ruleDetails.getEveningStartTime().toLocalTime());
                     Long eveningBetween = Math.abs(ChronoUnit.MINUTES.between(judgeTime, eveningStartTime));
-                    if(recentlyTime.isEqual(eveningStartTime.plusMinutes(- ruleDetails.getAgoMinutes())) && eveningBetween >= ruleDetails.getAgoMinutes() - 1 && eveningBetween <= ruleDetails.getAgoMinutes() + 1){//相差分钟数小于0
+                    if(ruleDetails.getAgoMinutes() != null && recentlyTime.isEqual(eveningStartTime.plusMinutes(- ruleDetails.getAgoMinutes()))
+                            && eveningBetween >= ruleDetails.getAgoMinutes() - 1 && eveningBetween <= ruleDetails.getAgoMinutes() + 1){//相差分钟数小于0
                         result.put(ruleDetails.getId(), 1);
-                    }else if(recentlyTime.isEqual(eveningStartTime.plusMinutes(ruleDetails.getOverMinutes())) && eveningBetween >= ruleDetails.getOverMinutes() - 1 && eveningBetween <= ruleDetails.getOverMinutes() + 1){
+                    }else if(ruleDetails.getOverMinutes() != null && recentlyTime.isEqual(eveningStartTime.plusMinutes(ruleDetails.getOverMinutes()))
+                            && eveningBetween >= ruleDetails.getOverMinutes() - 1 && eveningBetween <= ruleDetails.getOverMinutes() + 1){
                         result.put(ruleDetails.getId(), 2);
                     }
                 }