Нет описания

SatisfactionClose.cs 7.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. using CallCenterApi.DB;
  2. using CallCenterApi.Model;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Net;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace CallCenter.QuartzService
  11. {
  12. public class SatisfactionClose : QuartzJob
  13. {
  14. public SatisfactionClose()
  15. {
  16. CronExpression = "0 0/10 * * * ?";
  17. DoWork += MyWork_DoWork;
  18. }
  19. private readonly CallCenterApi.BLL.T_Bus_WorkOrder workorder = new CallCenterApi.BLL.T_Bus_WorkOrder();
  20. private void MyWork_DoWork(object sender, EventArgs e)
  21. {
  22. //您反映的诉求已有回复,请前往http://12345rx.zwfw.anyang.gov.cn:9999/citizenNode/orderDetails.html?workorderid=XX9941050021122801070查看办结结果并进行评价,谢谢!
  23. string sql = " and F_WorkState =7 and F_IsSms = 1 and F_IsDelete = 0 and datediff(minute, F_SmsTime, GETDATE()) >= 2880 and F_SmsTime is not null " +
  24. " and F_DealTime is not null and F_PublicComment=-1 ";
  25. DataTable dt = new DataTable();
  26. int recordCount = 0;
  27. dt = CallCenterApi.BLL.PagerBLL.GetListPager(
  28. "T_Bus_WorkOrder b WITH(NOLOCK)",
  29. "F_Id",
  30. "*",
  31. sql,
  32. "ORDER BY F_Id DESC",
  33. 10000,
  34. 1,
  35. true,
  36. out recordCount);
  37. var now = DateTime.Now;
  38. //var modellist = workorder.GetModelList("F_WorkState =6 and F_IsSms =1 and F_IsDelete =0 and (datediff(hh,F_DealTime ,GETDATE() )>=15) and F_DealTime is not null");
  39. if (dt != null && dt.Rows .Count >0)
  40. {
  41. foreach (DataRow dr in dt.Rows)
  42. {
  43. CallCenterApi.Model.T_Bus_WorkOrder it = new CallCenterApi.Model.T_Bus_WorkOrder();
  44. it = workorder.GetModel(dr["F_WorkOrderId"].ToString());
  45. if (it !=null )
  46. {
  47. string Commentsql = "SELECT COUNT(1) FROM PublicComment WHERE WorkOrderId ='"+it .F_WorkOrderId +"' AND CreateTime >='"+it .F_DealTime +"'";
  48. var Comment = DbHelperSQL.GetSingle(Commentsql).ToString();
  49. if (int .Parse (Comment)>0)
  50. {
  51. continue;
  52. }
  53. else
  54. {
  55. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  56. keyValuePairs.Add("F_WorkState", 9);
  57. keyValuePairs.Add("F_IsSatisfie", 1);
  58. keyValuePairs.Add("F_IsClosed", 2);
  59. keyValuePairs.Add("F_CloseUser", "");
  60. keyValuePairs.Add("F_CloseTime", DateTime.Now);
  61. keyValuePairs.Add("F_FinalOpinion", "2天自动基本满意");
  62. keyValuePairs.Add("F_IsStandard", 1);
  63. keyValuePairs.Add("F_StandardIDS", "");
  64. keyValuePairs.Add("F_ToBereply", 0);
  65. keyValuePairs.Add("F_PublicComment", 1);
  66. keyValuePairs.Add("F_Contentment", 2);
  67. bool n= workorder.UpdateWorkOrder(it.F_Id, keyValuePairs);
  68. // workorder.Update(it);
  69. CallCenterApi.Model.T_Bus_Operation oper = new CallCenterApi.Model.T_Bus_Operation();
  70. oper.F_WorkOrderId = it.F_WorkOrderId;
  71. oper.F_State = 9;
  72. oper.F_Message = "2天未评价自动结案了工单,结果:基本满意";
  73. oper.F_CreateUser = "8000";
  74. oper.F_CreateTime = DateTime.Now;
  75. oper.F_IsDelete = 0;
  76. new CallCenterApi.BLL.T_Bus_Operation().Add(oper);
  77. string strStm_Src_Dsc = "";
  78. string strSql = string.Format(@"INSERT INTO PublicComment ( [WorkOrderId], [strStm_Src_Dsc], [strWrkOrder_Cst_Ssf_Cd], [strUdt_Psn_ID], [strSsf_Cst_Ass_CntDsc], [strRltv_InsID], [strInpt_Inst_Nm], [strHpCnt], [CreateTime])
  79. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}') ;select @@IDENTITY ", dr["F_WorkOrderId"].ToString(), strStm_Src_Dsc, "基本满意", "", "2天未评议自动评议工单", "", "", "", DateTime.Now);
  80. object objres = DbHelperSQL.GetSingle(strSql);
  81. if (n)
  82. {
  83. CallCenterApi.Model.T_Bus_VisitResult modelT_Bus_VisitResult = new CallCenterApi.Model.T_Bus_VisitResult();
  84. modelT_Bus_VisitResult.F_WorkOrderId = it.F_WorkOrderId;
  85. modelT_Bus_VisitResult.F_AssignedId = 0;
  86. modelT_Bus_VisitResult.F_VisitUser = "市民";
  87. modelT_Bus_VisitResult.F_Type = 6;
  88. modelT_Bus_VisitResult.F_IsSatisfie = 2;
  89. modelT_Bus_VisitResult.F_Result = "市民评议基本满意自动结案";
  90. modelT_Bus_VisitResult.F_Remark = "";//重办原因
  91. modelT_Bus_VisitResult.F_State = 1;
  92. modelT_Bus_VisitResult.F_IsDelete = 0;
  93. modelT_Bus_VisitResult.F_CreateUser = "市民";
  94. modelT_Bus_VisitResult.F_CreateTime = DateTime.Now;
  95. int i = new CallCenterApi.BLL.T_Bus_VisitResult().Add(modelT_Bus_VisitResult);
  96. if (i > 0)
  97. {
  98. pushcase_info(it .F_WorkOrderId, "case_finish_info");
  99. if (it.F_InfoSource == 2580)
  100. {
  101. case_info(it.F_WorkOrderId, "FinishWorkOrder");
  102. }
  103. pushcase_info(it.F_WorkOrderId, "case_visit_info");
  104. pushcase_info(it.F_WorkOrderId, "case_visit_detail_info");
  105. }
  106. }
  107. }
  108. }
  109. }
  110. }
  111. }
  112. string url = "http://119.0.11.6:8002/Affairs/";
  113. public void case_info(string workorderid, string parameter)
  114. {
  115. WebClient web = new WebClient();
  116. web.Encoding = Encoding.UTF8;
  117. string Dataurl = web.DownloadString(url + parameter + "?workorderid=" + workorderid);
  118. }
  119. string phshurl = "http://119.0.11.6:8002/Converge/";
  120. public string pushcase_info(string workorderid, string parameter)
  121. {
  122. WebClient web = new WebClient();
  123. web.Encoding = Encoding.UTF8;
  124. string Dataurl = web.DownloadString(phshurl + parameter + "?workorderid=" + workorderid);
  125. return "";
  126. }
  127. }
  128. }