From 481d8165f26fc7e37f0e87f6444ac0340bb563a3 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期二, 03 十一月 2026 18:53:22 +0800
Subject: [PATCH] fix: 移植长辉已验证的四类接口 500/体验问题(不含物料颜色字段)

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceExceptionController.java |   34 ++++++++++++++++++++++------------
 1 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceExceptionController.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceExceptionController.java
index 3ca789b..fae53a2 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceExceptionController.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceExceptionController.java
@@ -4,6 +4,7 @@
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceExceptionAuditReqVO;
 import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceExceptionPageReqVO;
 import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceExceptionRespVO;
 import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceExceptionSaveReqVO;
@@ -70,7 +71,6 @@
     @GetMapping("/get")
     @Operation(summary = "鑾峰緱鑰冨嫟寮傚父鐢宠")
     @Parameter(name = "id", description = "鐢宠ID", required = true)
-    @PreAuthorize("@ss.hasPermission('hrm:attendance:query')")
     public CommonResult<HrmAttendanceExceptionRespVO> getAttendanceException(@RequestParam("id") Long id) {
         HrmAttendanceExceptionDO attendanceException = attendanceExceptionService.getAttendanceException(id);
         if (attendanceException == null) {
@@ -96,7 +96,6 @@
 
     @GetMapping("/page")
     @Operation(summary = "鑾峰緱鑰冨嫟寮傚父鐢宠鍒嗛〉")
-    @PreAuthorize("@ss.hasPermission('hrm:attendance:query')")
     public CommonResult<PageResult<HrmAttendanceExceptionRespVO>> getAttendanceExceptionPage(@Valid HrmAttendanceExceptionPageReqVO pageReqVO) {
         PageResult<HrmAttendanceExceptionDO> pageResult = attendanceExceptionService.getAttendanceExceptionPage(pageReqVO);
         List<HrmAttendanceExceptionRespVO> list = BeanUtils.toBean(pageResult.getList(), HrmAttendanceExceptionRespVO.class);
@@ -143,16 +142,27 @@
         }
     }
 
-    @PostMapping("/submit")
-    @Operation(summary = "鎻愪氦鑰冨嫟寮傚父鐢宠")
-    @PreAuthorize("@ss.hasPermission('hrm:attendance:submit')")
-    public CommonResult<Boolean> submitAttendanceException(
-            @RequestParam("id") Long id,
-            @RequestParam("processDefinitionKey") String processDefinitionKey) {
-        // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛ID
-        Long userId = cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId();
-        attendanceExceptionService.submitAttendanceException(id, processDefinitionKey, userId);
+    @PutMapping("/submit")
+    @Operation(summary = "鎻愪氦瀹℃壒锛堣崏绋�/瀹℃牳涓嶉�氳繃鈫掑鎵逛腑锛夛紝瀹℃壒浜虹敱瀹℃壒閰嶇疆缁熶竴鎸囧畾")
+    @Parameter(name = "id", description = "鐢宠ID", required = true)
+    @PreAuthorize("@ss.hasPermission('hrm:attendance-exception:submit')")
+    public CommonResult<Boolean> submitAttendanceException(@RequestParam("id") Long id) {
+        attendanceExceptionService.submitAttendanceException(id);
         return success(true);
     }
 
-}
\ No newline at end of file
+    @PutMapping("/audit")
+    @Operation(summary = "瀹℃牳锛堝鎵逛腑鈫掑鏍搁�氳繃/瀹℃牳涓嶉�氳繃锛夛紝浠呭鎵逛汉鏈汉鍙搷浣�")
+    @PreAuthorize("@ss.hasPermission('hrm:attendance-exception:audit')")
+    public CommonResult<Boolean> auditAttendanceException(@Valid @RequestBody HrmAttendanceExceptionAuditReqVO auditReqVO) {
+        attendanceExceptionService.auditAttendanceException(auditReqVO.getId(), auditReqVO.getPass(), auditReqVO.getReviewRemark());
+        return success(true);
+    }
+
+    @GetMapping("/approver-ids")
+    @Operation(summary = "鑾峰緱瀹℃壒浜虹紪鍙烽泦鍚堬紝渚涘墠绔垽鏂槸鍚﹀睍绀哄鏍告寜閽�")
+    public CommonResult<Set<Long>> getApproverUserIds() {
+        return success(attendanceExceptionService.getAttendanceExceptionApproverUserIds());
+    }
+
+}

--
Gitblit v1.9.3