| | |
| | | package cn.iocoder.yudao.module.hrm.service.attendance; |
| | | |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceClockReqVO; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceMyStatusRespVO; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceRecordPageReqVO; |
| | | import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceRecordDO; |
| | |
| | | */ |
| | | HrmAttendanceRecordDO getAttendanceRecordByUserIdAndDate(Long userId, LocalDate date); |
| | | |
| | | /** |
| | | * 获得当前登录人的考勤状态:考勤规则 + 指定日期的打卡状态 |
| | | * |
| | | * @param loginUserId 登录用户ID(系统用户ID,不是员工ID) |
| | | * @param date 考勤日期,为空时取服务器当天 |
| | | * @return 我的考勤状态 |
| | | */ |
| | | HrmAttendanceMyStatusRespVO getMyStatus(Long loginUserId, LocalDate date); |
| | | |
| | | /** 创建导入的考勤记录 */ |
| | | void createImportedRecord(HrmAttendanceRecordDO record); |
| | | |
| | |
| | | * |
| | | * @param userId 员工ID |
| | | * @param clockTime 打卡时间 |
| | | * @param reqVO 原始定位信息(WGS84) |
| | | * @param legacyLocation 旧版地点文本,仅在未启用位置限制时兼容使用 |
| | | * @return 打卡记录、规则和距离 |
| | | * @param location 打卡地点 |
| | | * @return 考勤记录 |
| | | */ |
| | | HrmAttendanceClockResult clockIn(Long userId, LocalDateTime clockTime, |
| | | HrmAttendanceClockReqVO reqVO, String legacyLocation); |
| | | HrmAttendanceRecordDO clockIn(Long userId, LocalDateTime clockTime, String location); |
| | | |
| | | /** |
| | | * 打卡(下班打卡) |
| | | * |
| | | * @param userId 员工ID |
| | | * @param clockTime 打卡时间 |
| | | * @param reqVO 原始定位信息(WGS84) |
| | | * @param legacyLocation 旧版地点文本,仅在未启用位置限制时兼容使用 |
| | | * @return 打卡记录、规则和距离 |
| | | * @param location 打卡地点 |
| | | * @return 考勤记录 |
| | | */ |
| | | HrmAttendanceClockResult clockOut(Long userId, LocalDateTime clockTime, |
| | | HrmAttendanceClockReqVO reqVO, String legacyLocation); |
| | | |
| | | /** |
| | | * 获取员工今日打卡状态 |
| | | * |
| | | * @param userId 员工ID |
| | | * @return 今日打卡状态,员工不存在时返回 null |
| | | */ |
| | | HrmAttendanceMyStatusRespVO getMyStatus(Long userId); |
| | | HrmAttendanceRecordDO clockOut(Long userId, LocalDateTime clockTime, String location); |
| | | |
| | | /** |
| | | * 补卡审批通过后更新考勤记录 |
| | |
| | | */ |
| | | void supplementClockIn(HrmAttendanceExceptionDO exception); |
| | | |
| | | } |
| | | } |