using Dlhis.Basic.Appointment.Request;
using Dlhis.Basic.Appointment.Response;
using Dlhis.Entity.Visitor.Enums;
using Kurisu.AspNetCore.DataAccess.Dto;
namespace Dlhis.Basic.Appointment.Services;
public interface IAppointmentService : IScopeDependency
{
///
/// 预约分页
///
///
///
Task> GetPageAsync(AppointmentPageRequest request);
///
/// 查看明细
///
///
///
Task> GetAppointmentDetailsByIdAsync(string no);
///
/// 确认到达
///
///
Task ConfirmAsync(AppointmentConfirmRequest request);
///
/// 根据身份证获取最新访客预约
///
///
///
///
Task GetTodayByIdNoAsync(string idNo, string factory);
///
/// 强制离开
///
///
///
///
Task FocusLeaveAsync(long id, string reason);
///
/// 获取记录列表
///
///
///
///
///
///
///
Task> GetRecordListAsync(string factory, string search, VisitorAppointmentDetailStatusEnumType? status, DateTime start, DateTime end);
Task> GetRecordPageByIdNoAsync(AppointmentIdNoPageRequest request);
Task GetSummaryAsync(string factory, DateTime start, DateTime end);
///
/// 更新人脸
///
///
///
///
Task UpdateFaceAsync(long detailId, string base64);
///
/// 自动离职
///
///
Task AutoResignAsync();
Task> GetVisitorDevicesAsync(long detailId);
Task RecoverAsync();
}