123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629 |
- using Hotline.Share.Enums.Order;
- using Hotline.Share.Requests;
- using Hotline.Share.Tools;
- using Newtonsoft.Json;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel.DataAnnotations;
- using System.Linq;
- using System.Text;
- using System.Text.Json.Serialization;
- using System.Threading.Tasks;
- using XF.Utility.EnumExtensions;
- using JsonIgnoreAttribute = System.Text.Json.Serialization.JsonIgnoreAttribute;
- namespace Hotline.Share.Dtos.Snapshot;
- public record RedPackStatisticsDetailsInDto : PagedRequest
- {
- [Required]
- public DateTime StartTime { get; set; }
- [Required]
- public DateTime EndTime { get; set; }
- /// <summary>
- /// 字段名称
- /// </summary>
- [Required]
- public string FieldName { get; set; }
- /// <summary>
- /// 行业Id
- /// </summary>
- [Required]
- public string? IndustryId { get; set; }
- /// <summary>
- /// 行业类型
- /// </summary>
- [Required]
- public int IndustryType { get; set; }
- }
- public class RedPackStatisticsDetailsOutDto
- {
- /// <summary>
- /// Id
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 过期状态
- /// </summary>
- public EExpiredStatus? ExpiredStatus => FiledTime.CalculateExpiredState(Status, this.ExpiredTime, this.NearlyExpiredTime, this.NearlyExpiredTimeOne);
- /// <summary>
- /// 过期状态
- /// </summary>
- public string ExpiredStatusText => ExpiredStatus.GetDescription();
- /// <summary>
- /// 受理编号
- /// </summary>
- public string No { get; set; }
- /// <summary>
- /// 信件状态
- /// </summary>
- public EOrderStatus Status { get; set; }
- /// <summary>
- /// 信件状态
- /// </summary>
- public string StatusTxt => Status.GetDescription();
- /// <summary>
- /// 来源
- /// </summary>
- public string SourceChannel { get; set; }
- /// <summary>
- /// 当前节点
- /// </summary>
- public string CurrentStepName { get; set; }
- /// <summary>
- /// 重办次数
- /// </summary>
- public int ReTransactNum { get; set; }
- /// <summary>
- /// 是否紧急
- /// </summary>
- public bool IsUrgent { get; set; }
- /// <summary>
- /// 是否紧急
- /// </summary>
- public string IsUrgentText => IsUrgent ? "紧急" : "-";
- /// <summary>
- /// 期满时间
- /// </summary>
- public DateTime? ExpiredTime { get; set; }
- /// <summary>
- /// 即将超期时间
- /// </summary>
- public DateTime? NearlyExpiredTime { get; set; }
- /// <summary>
- /// 即将超期时间第一级
- /// </summary>
- public DateTime? NearlyExpiredTimeOne { get; set; }
- /// <summary>
- /// 是否超期
- /// </summary>
- public bool IsExpired
- {
- get
- {
- if (ExpiredTime.HasValue)
- return DateTime.Now > ExpiredTime.Value;
- return false;
- }
- }
- /// <summary>
- /// 受理时间
- /// </summary>
- public DateTime CreationTime { get; set; }
- /// <summary>
- /// 标题
- /// </summary>
- public string Title { get; set; }
- /// <summary>
- /// 行业
- /// </summary>
- public string IndustryName { get; set; }
- /// <summary>
- /// 办理时长
- /// </summary>
- public double CreationTimeHandleDuration { get; set; }
- /// <summary>
- /// 区域
- /// </summary>
- public string County { get; set; }
- /// <summary>
- /// 电话
- /// </summary>
- public string Contact { get; set; }
- /// <summary>
- /// 受理期满时间
- /// </summary>
- public DateTime? AcceptExpiredTime { get; set; }
- /// <summary>
- /// 接办部门
- /// </summary>
- public string ActualHandleOrgName { get; set; }
- /// <summary>
- /// 接办时间
- /// </summary>
- public DateTime? StartTime { get; set; }
- /// <summary>
- /// 办结时间
- /// </summary>
- public DateTime? FiledTime { get; set; }
- /// <summary>
- /// 受理类型
- /// </summary>
- public string AcceptType { get; set; }
- /// <summary>
- /// 热点类型
- /// </summary>
- public string HotspotName { get; set; }
- /// <summary>
- /// 受理人
- /// </summary>
- public string AcceptorName { get; set; }
- /// <summary>
- /// 受理内容
- /// </summary>
- public string Content { get; set; }
- /// <summary>
- /// 办理结果
- /// </summary>
- public string FileOpinion { get; set; }
- }
- public class RedPackStatisticsInDto
- {
- public DateTime StartTime { get; set; }
- public DateTime EndTime { get; set; }
- }
- public class RedPackStatisticsOutDto
- {
- /// <summary>
- /// 行业类型
- /// </summary>
- [JsonIgnore]
- [Newtonsoft.Json.JsonIgnore]
- public string CaseName { get; set; }
- /// <summary>
- /// 行业类型Id
- /// </summary>
- [JsonIgnore]
- [Newtonsoft.Json.JsonIgnore]
- public string CaseId { get; set; }
- /// <summary>
- /// 行业Id
- /// </summary>
- [JsonIgnore]
- [Newtonsoft.Json.JsonIgnore]
- public string? Id { get; set; }
- /// <summary>
- /// 行业名字
- /// </summary>
- [JsonIgnore]
- [Newtonsoft.Json.JsonIgnore]
- public string Name { get; set; }
- /// <summary>
- /// 配置金额(后端逻辑用, 前端不显示)
- /// </summary>
- [JsonIgnore]
- [Newtonsoft.Json.JsonIgnore]
- public double? ShouldAmount { get; set; } = 0;
- /// <summary>
- /// 审批同意总金额
- /// </summary>
- public double? ApprovalAmount { get; set; } = 0;
- /// <summary>
- /// 审批同意总金额
- /// </summary>
- public string? ApprovalAmountTxt => ApprovalAmount?.ToString("f2");
- /// <summary>
- /// 审批同意总个数
- /// </summary>
- public int ApprovalCount { get; set; }
- /// <summary>
- /// 发送成功金额
- /// </summary>
- public double? SentAmount { get; set; } = 0;
- /// <summary>
- /// 发送成功金额
- /// </summary>
- public string? SentAmountTxt => SentAmount?.ToString("f2");
- /// <summary>
- /// 发送成功个数
- /// </summary>
- public int SentCount { get; set; }
- /// <summary>
- /// 发送失败金额
- /// </summary>
- public double SendFailAmount { get; set; } = 0;
- /// <summary>
- /// 发送失败金额
- /// </summary>
- public string? SendFailAmountTxt => SendFailAmount.ToString("f2");
- /// <summary>
- /// 发送失败个数
- /// </summary>
- public int SendFailCount { get; set; }
- /// <summary>
- /// 待发金额
- /// </summary>
- public double? PendingAmount { get; set; } = 0;
- /// <summary>
- /// 待发金额
- /// </summary>
- public string? PendingAmountTxt => PendingAmount?.ToString("f2");
- /// <summary>
- /// 待发个数
- /// </summary>
- public int PendingCount { get; set; }
- /// <summary>
- /// 补充红包金额
- /// </summary>
- public double? SupplementAmount { get; set; } = 0;
- /// <summary>
- /// 补充红包金额
- /// </summary>
- public string? SupplementAmountTxt => SupplementAmount?.ToString("f2");
- /// <summary>
- /// 补充红包数
- /// </summary>
- public int SupplementCount { get; set; }
- /// <summary>
- /// 行业类型名称
- /// </summary>
- public string? IndustryName { get; set; }
- /// <summary>
- /// 行业Id
- /// </summary>
- public string? IndustryId { get; set; }
- /// <summary>
- /// 行业类型
- /// </summary>
- public int IndustryType { get; set; }
- }
- /// <summary>
- /// 随手拍统计输出Dto
- /// </summary>
- public class SnapshotStatisticsOutDto
- {
- /// <summary>
- /// 随手拍来件数
- /// </summary>
- public int SSPLJS => WZSLFWNJS + SSPZ12345JS + SLFWNZJS;
- /// <summary>
- /// 未在受理范围内件数
- /// </summary>
- public int WZSLFWNJS { get; set; }
- /// <summary>
- /// 随手拍转12345件数
- /// </summary>
- public int SSPZ12345JS { get; set; }
- /// <summary>
- /// 受理范围内总件数
- /// </summary>
- public int SLFWNZJS { get; set; }
- /// <summary>
- /// 受理范围内派给各网格员件数
- /// </summary>
- public int SLFWNPGGWGYJS => SLFWNPGWGYSXSNHFJS + SLFWNPGWGYCGSXSHFJS + SLFWNPGWGYWHFJS;
- /// <summary>
- /// 受理范围内派给网格员四小时内回复件数
- /// </summary>
- public int SLFWNPGWGYSXSNHFJS { get; set; }
- /// <summary>
- /// 受理范围内派给网格员超过四小时回复件数
- /// </summary>
- public int SLFWNPGWGYCGSXSHFJS { get; set; }
- /// <summary>
- /// 受理范围内派给网格员未回复件数
- /// </summary>
- public int SLFWNPGWGYWHFJS { get; set; }
- /// <summary>
- /// 受理范围内按12345直派给各区县或部门件数
- /// </summary>
- public int SLFWNA12345ZPGGQXHBMJS => SLFWNA12345ZPGGBMJS + SLFWNA12345ZPGGQXJS;
- /// <summary>
- /// 受理范围内按12345直派给各部门件数
- /// </summary>
- public int SLFWNA12345ZPGGBMJS { get; set; }
- /// <summary>
- /// 受理范围内按12345直派给各区县件数
- /// </summary>
- public int SLFWNA12345ZPGGQXJS { get; set; }
- /// <summary>
- /// 受理范围内已办信件
- /// </summary>
- public int SLFWNYBXJ => ZXYB + BMYB;
- /// <summary>
- /// 中心已办
- /// </summary>
- public int ZXYB { get; set; }
- /// <summary>
- /// 部门已办
- /// </summary>
- public int BMYB { get; set; }
- /// <summary>
- /// 受理范围满意度
- /// </summary>
- public double SLFWMYD { get; set; }
- /// <summary>
- /// 受理范围满意度
- /// </summary>
- public string SLFWMYDTxt => SLFWMYD.ToString("f4") + "%";
- /// <summary>
- /// 满意量
- /// </summary>
- public int MYL { get; set; }
- /// <summary>
- /// 不满意量
- /// </summary>
- public int BMYL { get; set; }
- /// <summary>
- /// 审核发放奖励个数
- /// </summary>
- public int SHFFJLGS => SPBTYHBGS + SPTYHBGS;
- /// <summary>
- /// 审批不同意红包个数
- /// </summary>
- public int SPBTYHBGS { get; set; }
- /// <summary>
- /// 审批同意红包个数
- /// </summary>
- public int SPTYHBGS { get; set; }
- /// <summary>
- /// 特殊红包审批统计
- /// </summary>
- public int TSHBSP { get; set; }
- /// <summary>
- /// 审批同意个数
- /// </summary>
- public int SPTYGS { get; set; }
- /// <summary>
- /// 已发金额
- /// </summary>
- public double? YFJE { get; set; }
- /// <summary>
- /// 局审核发放网格员奖励个数
- /// </summary>
- public int JSHFFWGJLGS { get; set; }
- /// <summary>
- /// 审批同意(网格员)红包个数
- /// </summary>
- public int SPTYWGYHBGS { get; set; }
- /// <summary>
- /// 审批不同意(网格员)红包个数
- /// </summary>
- public int SPBTYWGYHBGS { get; set; }
- /// <summary>
- /// 市民奖励总额
- /// </summary>
- public double? SMJLZE { get; set; }
- /// <summary>
- /// 市民已发放奖励总额
- /// </summary>
- public double? SMYFFJLZE { get; set; }
- /// <summary>
- /// 市民待发奖励总额
- /// </summary>
- public double? SMDFFJLZE { get; set; }
- /// <summary>
- /// 已发(个)
- /// </summary>
- public int YFG { get; set; }
- /// <summary>
- /// 无法联系(个)
- /// </summary>
- public int WFLXG { get; set; }
- /// <summary>
- /// 婉拒红包(个)
- /// </summary>
- public int WJHBG { get; set; }
- /// <summary>
- /// 网格员应发奖励金额
- /// </summary>
- public double? WGYYFJLJE { get; set; }
- /// <summary>
- /// 网格员已发放奖励总额
- /// </summary>
- public double? WGYYFFJLZE { get; set; }
- /// <summary>
- /// 网格员待发放奖励总额
- /// </summary>
- public double? WGYDFFJLZE { get; set; }
- /// <summary>
- /// 网格员扣款总额(已发)
- /// </summary>
- public float WGYKKZEYF { get; set; }
- /// <summary>
- /// 网格员扣款总额(待发)
- /// </summary>
- public float WGYKKZEDF { get; set; }
- /// <summary>
- /// 受理范围内多部门会签件件数
- /// </summary>
- public int SLFWNDBMHQJJS { get; set; }
- /// <summary>
- /// 受理范围内热线中心归档件数
- /// </summary>
- public int SLFWNRXZXGDJS { get; set; }
- /// <summary>
- /// 热线中心发起会签件件数
- /// </summary>
- public int RXZXFQHQJJS { get; set; }
- /// <summary>
- /// 安全隐患
- /// </summary>
- public int AQYH { get; set; }
- /// <summary>
- /// 已完成安全隐患整改
- /// </summary>
- public int YWCAQYHZG { get; set; }
- /// <summary>
- /// 申请延期工单件数
- /// </summary>
- public int SQYQGDJS { get; set; }
- /// <summary>
- /// 申请延期工单次数
- /// </summary>
- public int SQYQGDCS { get; set; }
- /// <summary>
- /// 超期件
- /// </summary>
- public int CQJ { get; set; }
- /// <summary>
- /// 二次办理件数
- /// </summary>
- public int ECBLJS => ECBLJSTHBM + ECBLJSHFBMYCB + ECBLJSTTDYYJBM;
- /// <summary>
- /// 二次办理件数-退回部门
- /// </summary>
- public int ECBLJSTHBM { get; set; }
- /// <summary>
- /// 二次办理件数-回访不满意重办
- /// </summary>
- public int ECBLJSHFBMYCB { get; set; }
- /// <summary>
- /// 二次办理件数-回访满意
- /// </summary>
- public int ECBLJSHFMY { get; set; }
- /// <summary>
- /// 二次办理件数-特提到原一级部门
- /// </summary>
- public int ECBLJSTTDYYJBM { get; set; }
- /// <summary>
- /// 二次办理工单满意率
- /// </summary>
- public double ECBLGDMYL => ECBLJS == 0 ? 0 : (ECBLJSHFMY / ECBLJS) * 100;
- /// <summary>
- /// 二次办理工单满意率
- /// </summary>
- public string ECBLGDMYLTxt => ECBLGDMYL.ToString("f4") + "%";
- /// <summary>
- /// 二次办理工单件数-退回部门回访满意
- /// </summary>
- public int ECBLGDJSTMBMHFMYD { get; set; }
- /// <summary>
- /// 二次办理工单满意率-退回部门
- /// </summary>
- public double ECBLGDMYLTHBM => ECBLJSTHBM == 0 ? 0 : (ECBLGDJSTMBMHFMYD / ECBLJSTHBM) * 100;
- /// <summary>
- /// 二次办理工单满意率-退回部门
- /// </summary>
- public string ECBLGDMYLTHBMTxt => ECBLGDMYLTHBM.ToString("f4") + "%";
- /// <summary>
- /// 二次办理工单满意率-回访不满意重办
- /// </summary>
- public double ECBLGDMYLHFBMYCB => ECBLJS == 0 ? 0 : (ECBLJSHFBMYCB / ECBLJS) * 100;
- /// <summary>
- /// 二次办理工单满意率-回访不满意重办
- /// </summary>
- public string ECBLGDMYLHFBMYCBTxt => ECBLGDMYLHFBMYCB.ToString("f4") + "%";
- /// <summary>
- /// 特提件数
- /// </summary>
- public int TTJS => TTDYYJBMJS + TTDPDZJS + QTTTJS;
- /// <summary>
- /// 特提到原一级部门件数
- /// </summary>
- public int TTDYYJBMJS { get; set; }
- /// <summary>
- /// 特提到派单组件数
- /// </summary>
- public int TTDPDZJS { get; set; }
- /// <summary>
- /// 其他特提件数
- /// </summary>
- public int QTTTJS { get; set; }
- }
- /// <summary>
- /// 随手拍统计输入Dto
- /// </summary>
- public class SnapshotStatisticsInDto
- {
- /// <summary>
- /// 开始时间
- /// </summary>
- [Required]
- public DateTime StartTime { get; set; }
- /// <summary>
- /// 结束时间
- /// </summary>
- [Required]
- public DateTime EndTime { get; set; }
- /// <summary>
- /// 行业Id
- /// </summary>
- public string? IndustryId { get; set; }
- }
- public record SnapshotStatisticsDetailInDto : PagedRequest
- {
- /// <summary>
- /// 开始时间
- /// </summary>
- [Required]
- public DateTime StartTime { get; set; }
- /// <summary>
- /// 结束时间
- /// </summary>
- [Required]
- public DateTime EndTime { get; set; }
- /// <summary>
- /// 字段名称
- /// </summary>
- [Required]
- public string FieldName { get; set; }
- }
- public class SnapshotStatisticsDetailOutDto
- {
- /// <summary>
- /// Id
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 过期状态
- /// </summary>
- public EExpiredStatus? ExpiredStatus => FiledTime.CalculateExpiredState(Status, this.ExpiredTime, this.NearlyExpiredTime, this.NearlyExpiredTimeOne);
- /// <summary>
- /// 过期状态
- /// </summary>
- public string ExpiredStatusText => ExpiredStatus.GetDescription();
- /// <summary>
- /// 受理编号
- /// </summary>
- public string No { get; set; }
- /// <summary>
- /// 信件状态
- /// </summary>
- public EOrderStatus Status { get; set; }
- /// <summary>
- /// 信件状态
- /// </summary>
- public string StatusTxt => Status.GetDescription();
- /// <summary>
- /// 来源
- /// </summary>
- public string SourceChannel { get; set; }
- /// <summary>
- /// 当前节点
- /// </summary>
- public string CurrentStepName { get; set; }
- /// <summary>
- /// 重办次数
- /// </summary>
- public int ReTransactNum { get; set; }
- /// <summary>
- /// 是否紧急
- /// </summary>
- public bool IsUrgent { get; set; }
- /// <summary>
- /// 是否紧急
- /// </summary>
- public string IsUrgentText => IsUrgent ? "紧急" : "-";
- /// <summary>
- /// 期满时间
- /// </summary>
- public DateTime? ExpiredTime { get; set; }
- /// <summary>
- /// 即将超期时间
- /// </summary>
- public DateTime? NearlyExpiredTime { get; set; }
- /// <summary>
- /// 即将超期时间第一级
- /// </summary>
- public DateTime? NearlyExpiredTimeOne { get; set; }
- /// <summary>
- /// 是否超期
- /// </summary>
- public bool IsExpired
- {
- get
- {
- if (ExpiredTime.HasValue)
- return DateTime.Now > ExpiredTime.Value;
- return false;
- }
- }
- /// <summary>
- /// 受理时间
- /// </summary>
- public DateTime CreationTime { get; set; }
- /// <summary>
- /// 标题
- /// </summary>
- public string Title { get; set; }
- /// <summary>
- /// 行业
- /// </summary>
- public string IndustryName { get; set; }
- /// <summary>
- /// 办理时长
- /// </summary>
- public double CreationTimeHandleDuration { get; set; }
- /// <summary>
- /// 区域
- /// </summary>
- public string County { get; set; }
- /// <summary>
- /// 电话
- /// </summary>
- public string Contact { get; set; }
- /// <summary>
- /// 网格员名称
- /// </summary>
- public string MemberName { get; set; }
- /// <summary>
- /// 网格员电话
- /// </summary>
- public string MemberMobile { get; set; }
- /// <summary>
- /// 网格员回复
- /// </summary>
- public string NetworkRemark { get; set; }
- /// <summary>
- /// 网格E通编号
- /// </summary>
- public string? NetworkENumber { get; set; }
- /// <summary>
- /// 受理期满时间
- /// </summary>
- public DateTime? AcceptExpiredTime { get; set; }
- /// <summary>
- /// 一级部门
- /// </summary>
- public string OrgLevelOneCode { get; set; }
- /// <summary>
- /// 接办部门
- /// </summary>
- public string ActualHandleOrgName { get; set; }
- /// <summary>
- /// 接办时间
- /// </summary>
- public DateTime? StartTime { get; set; }
- /// <summary>
- /// 办结时间
- /// </summary>
- public DateTime? FiledTime { get; set; }
- /// <summary>
- /// 受理类型
- /// </summary>
- public string AcceptType { get; set; }
- /// <summary>
- /// 热点类型
- /// </summary>
- public string HotspotName { get; set; }
- /// <summary>
- /// 受理人
- /// </summary>
- public string AcceptorName { get; set; }
- /// <summary>
- /// 受理内容
- /// </summary>
- public string Content { get; set; }
- /// <summary>
- /// 办理结果
- /// </summary>
- public string FileOpinion { get; set; }
- }
- public class StatisticsDto
- {
- }
- public class HotspotStatisticsInDto
- {
- [Required]
- public DateTime StartTime { get; set; }
- [Required]
- public DateTime EndTime { get; set; }
- /// <summary>
- /// 分类Code
- /// </summary>
- public string? HotspotCode { get; set; }
- }
- public class HotspotStatisticsOutDto
- {
- public string HotspotCode { get; set; }
- public int SumCount { get; set; }
- public string HotspotName { get; set; }
- public bool HasChild { get; set; }
- }
- public record HotspotStatisticsDetailsInDto : PagedRequest
- {
- [Required]
- public DateTime StartTime { get; set; }
- [Required]
- public DateTime EndTime { get; set; }
- public string? HotspotCode { get; set; }
- }
- public class HotspotStatisticsDetailsOutDto
- {
- /// <summary>
- /// Id
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 过期状态
- /// </summary>
- public EExpiredStatus? ExpiredStatus => FiledTime.CalculateExpiredState(Status, this.ExpiredTime, this.NearlyExpiredTime, this.NearlyExpiredTimeOne);
- /// <summary>
- /// 过期状态
- /// </summary>
- public string ExpiredStatusText => ExpiredStatus.GetDescription();
- /// <summary>
- /// 受理编号
- /// </summary>
- public string No { get; set; }
- /// <summary>
- /// 信件状态
- /// </summary>
- public EOrderStatus Status { get; set; }
- /// <summary>
- /// 信件状态
- /// </summary>
- public string StatusTxt => Status.GetDescription();
- /// <summary>
- /// 来源
- /// </summary>
- public string SourceChannel { get; set; }
- /// <summary>
- /// 当前节点
- /// </summary>
- public string CurrentStepName { get; set; }
- /// <summary>
- /// 重办次数
- /// </summary>
- public int ReTransactNum { get; set; }
- /// <summary>
- /// 甄别状态
- /// </summary>
- public EScreenStatus? OrderScreenStatus { get; set; }
- /// <summary>
- /// 甄别状态
- /// </summary>
- public string? OrderScreenStatusText => OrderScreenStatus.HasValue && OrderScreenStatus != null ? OrderScreenStatus?.GetDescription() : "未甄别";
- /// <summary>
- /// 是否紧急
- /// </summary>
- public bool IsUrgent { get; set; }
- /// <summary>
- /// 是否紧急
- /// </summary>
- public string IsUrgentText => IsUrgent ? "紧急" : "-";
- /// <summary>
- /// 期满时间
- /// </summary>
- public DateTime? ExpiredTime { get; set; }
- /// <summary>
- /// 即将超期时间
- /// </summary>
- public DateTime? NearlyExpiredTime { get; set; }
- /// <summary>
- /// 即将超期时间第一级
- /// </summary>
- public DateTime? NearlyExpiredTimeOne { get; set; }
- /// <summary>
- /// 是否超期
- /// </summary>
- public bool IsExpired
- {
- get
- {
- if (ExpiredTime.HasValue)
- return DateTime.Now > ExpiredTime.Value;
- return false;
- }
- }
- /// <summary>
- /// 受理时间
- /// </summary>
- public DateTime CreationTime { get; set; }
- /// <summary>
- /// 标题
- /// </summary>
- public string Title { get; set; }
- /// <summary>
- /// 行业
- /// </summary>
- public string IndustryName { get; set; }
- /// <summary>
- /// 办理时长
- /// </summary>
- public double CreationTimeHandleDuration { get; set; }
- /// <summary>
- /// 区域
- /// </summary>
- public string County { get; set; }
- /// <summary>
- /// 电话
- /// </summary>
- public string Contact { get; set; }
- /// <summary>
- /// 受理期满时间
- /// </summary>
- public DateTime? AcceptExpiredTime { get; set; }
- /// <summary>
- /// 接办部门
- /// </summary>
- public string ActualHandleOrgName { get; set; }
- /// <summary>
- /// 接办时间
- /// </summary>
- public DateTime? StartTime { get; set; }
- /// <summary>
- /// 办结时间
- /// </summary>
- public DateTime? FiledTime { get; set; }
- /// <summary>
- /// 满意度
- /// </summary>
- public Kv? OrgProcessingResults { get; set; }
- /// <summary>
- /// 满意度
- /// </summary>
- public string? OrgProcessingResultsTxt => OrgProcessingResults != null ? OrgProcessingResults.Value : "";
- /// <summary>
- /// 受理类型
- /// </summary>
- public string AcceptType { get; set; }
- /// <summary>
- /// 热点类型
- /// </summary>
- public string HotspotName { get; set; }
- /// <summary>
- /// 受理人
- /// </summary>
- public string AcceptorName { get; set; }
- /// <summary>
- /// 受理内容
- /// </summary>
- public string Content { get; set; }
- /// <summary>
- /// 办理结果
- /// </summary>
- public string FileOpinion { get; set; }
- }
- public class SnapshotProcessingStatisticsInDto
- {
- [Required]
- public DateTime StartTime { get; set; }
- [Required]
- public DateTime EndTime { get; set; }
- /// <summary>
- /// 行业Id
- /// </summary>
- public string? IndustryId { get; set; }
- }
- public class SnapshotProcessingStatisticsOutDto
- {
- /// <summary>
- /// 部门Code
- /// </summary>
- public string OrgCode { get; set; }
- /// <summary>
- /// 部门名称
- /// </summary>
- public string OrgName { get; set; }
- /// <summary>
- /// 信件总量
- /// </summary>
- public int OrderCountNum => YbOrderCountNum + ZbOrderCountNum;
- /// <summary>
- /// 信件已办总量
- /// </summary>
- public int YbOrderCountNum { get; set; }
- /// <summary>
- /// 信件未办总量
- /// </summary>
- public int ZbOrderCountNum { get; set; }
- /// <summary>
- /// 按时办结
- /// </summary>
- public int CompleteOnTime { get; set; }
- /// <summary>
- /// 按时办结率
- /// </summary>
- public string CompleteOnTimeRate => CalcRate(YbOrderCountNum, CompleteOnTime);
- /// <summary>
- /// 办结率
- /// </summary>
- public string OrderCompletionRate => CalcRate(YbOrderCountNum, OrderCountNum);
- /// <summary>
- /// 20分钟内接件
- /// </summary>
- public int ReceiveIn20Minutes { get; set; }
- /// <summary>
- /// 20分钟后接件
- /// </summary>
- public int ReceiveOut20Minutes { get; set; }
- /// <summary>
- /// 工单及时响应率
- /// </summary>
- public string PromptResponse => CalcRate(ReceiveIn20Minutes, ReceiveIn20Minutes + ReceiveOut20Minutes);
- /// <summary>
- /// 退回件
- /// </summary>
- public int BackNum { get; set; }
- /// <summary>
- /// 办件总时长
- /// </summary>
- public double? TotalHandleDuration { get; set; }
- /// <summary>
- /// 3日内办结
- /// </summary>
- public int End3Day { get; set; }
- /// <summary>
- /// 3至5日办结
- /// </summary>
- public int End3To5Day { get; set; }
- /// <summary>
- /// 5至7日办结
- /// </summary>
- public int End5To7Day { get; set; }
- /// <summary>
- /// 7日外办结
- /// </summary>
- public int End7Day { get; set; }
- /// <summary>
- /// 按时办结个数
- /// </summary>
- public int OnTimeCount { get; set; }
- /// <summary>
- /// 按时办结率
- /// </summary>
- public string CloseOnTimeRate => CalcRate(OnTimeCount, OrderCountNum);
- /// <summary>
- /// 满意量
- /// </summary>
- public int SatisfiedCount { get; set; }
- /// <summary>
- /// 不满意量
- /// </summary>
- public int NoSatisfiedCount { get; set; }
- /// <summary>
- /// 满意率
- /// </summary>
- public string SatisfiedRate => CalcRate(SatisfiedCount, SatisfiedCount + NoSatisfiedCount);
- /// <summary>
- /// 二次办理个数
- /// </summary>
- public int SecondNum { get; set; }
- /// <summary>
- /// 计算率
- /// </summary>
- /// <returns></returns>
- public string CalcRate(int Quantity, int Count)
- {
- if (Count != 0 && Quantity != 0)
- {
- return Math.Round((Quantity / (double)Count) * 100, 2) + "%";
- }
- return "0%";
- }
- }
- public record SnapshotProcessingStatisticsDetailsInDto : PagedRequest
- {
- /// <summary>
- /// 开始时间
- /// </summary>
- [Required]
- public DateTime StartTime { get; set; }
- /// <summary>
- /// 结束时间
- /// </summary>
- [Required]
- public DateTime EndTime { get; set; }
- /// <summary>
- /// 字段名称
- /// </summary>
- [Required]
- public string FieldName { get; set; }
- /// <summary>
- /// 部门Id
- /// </summary>
- [Required]
- public string OrgId { get; set; }
- /// <summary>
- /// 行业Id
- /// </summary>
- public string? IndustryId { get; set; }
- }
- public class SnapshotProcessingStatisticsDetailsOutDto
- {
- /// <summary>
- /// Id
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 过期状态
- /// </summary>
- public EExpiredStatus? ExpiredStatus => FiledTime.CalculateExpiredState(Status, this.ExpiredTime, this.NearlyExpiredTime, this.NearlyExpiredTimeOne);
- /// <summary>
- /// 过期状态
- /// </summary>
- public string ExpiredStatusText => ExpiredStatus.GetDescription();
- /// <summary>
- /// 受理编号
- /// </summary>
- public string No { get; set; }
- /// <summary>
- /// 信件状态
- /// </summary>
- public EOrderStatus Status { get; set; }
- /// <summary>
- /// 信件状态
- /// </summary>
- public string StatusTxt => Status.GetDescription();
- /// <summary>
- /// 来源
- /// </summary>
- public string SourceChannel { get; set; }
- /// <summary>
- /// 当前节点
- /// </summary>
- public string CurrentStepName { get; set; }
- /// <summary>
- /// 重办次数
- /// </summary>
- public int ReTransactNum { get; set; }
- /// <summary>
- /// 甄别状态
- /// </summary>
- public EScreenStatus? OrderScreenStatus { get; set; }
- /// <summary>
- /// 甄别状态
- /// </summary>
- public string? OrderScreenStatusText => OrderScreenStatus.HasValue && OrderScreenStatus != null ? OrderScreenStatus?.GetDescription() : "未甄别";
- /// <summary>
- /// 受理时间
- /// </summary>
- public DateTime CreationTime { get; set; }
- /// <summary>
- /// 期满时间
- /// </summary>
- public DateTime? ExpiredTime { get; set; }
- /// <summary>
- /// 即将超期时间
- /// </summary>
- public DateTime? NearlyExpiredTime { get; set; }
- /// <summary>
- /// 即将超期时间第一级
- /// </summary>
- public DateTime? NearlyExpiredTimeOne { get; set; }
- /// <summary>
- /// 接办部门
- /// </summary>
- public string ActualHandleOrgName { get; set; }
- /// <summary>
- /// 接办时间
- /// </summary>
- public DateTime? StartTime { get; set; }
- /// <summary>
- /// 办结时间
- /// </summary>
- public DateTime? FiledTime { get; set; }
- /// <summary>
- /// 受理类型
- /// </summary>
- public string AcceptType { get; set; }
- /// <summary>
- /// 热点类型
- /// </summary>
- public string HotspotName { get; set; }
- }
- public class GuiderWorkStatisticsOutDto
- {
- /// <summary>
- /// 网格员姓名
- /// </summary>
- public string MemberName { get; set; }
- /// <summary>
- /// 网格员手机号
- /// </summary>
- public string MemberMobile { get; set; }
- /// <summary>
- /// 未回复
- /// </summary>
- public int UnReplyCount { get; set; }
- /// <summary>
- /// 4小时内回复
- /// </summary>
- public int ReplyIn4HourCount { get; set; }
- /// <summary>
- /// 4小时外回复
- /// </summary>
- public int ReplyOut4HourCount { get; set; }
- }
- public class GuiderWorkStatisticsInDto
- {
- [Required]
- public DateTime StartTime { get; set; }
- [Required]
- public DateTime EndTime { get; set; }
- }
- public record GuiderWorkStatisticsDetailsInDto : PagedRequest
- {
- [Required]
- public DateTime StartTime { get; set; }
- [Required]
- public DateTime EndTime { get; set; }
- [Required]
- public string MemberMobile { get; set; }
- /// <summary>
- /// 字段名称
- /// </summary>
- [Required]
- public string FieldName { get; set; }
- }
- public class GuiderWorkStatisticsDetailsOutDto
- {
- /// <summary>
- /// Id
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 过期状态
- /// </summary>
- public EExpiredStatus? ExpiredStatus => FiledTime.CalculateExpiredState(Status, this.ExpiredTime, this.NearlyExpiredTime, this.NearlyExpiredTimeOne);
- /// <summary>
- /// 过期状态
- /// </summary>
- public string ExpiredStatusText => ExpiredStatus.GetDescription();
- /// <summary>
- /// 受理编号
- /// </summary>
- public string No { get; set; }
- /// <summary>
- /// 信件状态
- /// </summary>
- public EOrderStatus Status { get; set; }
- /// <summary>
- /// 信件状态
- /// </summary>
- public string StatusTxt => Status.GetDescription();
- /// <summary>
- /// 来源
- /// </summary>
- public string SourceChannel { get; set; }
- /// <summary>
- /// 当前节点
- /// </summary>
- public string CurrentStepName { get; set; }
- /// <summary>
- /// 重办次数
- /// </summary>
- public int ReTransactNum { get; set; }
- /// <summary>
- /// 是否紧急
- /// </summary>
- public bool IsUrgent { get; set; }
- /// <summary>
- /// 是否紧急
- /// </summary>
- public string IsUrgentText => IsUrgent ? "紧急" : "-";
- /// <summary>
- /// 期满时间
- /// </summary>
- public DateTime? ExpiredTime { get; set; }
- /// <summary>
- /// 即将超期时间
- /// </summary>
- public DateTime? NearlyExpiredTime { get; set; }
- /// <summary>
- /// 即将超期时间第一级
- /// </summary>
- public DateTime? NearlyExpiredTimeOne { get; set; }
- /// <summary>
- /// 是否超期
- /// </summary>
- public bool IsExpired
- {
- get
- {
- if (ExpiredTime.HasValue)
- return DateTime.Now > ExpiredTime.Value;
- return false;
- }
- }
- /// <summary>
- /// 受理时间
- /// </summary>
- public DateTime CreationTime { get; set; }
- /// <summary>
- /// 标题
- /// </summary>
- public string Title { get; set; }
- /// <summary>
- /// 行业
- /// </summary>
- public string IndustryName { get; set; }
- /// <summary>
- /// 办理时长
- /// </summary>
- public double CreationTimeHandleDuration { get; set; }
- /// <summary>
- /// 区域
- /// </summary>
- public string County { get; set; }
- /// <summary>
- /// 电话
- /// </summary>
- public string Contact { get; set; }
- /// <summary>
- /// 网格员姓名
- /// </summary>
- public string MemberName { get; set; }
- /// <summary>
- /// 网格员手机号
- /// </summary>
- public string MemberMobile { get; set; }
- /// <summary>
- /// 网格员回复内容
- /// </summary>
- public string? NetworkRemark { get; set; }
- /// <summary>
- /// 受理期满时间
- /// </summary>
- public DateTime? AcceptExpiredTime { get; set; }
- /// <summary>
- /// 接办部门
- /// </summary>
- public string ActualHandleOrgName { get; set; }
- /// <summary>
- /// 接办时间
- /// </summary>
- public DateTime? StartTime { get; set; }
- /// <summary>
- /// 办结时间
- /// </summary>
- public DateTime? FiledTime { get; set; }
- /// <summary>
- /// 受理类型
- /// </summary>
- public string AcceptType { get; set; }
- /// <summary>
- /// 热点类型
- /// </summary>
- public string HotspotName { get; set; }
- /// <summary>
- /// 受理人
- /// </summary>
- public string AcceptorName { get; set; }
- }
- public class HotspotDataStatisticsOutDto
- {
- /// <summary>
- /// 热点名字
- /// </summary>
- public string Name { get; set; }
- /// <summary>
- /// 热点工单数量
- /// </summary>
- public int OrderCount { get; set; }
- }
- public class HotspotDataStatisticsInDto
- {
- /// <summary>
- /// 类型:
- /// 0: 全部;
- /// 1: 市民;
- /// 2: 企业;
- /// </summary>
- [Required]
- public int TypeId { get; set; }
- [Required]
- public DateTime StartTime { get; set; }
- [Required]
- public DateTime EndTime { get; set; }
- }
|