package com.ruoyi.inventory.service;

import com.ruoyi.inventory.domain.HealthcareDrugFiling;
import com.ruoyi.inventory.domain.HealthcareInventoryDrugentry;

import java.util.Date;
import java.util.List;

/**
 * 药品库存Service接口
 *
<<<<<<< HEAD
 * @author 蒋松霖
=======
 * @author ruoyi
>>>>>>> cf33b39dcb79314a02d35b6116058d8b46856eeb
 * @date 2024-09-24
 */
public interface IHealthcareDrugFilingService
{
    /**
     * 查询药品库存
     *
     * @param id 药品库存主键
     * @return 药品库存
     */
    public HealthcareDrugFiling selectHealthcareDrugFilingById(Long id);

    /**
     * 查询药品库存
     *
     * @param archiveId 药品档案主键
     * @return 药品库存
     */
    List<HealthcareDrugFiling>  selectHealthcareDrugFilingByArchiveId(Long archiveId);


    List<HealthcareDrugFiling> selectHealthcareDrugFilingByBatch (String batch,String barcode);

    /**
     * 查询药品库存列表
     *
     * @param healthcareDrugFiling 药品库存
     * @return 药品库存集合
     */
    public List<HealthcareDrugFiling> selectHealthcareDrugFilingList(HealthcareDrugFiling healthcareDrugFiling);

    /**
     * 新增药品库存
     *
     * @param healthcareDrugFiling 药品库存
     * @return 结果
     */
    public int insertHealthcareDrugFiling(HealthcareDrugFiling healthcareDrugFiling);

    /**
     * 修改药品库存
     *
     * @param healthcareDrugFiling 药品库存
     * @return 结果
     */
    public int updateHealthcareDrugFiling(HealthcareDrugFiling healthcareDrugFiling);

    /**
     * 批量删除药品库存
     *
     * @param ids 需要删除的药品库存主键集合
     * @return 结果
     */
    public int deleteHealthcareDrugFilingByIds(Long[] ids);

    /**
     * 删除药品库存信息
     *
     * @param id 药品库存主键
     * @return 结果
     */
    public int deleteHealthcareDrugFilingById(Long id);




    int insertHealthcareInventoryFilings(List<HealthcareDrugFiling> list);

    void deleteHealthcareDrugArchiveByIds(Long[] ids);

    HealthcareDrugFiling findByBatchAndStoreroomId(HealthcareDrugFiling healthcareDrugFiling);

    HealthcareDrugFiling selectHealthcareDrugFilingByIdAndStoreroom(HealthcareDrugFiling filing);

}
