using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Hotline.Share.Enums.Order;
using Hotline.Share.Requests;

namespace Hotline.Share.Dtos.Order
{
    /// <summary>
    /// 待办工单dto
    /// </summary>
    public class OrderWaitedDto : OrderDto
    {
        ///// <summary>
        ///// 已超期或预计超级时间
        ///// </summary>
        //public string ExpiredDescription { get; set; }

        /// <summary>
        /// 节点期满时间
        /// </summary>
        public DateTime? StepExpiredTime { get; set; }
    }

    public record QueryOrderWaitedDto : PagedKeywordRequest 
    {
	    public bool? IsProvince { get; set; }
	    public bool? IsHandled { get; set; }
	    public bool? IsCounterSign { get; set; }
	    public bool? ExpiredOrAlmostOverdue { get; set; }
        public string? No { get; set; }
	}

    /// <summary>
    /// 中心待办
    /// </summary>
    public record QueryOrderWaitedCenterDto : PagedKeywordRequest
	{
		/// <summary>
		/// 编号
		/// </summary>
		public string? No { get; set; }

        /// <summary>
        /// 标题
        /// </summary>
        public string? Title { get; set; }
        
        /// <summary>
        /// 开始生成时间
        /// </summary>
        public DateTime? StCreationTime { get; set; }

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

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

		/// <summary>
		/// 开始受理时间
		/// </summary>
		public DateTime? StartTimeSt { get; set; }
        
        /// <summary>
        /// 当前节点名称
        /// </summary>
        public string? StepName { get; set; }

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

        /// <summary>
        /// 状态
        /// </summary>
        public EOrderStatus? Status { get; set; }

        /// <summary>
        /// 受理人
        /// </summary>
        public string? AcceptorName { get; set; }

        /// <summary>
        /// 过期状态
        /// </summary>
        public EExpiredStatus? ExpiredStatus { get; set; }

    }
}
