using System.Text.Json.Serialization;

namespace DataSharing.Share.Dtos.Province.XieTong.Receive
{
    /// <summary>
    /// 退回反馈接收数据
    /// </summary>
    public class GetCaseBackResultRequest
    {
        /// <summary>
        /// 
        /// </summary>
        public ClientInfo token { get; set; }

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

    /// <summary>
    /// 退回反馈
    /// </summary>
    public class GetCaseBackResultModel
    {
        /// <summary>
        /// 办理操作
        /// </summary>
        [JsonPropertyName("BACK_TYPE")]
        [MDisplayName("办理操作")]
        [VRequired]
        [VStringLength(0, 10)]
        public string BackType { get; set; }

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

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

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

        /// <summary>
        /// 是否同意退回
        /// </summary>
        [JsonPropertyName("RESULT")]
        [MDisplayName("是否同意退回")]
        [VRequired]
        [VStringLength(0, 10)]
        public string Result { get; set; }

        /// <summary>
        /// 退回原因
        /// </summary>
        [JsonPropertyName("REASON")]
        [MDisplayName("原因")]
        [VRequired]
        public string BackReason { 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; }
    }
}
