using Hotline.Share.Enums.Order; using Hotline.Share.Requests; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using XF.Utility.EnumExtensions; namespace Hotline.Share.Dtos.Snapshot; /// /// 随手拍统计输出Dto /// public class SnapshotStatisticsOutDto { /// /// 随手拍来件数 /// public int SSPLJS => WZSLFWNJS + SSPZ12345JS + SLFWNZJS; /// /// 未在受理范围内件数 /// public int WZSLFWNJS { get; set; } /// /// 随手拍转12345件数 /// public int SSPZ12345JS { get; set; } /// /// 受理范围内总件数 /// public int SLFWNZJS { get; set; } /// /// 受理范围内派给各网格员件数 /// public int SLFWNPGGWGYJS => SLFWNPGWGYSXSNHFJS + SLFWNPGWGYCGSXSHFJS + SLFWNPGWGYWHFJS; /// /// 受理范围内派给网格员四小时内回复件数 /// public int SLFWNPGWGYSXSNHFJS { get; set; } /// /// 受理范围内派给网格员超过四小时回复件数 /// public int SLFWNPGWGYCGSXSHFJS { get; set; } /// /// 受理范围内派给网格员未回复件数 /// public int SLFWNPGWGYWHFJS { get; set; } /// /// 受理范围内按12345直派给各区县或部门件数 /// public int SLFWNA12345ZPGGQXHBMJS => SLFWNA12345ZPGGBMJS + SLFWNA12345ZPGGQXJS; /// /// 受理范围内按12345直派给各部门件数 /// public int SLFWNA12345ZPGGBMJS { get; set; } /// /// 受理范围内按12345直派给各区县件数 /// public int SLFWNA12345ZPGGQXJS { get; set; } /// /// 受理范围内已办信件 /// public int SLFWNYBXJ => ZXYB + BMYB; /// /// 中心已办 /// public int ZXYB { get; set; } /// /// 部门已办 /// public int BMYB { get; set; } /// /// 受理范围满意度 /// public double SLFWMYD { get; set; } /// /// 受理范围满意度 /// public string SLFWMYDTxt => SLFWMYD.ToString("f4") + "%"; /// /// 满意量 /// public int MYL { get; set; } /// /// 不满意量 /// public int BMYL { get; set; } /// /// 审核发放奖励个数 /// public int SHFFJLGS => SPBTYHBGS + SPTYHBGS; /// /// 审批不同意红包个数 /// public int SPBTYHBGS { get; set; } /// /// 审批同意红包个数 /// public int SPTYHBGS { get; set; } /// /// 特殊红包审批统计 /// public int TSHBSP { get; set; } /// /// 审批同意个数 /// public int SPTYGS { get; set; } /// /// 已发金额 /// public double? YFJE { get; set; } /// /// 局审核发放网格员奖励个数 /// public int JSHFFWGJLGS { get; set; } /// /// 审批同意(网格员)红包个数 /// public int SPTYWGYHBGS { get; set; } /// /// 审批不同意(网格员)红包个数 /// public int SPBTYWGYHBGS { get; set; } /// /// 市民奖励总额 /// public double? SMJLZE { get; set; } /// /// 市民已发放奖励总额 /// public double? SMYFFJLZE { get; set; } /// /// 市民待发奖励总额 /// public double? SMDFFJLZE { get; set; } /// /// 已发(个) /// public int YFG { get; set; } /// /// 无法联系(个) /// public int WFLXG { get; set; } /// /// 婉拒红包(个) /// public int WJHBG { get; set; } /// /// 网格员应发奖励金额 /// public double? WGYYFJLJE { get; set; } /// /// 网格员已发放奖励总额 /// public double? WGYYFFJLZE { get; set; } /// /// 网格员待发放奖励总额 /// public double? WGYDFFJLZE { get; set; } /// /// 网格员扣款总额(已发) /// public float WGYKKZEYF { get; set; } /// /// 网格员扣款总额(待发) /// public float WGYKKZEDF { get; set; } /// /// 受理范围内多部门会签件件数 /// public int SLFWNDBMHQJJS { get; set; } /// /// 受理范围内热线中心归档件数 /// public int SLFWNRXZXGDJS { get; set; } /// /// 热线中心发起会签件件数 /// public int RXZXFQHQJJS { get; set; } /// /// 安全隐患 /// public int AQYH { get; set; } /// /// 已完成安全隐患整改 /// public int YWCAQYHZG { get; set; } /// /// 申请延期工单件数 /// public int SQYQGDJS { get; set; } /// /// 申请延期工单次数 /// public int SQYQGDCS { get; set; } /// /// 超期件 /// public int CQJ { get; set; } /// /// 二次办理件数 /// public int ECBLJS => ECBLJSTHBM + ECBLJSHFBMYCB + ECBLJSTTDYYJBM; /// /// 二次办理件数-退回部门 /// public int ECBLJSTHBM { get; set; } /// /// 二次办理件数-回访不满意重办 /// public int ECBLJSHFBMYCB { get; set; } /// /// 二次办理件数-回访满意 /// public int ECBLJSHFMY { get; set; } /// /// 二次办理件数-特提到原一级部门 /// public int ECBLJSTTDYYJBM { get; set; } /// /// 二次办理工单满意率 /// public double ECBLGDMYL => ECBLJS == 0 ? 0 : (ECBLJSHFMY / ECBLJS) * 100; /// /// 二次办理工单满意率 /// public string ECBLGDMYLTxt => ECBLGDMYL.ToString("f4") + "%"; /// /// 二次办理工单件数-退回部门回访满意 /// public int ECBLGDJSTMBMHFMYD { get; set; } /// /// 二次办理工单满意率-退回部门 /// public double ECBLGDMYLTHBM => ECBLJSTHBM == 0 ? 0 : (ECBLGDJSTMBMHFMYD / ECBLJSTHBM) * 100; /// /// 二次办理工单满意率-退回部门 /// public string ECBLGDMYLTHBMTxt => ECBLGDMYLTHBM.ToString("f4") + "%"; /// /// 二次办理工单满意率-回访不满意重办 /// public double ECBLGDMYLHFBMYCB => ECBLJS == 0 ? 0 : (ECBLJSHFBMYCB / ECBLJS) * 100; /// /// 二次办理工单满意率-回访不满意重办 /// public string ECBLGDMYLHFBMYCBTxt => ECBLGDMYLHFBMYCB.ToString("f4") + "%"; /// /// 特提件数 /// public int TTJS => TTDYYJBMJS + TTDPDZJS + QTTTJS; /// /// 特提到原一级部门件数 /// public int TTDYYJBMJS { get; set; } /// /// 特提到派单组件数 /// public int TTDPDZJS { get; set; } /// /// 其他特提件数 /// public int QTTTJS { get; set; } } /// /// 随手拍统计输入Dto /// public class SnapshotStatisticsInDto { /// /// 开始时间 /// [Required] public DateTime StartTime { get; set; } /// /// 结束时间 /// [Required] public DateTime EndTime { get; set; } /// /// 行业Id /// public string? IndustryId { get; set; } } public record SnapshotStatisticsDetailInDto : PagedRequest { /// /// 开始时间 /// [Required] public DateTime StartTime { get; set; } /// /// 结束时间 /// [Required] public DateTime EndTime { get; set; } /// /// 字段名称 /// [Required] public string FieldName { get; set; } } public class SnapshotStatisticsDetailOutDto { /// /// Id /// public string Id { get; set; } /// /// 过期状态 /// public EExpiredStatus ExpiredStatus { get; set; } /// /// 过期状态 /// public string ExpiredStatusText => ExpiredStatus.GetDescription(); /// /// 受理编号 /// public string No { get; set; } /// /// 信件状态 /// public EOrderStatus Status { get; set; } /// /// 信件状态 /// public string StatusTxt => Status.GetDescription(); /// /// 来源 /// public string SourceChannel { get; set; } /// /// 当前节点 /// public string CurrentStepName { get; set; } /// /// 重办次数 /// public int ReTransactNum { get; set; } /// /// 是否紧急 /// public bool IsUrgent { get; set; } /// /// 是否紧急 /// public string IsUrgentTxt => IsUrgent ? "紧急" : "-"; /// /// 期满时间 /// public DateTime? ExpiredTime { get; set; } /// /// 是否超期 /// public bool IsExpired { get { if (ExpiredTime.HasValue) return DateTime.Now > ExpiredTime.Value; return false; } } /// /// 受理时间 /// public DateTime CreationTime { get; set; } /// /// 标题 /// public string Title { get; set; } /// /// 行业 /// public string IndustryName { get; set; } /// /// 办理时长 /// public double CreationTimeHandleDuration { get; set; } /// /// 区域 /// public string County { get; set; } /// /// 电话 /// public string Contact { get; set; } /// /// 网格员名称 /// public string MemberName { get; set; } /// /// 网格员电话 /// public string MemberMobile { get; set; } /// /// 网格员回复 /// public string NetworkRemark { get; set; } /// /// 网格E通编号 /// public string? NetworkENumber { get; set; } /// /// 受理期满时间 /// public DateTime? AcceptExpiredTime { get; set; } /// /// 一级部门 /// public string OrgLevelOneCode { get; set; } /// /// 接办部门 /// public string ActualHandleOrgName { get; set; } /// /// 接办时间 /// public DateTime? StartTime { get; set; } /// /// 办结时间 /// public DateTime? CenterToOrgTime { get; set; } /// /// 受理类型 /// public string AcceptType { get; set; } /// /// 热点类型 /// public string HotspotName { get; set; } /// /// 受理人 /// public string AcceptorName { get; set; } /// /// 受理内容 /// public string Content { get; set; } /// /// 办理结果 /// public string FileOpinion { get; set; } } public class StatisticsDto { }