using System.Text.Json.Serialization;

namespace DataSharing.Share.Dtos.Province.XieTong.Receive
{
    /// <summary>
    /// 上报工单处理结果/退回
    /// </summary>
    public class GetCaseReultSendRequest
    {
        /// <summary>
        /// 
        /// </summary>
        public ClientInfo token { get; set; }

        /// <summary>
        /// 服务工单
        /// </summary>
        public GetCaseReultSendModel paras { get; set; }
    }

    /// <summary>
    /// 上报工单处理结果/退回
    /// </summary>
    public class GetCaseReultSendModel
    {
        /// <summary>
        /// 答复单位
        /// </summary>
        [JsonPropertyName("DEPT_NAME")]
        [MDisplayName("答复单位")]
        [VRequired]
        [VStringLength(0, 200)]
        public string DeptName { get; set; }

        /// <summary>
        /// 答复时间
        /// </summary>
        [JsonPropertyName("FINISH_TIME")]
        [MDisplayName("答复时间")]
        [VRequired]
        public string? FinishTime { get; set; }

        /// <summary>
        /// 答复人员
        /// </summary>
        [JsonPropertyName("FINISH_NAME")]
        [MDisplayName("答复人员")]
        [VRequired]
        [VStringLength(0, 200)]
        public string FinishName { get; set; }

        /// <summary>
        /// 办理情况
        /// </summary>
        [JsonPropertyName("FINISH_NOTE")]
        [MDisplayName("办理情况")]
        [VRequired]
        public string FinishNote { get; set; }

        /// <summary>
        /// 办理操作
        /// </summary>
        [JsonPropertyName("FINISH_TYPE")]
        [MDisplayName("办理操作")]
        [VRequired]
        [VStringLength(0, 10)]
        public string FinishType { get; set; }

        /// <summary>
        /// 办理单位
        /// </summary>
        [JsonPropertyName("END_DEPT")]
        [MDisplayName("办理单位")]
        [VRequired]
        [VStringLength(0, 200)]
        public string EndDept { get; set; }

        /// <summary>
        /// 办理人员
        /// </summary>
        [JsonPropertyName("END_NAME")]
        [VStringLength(0, 200)]
        public string EndName { get; set; }

        /// <summary>
        /// 联系时间
        /// </summary>
        [JsonPropertyName("CONCACT_TIME")]
        public string? ConcactTime { get; set; }

        /// <summary>
        /// 联系方式
        /// </summary>
        [JsonPropertyName("CONCACT_TYPE")]
        [MDisplayName("联系方式")]
        [VRequired]
        [VStringLength(0, 50)]
        public string ConcactType { get; set; }

        /// <summary>
        /// 签收时间
        /// </summary>
        [JsonPropertyName("SIGN_TIME")]
        [MDisplayName("签收时间")]
        [VRequired]
        public string? SignTime { get; set; }

        /// <summary>
        /// 反馈时间
        /// </summary>
        [JsonPropertyName("FDBACKTIME")]
        [MDisplayName("反馈时间")]
        [VRequired]
        public string? FdBackTime { get; set; }

        /// <summary>
        /// 交办时间
        /// </summary>
        [JsonPropertyName("SEND_TIME")]
        [MDisplayName("交办时间")]
        [VRequired]
        public string? SendTime { get; set; }

        /// <summary>
        /// 反馈意见
        /// </summary>
        [JsonPropertyName("FDBACK")]
        [MDisplayName("反馈意见")]
        [VRequired]
        public string FdBack { get; set; }

        /// <summary>
        /// 办理时长
        /// </summary>
        [JsonPropertyName("HANDLETIME_LONG")]
        [MDisplayName("办理时长")]
        [VRequired]
        public decimal? HandletimeLong { get; set; }

        /// <summary>
        /// 任务单关联 guid
        /// </summary>
        [JsonPropertyName("TROWGUID")]
        [VStringLength(0, 50)]
        public string TrowGuid { get; set; }

        /// <summary>
        /// 退回类型
        /// </summary>
        [JsonPropertyName("BACKTYPE")]
        [VStringLength(0, 20)]
        public string BackType { get; set; }

        /// <summary>
        /// 服务工单编号
        /// </summary>
        [JsonPropertyName("CASE_SERIAL")]
        [VRequired]
        [VStringLength(0, 50)]
        [MDisplayName("服务工单编号")]
        public string CaseSerial { get; set; }

        /// <summary>
        /// 行政区划代码
        /// </summary>
        [JsonPropertyName("AREA_CODE")]
        [MDisplayName("行政区划代码")]
        [VRequired]
        [VStringLength(0, 24)]
        public string AreaCode { get; set; }

        /// <summary>
        /// 材料标识
        /// </summary>
        [JsonPropertyName("CLIENG_GUID")]
        [MDisplayName("材料标识")]
        [VRequired]
        [VStringLength(0, 50)]
        public string CliengGuid { get; set; }
    }
}
