|
|
@@ -114,30 +114,36 @@ public class AttenDanceWarnNoticeTask {
|
|
|
for (AttendanceRuleDetails ruleDetails : ruleDetailsList) {
|
|
|
if(ruleDetails.getIsAllowInOutSchool() != null && ruleDetails.getIsAllowInOutSchool() != 1
|
|
|
&& ruleDetails.getIsAttendance() != null && ruleDetails.getIsAttendance() == 1){
|
|
|
-
|
|
|
- LocalDateTime amStartTime = judgeTime.with(ruleDetails.getAmStartTime());
|
|
|
- long amBetween = ChronoUnit.MINUTES.between(judgeTime, amStartTime);
|
|
|
- if(amBetween == ruleDetails.getAgoMinutes()){
|
|
|
- result.put(ruleDetails.getId(), - 1);
|
|
|
- }else if(amBetween == ruleDetails.getOverMinutes()){
|
|
|
- result.put(ruleDetails.getId(), - 1);
|
|
|
+ if(ruleDetails.getAmStartTime() != null){
|
|
|
+ LocalDateTime amStartTime = judgeTime.with(ruleDetails.getAmStartTime());
|
|
|
+ long amBetween = ChronoUnit.MINUTES.between(judgeTime, amStartTime);
|
|
|
+ if(amBetween == ruleDetails.getAgoMinutes()){
|
|
|
+ result.put(ruleDetails.getId(), - 1);
|
|
|
+ }else if(amBetween == ruleDetails.getOverMinutes()){
|
|
|
+ result.put(ruleDetails.getId(), - 1);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- LocalDateTime pmStartTime = judgeTime.with(ruleDetails.getPmStartTime());
|
|
|
- long pmBetween = ChronoUnit.MINUTES.between(judgeTime, pmStartTime);
|
|
|
- if(pmBetween == ruleDetails.getAgoMinutes()){
|
|
|
- result.put(ruleDetails.getId(), - 1);
|
|
|
- }else if(pmBetween == ruleDetails.getOverMinutes()){
|
|
|
- result.put(ruleDetails.getId(), - 1);
|
|
|
+ if(ruleDetails.getPmStartTime() != null){
|
|
|
+ LocalDateTime pmStartTime = judgeTime.with(ruleDetails.getPmStartTime());
|
|
|
+ long pmBetween = ChronoUnit.MINUTES.between(judgeTime, pmStartTime);
|
|
|
+ if(pmBetween == ruleDetails.getAgoMinutes()){
|
|
|
+ result.put(ruleDetails.getId(), - 1);
|
|
|
+ }else if(pmBetween == ruleDetails.getOverMinutes()){
|
|
|
+ result.put(ruleDetails.getId(), - 1);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- LocalDateTime eveningStartTime = judgeTime.with(ruleDetails.getEveningStartTime());
|
|
|
- long eveningBetween = ChronoUnit.MINUTES.between(judgeTime, eveningStartTime);
|
|
|
- if(eveningBetween == ruleDetails.getAgoMinutes()){
|
|
|
- result.put(ruleDetails.getId(), - 1);
|
|
|
- }else if(eveningBetween == ruleDetails.getOverMinutes()){
|
|
|
- result.put(ruleDetails.getId(), - 1);
|
|
|
+ if(ruleDetails.getEveningStartTime() != null){
|
|
|
+ LocalDateTime eveningStartTime = judgeTime.with(ruleDetails.getEveningStartTime());
|
|
|
+ long eveningBetween = ChronoUnit.MINUTES.between(judgeTime, eveningStartTime);
|
|
|
+ if(eveningBetween == ruleDetails.getAgoMinutes()){
|
|
|
+ result.put(ruleDetails.getId(), - 1);
|
|
|
+ }else if(eveningBetween == ruleDetails.getOverMinutes()){
|
|
|
+ result.put(ruleDetails.getId(), - 1);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
if(!result.containsKey(ruleDetails.getId())){
|
|
|
result.put(ruleDetails.getId(), 0);
|
|
|
}
|