From e02dcb551f00acff083f7241cd815ac4016c01c7 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期六, 25 四月 2026 11:22:29 +0800
Subject: [PATCH] 修改销售台账关联附件

---
 src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java |   78 +++++++++++++-------------------------
 1 files changed, 27 insertions(+), 51 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java b/src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java
index a34f809..8c95270 100644
--- a/src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java
@@ -1,64 +1,47 @@
 package com.ruoyi.sales.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.procurementrecord.dto.ProcurementAddDto;
-import com.ruoyi.procurementrecord.dto.ProcurementRecordOutAdd;
-import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut;
-import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
-import com.ruoyi.procurementrecord.service.ProcurementRecordOutService;
-import com.ruoyi.procurementrecord.service.ProcurementRecordService;
+import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.sales.mapper.ShipmentApprovalMapper;
-import com.ruoyi.sales.mapper.ShippingInfoMapper;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.pojo.ShipmentApproval;
-import com.ruoyi.sales.pojo.ShippingInfo;
 import com.ruoyi.sales.service.ISalesLedgerProductService;
 import com.ruoyi.sales.service.ShipmentApprovalService;
-import com.ruoyi.sales.service.ShippingInfoService;
-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.AllArgsConstructor;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletResponse;
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.util.List;
 
 @RestController
 @RequestMapping("/shipmentApproval")
-@Api(tags = "鍙戣揣瀹℃壒绠$悊")
+@Tag(name = "鍙戣揣瀹℃壒绠$悊")
+@AllArgsConstructor
 public class ShipmentApprovalController extends BaseController {
 
-    @Autowired
-    private ShipmentApprovalService shipmentApprovalService;
-    @Autowired
-    private ShipmentApprovalMapper shipmentApprovalMapper;
-
-    @Autowired
-    private ISalesLedgerProductService salesLedgerProductService;
-    @Autowired
-    private ProcurementRecordOutService procurementRecordOutService;
-    @Autowired
-    private ProcurementRecordService procurementRecordStorageService;
+    private final ShipmentApprovalService shipmentApprovalService;
+    private final ShipmentApprovalMapper shipmentApprovalMapper;
+    private final ISalesLedgerProductService salesLedgerProductService;
+    private final StockUtils stockUtils;
 
     @GetMapping("/listPage")
-    @ApiOperation("鍙戣揣瀹℃壒鍒楄〃")
+    @Operation(summary = "鍙戣揣瀹℃壒鍒楄〃")
     public AjaxResult listPage(Page page, ShipmentApproval req) {
         IPage<ShipmentApproval> listPage = shipmentApprovalService.listPage(page,req);
         return AjaxResult.success(listPage);
     }
 
     @PostMapping("/update")
-    @ApiOperation("鍙戣揣瀹℃壒,鏇存柊鍙戣揣瀹℃壒鐘舵��")
+    @Operation(summary = "鍙戣揣瀹℃壒,鏇存柊鍙戣揣瀹℃壒鐘舵��")
     @Transactional(rollbackFor = Exception.class)
     public AjaxResult update(@RequestBody ShipmentApproval req) {
 
@@ -88,26 +71,19 @@
 
         //  瀹℃壒閫氳繃
         if (req.getApproveStatus() == 3) {
-            // 鏌ヨ閲囪喘鍏ュ簱璁板綍
-            LambdaQueryWrapper<ProcurementRecordStorage> lambdaQueryWrapper = new LambdaQueryWrapper<ProcurementRecordStorage>()
-                    .eq(ProcurementRecordStorage::getSalesLedgerProductId, req.getSalesLedgerProductId());
-            ProcurementRecordStorage procurementRecordStorage = procurementRecordStorageService.getOne(lambdaQueryWrapper);
+//            // 鏌ヨ閲囪喘鍏ュ簱璁板綍
+//            LambdaQueryWrapper<ProcurementRecordStorage> lambdaQueryWrapper = new LambdaQueryWrapper<ProcurementRecordStorage>()
+//                    .eq(ProcurementRecordStorage::getSalesLedgerProductId, req.getSalesLedgerProductId());
+//            ProcurementRecordStorage procurementRecordStorage = procurementRecordStorageService.getOne(lambdaQueryWrapper);
+//
+//            if (procurementRecordStorage == null) {
+//                // 淇濊瘉鍓嶉潰鐨勪慨鏀瑰叏閮ㄥ洖婊�
+//                throw new ServiceException("閲囪喘璁板綍涓嶅瓨鍦紝瀹℃壒鍥炴粴");
+//            }
 
-            if (procurementRecordStorage == null) {
-                // 淇濊瘉鍓嶉潰鐨勪慨鏀瑰叏閮ㄥ洖婊�
-                throw new ServiceException("閲囪喘璁板綍涓嶅瓨鍦紝瀹℃壒鍥炴粴");
-            }
 
-            //  鐢熸垚鍑哄簱璁板綍
-            ProcurementRecordOutAdd procurementRecordOutAdd = new ProcurementRecordOutAdd();
-            procurementRecordOutAdd.setId(procurementRecordStorage.getId());
-            procurementRecordOutAdd.setSalesLedgerProductId(Math.toIntExact(salesLedgerProduct.getId()));
-            procurementRecordOutAdd.setType(2);
-            procurementRecordOutAdd.setUserId(Math.toIntExact(getUserId()));
-            procurementRecordOutAdd.setQuantity(salesLedgerProduct.getQuantity().toPlainString());
-            procurementRecordOutAdd.setTime(LocalDate.now().toString());
-
-            procurementRecordOutService.stockout(procurementRecordOutAdd);
+            //鍑哄簱
+            stockUtils.addStock(salesLedgerProduct.getProductModelId(), salesLedgerProduct.getQuantity(), StockOutQualifiedRecordTypeEnum.SALE_SHIP_STOCK_OUT.getCode(), req.getId());
         }
 
         return AjaxResult.success();
@@ -119,9 +95,9 @@
      * 瀵煎嚭鍙戣揣淇℃伅绠$悊
      */
     @PostMapping("/export")
-    @ApiOperation("瀵煎嚭鍙戣揣瀹℃壒")
+    @Operation(summary = "瀵煎嚭鍙戣揣瀹℃壒")
     public void export(HttpServletResponse response) {
-        List<ShipmentApproval> list = shipmentApprovalService.list(null);
+        List<ShipmentApproval> list = shipmentApprovalService.list();
         ExcelUtil<ShipmentApproval> util = new ExcelUtil<ShipmentApproval>(ShipmentApproval.class);
         util.exportExcel(response, list, "鍙戣揣瀹℃壒");
     }

--
Gitblit v1.9.3