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