package com.zd.airbottle.service;

import java.util.List;
import com.zd.airbottle.domain.QpBottleStorageOut;
import com.zd.airbottle.domain.vo.QpBottleStorageOutVO;

/**
 * 气瓶出库Service接口
 *
 * @author zd
 * @date 2022-05-23
 */
public interface IQpBottleStorageOutService
{
    /**
     * 查询气瓶出库
     *
     * @param id 气瓶出库主键
     * @return 气瓶出库
     */
    QpBottleStorageOut selectQpBottleStorageOutById(Long id);

    /**
     * 查询气瓶出库列表
     *
     * @param qpBottleStorageOut 气瓶出库
     * @return 气瓶出库集合
     */
    List<QpBottleStorageOutVO> selectQpBottleStorageOutList(QpBottleStorageOutVO qpBottleStorageOut);

    /**
     * 信息记录-出库记录
     *
     * @param qpBottleStorageOut 出库记录
     * @return 气瓶出库集合
     */
    List<QpBottleStorageOutVO> selectQpBottleStorageOutRecordList(QpBottleStorageOutVO qpBottleStorageOut);

    /**
     * 新增气瓶出库
     *
     * @param qpBottleStorageOut 气瓶出库
     * @return 结果
     */
    int insertQpBottleStorageOut(QpBottleStorageOut qpBottleStorageOut);

    /**
     * 修改气瓶出库
     *
     * @param qpBottleStorageOut 气瓶出库
     * @return 结果
     */
    int updateQpBottleStorageOut(QpBottleStorageOut qpBottleStorageOut);

    /**
     * 批量删除气瓶出库
     *
     * @param ids 需要删除的气瓶出库主键集合
     * @return 结果
     */
    int deleteQpBottleStorageOutByIds(Long[] ids);

    /**
     * 删除气瓶出库信息
     *
     * @param id 气瓶出库主键
     * @return 结果
     */
    int deleteQpBottleStorageOutById(Long id);

    /**
     * 出库单 实验室关联查询
     * @param qpBottleStorageOutVo
     * @return
     */
    List<QpBottleStorageOutVO> selectQpBottleStorageOutRelationSubject(QpBottleStorageOutVO qpBottleStorageOutVo);
}
