BigscreenDto.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. 
  2. using Hotline.Share.Dtos.Order;
  3. namespace Hotline.Share.Dtos.Bigscreen
  4. {
  5. public class OrderStatisticsDto
  6. {
  7. /// <summary>
  8. /// 办结数
  9. /// </summary>
  10. public int CompletionCount { get; set; }
  11. /// <summary>
  12. /// 办结率
  13. /// </summary>
  14. public double CompletionRate { get; set; }
  15. /// <summary>
  16. /// 待受理
  17. /// </summary>
  18. public int HaveToAcceptCount { get; set; }
  19. /// <summary>
  20. /// 待受理率
  21. /// </summary>
  22. public double HaveToAcceptRate { get; set; }
  23. /// <summary>
  24. /// 超期工单数
  25. /// </summary>
  26. public int OverTimeCount { get; set; }
  27. /// <summary>
  28. /// 超期率
  29. /// </summary>
  30. public double OverTimeRate { get; set; }
  31. /// <summary>
  32. /// 延期工单数
  33. /// </summary>
  34. public int DelayCount { get; set; }
  35. /// <summary>
  36. /// 延期率
  37. /// </summary>
  38. public double DelayRate { get; set; }
  39. /// <summary>
  40. /// 满意工单数
  41. /// </summary>
  42. public int SatisfiedCount { get; set; }
  43. /// <summary>
  44. /// 满意率
  45. /// </summary>
  46. public double SatisfiedRate { get; set; }
  47. /// <summary>
  48. /// 省工单量
  49. /// </summary>
  50. public int ProvinceOrderCount { get; set; }
  51. /// <summary>
  52. /// 省工单办结
  53. /// </summary>
  54. public int ProvinceOrderCompletionCount { get; set; }
  55. }
  56. public class KnowledgeStatisticsDto
  57. {
  58. public int TodayAddCount { get; set; }
  59. public int ThisMonthModifyCount { get; set; }
  60. public int TodayReadCount { get; set; }
  61. public int KnowledgeCount { get; set; }
  62. }
  63. public class OrderTypeHandleStatisticsDto
  64. {
  65. public string AcceptType { get; set; }
  66. public int SumCount { get; set; }
  67. public int HandlingCount { get; set; }
  68. public int FiledCount { get; set; }
  69. public int OverTimeCount { get; set; }
  70. }
  71. public class EarlyWarningHotsPotsStatisticsDto
  72. {
  73. public string HotspotId { get; set; }
  74. public string HotspotName { get; set; }
  75. public int SumCount { get; set; }
  76. public string HotspotSpliceName { get; set; }
  77. }
  78. public class OrderCountStatisticsDto
  79. {
  80. public int ToDayCount { get; set; }
  81. public double ToDayQoQ { get; set; }
  82. public int ToMonthCount { get; set; }
  83. public double ToMonthQoQ { get; set; }
  84. public int ToYearCount { get; set; }
  85. public double ToYearQoQ { get; set; }
  86. }
  87. public class OrderAreaAcceptStatisticsDto
  88. {
  89. public string AreaCode { get; set; }
  90. public string AreaName { get; set; }
  91. public int AcceptedCount { get; set; }
  92. public int CompletionCount { get; set; }
  93. public double CompletionRate => CalcCompletion();
  94. public double CalcCompletion()
  95. {
  96. if (CompletionCount == 0 || AcceptedCount == 0)
  97. {
  98. return 0;
  99. }
  100. return Math.Round((CompletionCount / (double)AcceptedCount) * 100, 2);
  101. }
  102. }
  103. public class OrderAreaAcceptQueryDto
  104. {
  105. public int HandlingCount { get; set; }
  106. public int FiledCount { get; set; }
  107. public int OverTimeCount { get; set; }
  108. public string HotspotName { get; set; }
  109. public string AreaCode { get; set; }
  110. public string AreaName { get; set; }
  111. public double SatisfiedRate { get; set; }
  112. }
  113. public class HighFrequencyCallStatisticsDto
  114. {
  115. public string Callnum { get; set; }
  116. public int OrderCountNum { get; set; }
  117. }
  118. public class HighMatterWarningDto
  119. {
  120. public string AreaName { get; set; }
  121. public string Title { get; set; }
  122. public string HotspotName { get; set; }
  123. public string HotspotId { get; set; }
  124. public int SumCount { get; set; }
  125. public string Id { get; set; }
  126. public string AcceptTypeCode { get; set; }
  127. public string AcceptType { get; set; }
  128. public string AreaCode { get; set; }
  129. }
  130. public class OrderVisitOrgSatisfactionRankDto
  131. {
  132. public string VisitOrgCode { get; set; }
  133. public string VisitOrgName { get; set; }
  134. public int SatisfiedCount { get; set; }
  135. public int VisitCount { get; set; }
  136. public double SatisfiedRate => CalcSatisfiedRate();
  137. public double CalcSatisfiedRate()
  138. {
  139. if (SatisfiedCount == 0 || VisitCount == 0)
  140. {
  141. return 0;
  142. }
  143. return Math.Round((SatisfiedCount / (double)VisitCount) * 100, 2);
  144. }
  145. }
  146. public class OrderSourceAndAcceptTtoeStatisticsDto
  147. {
  148. public string Name { get; set; }
  149. public int SumCount { get; set; }
  150. public int HasCount { get; set; }
  151. public double HasRate => CalcHasRate();
  152. public double CalcHasRate()
  153. {
  154. if (HasCount == 0 || SumCount == 0)
  155. {
  156. return 0;
  157. }
  158. return Math.Round((HasCount / (double)SumCount) * 100, 2);
  159. }
  160. }
  161. /// <summary>
  162. /// 二次办理统计
  163. /// </summary>
  164. public class SecondaryProcessingOrderStatisticsDto
  165. {
  166. /// <summary>
  167. /// 二次办理工单
  168. /// </summary>
  169. public int OrderCount { get; set; }
  170. /// <summary>
  171. /// 二次办理超期
  172. /// </summary>
  173. public int OrderOverdueCount { get; set; }
  174. /// <summary>
  175. /// 二次办理即将超期
  176. /// </summary>
  177. public int OrderSoonOverdueCount { get; set; }
  178. /// <summary>
  179. /// 二次办理满意率
  180. /// </summary>
  181. public string SatisfactionRate { get; set; }
  182. }
  183. public class SecondarySatisfactionDto
  184. {
  185. public int Count { get; set; }
  186. public int NoSatisfiedCount { get; set; }
  187. /// <summary>
  188. /// 满意率
  189. /// </summary>
  190. public string SatisfiedRate => CalcSatisfiedRate();
  191. public string CalcSatisfiedRate()
  192. {
  193. if (Count == 0)
  194. {
  195. return "0.000%";
  196. }
  197. return Math.Round(((Count - NoSatisfiedCount) / (double)Count) * 100, 3) + "%";
  198. }
  199. }
  200. }