From ea1e515180e0c3e85cfc88bcd41a3882c34ce538 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 15 六月 2026 17:44:56 +0800
Subject: [PATCH] 同一月份同一部门工资不可以发放多次

---
 src/main/java/com/ruoyi/staff/controller/StaffSalaryMainController.java |   33 +++++++++++++++++++++++++--------
 1 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/ruoyi/staff/controller/StaffSalaryMainController.java b/src/main/java/com/ruoyi/staff/controller/StaffSalaryMainController.java
index dfc0d67..50a0055 100644
--- a/src/main/java/com/ruoyi/staff/controller/StaffSalaryMainController.java
+++ b/src/main/java/com/ruoyi/staff/controller/StaffSalaryMainController.java
@@ -3,13 +3,14 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.framework.web.controller.BaseController;
-import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.staff.dto.CalculateSalaryDto;
+import com.ruoyi.staff.dto.StaffSalaryCalculateDto;
 import com.ruoyi.staff.pojo.StaffSalaryMain;
 import com.ruoyi.staff.service.StaffSalaryMainService;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Operation;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.AllArgsConstructor;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
@@ -28,27 +29,33 @@
 @RestController
 @RequestMapping("/staffSalaryMain")
 @AllArgsConstructor
-public class StaffSalaryMainController extends BaseController {
+public class StaffSalaryMainController {
 
     private StaffSalaryMainService staffSalaryMainService;
 
     @GetMapping("/listPage")
     @Operation(summary = "鍛樺伐宸ヨ祫涓昏〃鍒嗛〉鏌ヨ")
-    public R<?> listPage(Page page, StaffSalaryMain staffSalaryMain) {
+    public AjaxResult listPage(Page page, StaffSalaryMain staffSalaryMain) {
         return staffSalaryMainService.listPage(page, staffSalaryMain);
     }
 
     @Operation(summary = "閫氳繃閮ㄩ棬ids鑾峰彇鐢ㄦ埛淇℃伅璁$畻姣忎釜鍛樺伐鐨勫伐璧�")
     @PostMapping("/calculateSalary")
-    public R<?> calculateSalary(@RequestBody CalculateSalaryDto calculateSalaryDto) {
+    public AjaxResult calculateSalary(@RequestBody CalculateSalaryDto calculateSalaryDto) {
         return staffSalaryMainService.calculateSalary(calculateSalaryDto);
+    }
+
+    @Operation(summary = "閫氳繃鍛樺伐id閲嶇畻鍗曚釜鍛樺伐宸ヨ祫")
+    @PostMapping("/calculateByEmployeeId")
+    public AjaxResult calculateByEmployeeId(@RequestBody StaffSalaryCalculateDto calculateSalaryCalculateDto) {
+        return staffSalaryMainService.calculateSalaryByEmployee(calculateSalaryCalculateDto);
     }
 
     @PostMapping("/add")
     @Operation(summary = "鏂板缓宸ヨ祫琛�")
     @Log(title = "鏂板缓宸ヨ祫琛�", businessType = BusinessType.INSERT)
     @Transactional(rollbackFor = Exception.class)
-    public R<?> add(@RequestBody StaffSalaryMain staffSalaryMain) {
+    public AjaxResult add(@RequestBody StaffSalaryMain staffSalaryMain) {
         return staffSalaryMainService.add(staffSalaryMain);
     }
 
@@ -56,7 +63,7 @@
     @Operation(summary = "淇敼宸ヨ祫琛�")
     @Log(title = "淇敼宸ヨ祫琛�", businessType = BusinessType.UPDATE)
     @Transactional(rollbackFor = Exception.class)
-    public R<?> updateStaffSalaryMain(@RequestBody StaffSalaryMain staffSalaryMain) {
+    public AjaxResult updateStaffSalaryMain(@RequestBody StaffSalaryMain staffSalaryMain) {
         return staffSalaryMainService.updateStaffSalaryMain(staffSalaryMain);
     }
 
@@ -64,10 +71,20 @@
     @Operation(summary = "鍒犻櫎宸ヨ祫琛�")
     @Log(title = "鍒犻櫎宸ヨ祫琛�", businessType = BusinessType.DELETE)
     @Transactional(rollbackFor = Exception.class)
-    public R<?> delete(@RequestBody List<Long> ids) {
+    public AjaxResult delete(@RequestBody List<Long> ids) {
         return staffSalaryMainService.delete(ids);
     }
 
+    @PostMapping("/export")
+    @Operation(summary = "瀵煎嚭鍛樺伐钖祫鏄庣粏")
+    public void export(HttpServletResponse response, String salaryMonth) {
+        staffSalaryMainService.exportSalaryDetail(response, salaryMonth);
+    }
 
+    @GetMapping("/availableDepts")
+    @Operation(summary = "鑾峰彇鍙�夐儴闂紙鎺掗櫎宸插彂鏀惧伐璧勮〃鐨勯儴闂級")
+    public AjaxResult getAvailableDepts(String salaryMonth) {
+        return staffSalaryMainService.getAvailableDepts(salaryMonth);
+    }
 
 }

--
Gitblit v1.9.3