package cn.iocoder.yudao.module.system.service.nursing;


import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.*;
import cn.iocoder.yudao.module.system.controller.admin.nursing.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.NursingLogDO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.NursingLogRecordDO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.NursingLogRemarksDO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.NursingPlanDO;

import java.util.List;
import java.util.Map;

/**
 * 护理日志 Service 接口
 *
 * @author 系统管理员
 */
public interface NursingLogService {


    void createNursingLog(NursingPlanDO nursingPlanDO);

    void supplementNursingLog(NursingLogSaveReqVO createReqVO);

    Map<String, List<NursingLogRecordRespVO>> getNursingLogByTime(Long id, Integer type);

    List<NursingPlanItemRespVO> getDetails(Long elderId, Integer type, Long nursingLogId);

    List<Map<String, Object>> getNursingLogByItem(Long id, Integer type, String caregiverName, String nurseItemName);

    void addNursingRemarks(NursingLogRemarksDO logRemarksDO);

    List<NursingLogRemarksDO> getNursingRemarks(Long id);

    List<NursingLogDO> getMobileNursingLog(String elderName, Long bedId);

    void addNurseLogDetail(NursingLogRecordDO nursingLogRecordDO);

    List<NursingLogRecordDO> getNursingRecordList(Long nursingLogId);

    Map<String, List<NursingPlanItemRespVO>> getNursingItemPlanList(Long nursingLogId);

    PageResult<NursingLogDO> getNursingLogPage(NursingLogPageReqVO pageReqVO);

    List<NursingLogRespVO> getInspectionRecords(NursingInspectionQueryVO queryVO);

    List<ElderlyInspectionRespVO> getInspectionDetails(Long nursingLogId);
}