移动考勤

This commit is contained in:
pengjie 2024-12-03 16:18:55 +08:00
parent 7dd0c7202d
commit f1f83c7d2e

View File

@ -610,16 +610,28 @@ public class WorkerMonthAttendanceStatisticsServiceImpl extends ServiceImpl<Work
if (attendanceRule.getYesAdvance() != null) { if (attendanceRule.getYesAdvance() != null) {
yesAdvance = attendanceRule.getYesAdvance(); yesAdvance = attendanceRule.getYesAdvance();
} }
if (attendanceRule.getYesLater() != null) {
yesLater = attendanceRule.getYesLater();
}
} }
if (attendanceRule != null && attendanceRule.getOnceAttendance() != null && attendanceRule.getOnceAttendance() == 1) { if (attendanceRule != null && attendanceRule.getOnceAttendance() != null && attendanceRule.getOnceAttendance() == 1) {
Date attendanceTime = null;
if (StringUtils.isEmpty(maxTime) && StringUtils.isEmpty(minTime)) { if (StringUtils.isEmpty(maxTime) && StringUtils.isEmpty(minTime)) {
attendanceType = 5; //缺卡 attendanceType = 5; //缺卡
} else { } else {
Date startDate = sdf.parse(new StringBuilder(passTime).append(" ").append(startTimes).append(":00").toString()); Date startDate = sdf.parse(new StringBuilder(passTime).append(" ").append(startTimes).append(":00").toString());
Date endDate = sdf.parse(new StringBuilder(passTime).append(" ").append(endTimes).append(":00").toString()); Date endDate = sdf.parse(new StringBuilder(passTime).append(" ").append(endTimes).append(":00").toString());
attendanceTime = StringUtils.isEmpty(maxTime) ? sdf.parse(minTime) : sdf.parse(maxTime); boolean flag = false;
if (attendanceTime.getTime() < startDate.getTime() && attendanceTime.getTime() > endDate.getTime()) { for (int i = 0; i < list.size(); i++) {
EntityMap map = list.get(i);
if (map.get("createTime") != null) {
Date attendanceTime = sdf.parse(map.get("createTime").toString());
if (attendanceTime.getTime() > startDate.getTime() && attendanceTime.getTime() < endDate.getTime()) {
flag = true;
break;
}
}
}
if (flag) {
attendanceType = 1; //正常 attendanceType = 1; //正常
} else { } else {
attendanceType = 0; //缺勤 attendanceType = 0; //缺勤
@ -658,14 +670,14 @@ public class WorkerMonthAttendanceStatisticsServiceImpl extends ServiceImpl<Work
attendanceType = 0; //缺勤 attendanceType = 0; //缺勤
} else if (minDate.getTime() > endDate.getTime() && maxDate.getTime() > endDate.getTime()) { } else if (minDate.getTime() > endDate.getTime() && maxDate.getTime() > endDate.getTime()) {
attendanceType = 0; //缺勤 attendanceType = 0; //缺勤
} else if (minDate.getTime() > startDate.getTime()) {
attendanceType = 2; //迟到
} else if (maxDate.getTime() < endDate.getTime()) { } else if (maxDate.getTime() < endDate.getTime()) {
if (yesAdvanceDate != null && maxDate.getTime() < yesAdvanceDate.getTime()) { if (yesAdvanceDate != null && maxDate.getTime() < yesAdvanceDate.getTime()) {
attendanceType = 0; //缺勤 attendanceType = 0; //缺勤
} else { } else {
attendanceType = 3; //早退 attendanceType = 3; //早退
} }
} else if (minDate.getTime() > startDate.getTime()) {
attendanceType = 2; //迟到
} else { } else {
attendanceType = 1; //正常 attendanceType = 1; //正常
} }