package com.clx.performance.service.breakcontract;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.param.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordParam;
import com.clx.performance.param.pc.owner.OwnerConfirmBreakContractSettlementParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
import com.clx.performance.vo.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordVO;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author liruixin
 * Date 2023-10-24
 * Time 16:02
 */
public interface BreakContractOwnerRecordService  {
    void saveRecord(BreakContractOwnerRecordAddParam param);

    IPage<BreakContractOwnerRecordVO> pageRecord(PageBreakContractOwnerRecordParam param);

    IPage<PageOwnerBreakContractOwnerRecordVO> pageOwnerRecord(PageOwnerBreakContractOwnerRecordParam param);

    void autoSaveRecord(BreakContractOwnerRecordAddParam param);

    void updateConfirmStatus(OwnerConfirmBreakContractSettlementParam param);


    void generateBreakContractSettlement(Integer breakContractId);

}
