package com.fs.hospital.service;

import java.util.List;

import com.fs.common.core.domain.R;
import com.fs.hospital.domain.HospitalOrderItem;
import com.fs.hospital.param.HospitalOrderItemParam;
import com.fs.hospital.vo.HospitalOrderItemListHVO;

/**
 * 诊疗项目Service接口
 *
 * @author fs
 * @date 2024-03-22
 */
public interface IHospitalOrderItemService
{
    /**
     * 查询诊疗项目
     *
     * @param itemId 诊疗项目主键
     * @return 诊疗项目
     */
    public HospitalOrderItem selectHospitalOrderItemByItemId(Long itemId);

    /**
     * 查询诊疗项目列表
     *
     * @param hospitalOrderItem 诊疗项目
     * @return 诊疗项目集合
     */
    public List<HospitalOrderItem> selectHospitalOrderItemList(HospitalOrderItem hospitalOrderItem);

    /**
     * 新增诊疗项目
     *
     * @param hospitalOrderItem 诊疗项目
     * @return 结果
     */
    public int insertHospitalOrderItem(HospitalOrderItem hospitalOrderItem);

    /**
     * 修改诊疗项目
     *
     * @param hospitalOrderItem 诊疗项目
     * @return 结果
     */
    public int updateHospitalOrderItem(HospitalOrderItem hospitalOrderItem);

    /**
     * 批量删除诊疗项目
     *
     * @param itemIds 需要删除的诊疗项目主键集合
     * @return 结果
     */
    public int deleteHospitalOrderItemByItemIds(Long[] itemIds);

    /**
     * 删除诊疗项目信息
     *
     * @param itemId 诊疗项目主键
     * @return 结果
     */
    public int deleteHospitalOrderItemByItemId(Long itemId);

    R selectHospitalOrderItemListHVO(HospitalOrderItemParam param);

    R finishRegistration(HospitalOrderItem orderItem);

    HospitalOrderItem selectHospitalOrderItemByRegistration(Long orderId);
}
