gongchunyi
2 天以前 1511296b46ddc0ed8a285d2d19e5491ef3506488
src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
@@ -1,9 +1,25 @@
package com.ruoyi.sales.service;
import java.util.List;
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.LossProductModelDto;
import com.ruoyi.sales.dto.MonthlyAmountDto;
import com.ruoyi.sales.dto.SalesLedgerDto;
import com.ruoyi.sales.dto.SalesLedgerEditFlagDto;
import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import com.ruoyi.sales.vo.SalesLedgerVo;
import org.springframework.web.multipart.MultipartFile;
import jakarta.annotation.Nullable;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
 * 销售台账Service接口
@@ -13,13 +29,42 @@
 */
public interface ISalesLedgerService extends IService<SalesLedger> {
    List<SalesLedger> selectSalesLedgerList(SalesLedger salesLedger);
    SalesLedger selectSalesLedgerById(Long id);
    List<SalesLedger> selectSalesLedgerList(SalesLedgerDto salesLedgerDto);
    int deleteSalesLedgerByIds(Long[] ids);
    int insertSalesLedger(SalesLedger salesLedger);
    int addOrUpdateSalesLedger(SalesLedgerDto salesLedgerDto);
    int updateSalesLedger(SalesLedger salesLedger);
    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();
    BigDecimal getContractAmount();
    List getTopFiveList();
    List<MonthlyAmountDto> getAmountHalfYear(Integer type);
    IPage<SalesLedgerVo> selectSalesLedgerListPage(Page page, SalesLedgerDto salesLedgerDto);
    AjaxResult importData(MultipartFile file);
    List<LossProductModelDto> getSalesLedgerWithProductsLoss(Long salesLedgerId);
    IPage<SalesLedgerDto> listSalesLedger(SalesLedgerDto salesLedgerDto, Page page);
    Map<String, Object> getPrintData(Long id);
    /**
     * 批量查询销售台账的编辑限制标记,key为销售台账id
     *
     * @param ids 销售台账id集合
     * @return 编辑限制标记
     */
    Map<Long, SalesLedgerEditFlagDto> getEditFlags(List<Long> ids);
}