using Hotline.Share.Enums.FlowEngine; using Hotline.Share.Enums.Order; 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 { /// /// 部门Code /// public string OrgCode { get; set; } /// /// 部门名称 /// public string OrgName { get; set; } /// /// 部门类型 /// public string OrgType { get; set; } /// /// 信件总量 /// public int OrderCountNum { get; set; } /// /// 信件已办总量 /// public int YBOrderCountNum { get; set; } /// /// 信件未办总量 /// public int ZBOrderCountNum { get; set; } /// /// 办结率 /// public double OrderCompletionRate => CalcProportionRate(); /// /// 已归档 /// public int Archived { get; set; } /// /// 待归档 /// public int ToBeArchived { get; set; } /// /// 待发布 --已归档的就是待发布 /// public int WaitPublished { get; set; } /// /// 已发布公开 /// public int PublishedOpen { get; set; } /// /// 已发布不公开 /// public int PublishedNoOpen { get; set; } /// /// 已办超期 /// 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 double HQOverdueRate => CalcOverdueRate(); /// /// 工单计算办结率 /// /// public double CalcProportionRate() { if (OrderCountNum != 0 && YBOrderCountNum != 0) { return Math.Round((YBOrderCountNum / (double)OrderCountNum) * 100, 2); } return 0; } /// /// 计算超期率 /// /// public double CalcOverdueRate() { if (OrderCountNum != 0 && SubtotalOverdue != 0) { return Math.Round((SubtotalOverdue / (double)OrderCountNum) * 100, 2); } return 0; } } }