From 5611b19e904ec0daa96ea5f648500cf6205c9385 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期一, 26 十月 2026 15:39:37 +0800
Subject: [PATCH] fix(hrm): 合并定位打卡与考勤状态功能
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRecordService.java | 35 ++++++++++++++++++++++++++++-------
1 files changed, 28 insertions(+), 7 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 352854b..46fdf36 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,8 @@
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,24 +40,43 @@
HrmAttendanceRecordDO getAttendanceRecordByUserIdAndDate(Long userId, LocalDate date);
/**
+ * 鑾峰緱褰撳墠鐧诲綍浜虹殑鑰冨嫟鐘舵�侊細鑰冨嫟瑙勫垯 + 鎸囧畾鏃ユ湡鐨勬墦鍗$姸鎬�
+ *
+ * @param loginUserId 鐧诲綍鐢ㄦ埛ID锛堢郴缁熺敤鎴稩D锛屼笉鏄憳宸D锛�
+ * @param date 鑰冨嫟鏃ユ湡锛屼负绌烘椂鍙栨湇鍔″櫒褰撳ぉ
+ * @return 鎴戠殑鑰冨嫟鐘舵��
+ */
+ HrmAttendanceMyStatusRespVO getMyStatus(Long loginUserId, LocalDate date);
+
+ /** 鍒涘缓瀵煎叆鐨勮�冨嫟璁板綍 */
+ void createImportedRecord(HrmAttendanceRecordDO record);
+
+ /** 鏇存柊瀵煎叆鐨勮�冨嫟璁板綍 */
+ void updateImportedRecord(HrmAttendanceRecordDO record);
+
+ /**
* 鎵撳崱锛堜笂鐝墦鍗★級
*
* @param userId 鍛樺伐ID
* @param clockTime 鎵撳崱鏃堕棿
- * @param location 鎵撳崱鍦扮偣
- * @return 鑰冨嫟璁板綍
+ * @param reqVO 瀹氫綅鍘熷鏁版嵁
+ * @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 瀹氫綅鍘熷鏁版嵁
+ * @param legacyLocation 鏃у鎴风浼犲叆鐨勫湴鐐规枃鏈紝浠呭湪鏈惎鐢ㄥ畾浣嶈寖鍥存椂鍏煎浣跨敤
+ * @return 鎵撳崱缁撴灉
*/
- HrmAttendanceRecordDO clockOut(Long userId, LocalDateTime clockTime, String location);
+ HrmAttendanceClockResult clockOut(Long userId, LocalDateTime clockTime,
+ HrmAttendanceClockReqVO reqVO, String legacyLocation);
/**
* 琛ュ崱瀹℃壒閫氳繃鍚庢洿鏂拌�冨嫟璁板綍
@@ -64,4 +85,4 @@
*/
void supplementClockIn(HrmAttendanceExceptionDO exception);
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3