package com.ruoyi.buyerapi.service;

import java.util.List;
import com.ruoyi.buyerapi.domain.BuyerVoucherInfo;
import com.ruoyi.buyerapi.domain.BuyerVoucherInfoExport;
import com.ruoyi.buyerapi.domain.BuyerVoucherInfoTotalExport;

/**
 * 辅助帐凭证详细列Service接口
 *
 * @author ruoyi
 * @date 2022-09-22
 */
public interface IBuyerVoucherInfoService
{
    /**
     * 查询辅助帐凭证详细列
     *
     * @param id 辅助帐凭证详细列主键
     * @return 辅助帐凭证详细列
     */
    public BuyerVoucherInfo selectBuyerVoucherInfoById(Long id);

    /**
     * 查询辅助帐凭证详细列列表
     *
     * @param buyerVoucherInfo 辅助帐凭证详细列
     * @return 辅助帐凭证详细列集合
     */
    public List<BuyerVoucherInfo> selectBuyerVoucherInfoList(BuyerVoucherInfo buyerVoucherInfo);

    public List<BuyerVoucherInfoExport> selectBuyerVoucherInfoListExport(String projectId);

    public List<BuyerVoucherInfoTotalExport> totalVoucherInfoList(String[] projectIds);

    /**
     * 新增辅助帐凭证详细列
     *
     * @param buyerVoucherInfo 辅助帐凭证详细列
     * @return 结果
     */
    public int insertBuyerVoucherInfo(BuyerVoucherInfo buyerVoucherInfo);

    /**
     * 修改辅助帐凭证详细列
     *
     * @param buyerVoucherInfo 辅助帐凭证详细列
     * @return 结果
     */
    public int updateBuyerVoucherInfo(BuyerVoucherInfo buyerVoucherInfo);

    /**
     * 批量删除辅助帐凭证详细列
     *
     * @param ids 需要删除的辅助帐凭证详细列主键集合
     * @return 结果
     */
    public int deleteBuyerVoucherInfoByIds(Long[] ids);

    /**
     * 删除辅助帐凭证详细列信息
     *
     * @param id 辅助帐凭证详细列主键
     * @return 结果
     */
    public int deleteBuyerVoucherInfoById(Long id);
}
