package com.ruoyi.oa.service;

import java.util.List;
import com.ruoyi.oa.domain.CmcContractInvoice;

/**
 * 合同开票Service接口
 * 
 * @author cmc
 * @date 2025-07-23
 */
public interface ICmcContractInvoiceService 
{
    /**
     * 查询合同开票
     * 
     * @param invoiceId 合同开票主键
     * @return 合同开票
     */
    public CmcContractInvoice selectCmcContractInvoiceByInvoiceId(Integer invoiceId);

    /**
     * 查询合同开票列表
     * 
     * @param cmcContractInvoice 合同开票
     * @return 合同开票集合
     */
    public List<CmcContractInvoice> selectCmcContractInvoiceList(CmcContractInvoice cmcContractInvoice);

    /**
     * 新增合同开票
     * 
     * @param cmcContractInvoice 合同开票
     * @return 结果
     */
    public int insertCmcContractInvoice(CmcContractInvoice cmcContractInvoice);

    /**
     * 修改合同开票
     * 
     * @param cmcContractInvoice 合同开票
     * @return 结果
     */
    public int updateCmcContractInvoice(CmcContractInvoice cmcContractInvoice);

    /**
     * 删除合同开票
     *
     * @param ContractId 合同开票主键
     * @return 结果
     */
    public int deleteCmcContractInvoiceByContractId(String ContractId);

    /**
     * 批量删除合同开票
     *
     * @param contractIds 需要删除的合同开票主键集合
     * @return 结果
     */
    public int deleteCmcContractInvoiceByContractIds(String[] contractIds);

}
