From 56b8b84689ccf5389ee02814bcb8bfe407f05a87 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 28 四月 2026 11:09:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro

---
 src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java |   66 +++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java b/src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java
index 84fdbe5..25f91c5 100644
--- a/src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java
+++ b/src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java
@@ -9,15 +9,19 @@
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.purchase.dto.PaymentRegistrationDto;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import com.ruoyi.staff.mapper.StaffOnJobMapper;
+import com.ruoyi.staff.pojo.StaffOnJob;
+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.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
-import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -25,56 +29,80 @@
  * @date : 2025/8/8 9:56
  */
 @RestController
-@Api(tags = "钖叕缁╂晥")
+@Tag(name = "钖叕缁╂晥")
 @RequestMapping("/compensationPerformance")
+@AllArgsConstructor
 public class CompensationPerformanceController extends BaseController {
 
-    @Autowired
     private CompensationPerformanceService compensationPerformanceService;
+    private StaffOnJobMapper staffOnJobMapper;
 
     @GetMapping("/listPage")
     @Log(title = "钖叕缁╂晥-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
-    @ApiOperation("钖叕缁╂晥-鍒嗛〉鏌ヨ")
-    public AjaxResult listPage(Page page, CompensationPerformance compensationPerformance){
-        IPage<CompensationPerformance> listPage = compensationPerformanceService.listPage(page, compensationPerformance);
+    @Operation(summary = "钖叕缁╂晥-鍒嗛〉鏌ヨ")
+    public AjaxResult listPage(Page page, String staffName, String payDateStr) {
+        IPage<CompensationPerformance> listPage = compensationPerformanceService.listPage(page, staffName, payDateStr);
         return AjaxResult.success(listPage);
     }
 
     @PostMapping("/add")
     @Log(title = "钖叕缁╂晥-娣诲姞", businessType = BusinessType.INSERT)
-    @ApiOperation("钖叕缁╂晥-娣诲姞")
+    @Operation(summary = "钖叕缁╂晥-娣诲姞")
     @Transactional(rollbackFor = Exception.class)
-    public AjaxResult add(@RequestBody CompensationPerformance compensationPerformance){
+    public AjaxResult add(@RequestBody CompensationPerformance compensationPerformance) {
         boolean save = compensationPerformanceService.save(compensationPerformance);
         return save ? AjaxResult.success("娣诲姞鎴愬姛") : AjaxResult.error("娣诲姞澶辫触");
     }
 
     @PostMapping("/update")
     @Log(title = "钖叕缁╂晥-淇敼", businessType = BusinessType.UPDATE)
-    @ApiOperation("钖叕缁╂晥-淇敼")
+    @Operation(summary = "钖叕缁╂晥-淇敼")
     @Transactional(rollbackFor = Exception.class)
-    public AjaxResult update(@RequestBody CompensationPerformance compensationPerformance){
+    public AjaxResult update(@RequestBody CompensationPerformance compensationPerformance) {
         boolean update = compensationPerformanceService.updateById(compensationPerformance);
         return update ? AjaxResult.success("淇敼鎴愬姛") : AjaxResult.error("淇敼澶辫触");
     }
 
     @DeleteMapping("/delete")
     @Log(title = "钖叕缁╂晥-鍒犻櫎", businessType = BusinessType.DELETE)
-    @ApiOperation("钖叕缁╂晥-鍒犻櫎")
+    @Operation(summary = "钖叕缁╂晥-鍒犻櫎")
     @Transactional(rollbackFor = Exception.class)
-    public AjaxResult delete(@RequestBody List<Long> ids){
-        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+    public AjaxResult delete(@RequestBody List<Long> ids) {
+        if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
         boolean delete = compensationPerformanceService.removeBatchByIds(ids);
         return delete ? AjaxResult.success("鍒犻櫎鎴愬姛") : AjaxResult.error("鍒犻櫎澶辫触");
     }
 
     @Log(title = "瀵煎嚭钖祫绠$悊鍒楄〃", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response ) {
-        List<CompensationPerformance> list = compensationPerformanceService.list();
-        ExcelUtil<CompensationPerformance> util = new ExcelUtil<CompensationPerformance>(CompensationPerformance.class);
+    public void export(HttpServletResponse response) {
+        List<CompensationPerformance> list = compensationPerformanceService.exportList();
+        ExcelUtil<CompensationPerformance> util = new ExcelUtil<>(CompensationPerformance.class);
         util.exportExcel(response, list, "瀵煎嚭钖祫绠$悊鍒楄〃");
     }
 
+    @Log(title = "涓嬭浇钖祫绠$悊鍒楄〃妯℃澘", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportTemplate")
+    public void exportTemplate(HttpServletResponse response) {
+        List<CompensationPerformance> list = new ArrayList<>();
+        ExcelUtil<CompensationPerformance> util = new ExcelUtil<>(CompensationPerformance.class);
+        util.exportExcel(response, list, "涓嬭浇钖祫绠$悊鍒楄〃妯℃澘");
+    }
+
+    @Log(title = "瀵煎叆钖祫绠$悊鍒楄〃", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file) throws Exception {
+        ExcelUtil<CompensationPerformance> util = new ExcelUtil<>(CompensationPerformance.class);
+        List<CompensationPerformance> list = util.importExcel(file.getInputStream());
+        list.forEach(item -> {
+            StaffOnJob staffOnJob = staffOnJobMapper.selectStaffByNickName(item.getStaffName());
+            if (staffOnJob != null) {
+                item.setStaffId(staffOnJob.getId());
+            }
+        });
+        boolean b = compensationPerformanceService.saveBatch(list);
+        return AjaxResult.success(b);
+    }
+
 
 }

--
Gitblit v1.9.3