From 690b713454828f34f901bc1e3a5f7bcc35a31b30 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期一, 26 十月 2026 17:52:05 +0800
Subject: [PATCH] feat(hrm): 支持定位范围打卡
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordService.java | 37 +++++++++++++++++++++++++++++--------
1 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordService.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordService.java
index 8723951..0c59517 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordService.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordService.java
@@ -1,6 +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.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;
@@ -13,7 +14,7 @@
/**
* 鑰冨嫟璁板綍 Service 鎺ュ彛
*
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
*/
public interface HrmAttendanceRecordService {
@@ -37,25 +38,35 @@
*/
HrmAttendanceRecordDO getAttendanceRecordByUserIdAndDate(Long userId, LocalDate date);
+ /** 鍒涘缓瀵煎叆鐨勮�冨嫟璁板綍 */
+ void createImportedRecord(HrmAttendanceRecordDO record);
+
+ /** 鏇存柊瀵煎叆鐨勮�冨嫟璁板綍 */
+ void updateImportedRecord(HrmAttendanceRecordDO record);
+
/**
* 鎵撳崱锛堜笂鐝墦鍗★級
*
* @param userId 鍛樺伐ID
* @param clockTime 鎵撳崱鏃堕棿
- * @param location 鎵撳崱鍦扮偣
- * @return 鑰冨嫟璁板綍
+ * @param reqVO 鍘熷瀹氫綅淇℃伅锛圵GS84锛�
+ * @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 鍘熷瀹氫綅淇℃伅锛圵GS84锛�
+ * @param legacyLocation 鏃х増鍦扮偣鏂囨湰锛屼粎鍦ㄦ湭鍚敤浣嶇疆闄愬埗鏃跺吋瀹逛娇鐢�
+ * @return 鎵撳崱璁板綍銆佽鍒欏拰璺濈
*/
- HrmAttendanceRecordDO clockOut(Long userId, LocalDateTime clockTime, String location);
+ HrmAttendanceClockResult clockOut(Long userId, LocalDateTime clockTime,
+ HrmAttendanceClockReqVO reqVO, String legacyLocation);
/**
* 琛ュ崱瀹℃壒閫氳繃鍚庢洿鏂拌�冨嫟璁板綍
@@ -64,4 +75,14 @@
*/
void supplementClockIn(HrmAttendanceExceptionDO exception);
-}
\ No newline at end of file
+ /**
+ * 鑾峰緱褰撳墠鐧诲綍浜虹殑鑰冨嫟鐘舵�侊紙App 鎵撳崱椤典娇鐢級
+ *
+ * @param loginUserId 鐧诲綍鐢ㄦ埛ID锛堢郴缁熺敤鎴凤紝闈炲憳宸D锛�
+ * @param date 鑰冨嫟鏃ユ湡锛屼负绌烘椂鍙栨湇鍔″櫒褰撳ぉ
+ * @return 鎴戠殑鑰冨嫟鐘舵��
+ */
+ cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceMyStatusRespVO
+ getMyStatus(Long loginUserId, LocalDate date);
+
+}
--
Gitblit v1.9.3