From ba100c651a81162a9a9a4533ff4d072f2889171a Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期五, 06 十一月 2026 09:38:46 +0800
Subject: [PATCH] fix(hrm): 考勤统计支持员工姓名搜索;缺卡统计补全(与考勤记录联动)

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSalaryCalculationController.java |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSalaryCalculationController.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSalaryCalculationController.java
index e380575..1eb277c 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSalaryCalculationController.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSalaryCalculationController.java
@@ -48,7 +48,7 @@
 
     @GetMapping("/page")
     @Operation(summary = "鑾峰緱钖叕鏍哥畻鍒嗛〉")
-    @PreAuthorize("@ss.hasPermission('hrm:salary:query')")
+    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:query')")
     public CommonResult<PageResult<HrmSalaryCalculationRespVO>> getSalaryCalculationPage(@Valid HrmSalaryCalculationPageReqVO pageReqVO) {
         PageResult<HrmSalaryCalculationDO> pageResult = salaryCalculationService.getSalaryCalculationPage(pageReqVO);
         // 杞崲涓� VO
@@ -100,7 +100,7 @@
     @GetMapping("/get")
     @Operation(summary = "鑾峰緱钖叕鏍哥畻")
     @Parameter(name = "id", description = "鏍哥畻ID", required = true)
-    @PreAuthorize("@ss.hasPermission('hrm:salary:query')")
+    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:query')")
     public CommonResult<HrmSalaryCalculationRespVO> getSalaryCalculation(@RequestParam("id") Long id) {
         HrmSalaryCalculationDO salaryCalculation = salaryCalculationService.getSalaryCalculation(id);
         if (salaryCalculation == null) {
@@ -127,7 +127,7 @@
     @Operation(summary = "鎵ц钖叕鏍哥畻")
     @Parameter(name = "period", description = "鏍哥畻鍛ㄦ湡", required = true, example = "2024-01")
     @Parameter(name = "deptId", description = "閮ㄩ棬ID锛屼负绌哄垯鏍哥畻鎵�鏈夐儴闂�", example = "1")
-    @PreAuthorize("@ss.hasPermission('hrm:salary:calculate')")
+    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:calculate')")
     public CommonResult<Boolean> calculateSalary(@RequestParam("period") String period,
                                                   @RequestParam(value = "deptId", required = false) Long deptId) {
         salaryCalculationService.calculateSalary(period, deptId);
@@ -136,7 +136,7 @@
 
     @PostMapping("/confirm")
     @Operation(summary = "鎵归噺纭钖叕鏍哥畻")
-    @PreAuthorize("@ss.hasPermission('hrm:salary:confirm')")
+    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:confirm')")
     public CommonResult<Boolean> confirmSalaryCalculation(@RequestBody Map<String, List<Long>> request) {
         List<Long> ids = request.get("ids");
         salaryCalculationService.confirmSalaryCalculation(ids);
@@ -145,7 +145,7 @@
 
     @PostMapping("/revoke")
     @Operation(summary = "鎵归噺鎾ら攢钖叕鏍哥畻纭")
-    @PreAuthorize("@ss.hasPermission('hrm:salary:confirm')")
+    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:confirm')")
     public CommonResult<Boolean> revokeSalaryCalculation(@RequestBody Map<String, List<Long>> request) {
         List<Long> ids = request.get("ids");
         salaryCalculationService.revokeSalaryCalculation(ids);
@@ -155,15 +155,23 @@
     @DeleteMapping("/delete")
     @Operation(summary = "鍒犻櫎钖叕鏍哥畻璁板綍")
     @Parameter(name = "id", description = "鏍哥畻ID", required = true)
-    @PreAuthorize("@ss.hasPermission('hrm:salary:delete')")
+    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:delete')")
     public CommonResult<Boolean> deleteSalaryCalculation(@RequestParam("id") Long id) {
         salaryCalculationService.deleteSalaryCalculation(id);
         return success(true);
     }
 
+    @DeleteMapping("/delete-batch")
+    @Operation(summary = "鎵归噺鍒犻櫎钖叕鏍哥畻璁板綍", description = "鍏ㄩ�夊悗涓�閿垹闄わ紝涓嶉檺鍒剁姸鎬�")
+    @Parameter(name = "ids", description = "鏍哥畻ID鍒楄〃", required = true)
+    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:delete')")
+    public CommonResult<Integer> deleteSalaryCalculationList(@RequestParam("ids") List<Long> ids) {
+        return success(salaryCalculationService.deleteSalaryCalculationList(ids));
+    }
+
     @GetMapping("/export-excel")
     @Operation(summary = "瀵煎嚭钖叕鏍哥畻 Excel")
-    @PreAuthorize("@ss.hasPermission('hrm:salary:export')")
+    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:export')")
     @ApiAccessLog(operateType = EXPORT)
     public void exportSalaryCalculationExcel(@Valid HrmSalaryCalculationPageReqVO pageReqVO,
                                                HttpServletResponse response) throws IOException {
@@ -183,7 +191,7 @@
     @Operation(summary = "棰勮閮ㄩ棬涓嬫墍鏈夊憳宸ョ殑钖祫鏍哥畻淇℃伅")
     @Parameter(name = "period", description = "鏍哥畻鍛ㄦ湡", required = true, example = "2024-01")
     @Parameter(name = "deptId", description = "閮ㄩ棬ID锛屼负绌哄垯鏌ヨ鍏ㄩ儴", example = "1")
-    @PreAuthorize("@ss.hasPermission('hrm:salary:query')")
+    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:query')")
     public CommonResult<List<HrmSalaryCalculationRespVO>> previewSalaryCalculation(
             @RequestParam("period") String period,
             @RequestParam(value = "deptId", required = false) Long deptId) {
@@ -200,7 +208,7 @@
 
     @PostMapping("/save")
     @Operation(summary = "鎵归噺淇濆瓨钖叕鏍哥畻璁板綍")
-    @PreAuthorize("@ss.hasPermission('hrm:salary:calculate')")
+    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:calculate')")
     public CommonResult<Boolean> saveSalaryCalculation(@Valid @RequestBody HrmSalaryCalculationSaveReqVO saveReqVO) {
         // 杞崲涓� DO 鍒楄〃
         List<HrmSalaryCalculationDO> calculationList = saveReqVO.getList().stream()
@@ -217,7 +225,7 @@
 
     @PutMapping("/update")
     @Operation(summary = "淇敼钖叕鏍哥畻璁板綍", description = "浠呭緟纭鐘舵�佸彲淇敼锛涘疄鍙戝伐璧勭敱鍚庣鎸夋敹鍏�/鎵i櫎椤归噸绠�")
-    @PreAuthorize("@ss.hasPermission('hrm:salary:calculate')")
+    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:calculate')")
     public CommonResult<Boolean> updateSalaryCalculation(@Valid @RequestBody HrmSalaryCalculationRespVO updateReqVO) {
         HrmSalaryCalculationDO calculation = BeanUtils.toBean(updateReqVO, HrmSalaryCalculationDO.class);
         salaryCalculationService.updateSalaryCalculation(calculation);

--
Gitblit v1.9.3