using Hotline.Share.Requests;

namespace Hotline.Share.Dtos.WebPortal
{
    /// <summary>
    /// 
    /// </summary>
    public class GetOrderCodePwd
    {
        public string OrderNo { get; set; }
        public string Pwd { get; set; }
    }

    /// <summary>
    /// 获取前几条数据
    /// </summary>
    public class QueryOrderListByNumDto
    {
        public int Num { get; set; }
    }

    /// <summary>
    /// 会员中心查询用户信件
    /// </summary>
    public record QueryOrderListByUserDto : PagedRequest
    {
        /// <summary>
        /// 信件编号
        /// </summary>
        public string? UserId { get; set; }
    }

    /// <summary>
    /// 办件摘编列表查询参数
    /// </summary>
    public record QueryOrderListDto : PagedRequest
    {
        /// <summary>
        /// 信件编号
        /// </summary>
        public string? FlowCode { get; set; }

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

        /// <summary>
        /// 受理类型
        /// </summary>
        public string? FlowSType { get; set; }

        /// <summary>
        /// 热点类型
        /// </summary>
        public string? FlowRType { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        public string? FlowSDate { get; set; }

        /// <summary>
        /// 结束时间
        /// </summary>
        public string? FlowEDate { get; set; }

        /// <summary>
        /// 来信人
        /// </summary>
        public string? FlowFrom { get; set; }
    }

    /// <summary>
    /// 办件摘编列表数据
    /// </summary>
    public class OrderListDto
    {
        /// <summary>
        /// 信件ID
        /// </summary>
        public string FlowID { get; set; }

        /// <summary>
        /// 信件编号
        /// </summary>
        public string FlowCode { get; set; }

        /// <summary>
        /// 查询密码
        /// </summary>
        public string FlowPwd { get; set; }

        /// <summary>
        /// 信件标题
        /// </summary>
        public string FlowTitle { get; set; }

        /// <summary>
        /// 来源
        /// </summary>
        public string FlowFromName { get; set; }

        /// <summary>
        /// 受理类型
        /// </summary>
        public string FlowPurTypeName { get; set; }

        /// <summary>
        /// 热点类型
        /// </summary>
        public string ConTypeName { get; set; }

        /// <summary>
        /// 来信时间
        /// </summary>
        public DateTime? FlowAddDate { get; set; }

        /// <summary>
        /// 发布时间
        /// </summary>
        public DateTime? PubDate { get; set; }

        /// <summary>
        /// 办理状态
        /// </summary>
        public string RSFlagName { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public int Source { get; set; } = 1;

    }

    /// <summary>
    /// 办件摘编列表数据
    /// </summary>
    public class OrderListReturnDto
    {
        /// <summary>
        /// 页码
        /// </summary>
        public int PageNum { get; set; }

        /// <summary>
        /// 总页数
        /// </summary>
        public int PageCount { get; set; }

        /// <summary>
        /// 数据对象
        /// </summary>
        public IReadOnlyList<OrderListDto> Data { get; set; }
    }

    /// <summary>
    /// 信件明细
    /// </summary>
    public class OrderDetail
    {
        /// <summary>
        /// 工单ID
        /// </summary>
        public string FlowID { get; set; }

        /// <summary>
        /// 部门id
        /// </summary>
        public string FlowBMID { get; set; }

        /// <summary>
        /// 部门名称
        /// </summary>
        public string FlowBMName { get; set; }

        /// <summary>
        /// 信件编号
        /// </summary>
        public string FlowCode { get; set; }

        /// <summary>
        /// 查询密码
        /// </summary>
        public string Pwd { get; set; }

        /// <summary>
        /// 信件标题
        /// </summary>
        public string FlowTitle { get; set; }

        /// <summary>
        /// 来源
        /// </summary>
        public string FlowFromName { get; set; }

        /// <summary>
        /// 受理类型
        /// </summary>
        public string FlowPurTypeName { get; set; }

        /// <summary>
        /// 热点类型
        /// </summary>
        public string FlowConTypeName { get; set; }

        /// <summary>
        /// 来信时间
        /// </summary>
        public DateTime? FlowAddDate { get; set; }

        /// <summary>
        /// 办结时间
        /// </summary>
        public DateTime? FlowEndDate { get; set; }

        /// <summary>
        /// 来信人
        /// </summary>
        public string FlowLKName { get; set; }

        /// <summary>
        /// 办理状态
        /// </summary>
        public string FlowRSFlagName { get; set; }

        /// <summary>
        /// 是否公开
        /// </summary>
        public string FlowPubFlagName { get; set; }

        /// <summary>
        /// 受理内容
        /// </summary>
        public string FlowContent { get; set; }

        /// <summary>
        /// 办理意见
        /// </summary>
        public string FlowResult { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string PubFlag { get; set; }

        /// <summary>
        /// 是否是省工单或者政民互动工单 0：否，1：是
        /// </summary>
        public string IsProvinceOrder { get; set; }

        /// <summary>
        /// 是否可以评价 0：不能评价，1：可以评价，2：已评价
        /// </summary>
        public string VisitType { get; set; }
    }

    /// <summary>
    /// 受理信息返回
    /// </summary>
    public class OrderAcceptanceReturnDto
    {
        public string State { get; set; }

        public string Code { get; set; }

        public string PWD { get; set; }
    }

    /// <summary>
    /// 受理类型统计
    /// </summary>
    public class OrderFormCount
    {
        /// <summary>
        /// 名称
        /// </summary>
        public string name { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public int value { get; set; }
    }

    /// <summary>
    /// 热点统计
    /// </summary>
    public class OrderHotCount
    {
        /// <summary>
        /// 名称
        /// </summary>
        public string typeName { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public int num { get; set; }
    }

    /// <summary>
    /// 返回数据
    /// </summary>
    public class GetChartDataDto
    {
        /// <summary>
        /// 受理类型统计
        /// </summary>
        public IReadOnlyList<OrderFormCount> formCount { get; set; }

        /// <summary>
        /// 热点统计
        /// </summary>
        public IReadOnlyList<OrderHotCount> hotCount { get; set; }
    }

    /// <summary>
    /// 办件统计
    /// </summary>
    public class GetStatistDto
    {
        /// <summary>
        /// 累计接件
        /// </summary>
        public int AllCount { get; set; }

        /// <summary>
        /// 累计已办
        /// </summary>
        public int AllTrandCount { get; set; }

        /// <summary>
        /// 今日接件
        /// </summary>
        public int DayCount { get; set; }

        /// <summary>
        /// 今日已办
        /// </summary>
        public int DayTrandCount { get; set; }
    }

    /// <summary>
    /// 返回数据
    /// </summary>
    public class DataListTopDto
    {
        public string DataID { get; set; }

        public string Title { get; set; }

        public DateTime? CreateDate { get; set; }

        public string? Content { get; set; }

        public string? BulletinTypeName { get; set; }
    }
}
