From 3e5e22f5358156ff7430ee117546123ffe042611 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期日, 20 九月 2026 20:23:52 +0800
Subject: [PATCH] feat(stock): 实现出品出库绑定销售台账功能
---
src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 52 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java b/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java
index c4d74c2..e3de201 100644
--- a/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java
+++ b/src/main/java/com/ruoyi/stock/controller/StockOutRecordController.java
@@ -5,12 +5,12 @@
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.sales.dto.SalesLedgerDto;
import com.ruoyi.stock.dto.StockOutRecordDto;
import com.ruoyi.stock.service.StockOutRecordService;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.AllArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
@@ -61,10 +61,61 @@
return AjaxResult.success(stockOutRecordService.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(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 AjaxResult approve(@RequestBody StockOutRecordDto approveDto) {
+ if(CollectionUtils.isEmpty(approveDto.getIds())){
+ return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+ }
+ stockOutRecordService.batchApprove(approveDto.getIds(), approveDto.getApprovalStatus());
+ return AjaxResult.success();
+ }
+
+ @PostMapping("/reAudit")
+ @Log(title = "鍑哄簱绠$悊-鍙嶅鍑哄簱", businessType = BusinessType.UPDATE)
+ @Operation(summary = "鎵归噺鍙嶅鍑哄簱璁板綍")
+ public AjaxResult reAudit(@RequestBody StockOutRecordDto approveDto) {
+ if(CollectionUtils.isEmpty(approveDto.getIds())){
+ return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+ }
+ stockOutRecordService.batchReAudit(approveDto.getIds());
+ return AjaxResult.success();
+ }
+
+ @GetMapping("/oilOutAvailableQty")
+ @Operation(summary = "娌瑰搧鍑哄簱鍙敤閲忥紙涓婃鍓╀綑娌归噺+褰撳墠搴撳瓨锛�")
+ public AjaxResult oilOutAvailableQty(StockOutRecordDto stockOutRecordDto) {
+ return AjaxResult.success(stockOutRecordService.getOilOutAvailableQty(stockOutRecordDto));
+ }
+
+ @PutMapping("/{id}/residualOil")
+ @Log(title = "鍑哄簱绠$悊-褰曞叆鍓╀綑娌归噺", businessType = BusinessType.UPDATE)
+ @Operation(summary = "褰曞叆鏈閫佸畬璐у悗鐨勫墿浣欐补閲忥紙鍙洿鏂拌瀛楁锛�")
+ public AjaxResult updateResidualOil(@PathVariable("id") Long id, @RequestBody StockOutRecordDto stockOutRecordDto) {
+ return AjaxResult.success(stockOutRecordService.updateResidualOil(id, stockOutRecordDto.getResidualOil()));
+ }
+
+ @GetMapping("/bindableSalesLedger")
+ @Operation(summary = "娌瑰搧鍑哄簱-鍙粦瀹氱殑閿�鍞彴璐︿笅鎷�")
+ public AjaxResult bindableSalesLedger(Page page, SalesLedgerDto salesLedgerDto) {
+ return AjaxResult.success(stockOutRecordService.listBindableSalesLedger(page, salesLedgerDto));
+ }
+
}
--
Gitblit v1.9.3