using Hotline.Share.Enums.Order;
using Hotline.Share.Requests;

namespace Hotline.Share.Dtos.Bi
{
    public record QueryVisitNoSatisfiedDto
    {
        /// <summary>
        /// 回访结果 空查询全部，-1：视为满意；2：不满意
        /// </summary>
        public string? OrgProcessingResults { get; set; }

        public string OrgName { get; set; }

        public DateTime? StartTime { get; set; }

        public DateTime? EndTime { get; set; }

        /// <summary>
        /// 导出列名
        /// </summary>
        public List<string> AddColumnName { get; set; } = new();
    }

    public record VisitAndOrgSatisfactionDetailDto : PagedRequest
    {
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }
        public string OrgCode { get; set; }
        public int TypeId { get; set; }
        public string DateValue { get; set; }

        public string? LineNum { get; set; }

        /// <summary>
        /// 是否只看自己（优先级最高）
        /// </summary>
        public bool? IsOnlyMy { get; set; }

        /// <summary>
        /// 来电/信人身份0：全部 ，1：市民，2：企业
        /// </summary>
        public int? TypeCode { get; set; }

        /// <summary>
        /// 排序字段
        /// </summary>
        public string? SortField { get; set; }

        /// <summary>
        /// 排序方式 // 0 升序 1 降序
        /// </summary>
        public int? SortRule { get; set; }

        /// <summary>
        /// 回访方式
        /// </summary>
        public EVisitType? VisitType { get; set; }

        /// <summary>
        /// 选择的部门
        /// </summary>
        public string? PickOrgCode { get; set; }

        /// <summary>
        /// 是否省工单（空为全部  true为省工单 false为市工单）
        /// </summary>
        public bool? IsProvinceOrder { get; set; }

        /// <summary>
        /// 内容检索（回访内容）
        /// </summary>
        public string? ContentRetrieval { get; set; }

        /// <summary>
        /// 接办部门
        /// </summary>
        public string? ActualHandleOrgName { get; set; }

        /// <summary>
        /// 是否甄别
        /// </summary>
        public bool? IsScreen { get; set; }

        /// <summary>
        /// 工单编号
        /// </summary>
        public string? No { get; set; }

        /// <summary>
        /// 标题
        /// </summary>
        public string? Title { get; set; }
    }

    public record HighFrequencyCallStatisticsRequest : PagedRequest
    {
        public DateTime? StartTime { get; set; }
        public DateTime? EndTime { get; set; }

        public string? PhoneNum { get; set; }
    }

    public record HighMatterWarningRequest : PagedRequest
    {
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }

        public string Hotspot { get; set; }

        public string AreaCode { get; set; }

        public string AcceptType { get; set; }
    }

    public record HighMatterWarningDetailRequest : PagedRequest
    {
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }

        public string HotspotId { get; set; }

        public string AreaCode { get; set; }

        public string AcceptTypeCode { get; set; }
    }
}
