package com.fs.his.service;

import java.util.List;
import com.fs.his.domain.FsPatient;
import com.fs.his.param.FsPatientListDParam;
import com.fs.his.vo.FsPatientListDVO;
import com.fs.his.vo.FsPatientVO;

/**
 * 病人Service接口
 *
 * @author fs
 * @date 2023-06-07
 */
public interface IFsPatientService
{
    /**
     * 查询病人
     *
     * @param patientId 病人主键
     * @return 病人
     */
    public FsPatient selectFsPatientByPatientId(Long patientId);

    /**
     * 查询病人列表
     *
     * @param fsPatient 病人
     * @return 病人集合
     */
    public List<FsPatient> selectFsPatientList(FsPatient fsPatient);

    /**
     * 新增病人
     *
     * @param fsPatient 病人
     * @return 结果
     */
    public int insertFsPatient(FsPatient fsPatient);

    /**
     * 修改病人
     *
     * @param fsPatient 病人
     * @return 结果
     */
    public int updateFsPatient(FsPatient fsPatient);

    /**
     * 批量删除病人
     *
     * @param patientIds 需要删除的病人主键集合
     * @return 结果
     */
    public int deleteFsPatientByPatientIds(Long[] patientIds);

    /**
     * 删除病人信息
     *
     * @param patientId 病人主键
     * @return 结果
     */
     int deleteFsPatientByPatientId(Long patientId);

    List<FsPatientVO> selectFsPatientListVO(FsPatientVO fsPatient);

    int selectFsPatientCountByUserId(long userId);

    List<FsPatientVO> selectFsPatientByUserId(Long userId);

    List<FsPatientListDVO> selectFsPatientListDVO(FsPatientListDParam param);

    Boolean isEntityNull(FsPatientVO fsPatient);

    Long selectFsPatientListVOCount(FsPatientVO fsPatient);
}
