liu
12 小时以前 690b713454828f34f901bc1e3a5f7bcc35a31b30
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordService.java
@@ -1,7 +1,7 @@
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.HrmAttendanceMyStatusRespVO;
import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceClockReqVO;
import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceRecordPageReqVO;
import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceRecordDO;
import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceExceptionDO;
@@ -38,15 +38,6 @@
     */
    HrmAttendanceRecordDO getAttendanceRecordByUserIdAndDate(Long userId, LocalDate date);
    /**
     * 获得当前登录人的考勤状态:考勤规则 + 指定日期的打卡状态
     *
     * @param loginUserId 登录用户ID(系统用户ID,不是员工ID)
     * @param date        考勤日期,为空时取服务器当天
     * @return 我的考勤状态
     */
    HrmAttendanceMyStatusRespVO getMyStatus(Long loginUserId, LocalDate date);
    /** 创建导入的考勤记录 */
    void createImportedRecord(HrmAttendanceRecordDO record);
@@ -58,20 +49,24 @@
     *
     * @param userId 员工ID
     * @param clockTime 打卡时间
     * @param location 打卡地点
     * @return 考勤记录
     * @param reqVO 原始定位信息(WGS84)
     * @param legacyLocation 旧版地点文本,仅在未启用位置限制时兼容使用
     * @return 打卡记录、规则和距离
     */
    HrmAttendanceRecordDO clockIn(Long userId, LocalDateTime clockTime, String location);
    HrmAttendanceClockResult clockIn(Long userId, LocalDateTime clockTime,
                                     HrmAttendanceClockReqVO reqVO, String legacyLocation);
    /**
     * 打卡(下班打卡)
     *
     * @param userId 员工ID
     * @param clockTime 打卡时间
     * @param location 打卡地点
     * @return 考勤记录
     * @param reqVO 原始定位信息(WGS84)
     * @param legacyLocation 旧版地点文本,仅在未启用位置限制时兼容使用
     * @return 打卡记录、规则和距离
     */
    HrmAttendanceRecordDO clockOut(Long userId, LocalDateTime clockTime, String location);
    HrmAttendanceClockResult clockOut(Long userId, LocalDateTime clockTime,
                                      HrmAttendanceClockReqVO reqVO, String legacyLocation);
    /**
     * 补卡审批通过后更新考勤记录
@@ -80,4 +75,14 @@
     */
    void supplementClockIn(HrmAttendanceExceptionDO exception);
}
    /**
     * 获得当前登录人的考勤状态(App 打卡页使用)
     *
     * @param loginUserId 登录用户ID(系统用户,非员工ID)
     * @param date        考勤日期,为空时取服务器当天
     * @return 我的考勤状态
     */
    cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceMyStatusRespVO
    getMyStatus(Long loginUserId, LocalDate date);
}