package com.ruoyi.sales.service; 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.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; 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; /** * 销售台账Service接口 * * @author ruoyi * @date 2025-05-08 */ public interface ISalesLedgerService extends IService { List selectSalesLedgerList(SalesLedgerDto salesLedgerDto); int deleteSalesLedgerByIds(Long[] ids); int addOrUpdateSalesLedger(SalesLedgerDto salesLedgerDto); List getSalesLedgerProductListByRelateId(@NotNull Long relateId, @NotNull SaleEnum type); List getSalesLedgerProductListByIds(@Nullable List relateIds, @NotNull SaleEnum type); void handleSalesLedgerProducts(Long salesLedgerId, List products, SaleEnum type); SalesLedgerDto getSalesLedgerWithProducts(SalesLedgerDto salesLedgerDto); List getSalesNo(); BigDecimal getContractAmount(); List getTopFiveList(); List getAmountHalfYear(Integer type); IPage selectSalesLedgerListPage(Page page, SalesLedgerDto salesLedgerDto); AjaxResult importData(MultipartFile file); List getSalesLedgerWithProductsLoss(Long salesLedgerId); IPage listSalesLedger(SalesLedgerDto salesLedgerDto, Page page); void saleProcessBind(SalesLedgerProcessRoute salesLedgerProcessRoute); SalesProcessCardDto processCard(Long salesLedgerId); SalesLedgerProcessRouteDto salesProcess(Long salesLedgerId); SalesOrdersDto salesOrders(Long salesLedgerId); SalesInvoicesDto salesInvoices(List salesLedgerIds); List salesLabel(Long salesLedgerId); }