From 0d7d874912d0147376826b55667a1deb6547ed91 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 21 五月 2026 15:25:27 +0800
Subject: [PATCH] Merge branch 'dev_New_pro' into dev_宁夏_英泽防锈

---
 src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java |   59 +++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 45 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java b/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java
index 70bed1d..c99458b 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java
@@ -4,11 +4,13 @@
 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.domain.AjaxResult;
+import com.ruoyi.framework.web.domain.R;
 import com.ruoyi.stock.dto.StockOutRecordDto;
 import com.ruoyi.stock.service.StockOutRecordService;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.AllArgsConstructor;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
@@ -22,38 +24,67 @@
  * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
  * @since 2026-01-21 05:27:04
  */
+@Tag(name = "鍑哄簱")
 @RestController
 @RequestMapping("/stockOutRecord")
+@AllArgsConstructor
 public class StockOutRecordController {
-    @Autowired
     private StockOutRecordService stockOutRecordService;
 
     @GetMapping("/listPage")
     @Log(title = "鐢熶骇鍑哄簱-鍑哄簱绠$悊-鍒楄〃", businessType = BusinessType.OTHER)
-    @ApiOperation(value = "鍑哄簱绠$悊鍒楄〃")
-    public AjaxResult listPage(Page page, StockOutRecordDto stockOutRecordDto) {
+    @Operation(summary = "鍑哄簱绠$悊鍒楄〃")
+    public R listPage(Page page, StockOutRecordDto stockOutRecordDto) {
         IPage<StockOutRecordDto> result = stockOutRecordService.listPage(page, stockOutRecordDto);
-        return AjaxResult.success(result);
+        return R.ok(result);
     }
 
     @PostMapping("")
     @Log(title = "鍑哄簱绠$悊-鏂板鍑哄簱", businessType = BusinessType.INSERT)
-    public AjaxResult add(@RequestBody StockOutRecordDto stockOutRecordDto) {
-        return AjaxResult.success(stockOutRecordService.add(stockOutRecordDto));
+    public R add(@RequestBody StockOutRecordDto stockOutRecordDto) {
+        return R.ok(stockOutRecordService.add(stockOutRecordDto));
     }
 
     @PutMapping("/{id}")
     @Log(title = "鍑哄簱绠$悊-鏇存柊鍑哄簱", businessType = BusinessType.UPDATE)
-    public AjaxResult update(@PathVariable("id") Long id, @RequestBody StockOutRecordDto stockOutRecordDto) {
-        return AjaxResult.success(stockOutRecordService.update(id, stockOutRecordDto));
+    public R update(@PathVariable("id") Long id, @RequestBody StockOutRecordDto stockOutRecordDto) {
+        return R.ok(stockOutRecordService.update(id, stockOutRecordDto));
     }
 
     @DeleteMapping("")
     @Log(title = "鍑哄簱绠$悊-鍒犻櫎鍑哄簱", businessType = BusinessType.DELETE)
-    public AjaxResult delete(@RequestBody List<Long> ids) {
+    public R delete(@RequestBody List<Long> ids) {
         if(CollectionUtils.isEmpty(ids)){
-            return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+            return R.fail("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
         }
-        return AjaxResult.success(stockOutRecordService.batchDelete(ids));
+        return R.ok(stockOutRecordService.batchDelete(ids));
     }
+
+    @DeleteMapping("/pending")
+    @Log(title = "鍑哄簱绠$悊-鍒犻櫎寰呭鎵瑰嚭搴�", businessType = BusinessType.DELETE)
+    @Operation(summary = "鍒犻櫎寰呭鎵圭殑鍑哄簱璁板綍")
+    public R deletePending(@RequestBody List<Long> ids) {
+        if(CollectionUtils.isEmpty(ids)){
+            return R.fail("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        }
+        return R.ok(stockOutRecordService.batchDeletePending(ids));
+    }
+
+    @PostMapping("/exportStockOutRecord")
+    @Operation(summary = "瀵煎嚭鍑哄簱璁板綍")
+    public void exportStockOutRecord(HttpServletResponse response, StockOutRecordDto stockOutRecordDto) {
+        stockOutRecordService.exportStockOutRecord(response,stockOutRecordDto);
+    }
+
+    @PostMapping("/approve")
+    @Log(title = "鍑哄簱绠$悊-瀹℃壒鍑哄簱", businessType = BusinessType.UPDATE)
+    @Operation(summary = "鎵归噺瀹℃壒鍑哄簱璁板綍")
+    public R approve(@RequestBody StockOutRecordDto approveDto) {
+        if(CollectionUtils.isEmpty(approveDto.getIds())){
+            return R.fail("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        }
+        stockOutRecordService.batchApprove(approveDto.getIds(), approveDto.getApprovalStatus());
+        return R.ok();
+    }
+
 }

--
Gitblit v1.9.3