Aucune description

ZhengWuDuiJie.cs 6.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. using CallCenter.Utility;
  2. using CallCenterApi.DB;
  3. using Newtonsoft.Json;
  4. using Newtonsoft.Json.Linq;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Data;
  8. using System.IO;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace CallCenter.QuartzService
  13. {
  14. public class ZhengWuDuiJie : QuartzJob
  15. {
  16. public ZhengWuDuiJie()
  17. {
  18. CronExpression = "0 0/5 * * * ?";
  19. DoWork += submit_dept_crnt_status;
  20. }
  21. public class Push
  22. {
  23. public string code { set; get; }
  24. public string message { set; get; }
  25. public body body { set; get; }
  26. }
  27. public class body
  28. {
  29. public errorObjs[] errorObjs { set; get; }
  30. }
  31. public class errorObjs
  32. {
  33. public string resturl { set; get; }
  34. public string errorid { set; get; }
  35. public string errormsg { set; get; }
  36. }
  37. public class paras
  38. {
  39. public string AREA_CODE { set; get; }
  40. public string CRNT_SEATNUM { set; get; }
  41. public string CRNT_TELNUM { set; get; }
  42. public string TDY_NUM { set; get; }
  43. public string TDY_TELNUM { set; get; }
  44. public string TDY_ZWNUM { set; get; }
  45. public string TDY_WZNUM { set; get; }
  46. public string TDY_WXNUM { set; get; }
  47. public string TDY_APNUM { set; get; }
  48. public string TDY_OTNUM { set; get; }
  49. public string TDY_TELRATE { set; get; }
  50. }
  51. /// <summary>
  52. /// 实时服务信息上报接口
  53. /// </summary>
  54. /// <param name="sender"></param>
  55. /// <param name="e"></param>
  56. private void submit_dept_crnt_status(object sender, EventArgs e)
  57. {
  58. var Dataurl = HttpMethods.HttpPost("http://docking.zwfw.anyang.gov.cn:9998/APPS/Reminder");
  59. string token = GetToken();
  60. paras paras = new paras();
  61. paras.AREA_CODE = "410500";
  62. string ZX = " select top 1 Checkin from rep_service WITH(NOLOCK) ";
  63. paras. CRNT_SEATNUM = DbHelperSQL.GetSingle(ZX).ToString ();
  64. string TH = "select top 1 Conversation from rep_service WITH(NOLOCK) ";
  65. paras.CRNT_TELNUM = DbHelperSQL.GetSingle(TH).ToString();
  66. string GDCount = "select COUNT(1) from T_Bus_WorkOrder WITH(NOLOCK) where datediff(day , F_CreateTime , getdate())= 0 ";
  67. paras.TDY_NUM = DbHelperSQL.GetSingle(GDCount).ToString();
  68. string ldCount = "SELECT COUNT(1) FROM T_Call_CallRecords WITH(NOLOCK) WHERE datediff(day , BeginTime , getdate())= 0 ";
  69. paras.TDY_TELNUM = DbHelperSQL.GetSingle(ldCount).ToString();
  70. string DHCount = "SELECT COUNT(1) FROM T_Bus_WorkOrder WITH(NOLOCK) WHERE F_InfoSource = 1 AND datediff(day , F_CreateTime , getdate())= 0 ";
  71. paras.TDY_ZWNUM = DbHelperSQL.GetSingle(DHCount).ToString();
  72. //暂时不知
  73. string WZCount = "SELECT COUNT(1) FROM T_Bus_WorkOrder WITH(NOLOCK) WHERE F_InfoSource in(4,7,2459) AND datediff(day , F_CreateTime , getdate())= 0 ";
  74. paras.TDY_WZNUM = DbHelperSQL.GetSingle(WZCount).ToString();
  75. string WXCount = "SELECT COUNT(1) FROM T_Bus_WorkOrder WITH(NOLOCK) WHERE F_InfoSource =5 AND datediff(day , F_CreateTime , getdate())= 0 ";
  76. paras.TDY_WXNUM = DbHelperSQL.GetSingle(WXCount).ToString();
  77. string APPCount = "SELECT COUNT(1) FROM T_Bus_WorkOrder WITH(NOLOCK) WHERE F_InfoSource in (2527,2458 )AND datediff(day , F_CreateTime , getdate())= 0 ";
  78. paras.TDY_APNUM = DbHelperSQL.GetSingle(APPCount).ToString();
  79. string WBCount = "SELECT COUNT(1) FROM T_Bus_WorkOrder WITH(NOLOCK) WHERE F_InfoSource =3 AND datediff(day , F_CreateTime , getdate())= 0 ";
  80. paras.TDY_OTNUM = DbHelperSQL.GetSingle(WBCount).ToString();
  81. string jt = "SELECT COUNT(1) FROM T_Call_CallRecords WITH(NOLOCK) WHERE datediff(day , BeginTime , getdate())= 0 AND CallState =1 ";
  82. var jtl = DbHelperSQL.GetSingle(jt).ToString ();
  83. string TDY_TELRATE = "0";
  84. try
  85. {
  86. if (int.Parse(paras.TDY_TELNUM) > 0)
  87. {
  88. TDY_TELRATE = string.Format("{0:f2}", float.Parse(jtl) / float.Parse(paras.TDY_TELNUM) * 100);
  89. paras.TDY_TELRATE = TDY_TELRATE;
  90. }
  91. }
  92. catch
  93. {
  94. paras.TDY_TELRATE = TDY_TELRATE;
  95. }
  96. string jsonParam = "access_token=" + token + "&paras=" + paras.ToJson();
  97. var responseString = HttpMethods.HttpPost("http://59.227.104.19:8000/share/submit_dept_crnt_status", jsonParam);
  98. }
  99. private string GetToken()
  100. {
  101. //Dictionary<string, object> values = new Dictionary<string, object>();
  102. //values.Add("client_id", "d620caf2-d00f-41a9-ae99-c6dfd435875e");
  103. //values.Add("client_secret", "4f75914e-d517-4325-ac64-c321377b12f0");
  104. //values.Add("grant_type", "client_credentials");
  105. //var jsonParam = JsonConvert.SerializeObject(values);
  106. string jsonParam = "client_id=d620caf2-d00f-41a9-ae99-c6dfd435875e&client_secret=4f75914e-d517-4325-ac64-c321377b12f0&grant_type=client_credentials";
  107. var responseString = HttpMethods.HttpPost("http://59.227.104.17/epoint-sso-web/rest/oauth2/token", jsonParam);
  108. Token jo = JsonConvert.DeserializeObject<Token>(responseString);
  109. if (jo.status.code == "1")
  110. {
  111. if (!string.IsNullOrEmpty(jo.custom.access_token))
  112. return jo.custom.access_token;
  113. else
  114. return "";
  115. }
  116. else
  117. return "";
  118. }
  119. public class Token
  120. {
  121. public List<Controls> controls { set; get; }
  122. public Custom custom { set; get; }
  123. public Status status { set; get; }
  124. }
  125. public class Controls
  126. {
  127. }
  128. public class Custom
  129. {
  130. public string access_token { set; get; }
  131. public string refresh_token { set; get; }
  132. public string jsessionid { set; get; }
  133. public string expires_in { set; get; }
  134. }
  135. public class Status
  136. {
  137. public string code { set; get; }
  138. }
  139. }
  140. }