using Hotline.Share.Enums.Order; using XF.Utility.EnumExtensions; namespace Hotline.Share.Dtos.JudicialManagement { public class EnforcementOrderListDto { public string Id { get; set; } public string WorkflowId { get; set; } /// /// 工单状态 /// public EOrderStatus Status { get; set; } public string StatusText => Status.GetDescription(); /// /// 过期状态 /// public EExpiredStatus? ExpiredStatus => CalculateExpiredState(); /// /// 过期状态 /// public string ExpiredStatusText => ExpiredStatus?.GetDescription() ?? string.Empty; /// /// 工单编码(20220101000001) /// public string No { get; set; } /// /// 来源渠道 /// public string? SourceChannel { get; set; } public string? SourceChannelCode { get; set; } /// /// 来电号码 /// public string? FromPhone { get; set; } /// /// 转接号码(转接来源) /// public string? TransferPhone { get; set; } /// /// 来电/信人姓名 /// public string? FromName { get; set; } /// /// 联系电话 /// public string? Contact { get; set; } /// /// 受理类型 /// public string? AcceptType { get; set; } public string? AcceptTypeCode { get; set; } /// /// 紧急程度 /// public EEmergencyLevel EmergencyLevel { get; set; } public string Title { get; set; } /// /// 热点 /// public string? HotspotId { get; set; } public string? HotspotName { get; set; } public string? HotspotSpliceName { get; set; } public DateTime CreationTime { get; set; } /// /// 是否为省工单 /// public bool IsProvince { get; set; } /// /// 同步省工单编号和省上传下来的工单都用这个字段 /// public string? ProvinceNo { get; set; } /// /// 实际办理节点名称(会签状态此字段保存最外层会签发起节点名称) /// public string? ActualHandleStepName { get; set; } /// /// 实际办理时间 /// public DateTime? ActualHandleTime { get; set; } /// /// 超期时间(期满时间) /// public DateTime? ExpiredTime { get; set; } /// /// 即将超期时间 /// public DateTime? NearlyExpiredTime { get; set; } /// /// 归档时间(暂为流程结束时间,因流程结束自动归档) /// public DateTime? FiledTime { get; set; } /// /// 工单开始时间(受理/接办时间=流程开启时间) /// public DateTime? StartTime { get; set; } /// /// 实际办理部门名称 /// public string? ActualHandleOrgName { get; set; } /// /// 实际办理部门编码 /// public string? ActualHandleOrgCode { get; set; } /// /// 一级部门code /// public string? OrgLevelOneCode { get; set; } /// /// 一级部门名称 /// public string? OrgLevelOneName { get; set; } /// /// 实际办理人名称 /// public string? ActualHandlerName { get; set; } /// /// 是否行政执法类 /// public bool? IsEnforcementOrder { get; set; } /// /// 是否推诿 /// public bool? IsPassTheBuckOrder { get; set; } /// /// 线索是否属实 /// public bool? IsTheClueTrue { get; set; } /// /// 诉事项类型Id /// public string? EventTypeId { get; set; } /// /// 诉事项类型名称 /// public string? EventTypeName { get; set; } /// /// 诉事项类型名称 /// public string? EventTypeSpliceName { get; set; } /// /// 是否显示修改按钮 /// public bool IsShowUpdateButton { get; set; } /// /// 区域名称 /// public string AreaName { get; set; } public EExpiredStatus? CalculateExpiredState() { DateTime? dateTime = DateTime.Now; if (Status >= EOrderStatus.Filed) { dateTime = ActualHandleTime; } //ExpiredStatus if (ExpiredTime.HasValue) { if (dateTime < NearlyExpiredTime) { return EExpiredStatus.Normal; } else if (dateTime > NearlyExpiredTime && dateTime < ExpiredTime) { return EExpiredStatus.GoingToExpired; } else { return EExpiredStatus.Expired; } } return null; } } public class EnforcementOrgSatisfactionOrderListDto: EnforcementOrderListDto { /// /// 回访主表ID /// public string VisitId { get; set; } } }