package com.yh.saas.plugin.yiliangyiyun.service;

import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
import com.baomidou.mybatisplus.service.IService;
import com.baomidou.mybatisplus.plugins.Page;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 合同管理 服务类
 * </p>
 *
 * @author Gongdc
 * @since 2021-05-17
 */
public interface IContractManagementInfoService extends IService<ContractManagementInfo> {
    /**
     * 添加
     *
     * @param contractManagementInfo
     */
     String addInfo(ContractManagementInfo contractManagementInfo);

    /**
     * 编辑
     *
     * @param contractManagementInfo
     */
    String editInfo(ContractManagementInfo contractManagementInfo);

    /**
     * 查看
     *
     * @param
     */
     ContractManagementInfo getInfo(String id);

    /**
     * 信息分页列表查询
     *
     * @param contractManagementInfo
     * @return
     */
    Page<ContractManagementInfo> selectInfo(ContractManagementInfo contractManagementInfo);

    /**
     * 更改状态
     *
     * @param id
     * @return
     */
    String editStatus(String id,String endFlag);

    /**
     * 删除
     *
     * @param id
     */
    void deleteInfo(String id);

    /**
     * 导出
     * @param example
     * @param response
     * @throws Exception
     */
    void export(ContractManagementInfo example, HttpServletResponse response) throws Exception;
    /**
     * 查对应的合同
     *
     * @param contractManagementInfo
     */
    List<ContractManagementInfo> selectContract(ContractManagementInfo contractManagementInfo);
    /**
     * 导出代收合同
     * @param example
     * @param response
     * @throws Exception
     */
    void exportCollection(ContractManagementInfo example, HttpServletResponse response) throws Exception;
    /**
     * 导出代储合同
     * @param example
     * @param response
     * @throws Exception
     */
    void exportStorageFee(ContractManagementInfo example, HttpServletResponse response) throws Exception;
    Double selectSumSale(String compId);
    Double selectSumBuy(String compId);
}
