package com.sunxung.factoring.service.purchcontractmanagement;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sunxung.factoring.entity.purchcontractmanagement.PurchContractSupplementApproval;
import com.sunxung.factoring.entity.purchcontractmanagement.PurchContractSupplementInfo;
import com.sunxung.factoring.entity.purchcontractmanagement.PurchContractSupplementSignApproval;
import com.sunxung.factoring.entity.purchcontractmanagement.vo.PurchContractChangeVo;
import com.sunxung.factoring.entity.sys.FileStorage;

/**
 * <p>
 * 采购合同-补充信息表 服务类
 * </p>
 *
 * @author daxian
 * @since 2022-03-14
 */
public interface IPurchContractSupplementInfoService extends IService<PurchContractSupplementInfo> {


    /**
     * 销售合同变更录入
     * @param vo
     * @return
     */
    boolean change(PurchContractChangeVo vo);

    /**
     * 变更签署回调
     *
     * @param contractId
     */
    void doSignChangeCallBack(String contractId);

    void doSignChangeCallBackByQuery(String contractId, Boolean downloadContract);

    PurchContractChangeVo getView(Long id);

    PurchContractSupplementInfo getLastPruchContractSupplementInfoByContractManagementId(Long id);

    void checkCallBack(Long businessKey);

    void startProcess(PurchContractChangeVo vo);

    void commitTask(PurchContractChangeVo vo);


    /**
     * 获取合同编号
     * @param businessKey
     * @return
     */
    String getContractNumber(Long businessKey);

    FileStorage makeContract(PurchContractSupplementApproval purchContractSupplementApproval);


}
