gongchunyi
2 天以前 6ef4265f1859e88e3e5ff22ef1848e12fa849e26
src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
@@ -3,12 +3,20 @@
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.sales.dto.MonthlyAmountDto;
import com.ruoyi.sales.dto.SalesLedgerDto;
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.common.enums.SaleEnum;
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.sales.dto.*;
import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.pojo.SalesLedgerProcessRoute;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Nullable;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
 * 销售台账Service接口
@@ -24,6 +32,12 @@
    int addOrUpdateSalesLedger(SalesLedgerDto salesLedgerDto);
    List<SalesLedgerProduct> getSalesLedgerProductListByRelateId(@NotNull Long relateId, @NotNull SaleEnum type);
    List<SalesLedgerProduct> getSalesLedgerProductListByIds(@Nullable List<Long> relateIds, @NotNull SaleEnum type);
    void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, SaleEnum type);
    SalesLedgerDto getSalesLedgerWithProducts(SalesLedgerDto salesLedgerDto);
    List getSalesNo();
@@ -32,7 +46,59 @@
    List getTopFiveList();
    List<MonthlyAmountDto> getAmountHalfYear();
    List<MonthlyAmountDto> getAmountHalfYear(Integer type);
    IPage<SalesLedger> selectSalesLedgerListPage(Page page, SalesLedgerDto salesLedgerDto);
    void importData(MultipartFile file);
    List<LossProductModelDto> getSalesLedgerWithProductsLoss(Long salesLedgerId);
    IPage<SalesLedgerDto> listSalesLedger(SalesLedgerDto salesLedgerDto, Page page);
    void saleProcessBind(SalesLedgerProcessRoute salesLedgerProcessRoute);
    SalesProcessCardDto processCard(Long salesLedgerId);
    SalesLedgerProcessRouteDto salesProcess(Long salesLedgerId);
    SalesOrdersDto salesOrders(Long salesLedgerId);
    SalesInvoicesDto salesInvoices(List<Long> salesLedgerIds);
    List<SalesLabelDto> salesLabel(Long salesLedgerId);
    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);
}