using Hotline.Share.Enums.Order;

namespace Hotline.Share.Requests;

public record PagedKeywordRequest : PagedRequest
{
	/// <summary>
	/// 开始时间
	/// </summary>
	public DateTime? StartTime { get; set; }

	/// <summary>
	/// 结束时间
	/// </summary>
	public DateTime? EndTime { get; set; }

	public string? Keyword { get; set; }
}

public record ReportPagedRequest : PagedKeywordRequest 
{

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

	/// <summary>
	/// 排序规则  0 升序  1 降序
	/// </summary>
	public int SortRule { get; set; }

}

public record OrgDataListDetailRequest:PagedRequest
{
	/// <summary>
	/// 开始时间
	/// </summary>
	public DateTime StartTime { get; set; }
	/// <summary>
	/// 结束时间
	/// </summary>
	public DateTime EndTime { get; set; }
	/// <summary>
	/// 部门Code
	/// </summary>
	public string OrgCode {  get; set; }

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

	/// <summary>
	/// 查询状态 1：业务已办超期  2：会签已办超期  3：业务待办超期  4：会签待办超期  5：小计
	/// </summary>
	public int QueryType { get; set; }

	/// <summary>
	/// 超期类型 1：系统中超期  2：申请延期超期
	/// </summary>
	public int ExpiredType { get; set; }
}

public record PublishedPagedRequest : PagedKeywordRequest {
	/// <summary>
	/// 是否解决
	/// </summary>
	public bool? Resolve { get; set; }

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

public record HotspotSubtotalReportPagedRequest : ReportPagedRequest
{

	public string Id { get; set; }
}

public record HotPortJoinOrgStatisticsRequest
{
	public DateTime StartTime { get; set; }

	public DateTime EndTime { get; set; }
}


public record HotspotReportPagedRequest : ReportPagedRequest { 

	public string Id { get; set; }

	/// <summary>
	/// 查询类型  年 3 月 2 日 1 自定义 0
	/// </summary>
	public int Type { get; set; }

	public DateTime? ChainStartTime { get; set; }

	public DateTime? ChainEndTime { get; set; }
}


public record QuerySeatRestRequest:ReportPagedRequest
{
	public string? UserName { get; set; }

	public string? StaffNo { get; set; }

}

public record QuerySeatSwitchRequest:ReportPagedRequest
{
	public string? UserName { get; set; }

	public string? CDPN { get; set; }

}

public record QueryVisitNoSatiisfiedRequest:ReportPagedRequest
{
	public string? OrgName { get; set; }

}

public record BiQueryVisitNoSatisfiedDetailDto: ReportPagedRequest
{
	/// <summary>
	/// 部门Code
	/// </summary>
	public string OrgCode { get; set; }
	/// <summary>
	/// 不满意原因Key
	/// </summary>
	public string DissatisfiedKey { get; set; }
}

public record QueryOrderDelayDataListRequest:ReportPagedRequest 
{ 
	public string? OrgName { get; set; }
}

public record QueryOrderDelayDataDetailRequest : ReportPagedRequest
{
	public string? OrgCode { get; set; }

	/// <summary>
	/// 查询类型  1已同意次数 2 未同意次数 3  审批中次数 4 小计
	/// </summary>
	public int? Type { get; set; }

}

public record QueryOrderReTransactRequest : ReportPagedRequest
{
	public string? OrgName { get; set; }

}

public record QuerySecondaryHandlingRequest : ReportPagedRequest
{
	public string? OrgName { get; set; }

	public string? OrgId { get; set; }

	/// <summary>
	///  1  办件结果
	/// </summary>
	public int  TypeId { get; set; }

	public string? CDPN { get; set; }

	public string Header { get; set; }

}

public record QueryOrderReTransactDetailRequest : ReportPagedRequest
{
	public string? OrgName { get; set; }

	public string? ErrorName { get; set; }

	public string? No { get; set; }

}

public record QuerySendOrderRequest
{
	public string? UserName { get; set; }


	/// <summary>
	/// 开始时间
	/// </summary>
	public DateTime? StartTime { get; set; }

	/// <summary>
	/// 结束时间
	/// </summary>
	public DateTime? EndTime { get; set; }

}

public record QuerySendOrderDetailRequest : ReportPagedRequest 
{
	public string UserId { get; set; }

	public string TitleCode { get; set; }
}

public record QueryUnsignedOrdersRequest : ReportPagedRequest 
{ 
	/// <summary>
	///  0 全部  1 本级  2 下级
	/// </summary>
	public int Level { get; set; }

	/// <summary>
	///  0 未签收  1 签收
	/// </summary>
	public int Signed { get; set; }
}

public record QueryOrderSourceRequest : ReportPagedRequest 
{
	/// <summary>
	/// 来电/信人身份
	/// </summary>
	public EIdentityType? IdentityType { get; set; }
}

public record QueryOrderSourceDetailRequest : QueryOrderSourceRequest
{
	/// <summary>
	/// 来电/信人身份
	/// </summary>
	public EIdentityType? IdentityType { get; set; }

	/// <summary>
	/// 点击时间
	/// </summary>
	public DateTime? Time { get; set; }

	/// <summary>
	/// 来源渠道（电话、网站、APP等）
	/// </summary>
	public string? SourceChannel { get; set; }
}
