移动考勤

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) {
yesAdvance = attendanceRule.getYesAdvance();
}
if (attendanceRule.getYesLater() != null) {
yesLater = attendanceRule.getYesLater();
}
}
if (attendanceRule != null && attendanceRule.getOnceAttendance() != null && attendanceRule.getOnceAttendance() == 1) {
Date attendanceTime = null;
if (StringUtils.isEmpty(maxTime) && StringUtils.isEmpty(minTime)) {
attendanceType = 5; //缺卡
} else {
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());
attendanceTime = StringUtils.isEmpty(maxTime) ? sdf.parse(minTime) : sdf.parse(maxTime);
if (attendanceTime.getTime() < startDate.getTime() && attendanceTime.getTime() > endDate.getTime()) {
boolean flag = false;
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; //正常
} else {
attendanceType = 0; //缺勤
@ -658,14 +670,14 @@ public class WorkerMonthAttendanceStatisticsServiceImpl extends ServiceImpl<Work
attendanceType = 0; //缺勤
} else if (minDate.getTime() > endDate.getTime() && maxDate.getTime() > endDate.getTime()) {
attendanceType = 0; //缺勤
} else if (minDate.getTime() > startDate.getTime()) {
attendanceType = 2; //迟到
} else if (maxDate.getTime() < endDate.getTime()) {
if (yesAdvanceDate != null && maxDate.getTime() < yesAdvanceDate.getTime()) {
attendanceType = 0; //缺勤
} else {
attendanceType = 3; //早退
}
} else if (minDate.getTime() > startDate.getTime()) {
attendanceType = 2; //迟到
} else {
attendanceType = 1; //正常
}