package com.xinelu.manage.service.hospitalpersoninfo;

import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo;
import com.xinelu.manage.dto.hospitalpersoninfo.HospitalPersonInfoDTO;
import com.xinelu.manage.dto.hospitalpersoninfo.HospitalPersonInfoDtoo;
import com.xinelu.manage.vo.hospitalpersoninfo.HospitalPersonInfoVO;
import java.util.List;

/**
 * 健康咨询-科室人员信息Service接口
 *
 * @author xinyilu
 * @date 2023-02-14
 */
public interface IHospitalPersonInfoService {
    /**
     * 查询健康咨询-科室人员信息
     *
     * @param id 健康咨询-科室人员信息主键
     * @return 健康咨询-科室人员信息
     */
    HospitalPersonInfoVO selectHospitalPersonInfoById(Long id);

    /**
     * 查询健康咨询-科室人员信息列表
     *
     * @param hospitalPersonInfo 健康咨询-科室人员信息
     * @return 健康咨询-科室人员信息集合
     */
    List<HospitalPersonInfoVO> selectHospitalPersonInfoList(HospitalPersonInfoVO hospitalPersonInfo);

	List<HospitalPersonInfo> getList(HospitalPersonInfo hospitalPersonInfo);

    /**
     * 新增健康咨询-科室人员信息
     *
     * @param hospitalPersonInfo 健康咨询-科室人员信息
     * @return 结果
     */
    AjaxResult insertHospitalPersonInfo(HospitalPersonInfoDTO hospitalPersonInfo);

    /**
     * 修改健康咨询-科室人员信息
     *
     * @param hospitalPersonInfo 健康咨询-科室人员信息
     * @return 结果
     */
    AjaxResult updateHospitalPersonInfo(HospitalPersonInfoDTO hospitalPersonInfo);

    /**
     * 批量删除健康咨询-科室人员信息
     *
     * @param ids 需要删除的健康咨询-科室人员信息主键集合
     * @return 结果
     */
    AjaxResult deleteHospitalPersonInfoByIds(Long[] ids);

    /**
     * 删除健康咨询-科室人员信息信息
     *
     * @param id 健康咨询-科室人员信息主键
     * @return 结果
     */
    int deleteHospitalPersonInfoById(Long id);

    /**
     * 删除图片地址
     *
     * @param pictureUrl 图片地址
     **/
    void deletePictureUrl(String pictureUrl);

    /**
     * 修改医生手机号和密码
     * @param hospitalPersonInfo
     * @return
     */
    int editHospitalPersonInfo(HospitalPersonInfoDtoo hospitalPersonInfo);

    /**
     * @Author mengkuiliang
     * @Description 根据科室人员编码查询人员信息
     * @Date 2023-10-20 020 14:34
     * @Param
     * @return
     **/
    HospitalPersonInfo getByPersonCode(String personCode, String status);

    /**
     * @Author mengkuiliang
     * @Description 新增
     * @Date 2023-10-20 020 14:42
     * @Param [body]
     * @return void
     **/
    int insert(HospitalPersonInfo body);

    /**
     * @Author mengkuiliang
     * @Description 根据科室人员编号更新
     * @Date 2023-10-20 020 15:02
     * @Param [hospitalPersonInfo]
     * @return void
     **/
    int updateByPersonCode(HospitalPersonInfo hospitalPersonInfo);
}
