| | |
| | | import java.math.RoundingMode; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.time.LocalTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.List; |
| | | |
| | |
| | | throw new BaseException(String.format("打卡失败:您当前位置距离考勤点%.2f米,超出允许范围(%s米)", actualDistance, allowedRadius)); |
| | | } |
| | | /*判断打卡时间*/ |
| | | LocalDateTime endAt = locationConfig.getEndAt(); //下班时间 |
| | | LocalTime endAt = locationConfig.getEndAt(); //下班时间 |
| | | // 获取考勤下班时间点 |
| | | int standardHour = endAt.getHour(); |
| | | int standardMinute = endAt.getMinute(); |
| | |
| | | LocalDateTime actualTime = isStart ? attendanceRecord.getWorkStartAt() : attendanceRecord.getWorkEndAt(); |
| | | try { |
| | | // 获取考勤时间配置 |
| | | LocalDateTime startAt = locationConfig.getStartAt();//上班时间 |
| | | LocalDateTime endAt = locationConfig.getEndAt();//下班时间 |
| | | LocalDateTime timeConfig = isStart ? startAt : endAt; |
| | | LocalTime startAt = locationConfig.getStartAt();//上班时间 |
| | | LocalTime endAt = locationConfig.getEndAt();//下班时间 |
| | | LocalTime timeConfig = isStart ? startAt : endAt; |
| | | // 解析小时和分钟 |
| | | int standardHour = timeConfig.getHour(); |
| | | int standardMinute = timeConfig.getMinute(); |
| | |
| | | StaffOnJob staffOnJob = staffOnJobMapper.selectOne(staffQueryWrapper); |
| | | |
| | | if (staffOnJob == null) { |
| | | return null; // 当前用户没有对应的员工信息 |
| | | throw new BaseException("当前用户没有对应的员工信息"); |
| | | } |
| | | |
| | | // 根据员工ID和当前日期查询打卡记录 |