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.basic.pojo.Customer;
import com.ruoyi.common.enums.SaleEnum;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.sales.dto.*;
import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.pojo.SalesLedgerProcessRoute;
@@ -16,6 +16,7 @@
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
 * 销售台账Service接口
@@ -49,7 +50,7 @@
    IPage<SalesLedger> selectSalesLedgerListPage(Page page, SalesLedgerDto salesLedgerDto);
    AjaxResult importData(MultipartFile file);
    void importData(MultipartFile file);
    List<LossProductModelDto> getSalesLedgerWithProductsLoss(Long salesLedgerId);
@@ -67,5 +68,54 @@
    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 销售台账ID
     * @param printType 打印类型:label=标签打印,document=单据打印
     */
    void incrementPrintCount(Long id, String printType);
}