using Hotline.Settings; using Hotline.Share.Enums.FlowEngine; using Hotline.Share.Enums.Order; using XF.Utility.EnumExtensions; namespace Hotline.Share.Requests { public class DepartmentalProcessingStatisticsDto { public string Id { get; set; } public string OrgCode { get; set; } public string ActualHandleOrgCode { get; set; } public EOrderStatus? Status { get; set; } public DateTime? ExpiredTime { get; set; } public DateTime? ActualHandleTime { get; set; } public ECounterSignType? CounterSignType { get; set; } public bool PublishState { get; set; } } public class DepartmentalProcessingStatisticsDataDto { #region 办件信息 /// /// 部门Code /// public string OrgCode { get; set; } /// /// 部门名称 /// public string OrgName { get; set; } /// /// 部门类型 /// public EOrgType OrgType { get; set; } public string OrgTypeText => OrgType.GetDescription(); /// /// 信件总量 /// public int OrderCountNum => YbOrderCountNum + ZbOrderCountNum; /// /// 信件已办总量 /// public int YbOrderCountNum { get; set; } /// /// 信件未办总量 /// public int ZbOrderCountNum { get; set; } /// /// 按时办结 /// public int CompleteOnTime { get; set; } /// /// 按时办结率 /// public string CompleteOnTimeRate => CalcRate(YbOrderCountNum, CompleteOnTime); /// /// 办结率 /// public string OrderCompletionRate => CalcRate(OrderCountNum, YbOrderCountNum); #endregion #region 归档 /// /// 已归档 /// public int Archived { get; set; } /// /// 待归档 /// public int ToBeArchived { get; set; } #endregion #region 发布 /// /// 待发布 --已归档的就是待发布 /// public int WaitPublished { get; set; } /// /// 已发布公开 /// public int PublishedOpen { get; set; } /// /// 已发布不公开 /// public int PublishedNoOpen { get; set; } #endregion #region 超期信息 /// /// 已办超期 /// public int YbOverdue { get; set; } /// /// 待办超期 /// public int ZbOverdue { get; set; } /// /// 会签已办超期 /// public int HqybOverdue { get; set; } /// /// 会签待办超期 /// public int HqzbOverdue { get; set; } /// /// 超期件数 /// public int SubtotalOverdue => YbOverdue + ZbOverdue + HqybOverdue + HqzbOverdue; /// /// 会签超期率 /// public string HqOverdueRate => CalcRate(OrderCountNum, SubtotalOverdue); #endregion #region 会签信息 /// /// 会签已办 /// public int DelayEnd { get; set; } /// /// 会签待办 /// public int DelayWait { get; set; } #endregion #region 延期 /// /// 工单延期次数 /// public int OrderDelayCount { get; set; } /// /// 延期率 /// public string OrderDelayRate => CalcRate(OrderCountNum, OrderDelayCount); #endregion #region 甄别 /// /// 申请总量 /// public int ScreenCount { get; set; } /// /// 审批中 /// public int ScreenApproval { get; set; } /// /// 通过 /// public int ScreenPass { get; set; } /// /// 不通过 /// public int ScreenNotPass { get; set; } #endregion #region 满意度 /// /// 满意 /// public int SatisfactionCount { get; set; } /// /// 不满意 /// public int NotSatisfactionCount { get; set; } /// /// 满意率 /// public string SatisfactionRate => CalcRate(SatisfactionCount + NotSatisfactionCount, SatisfactionCount); #endregion /// /// 计算率 /// /// public string CalcRate(int Count, int Quantity) { if (Count != 0 && Quantity != 0) { return Math.Round((Quantity / (double)Count) * 100, 2) + "%"; } return "0%"; } } public record DepartmentalProcessingStatisticsRequest : PagedRequest { /// /// 开始日期 /// public DateTime StartTime { get; set; } /// /// 结束日期 /// public DateTime EndTime { get; set; } /// /// 部门Code /// public string OrgCode { get; set; } /// /// 父级ID /// public string ParentOrgCode { get; set; } /// /// 部门名称 /// public string? OrgName { get; set; } /// /// 数据查询类别 /// public EStatisticsType StatisticsType { get; set; } /// /// 是否省来源 /// public bool? IsProvince { get; set; } /// /// 来电/信人身份0:全部 ,1:市民,2:企业 /// public int? TypeId { get; set; } /// /// 排序字段 /// public string? SortField { get; set; } /// /// 排序方式 0 升序 1 降序 /// public int? SortRule { get; set; } } public class SelectOrderId { public string Id { get; set; } } }