From d344ee41f0b39c143bf4229b5c3e7aed965c444a Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期六, 25 四月 2026 14:00:11 +0800
Subject: [PATCH] feat(stock): 新增出入库审批流程功能

---
 src/main/java/com/ruoyi/stock/controller/StockInRecordController.java |   53 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 36 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/controller/StockInRecordController.java b/src/main/java/com/ruoyi/stock/controller/StockInRecordController.java
index 4428405..1887b27 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockInRecordController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockInRecordController.java
@@ -7,40 +7,32 @@
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.stock.dto.StockInRecordDto;
 import com.ruoyi.stock.service.StockInRecordService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
 @RestController
-@Api(tags = "鍏ュ簱")
+@Tag(name = "鍏ュ簱")
 @RequestMapping("/stockInRecord")
+@RequiredArgsConstructor
 public class StockInRecordController {
-    @Autowired
-    private StockInRecordService stockInRecordService;
+
+    private final StockInRecordService stockInRecordService;
 
     @GetMapping("/listPage")
     @Log(title = "鐢熶骇鍏ュ簱-鍏ュ簱绠$悊-鍒楄〃", businessType = BusinessType.OTHER)
-    @ApiOperation(value = "鍏ュ簱绠$悊鍒楄〃")
+    @Operation(summary = "鍏ュ簱绠$悊鍒楄〃")
     public AjaxResult listPage(Page page, StockInRecordDto stockInRecordDto) {
         IPage<StockInRecordDto> result = stockInRecordService.listPage(page, stockInRecordDto);
         return AjaxResult.success(result);
     }
 
-    @PostMapping("")
-    @Log(title = "鍏ュ簱绠$悊-鏂板鍏ュ簱", businessType = BusinessType.INSERT)
-    public AjaxResult add(@RequestBody StockInRecordDto stockInRecordDto) {
-        return AjaxResult.success(stockInRecordService.add(stockInRecordDto));
-    }
 
-    @PutMapping("/{id}")
-    @Log(title = "鍏ュ簱绠$悊-鏇存柊鍏ュ簱", businessType = BusinessType.UPDATE)
-    public AjaxResult update(@PathVariable("id") Long id, @RequestBody StockInRecordDto stockInRecordDto) {
-        return AjaxResult.success(stockInRecordService.update(id, stockInRecordDto));
-    }
 
     @DeleteMapping("")
     @Log(title = "鍏ュ簱绠$悊-鍒犻櫎鍏ュ簱", businessType = BusinessType.DELETE)
@@ -51,4 +43,31 @@
         return AjaxResult.success(stockInRecordService.batchDelete(ids));
     }
 
+    @DeleteMapping("/pending")
+    @Log(title = "鍏ュ簱绠$悊-鍒犻櫎寰呭鎵瑰叆搴�", businessType = BusinessType.DELETE)
+    @Operation(summary = "鍒犻櫎寰呭鎵圭殑鍏ュ簱璁板綍")
+    public AjaxResult deletePending(@RequestBody List<Long> ids) {
+        if(CollectionUtils.isEmpty(ids)){
+            return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        }
+        return AjaxResult.success(stockInRecordService.batchDeletePending(ids));
+    }
+
+    @PostMapping("/exportStockInRecord")
+    @Operation(summary = "瀵煎嚭鍏ュ簱璁板綍")
+    public void exportStockInRecord(HttpServletResponse response, StockInRecordDto stockInRecordDto) {
+        stockInRecordService.exportStockInRecord(response,stockInRecordDto);
+    }
+
+    @PostMapping("/approve")
+    @Log(title = "鍏ュ簱绠$悊-瀹℃壒鍏ュ簱", businessType = BusinessType.UPDATE)
+    @Operation(summary = "鎵归噺瀹℃壒鍏ュ簱璁板綍")
+    public AjaxResult approve(@RequestBody StockInRecordDto approveDto) {
+        if(CollectionUtils.isEmpty(approveDto.getIds())){
+            return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        }
+        stockInRecordService.batchApprove(approveDto.getIds(), approveDto.getApprovalStatus());
+        return AjaxResult.success();
+    }
+
 }

--
Gitblit v1.9.3