package com.ruoyi.cs.service;

import java.util.List;
import com.ruoyi.cs.domain.CsContractDetails;
import com.ruoyi.cs.domain.template.CsContractDetailsTemplate;

/**
 * 合同信息详情Service接口
 *
 * @author ruoyi
 * @date 2024-05-29
 */
public interface ICsContractDetailsService
{
    /**
     * 查询合同信息详情
     *
     * @param contractDetailsId 合同信息详情主键
     * @return 合同信息详情
     */
    public CsContractDetails selectCsContractDetailsByContractDetailsId(String contractDetailsId);

    /**
     * 查询合同信息详情列表
     *
     * @param csContractDetails 合同信息详情
     * @return 合同信息详情集合
     */
    public List<CsContractDetails> selectCsContractDetailsList(CsContractDetails csContractDetails);

    /**
     * 新增合同信息详情
     *
     * @param csContractDetails 合同信息详情
     * @return 结果
     */
    public int insertCsContractDetails(CsContractDetails csContractDetails);

    /**
     * 修改合同信息详情
     *
     * @param csContractDetails 合同信息详情
     * @return 结果
     */
    public int updateCsContractDetails(CsContractDetails csContractDetails);

    /**
     * 批量删除合同信息详情
     *
     * @param contractDetailsIds 需要删除的合同信息详情主键集合
     * @return 结果
     */
    public int deleteCsContractDetailsByContractDetailsIds(String[] contractDetailsIds);

    /**
     * 删除合同信息详情信息
     *
     * @param contractDetailsId 合同信息详情主键
     * @return 结果
     */
    public int deleteCsContractDetailsByContractDetailsId(String contractDetailsId);

    /** 导入合同信息记录
     *
     * @param list
     * @param updateSupport
     * @return
     */
    public String importCsContractDetails(List<CsContractDetailsTemplate> list, boolean updateSupport);

    /**
     * 批量新增合同信息记录
     *
     * @param list 合同信息记录
     * @return 结果
     */
    public int insertCsContractDetailsBatch(List<CsContractDetailsTemplate> list);
}
