package com.xinelu.manage.service.nurseclassifyinfo;

import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.manage.domain.nurseclassifyinfo.NurseClassifyInfo;

import java.util.List;

/**
 * 护理机构和护理项目分类信息Service接口
 *
 * @author xinyilu
 * @date 2023-02-08
 */
public interface INurseClassifyInfoService {
    /**
     * 查询护理项目分类信息
     *
     * @param id 护理机构和护理项目分类信息主键
     * @return 护理机构和护理项目分类信息
     */
    NurseClassifyInfo selectNurseClassifyInfoById(Long id);

    /**
     * 查询护理项目分类信息列表
     *
     * @param nurseClassifyInfo 护理机构和护理项目分类信息
     * @return 护理机构和护理项目分类信息集合
     */
    List<NurseClassifyInfo> selectNurseClassifyInfoList(NurseClassifyInfo nurseClassifyInfo);

    /**
     * 新增护理项目分类信息
     *
     * @param nurseClassifyInfo 护理机构和护理项目分类信息
     * @return 结果
     */
    AjaxResult insertNurseClassifyInfo(List<NurseClassifyInfo> nurseClassifyInfo);

    /**
     * 修改护理项目分类信息
     *
     * @param nurseClassifyInfo 护理机构和护理项目分类信息
     * @return 结果
     */
    AjaxResult updateNurseClassifyInfo(NurseClassifyInfo nurseClassifyInfo);

    /**
     * 批量删除护理项目分类信息
     *
     * @param ids 需要删除的护理机构和护理项目分类信息主键集合
     * @return 结果
     */
    AjaxResult deleteNurseClassifyInfoByIds(Long[] ids);

    /**
     * 删除护理项目分类信息信息
     *
     * @param id 护理机构和护理项目分类信息主键
     * @return 结果
     */
    int deleteNurseClassifyInfoById(Long id);

    /**
     * 查询护理机构分类信息列表
     *
     * @param nurseClassifyInfo 护理机构分类信息
     * @return 护理机构分类信息集合
     */
    List<NurseClassifyInfo> selectNurseStationClassifyList(NurseClassifyInfo nurseClassifyInfo);

    /**
     * 获取护理机构分类信息详细信息
     *
     * @param id 护理机构分类信息主键
     * @return 护理机构分类信息
     */
    NurseClassifyInfo selectNurseStationClassifyById(Long id);

    /**
     * 新增护理机构分类信息
     *
     * @param nurseClassifyInfoList 护理机构分类信息集合
     * @return 结果
     */
    AjaxResult insertNurseStationClassifyInfo(List<NurseClassifyInfo> nurseClassifyInfoList);

    /**
     * 修改护理机构分类信息
     *
     * @param nurseClassifyInfo 护理机构和护理项目分类信息
     * @return 结果
     */
    AjaxResult updateNurseStationClassifyInfo(NurseClassifyInfo nurseClassifyInfo);

    /**
     * 批量删除护理机构分类信息
     *
     * @param ids 需要删除的护理机构分类信息主键集合
     * @return AjaxResult
     */
    AjaxResult deleteNurseStationClassifyByIds(Long[] ids);
}