From 6305d0c86c23e9a583e8ca798645885d167f4dc5 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 10 六月 2026 17:20:58 +0800
Subject: [PATCH] feat:1.销售台账导出按照查询条件 2.导出订单和产品明细

---
 src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java |   66 +++++++++++++++++++++++++++++++--
 1 files changed, 62 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java b/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
index 444be9d..bfa28aa 100644
--- a/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
+++ b/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
@@ -3,9 +3,9 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
+import com.ruoyi.approve.pojo.ApproveProcess;
+import com.ruoyi.basic.pojo.Customer;
 import com.ruoyi.common.enums.SaleEnum;
-import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.sales.dto.*;
 import com.ruoyi.sales.pojo.SalesLedger;
 import com.ruoyi.sales.pojo.SalesLedgerProcessRoute;
@@ -13,9 +13,11 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Nullable;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 閿�鍞彴璐ervice鎺ュ彛
@@ -49,7 +51,7 @@
 
     IPage<SalesLedger> selectSalesLedgerListPage(Page page, SalesLedgerDto salesLedgerDto);
 
-    AjaxResult importData(MultipartFile file);
+    void importData(MultipartFile file);
 
     List<LossProductModelDto> getSalesLedgerWithProductsLoss(Long salesLedgerId);
 
@@ -67,5 +69,61 @@
 
     List<SalesLabelDto> salesLabel(Long salesLedgerId);
 
-    void salesStock(SalesLedger salesLedger);
+    void salesStock(SalesProductStockDto dto);
+
+    void executeSalesStockApproved(Long salesLedgerId, List<Long> salesLedgerProductIds);
+
+    void executeSalesScanInboundApproved(Long salesLedgerId, Map<Long, BigDecimal> inboundQtyByLineId);
+
+    void executeSalesScanInboundUnqualifiedApproved(Long salesLedgerId, Map<Long, BigDecimal> inboundQtyByLineId);
+
+    List<Customer> shippedCustomers();
+
+    void scanInbound(SalesScanInboundDto dto);
+
+    void scanInboundUnqualified(SalesScanInboundDto dto);
+
+    void scanOutbound(SalesScanInboundDto dto);
+
+    void scanOutboundUnqualified(SalesScanInboundDto dto);
+
+    /**
+     * APP 鎵爜鍙戣揣锛氬彂璧峰彂璐у鎵癸紙瀹℃壒閫氳繃鍚庤嚜鍔ㄦ墸搴撳瓨銆佸彂璐у彴璐︿笌璁㈠崟鐘舵�佷负宸插彂璐э級
+     */
+    void scanShipApply(SalesScanShipDto dto);
+
+    /**
+     * 鍙戣揣瀹℃壒锛堢被鍨� 7锛夎妭鐐圭姸鎬佸彉鏇达細鎵爜鍙戣揣娴佺▼ {@code approveRemark} 浠� {@code SCAN_SHIP_DELIVERY_JSON:} 寮�澶存椂鍥炶皟銆�
+     *
+     * @param outcomeStatus 瀹℃壒娴佺姸鎬侊細1 瀹℃牳涓� 2 閫氳繃 3 鎷掔粷
+     */
+    void onScanShipDeliveryApproveOutcome(ApproveProcess approveProcess, Integer outcomeStatus);
+
+    void shippingImport(MultipartFile file);
+
+    void notShippingImport(MultipartFile file);
+
+    /**
+     * 鍙嶅鏍告搷浣滐細浣滃簾鎴栭噸鏂扮敓鎴�
+     */
+    List<Long> counterReview(CounterReviewDto dto);
+
+    /**
+     * 鏍囪璁㈠崟瀹屾垚
+     */
+    void markOrderCompleted(List<Long> ids);
+
+    /**
+     * 閫掑鎵撳嵃娆℃暟
+     * @param id 閿�鍞彴璐D
+     * @param printType 鎵撳嵃绫诲瀷锛歭abel=鏍囩鎵撳嵃锛宒ocument=鍗曟嵁鎵撳嵃
+     */
+    void incrementPrintCount(Long id, String printType);
+
+    /**
+     * 瀵煎嚭閿�鍞彴璐﹀強浜у搧鏄庣粏锛堜袱涓猻heet椤碉級
+     * @param response HttpServletResponse
+     * @param salesLedgerDto 鏌ヨ鏉′欢
+     */
+    void exportWithProducts(HttpServletResponse response, SalesLedgerDto salesLedgerDto);
 }

--
Gitblit v1.9.3