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 |   29 ++++++++++++++++++++++-------
 1 files changed, 22 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 25cfd62..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;
@@ -37,6 +39,15 @@
      */
     HrmAttendanceRecordDO getAttendanceRecordByUserIdAndDate(Long userId, LocalDate date);
 
+    /**
+     * 鑾峰緱褰撳墠鐧诲綍浜虹殑鑰冨嫟鐘舵�侊細鑰冨嫟瑙勫垯 + 鎸囧畾鏃ユ湡鐨勬墦鍗$姸鎬�
+     *
+     * @param loginUserId 鐧诲綍鐢ㄦ埛ID锛堢郴缁熺敤鎴稩D锛屼笉鏄憳宸D锛�
+     * @param date        鑰冨嫟鏃ユ湡锛屼负绌烘椂鍙栨湇鍔″櫒褰撳ぉ
+     * @return 鎴戠殑鑰冨嫟鐘舵��
+     */
+    HrmAttendanceMyStatusRespVO getMyStatus(Long loginUserId, LocalDate date);
+
     /** 鍒涘缓瀵煎叆鐨勮�冨嫟璁板綍 */
     void createImportedRecord(HrmAttendanceRecordDO record);
 
@@ -48,20 +59,24 @@
      *
      * @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);
 
     /**
      * 琛ュ崱瀹℃壒閫氳繃鍚庢洿鏂拌�冨嫟璁板綍
@@ -70,4 +85,4 @@
      */
     void supplementClockIn(HrmAttendanceExceptionDO exception);
 
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3