package com.fs.hospital.service;

import java.util.List;

import com.fs.common.core.domain.R;
import com.fs.hospital.domain.HospitalPharmacyOrder;
import com.fs.hospital.param.HospitalPharmacyOrderParam;
import com.fs.hospital.vo.HospitalPharmacyOrderListHVO;

/**
 * 药房订单Service接口
 *
 * @author fs
 * @date 2024-03-22
 */
public interface IHospitalPharmacyOrderService
{
    /**
     * 查询药房订单
     *
     * @param orderId 药房订单主键
     * @return 药房订单
     */
//    public HospitalPharmacyOrder selectHospitalPharmacyOrderByOrderId(Long orderId);
//    public HospitalPharmacyOrderHVO selectHospitalPharmacyOrderPVOByOrderId(Long orderId);
    public R selectHospitalPharmacyOrderPVOByOrderId(Long orderId);

    /**
     *
     * @Author sgw
     * @Date 2024/5/24 10:39
     **/

    /**
     * 查询药房订单列表
     *
     * @param hospitalPharmacyOrder 药房订单
     * @return 药房订单集合
     */
    public List<HospitalPharmacyOrder> selectHospitalPharmacyOrderList(HospitalPharmacyOrder hospitalPharmacyOrder);

    /**
     * 新增药房订单
     *
     * @param hospitalPharmacyOrder 药房订单
     * @return 结果
     */
    public int insertHospitalPharmacyOrder(HospitalPharmacyOrder hospitalPharmacyOrder);

    /**
     * 修改药房订单
     *
     * @param hospitalPharmacyOrder 药房订单
     * @return 结果
     */
    public int updateHospitalPharmacyOrder(HospitalPharmacyOrder hospitalPharmacyOrder);

    /**
     *  修改发药状态
     */
    public int UpdateDispensingHospitalPharmacyOrder(Long orderId,int type);

    /**
     * 批量删除药房订单
     *
     * @param orderIds 需要删除的药房订单主键集合
     * @return 结果
     */
    public int deleteHospitalPharmacyOrderByOrderIds(Long[] orderIds);

    /**
     * 删除药房订单信息
     *
     * @param orderId 药房订单主键
     * @return 结果
     */
    public int deleteHospitalPharmacyOrderByOrderId(Long orderId);

    List<HospitalPharmacyOrderListHVO> selectHospitalPharmacyOrderListHVO(HospitalPharmacyOrderParam param);
}
