package com.fjhx.jxst.service.sales;

import com.fjhx.jxst.entity.sales.po.SalesContract;
import com.fjhx.jxst.entity.statement.bo.SettlementBo;
import com.ruoyi.common.core.service.BaseService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fjhx.jxst.entity.sales.vo.SalesContractVo;
import com.fjhx.jxst.entity.sales.dto.SalesContractSelectDto;
import com.fjhx.jxst.entity.sales.dto.SalesContractDto;


/**
 * <p>
 * 销售合同 服务类
 * </p>
 *
 * @author 
 * @since 2023-05-16
 */
public interface SalesContractService extends BaseService<SalesContract> {

    /**
     * 销售合同分页
     */
    Page<SalesContractVo> getPage(SalesContractSelectDto dto);

    /**
     * 销售合同明细
     */
    SalesContractVo detail(Long id);

    /**
     * 销售合同新增
     */
    void add(SalesContractDto salesContractDto);

    /**
     * 合同结清
     */
    void settle(SalesContractDto dto);

    /**
     * 利润结算表
     */
    Page<SettlementBo> getProfitClearingPage( SalesContractSelectDto dto);

    /**
     * 利润结算表头部统计
     */
    SettlementBo getProfitClearingHead(SalesContractSelectDto dto);

    /**
     * 预算
     */
    void budget(SalesContractDto dto);
}
