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;
}
}
}