From a76e1d17d67641993dea6335cb8e1465a94df58d Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 21 五月 2026 15:39:05 +0800
Subject: [PATCH] feat(stock): 优化库存管理和成品树结构功能 1- 为ApproveProcessMapper.xml和ProductBomMapper.xml添加排序功能 2- 在ProductionProductMainDto中新增bomInputQty字段用于产品结构投入数量 3- 修改ProductionProductMainServiceImpl中投入数量计算逻辑,使用前端传入的bomInputQty值 4- 在ProductWorkOrderDto中添加bomInputQty字段并在服务实现中计算标准投入数量 5- 更新SalesLedgerMapper.xml查询逻辑,从product_summary获取电压信息 6- 为SalesLedgerProduct添加stockId字段并修改库存扣减逻辑使用具体库存ID 7- 重构StockInventoryController中的成品库存树查询接口和导入导出功能 8- 新增成品和非成品库存导入导出的数据模型和Excel工具类 9- 优化StockInventoryServiceImpl中的库存扣减逻辑,支持按特定库存ID操作 10- 更新库存导入导出功能,区分成品和非成品类型并提供相应模板

---
 src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 61 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
index 1630b0b..aa10b54 100644
--- a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
@@ -2,18 +2,32 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+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.framework.web.page.TableDataInfo;
 import com.ruoyi.purchase.dto.InvoicePurchaseDto;
+import com.ruoyi.sales.dto.InvoiceLedgerDto;
 import com.ruoyi.sales.dto.ReceiptPaymentDto;
+import com.ruoyi.sales.dto.ReceiptPaymentRecordDto;
+import com.ruoyi.sales.dto.SalesLedgerDto;
 import com.ruoyi.sales.pojo.ReceiptPayment;
+import com.ruoyi.sales.pojo.SalesLedger;
 import com.ruoyi.sales.service.ReceiptPaymentService;
+import io.swagger.annotations.ApiModelProperty;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/receiptPayment")
@@ -28,7 +42,7 @@
      * @return
      */
     @PostMapping("/saveOrUpdate")
-    public AjaxResult receiptPaymentSaveOrUpdate (@RequestBody ReceiptPayment receiptPayment) {
+    public AjaxResult receiptPaymentSaveOrUpdate (@RequestBody List<ReceiptPayment> receiptPayment) {
         receiptPaymentService.receiptPaymentSaveOrUpdate(receiptPayment);
         return AjaxResult.success();
     }
@@ -39,6 +53,7 @@
      * @return
      */
     @PostMapping("/update")
+    @Transactional(rollbackFor = Exception.class)
     public AjaxResult receiptPaymentUpdate (@RequestBody ReceiptPayment receiptPayment) {
         return AjaxResult.success(receiptPaymentService.receiptPaymentUpdate(receiptPayment));
     }
@@ -49,6 +64,7 @@
      * @return
      */
     @DeleteMapping("/del")
+    @Transactional(rollbackFor = Exception.class)
     public AjaxResult receiptPaymentDel (@RequestBody List<Integer> ids) {
         return AjaxResult.success(receiptPaymentService.receiptPaymentDel(ids));
     }
@@ -59,7 +75,7 @@
      * @return
      */
     @GetMapping("/customerInteractions")
-    public AjaxResult customerInteractions (ReceiptPaymentDto receiptPaymentDto) {
+    public AjaxResult customerInteractions (InvoiceLedgerDto receiptPaymentDto) {
         return AjaxResult.success(receiptPaymentService.customerInteractions(receiptPaymentDto));
     }
 
@@ -97,6 +113,21 @@
         return AjaxResult.success(receiptPaymentService.bindInvoiceNoRegPage(page,receiptPaymentDto));
     }
 
+    @ApiModelProperty("瀵煎嚭鍥炴鐧昏")
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, String ids) {
+        if (ids == null || ids.isEmpty()) {
+            receiptPaymentService.exportPaymentList(response, null);
+        } else {
+            ArrayList<Long> idList = (ArrayList<Long>) Arrays.stream(ids.split(","))
+                    .map(s -> s.replaceAll("[\\[\\]]", "").trim())
+                    .map(Long::valueOf)
+                    .collect(Collectors.toList());
+            receiptPaymentService.exportPaymentList(response, idList);
+        }
+    }
+
+
     /**
      * 寮�绁ㄥ彴璐﹁鎯�
      * @param id
@@ -132,4 +163,32 @@
     public IPage<ReceiptPaymentDto> receiptPaymentHistoryListPage(Page page, ReceiptPaymentDto receiptPaymentDto) {
         return receiptPaymentService.receiptPaymentHistoryListPage(page,receiptPaymentDto);
     }
+
+    /**
+     * 瀵煎嚭鍥炴娴佹按鍒楄〃
+     */
+    @Log(title = "瀵煎嚭鍥炴娴佹按鍒楄〃", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportOne")
+    public void exportOne(HttpServletResponse response, ReceiptPaymentDto salesLedgerDto) {
+        Page page = new Page();
+        page.setCurrent(-1);
+        page.setSize(-1);
+        IPage<ReceiptPaymentDto> salesLedgerIPage = receiptPaymentHistoryListPage(page, salesLedgerDto);
+        ExcelUtil<ReceiptPaymentRecordDto> util = new ExcelUtil<ReceiptPaymentRecordDto>(ReceiptPaymentRecordDto.class);
+        List<ReceiptPaymentRecordDto> receiptPaymentRecordDtos = new ArrayList<>();
+        salesLedgerIPage.getRecords().forEach(receiptPaymentRecordDto -> {
+            ReceiptPaymentRecordDto receiptPaymentRecordDto1 = new ReceiptPaymentRecordDto();
+            BeanUtils.copyProperties(receiptPaymentRecordDto, receiptPaymentRecordDto1);
+            receiptPaymentRecordDtos.add(receiptPaymentRecordDto1);
+        });
+        util.exportExcel(response, receiptPaymentRecordDtos, "瀵煎嚭寮�绁ㄧ櫥璁板垪琛�");
+    }
+
+    /**
+     * 鏌ヨ鍥炴璁板綍涓嶅垎椤�
+     */
+    @GetMapping("/receiptPaymentHistoryListNoPage")
+    public List<ReceiptPaymentDto> receiptPaymentHistoryListNoPage(ReceiptPaymentDto receiptPaymentDto) {
+        return receiptPaymentService.receiptPaymentHistoryListNoPage(receiptPaymentDto);
+    }
 }

--
Gitblit v1.9.3