From 852b6547eb0cedcc6accf36214b0574d745f3208 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期六, 24 十月 2026 17:48:31 +0800
Subject: [PATCH] feat(hrm): 从标品分支移植 APP 打卡状态接口 /hrm/attendance/record/my-status
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceRecordController.java | 24 +++++++++++++++++-------
1 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceRecordController.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceRecordController.java
index 9f94ad3..415aaef 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceRecordController.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceRecordController.java
@@ -11,6 +11,7 @@
import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceRecordImportReqVO;
import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceRecordPageReqVO;
import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceRecordRespVO;
+import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceMyStatusRespVO;
import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceRecordDO;
import cn.iocoder.yudao.module.hrm.dal.dataobject.employee.HrmEmployeeDO;
import cn.iocoder.yudao.module.hrm.service.attendance.HrmAttendanceRecordService;
@@ -30,6 +31,7 @@
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@@ -56,7 +58,7 @@
@PostMapping("/clock-in")
@Operation(summary = "涓婄彮鎵撳崱")
- @PreAuthorize("@ss.hasPermission('hrm:attendance:clock')")
+ @PreAuthorize("@ss.hasPermission('hrm:attendance-record:clock')")
public CommonResult<HrmAttendanceRecordRespVO> clockIn(@RequestParam("location") String location) {
Long loginUserId = getLoginUserId();
HrmEmployeeDO employee = employeeService.getEmployeeByUserId(loginUserId);
@@ -77,7 +79,7 @@
@PostMapping("/clock-out")
@Operation(summary = "涓嬬彮鎵撳崱")
- @PreAuthorize("@ss.hasPermission('hrm:attendance:clock')")
+ @PreAuthorize("@ss.hasPermission('hrm:attendance-record:clock')")
public CommonResult<HrmAttendanceRecordRespVO> clockOut(@RequestParam("location") String location) {
Long loginUserId = getLoginUserId();
HrmEmployeeDO employee = employeeService.getEmployeeByUserId(loginUserId);
@@ -96,13 +98,21 @@
return success(respVO);
}
- private Long getLoginUserId() {
- return cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId();
+ @GetMapping("/my-status")
+ @Operation(summary = "鑾峰緱褰撳墠鐧诲綍浜虹殑鑰冨嫟鐘舵��", description = "App 鎵撳崱椤典娇鐢細杩斿洖褰撴棩鑰冨嫟瑙勫垯銆佹墦鍗¤褰曚笌鍙墦鍗$姸鎬�")
+ @Parameter(name = "date", description = "鑰冨嫟鏃ユ湡锛屾牸寮� yyyy-MM-dd锛岄粯璁ゆ湇鍔″櫒褰撳ぉ", example = "2026-10-17")
+ public CommonResult<HrmAttendanceMyStatusRespVO> getMyStatus(
+ @RequestParam(value = "date", required = false)
+ @org.springframework.format.annotation.DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date) {
+ return success(attendanceRecordService.getMyStatus(getLoginUserId(), date));
}
+
+ private Long getLoginUserId() {
+ return cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId(); }
@GetMapping("/page")
@Operation(summary = "鑾峰緱鑰冨嫟璁板綍鍒嗛〉")
- @PreAuthorize("@ss.hasPermission('hrm:attendance:query')")
+ @PreAuthorize("@ss.hasPermission('hrm:attendance-record:query')")
public CommonResult<PageResult<HrmAttendanceRecordRespVO>> getAttendanceRecordPage(@Valid HrmAttendanceRecordPageReqVO pageReqVO) {
PageResult<HrmAttendanceRecordDO> pageResult = attendanceRecordService.getAttendanceRecordPage(pageReqVO);
// 杞崲涓� VO
@@ -157,7 +167,7 @@
@GetMapping("/get")
@Operation(summary = "鑾峰緱鑰冨嫟璁板綍")
@Parameter(name = "id", description = "璁板綍ID", required = true)
- @PreAuthorize("@ss.hasPermission('hrm:attendance:query')")
+ @PreAuthorize("@ss.hasPermission('hrm:attendance-record:query')")
public CommonResult<HrmAttendanceRecordRespVO> getAttendanceRecord(@RequestParam("id") Long id) {
HrmAttendanceRecordDO attendanceRecord = attendanceRecordService.getAttendanceRecord(id);
if (attendanceRecord == null) {
@@ -281,7 +291,7 @@
@GetMapping("/export-excel")
@Operation(summary = "瀵煎嚭鑰冨嫟璁板綍 Excel")
- @PreAuthorize("@ss.hasPermission('hrm:attendance:export')")
+ @PreAuthorize("@ss.hasPermission('hrm:attendance-record:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportAttendanceRecordExcel(@Valid HrmAttendanceRecordPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
--
Gitblit v1.9.3