package com.fjhx.sale.service.documents;

import com.fjhx.sale.entity.documents.po.Documents;
import com.fjhx.sale.entity.documents.po.DocumentsPdf;
import com.ruoyi.common.core.service.BaseService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fjhx.sale.entity.documents.vo.DocumentsVo;
import com.fjhx.sale.entity.documents.dto.DocumentsSelectDto;
import com.fjhx.sale.entity.documents.dto.DocumentsDto;

import java.util.Map;


/**
 * <p>
 * 单证表 服务类
 * </p>
 *
 * @author
 * @since 2023-04-20
 */
public interface DocumentsService extends BaseService<Documents> {

    /**
     * 单证表分页
     */
    Page<DocumentsVo> getPage(DocumentsSelectDto dto);

    /**
     * 单证表明细
     */
    DocumentsVo detail(Long id);

    /**
     * 单证表新增
     */
    void add(DocumentsDto documentsDto);

    /**
     * 单证表编辑
     */
    void edit(DocumentsDto documentsDto);

    /**
     * 单证表删除
     */
    void delete(Long id);

    /**
     * 生成PDF
     *
     * @return
     */
    Map<String, Object> generateInvoiceAPackPdf(Long id);

    /**
     * 生成PDF-报关单
     *
     * @return
     */
    DocumentsPdf generateClearanceePdf(Long id);

    /**
     * 获取合同数据
     *
     * @param id
     * @return
     */
    Map<String, Object> getContractDataById(Long id);
}
