Нет описания

PushWorkorder.cs 82KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654
  1. using CallCenter.Utility;
  2. using CallCenterApi.DB;
  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;
  10. using System.Threading.Tasks;
  11. namespace CallCenter.QuartzService
  12. {
  13. public class PushWorkorder : QuartzJob
  14. {
  15. public PushWorkorder()
  16. {
  17. CronExpression = "0 0 0 * * ? *";
  18. DoWork += GetLY;
  19. }
  20. public void GetLY(object sender, EventArgs e)
  21. {
  22. while (true)
  23. {
  24. if (DateTime.Now.Hour >= 0 && DateTime.Now.Hour < 7)
  25. {
  26. Thread.Sleep(6000);
  27. string t = TSWORKORDER();
  28. if (t != "推送成功" && t != "推送失败")
  29. {
  30. LogFactory.GetLogger("22222").Warn(t);
  31. break;
  32. }
  33. }
  34. else
  35. break;
  36. }
  37. }
  38. public class submit_case_info
  39. {
  40. public List<jsonList> jsonList { set; get; }
  41. }
  42. public class jsonList
  43. {
  44. /// <summary>
  45. /// "工单编号",
  46. /// </summary>
  47. public string CASE_SERIAL { set; get; }
  48. /// <summary>
  49. /// "行政区划代码",
  50. /// </summary>
  51. public string AREA_CODE { set; get; }
  52. /// <summary>
  53. /// "工单唯一标识",
  54. /// </summary>
  55. public string CASE_ID { set; get; }//
  56. /// <summary>
  57. /// 诉求人姓名
  58. /// </summary>
  59. public string APPLICANT_NAME { set; get; }
  60. /// <summary>
  61. /// 诉求人性别
  62. /// </summary>
  63. public string APPLICANT_SEX { set; get; }
  64. /// <summary>
  65. /// 诉求人年龄
  66. /// </summary>
  67. public string APPLICANT_AGE { set; get; }
  68. /// <summary>
  69. /// 诉求人联系电话
  70. /// </summary>
  71. public string APPLICANT_NUMBER { set; get; }
  72. /// <summary>
  73. /// 诉求时间
  74. /// </summary>
  75. public string APPLICANT_TIME { set; get; }
  76. /// <summary>
  77. /// 话务员姓名
  78. /// </summary>
  79.             public string HWY_NAME { set; get; }
  80. /// <summary>
  81. /// 话务员工号
  82. /// </summary>
  83. public string HWY_LOGINID { set; get; }
  84. /// <summary>
  85. /// 登记时间
  86. /// </summary>
  87.             public string CASE_TIME { set; get; }
  88. /// <summary>
  89. /// 服务工单标题
  90. /// </summary>
  91.             public string CASE_TITLE { set; get; }
  92. /// <summary>
  93. /// 服务工单内容
  94. /// </summary>
  95.             public string CASE_CONTENT { set; get; }
  96. /// <summary>
  97. /// 诉求渠道
  98. /// </summary>
  99.             public string CASE_SOURCE { set; get; }
  100. /// <summary>
  101. /// 诉求类型
  102. /// </summary>
  103.             public string CASE_TYPE { set; get; }
  104. /// <summary>
  105. /// 诉求归口
  106. /// </summary>
  107.             public string CASE_ACCORD { set; get; }
  108. /// <summary>
  109. /// 诉求人信息是否公开
  110. /// </summary>
  111. public string CASE_ISPUBLIC { set; get; }
  112. /// <summary>
  113. /// 是否回访
  114. /// </summary>
  115. public string CASE_ISVISIT { set; get; }
  116. /// <summary>
  117. /// 紧急程度
  118. /// </summary>
  119. public string CASE_ISURGENT { set; get; }
  120. /// <summary>
  121. /// 经纬度
  122. /// </summary>
  123. public string CASE_LNGLAT { set; get; }
  124. /// <summary>
  125. /// 诉求情感
  126. /// </summary>
  127. public string CASE_EMOTION { set; get; }
  128. /// <summary>
  129. /// 诉求详细地址
  130. /// </summary>
  131. public string CASE_ADDRESS { set; get; }//""
  132. }
  133. private int id = 0;
  134. public string TSWORKORDER()
  135. {
  136. try
  137. {
  138. if (DateTime.Now.Hour >= 0 && DateTime.Now.Hour < 7)
  139. {
  140. string token = GetToken();
  141. if (string.IsNullOrEmpty(token))
  142. return "token 错误";
  143. int count = 0;
  144. DataTable Push = new DataTable();
  145. string PushWorkorder = "SELECT top 1 * FROM T_Bus_PushWorkorder";
  146. Push = DbHelperSQL.Query(PushWorkorder).Tables[0];
  147. if (Push != null)
  148. {
  149. id = int.Parse(Push.Rows[0]["id"].ToString());
  150. count = int.Parse(Push.Rows[0]["count"].ToString());
  151. }
  152. var modellist = new CallCenterApi.BLL.T_Bus_WorkOrder().GetModelList(5, "F_CreateTime>='2021-02-18 07:37:00'and F_Id>" + id + " and F_IsDelete=0 and F_CreateTime <'2021-12-13 10:06:53.000' AND F_Email ='' " +
  153. "and F_CreateUser !='人民网' ", " F_CreateTime ASC");
  154. if (modellist != null && modellist.Count > 0)
  155. {
  156. submit_case_info paras = new submit_case_info();
  157. paras.jsonList = new List<jsonList>();
  158. foreach (var model in modellist)
  159. {
  160. jsonList jsonList = new jsonList();
  161. string newwokrkorder = "";
  162. if (model.F_WorkOrderId.Contains("XX"))
  163. newwokrkorder = "YJ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  164. else if (model.F_WorkOrderId.Contains("YS"))
  165. newwokrkorder = "DH" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  166. else if (model.F_WorkOrderId.Contains("LX"))
  167. newwokrkorder = "AP" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  168. else if (model.F_WorkOrderId.Contains("RM"))
  169. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  170. else if (model.F_WorkOrderId.Contains("ZG"))
  171. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  172. else if (model.F_WorkOrderId.Contains("ZW"))
  173. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  174. else
  175. newwokrkorder = model.F_WorkOrderId;
  176. jsonList.CASE_SERIAL = newwokrkorder;
  177. jsonList.AREA_CODE = "410500";
  178. jsonList.CASE_ID = model.F_Id.ToString();
  179. if (string.IsNullOrEmpty(model.F_CusName))
  180. jsonList.APPLICANT_NAME = "匿名";
  181. else
  182. jsonList.APPLICANT_NAME = model.F_CusName;
  183. if (model.F_CusSex == "0")
  184. jsonList.APPLICANT_SEX = "1";
  185. else if (model.F_CusSex == "1")
  186. jsonList.APPLICANT_SEX = "2";
  187. else
  188. jsonList.APPLICANT_SEX = "3";
  189. jsonList.APPLICANT_AGE = "8";//没有
  190. jsonList.APPLICANT_NUMBER = model.F_CusPhone;
  191. jsonList.APPLICANT_TIME = model.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");//没有
  192. if (DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')") != null)
  193. jsonList.HWY_NAME = DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')").ToString();
  194. else
  195. jsonList.HWY_NAME = model.F_CreateUser;
  196. jsonList.HWY_LOGINID = model.F_CreateUser;
  197. jsonList.CASE_TIME = model.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  198. if (!string.IsNullOrEmpty(model.F_ComTitle))
  199. jsonList.CASE_TITLE = model.F_ComTitle;
  200. else
  201. jsonList.CASE_TITLE = "无";
  202. jsonList.CASE_CONTENT = model.F_ComContent;
  203. if (model.F_InfoSource == 1)
  204. jsonList.CASE_SOURCE = "DH";
  205. else if (model.F_InfoSource == 2527)
  206. jsonList.CASE_SOURCE = "AP";
  207. else if (model.F_InfoSource == 5)
  208. jsonList.CASE_SOURCE = "WX";
  209. else if (model.F_InfoSource == 3)
  210. jsonList.CASE_SOURCE = "WB";
  211. else
  212. jsonList.CASE_SOURCE = "DH";//缺失
  213. if (model.F_InfoType == 9)
  214. jsonList.CASE_TYPE = "10";
  215. else if (model.F_InfoType == 12)
  216. jsonList.CASE_TYPE = "15";
  217. else if (model.F_InfoType == 11)
  218. jsonList.CASE_TYPE = "20";
  219. else if (model.F_InfoType == 89)
  220. jsonList.CASE_TYPE = "25";
  221. else if (model.F_InfoType == 10)
  222. jsonList.CASE_TYPE = "30";
  223. else if (model.F_InfoType == 13)
  224. jsonList.CASE_TYPE = "35";
  225. else
  226. jsonList.CASE_TYPE = "40";
  227. if (DbHelperSQL.GetSingle(" select dbo.GetDicRemark('" + model.F_Key + "')") != null)
  228. jsonList.CASE_ACCORD = DbHelperSQL.GetSingle(" select dbo.GetDicRemark('" + model.F_Key + "')").ToString();
  229. else
  230. jsonList.CASE_ACCORD = "17";
  231. jsonList.CASE_ISPUBLIC = model.F_IsOpen.ToString();
  232. if (model.F_IsResult == 0)
  233. jsonList.CASE_ISPUBLIC = "1";
  234. else
  235. jsonList.CASE_ISPUBLIC = "0";
  236. if (model.F_Level == 2)
  237. {
  238. jsonList.CASE_ISURGENT = "20";
  239. }
  240. else
  241. {
  242. jsonList.CASE_ISURGENT = "30";
  243. }
  244. if (model.F_VisitType == 1)
  245. jsonList.CASE_ISVISIT = "0";
  246. else
  247. jsonList.CASE_ISVISIT = "1";
  248. jsonList.CASE_LNGLAT = model.F_Latitude + "," + model.F_Longitude;
  249. jsonList.CASE_EMOTION = "70";
  250. jsonList.CASE_ADDRESS = model.F_SourceAddress;
  251. try
  252. {
  253. if (!string.IsNullOrEmpty(model.F_File))
  254. {
  255. fjcl(token, newwokrkorder, model.F_File, model.F_SourceArea.ToString(), model.F_Id, "10");
  256. }
  257. if (model.F_CallRecordId > 0)
  258. {
  259. dianhua(token, model.F_WorkOrderId);
  260. }
  261. }
  262. catch
  263. {
  264. }
  265. paras.jsonList.Add(jsonList);
  266. }
  267. if (paras.jsonList != null && paras.jsonList.Count > 0)
  268. {
  269. string jsonParam = "access_token=" + token + "&paras=" + paras.ToJson();
  270. var responseString = HttpMethods.HttpPost("http://59.227.104.19:8000/share/submit_case_info", jsonParam
  271. );
  272. try
  273. {
  274. Push jo = responseString.ToObject<Push>();
  275. if (jo.code == "1")
  276. {
  277. id = modellist[modellist.Count - 1].F_Id;
  278. count += modellist.Count;
  279. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  280. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", modellist.FirstOrDefault().F_Id, "", DateTime.Now, jo.code, jo.message, "批量推送工单", "", "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  281. object objres = DbHelperSQL.GetSingle(strSql);
  282. string ts = "update T_Bus_PushWorkorder set id='" + id + "' ,count='" + count + "'";
  283. var rh = DbHelperSQL.GetSingle(ts);
  284. try
  285. {
  286. yiji(token, modellist);
  287. erji(token, modellist);
  288. pingjia(token, modellist);
  289. bajie(token, modellist);
  290. liucheng(token, modellist);
  291. huifangjilu(token, modellist);
  292. }
  293. catch
  294. {
  295. return "推送失败";
  296. }
  297. return "推送成功";
  298. }
  299. else
  300. {
  301. id = modellist[modellist.Count - 1].F_Id;
  302. count += modellist.Count;
  303. string error = "";
  304. if (jo.body.errorObjs != null && jo.body.errorObjs.Length > 0)
  305. {
  306. foreach (var it in jo.body.errorObjs)
  307. {
  308. if (!string.IsNullOrEmpty(it.resturl))
  309. {
  310. error += " 推送接口名称:" + it.resturl;
  311. }
  312. if (!string.IsNullOrEmpty(it.caseserial))
  313. {
  314. error += " 推送工单号:" + it.caseserial;
  315. }
  316. if (!string.IsNullOrEmpty(it.resturl))
  317. {
  318. error += " 推送标识:" + it.errorid;
  319. }
  320. if (!string.IsNullOrEmpty(it.resturl))
  321. {
  322. error += " 推送失败原因:" + it.errormsg;
  323. }
  324. }
  325. }
  326. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  327. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送工单失败", error, "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  328. object objres = DbHelperSQL.GetSingle(strSql);
  329. string ts = "update T_Bus_PushWorkorder set id='" + id + "' ,count='" + count + "'";
  330. var rh = DbHelperSQL.GetSingle(ts);
  331. try
  332. {
  333. yiji(token, modellist);
  334. erji(token, modellist);
  335. pingjia(token, modellist);
  336. bajie(token, modellist);
  337. liucheng(token, modellist);
  338. huifangjilu(token, modellist);
  339. }
  340. catch
  341. {
  342. return "推送失败";
  343. }
  344. return "推送失败";
  345. }
  346. }
  347. catch
  348. {
  349. id = modellist[modellist.Count - 1].F_Id;
  350. // count += modellist.Count;
  351. string ts = "update T_Bus_PushWorkorder set id='" + id + "'";
  352. var rh = DbHelperSQL.GetSingle(ts);
  353. return "推送失败";
  354. }
  355. }
  356. else
  357. {
  358. return "推送失败空";
  359. }
  360. }
  361. else
  362. {
  363. return "推送完结";
  364. }
  365. }
  366. else
  367. {
  368. return "等待时间";
  369. }
  370. }
  371. catch (Exception e)
  372. {
  373. return e.ToString();
  374. }
  375. }
  376. public void bajie(string token, List<CallCenterApi.Model.T_Bus_WorkOrder> modellist)
  377. {
  378. submit_case_finish_info paras = new submit_case_finish_info();
  379. paras.jsonList = new List<finish_info>();
  380. foreach (var model in modellist)
  381. {
  382. if (model.F_WorkState == 9 && model.F_DealTime != null)
  383. {
  384. finish_info jsonList = new finish_info();
  385. string newwokrkorder = model.F_WorkOrderId;
  386. if (model.F_WorkOrderId.Contains("XX"))
  387. newwokrkorder = "YJ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  388. else if (model.F_WorkOrderId.Contains("YS"))
  389. newwokrkorder = "DH" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  390. else if (model.F_WorkOrderId.Contains("LX"))
  391. newwokrkorder = "AP" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  392. else if (model.F_WorkOrderId.Contains("RM"))
  393. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  394. else if (model.F_WorkOrderId.Contains("ZG"))
  395. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  396. else if (model.F_WorkOrderId.Contains("ZW"))
  397. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  398. else
  399. newwokrkorder = model.F_WorkOrderId;
  400. jsonList.CASE_SERIAL = newwokrkorder;
  401. jsonList.AREA_CODE = "410500";
  402. if (model.F_IsResult == null || model.F_IsResult == 1)
  403. {
  404. jsonList.FINISH_TYPE = "10";
  405. jsonList.DEPT_NAME = "热线中心";
  406. if (model.F_CloseTime != null)
  407. jsonList.END_TIME = model.F_CloseTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  408. else if (model.F_DealTime != null)
  409. jsonList.END_TIME = model.F_DealTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  410. else
  411. jsonList.END_TIME = model.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  412. jsonList.DEPT_CODE = "4105000261";
  413. }
  414. else
  415. {
  416. jsonList.FINISH_TYPE = "20";
  417. if (model.F_MainDeptId != null && model.F_MainDeptId > 0 && model.F_DealTime != null)
  418. {
  419. jsonList.END_TIME = model.F_DealTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  420. if (DbHelperSQL.GetSingle(" select dbo.GetDeptNames('" + model.F_MainDeptId + "')") != null)
  421. jsonList.DEPT_NAME = DbHelperSQL.GetSingle(" select dbo.GetDeptNames('" + model.F_MainDeptId + "')").ToString();
  422. if (DbHelperSQL.GetSingle(" select F_DeptNameSpell from T_Sys_Department where F_DeptId= '" + model.F_MainDeptId + "'") != null)
  423. jsonList.DEPT_CODE = DbHelperSQL.GetSingle(" select F_DeptNameSpell from T_Sys_Department where F_DeptId= '" + model.F_MainDeptId + "'").ToString();
  424. }
  425. else
  426. {
  427. if (model.F_CloseTime != null)
  428. jsonList.END_TIME = model.F_CloseTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  429. else if (model.F_DealTime != null)
  430. jsonList.END_TIME = model.F_DealTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  431. else
  432. jsonList.END_TIME = model.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  433. jsonList.DEPT_NAME = "热线中心";
  434. jsonList.DEPT_CODE = "4105000261";
  435. }
  436. }
  437. if (model.F_CloseTime != null)
  438. jsonList.FINISH_TIME = model.F_CloseTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  439. else if (model.F_DealTime != null)
  440. jsonList.FINISH_TIME = model.F_DealTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  441. else
  442. jsonList.FINISH_TIME = model.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  443. if (DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_DealUser + "')") != null)
  444. jsonList.FINISH_NAME = DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_DealUser + "')").ToString();
  445. else
  446. jsonList.FINISH_NAME = model.F_DealUser;
  447. if (string.IsNullOrEmpty(jsonList.FINISH_NAME))
  448. jsonList.FINISH_NAME = "热线中心";
  449. jsonList.FINISH_CONTENT = model.F_Result;
  450. jsonList.END_LENGTH = int.Parse(DbHelperSQL.GetSingle(" SELECT DATEDIFF(SECOND,'" + model.F_CreateTime + "', '" + model.F_DealTime + "')").ToString());
  451. }
  452. }
  453. if (paras.jsonList != null && paras.jsonList.Count > 0)
  454. {
  455. string jsonParam = "access_token=" + token + "&paras=" + paras.ToJson();
  456. var responseString = HttpMethods.HttpPost("http://59.227.104.19:8000/share/submit_case_finish_info", jsonParam);
  457. Push jo = responseString.ToObject<Push>();
  458. if (jo.code == "1")
  459. {
  460. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  461. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送服务工单办结", "", "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  462. object objres = DbHelperSQL.GetSingle(strSql);
  463. }
  464. else
  465. {
  466. string error = "";
  467. if (jo.body.errorObjs != null && jo.body.errorObjs.Length > 0)
  468. {
  469. foreach (var it in jo.body.errorObjs)
  470. {
  471. if (!string.IsNullOrEmpty(it.resturl))
  472. {
  473. error += " 推送接口名称:" + it.resturl;
  474. }
  475. if (!string.IsNullOrEmpty(it.caseserial))
  476. {
  477. error += " 推送工单号:" + it.caseserial;
  478. }
  479. if (!string.IsNullOrEmpty(it.resturl))
  480. {
  481. error += " 推送标识:" + it.errorid;
  482. }
  483. if (!string.IsNullOrEmpty(it.resturl))
  484. {
  485. error += " 推送失败原因:" + it.errormsg;
  486. }
  487. }
  488. }
  489. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  490. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送服务工单办结", error, "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  491. object objres = DbHelperSQL.GetSingle(strSql);
  492. }
  493. }
  494. }
  495. public void yiji(string token, List<CallCenterApi.Model.T_Bus_WorkOrder> modellist)
  496. {
  497. submit_task_handle_info paras = new submit_task_handle_info();
  498. paras.jsonList = new List<handle_info>();
  499. foreach (var models in modellist)
  500. {
  501. if (models.F_MainDeptId != null && models.F_MainDeptId > 0)
  502. {
  503. var model = new CallCenterApi.BLL.T_Bus_Feedback().GetNewModelByWorkOrderID(models.F_WorkOrderId);
  504. var info = new CallCenterApi.BLL.T_Bus_AssignedInfo().GetNewModelByWorkOrderID(models.F_WorkOrderId);
  505. if (model != null && info != null)
  506. {
  507. handle_info jsonList = new handle_info();
  508. string newwokrkorder = models.F_WorkOrderId;
  509. if (model.F_WorkOrderId.Contains("XX"))
  510. newwokrkorder = "YJ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  511. else if (model.F_WorkOrderId.Contains("YS"))
  512. newwokrkorder = "DH" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  513. else if (model.F_WorkOrderId.Contains("LX"))
  514. newwokrkorder = "AP" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  515. else if (model.F_WorkOrderId.Contains("RM"))
  516. newwokrkorder = "WZ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  517. else if (model.F_WorkOrderId.Contains("ZG"))
  518. newwokrkorder = "WZ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  519. else if (model.F_WorkOrderId.Contains("ZW"))
  520. newwokrkorder = "WZ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  521. else
  522. newwokrkorder = models.F_WorkOrderId;
  523. jsonList.CASE_SERIAL = newwokrkorder;
  524. jsonList.AREA_CODE = "410500";
  525. jsonList.TASK_ID = model.F_Id.ToString();
  526. jsonList.TASK_PARENTID = "TOP";
  527. if (DbHelperSQL.GetSingle(" select dbo.GetDeptNames('" + model.F_CreateDeptId + "')") != null)
  528. jsonList.TASK_OUNAME = DbHelperSQL.GetSingle(" select dbo.GetDeptNames('" + model.F_CreateDeptId + "')").ToString();
  529. else
  530. jsonList.TASK_OUNAME = "";
  531. if (DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')") != null)
  532. jsonList.TASK_USERNAME = DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')").ToString();
  533. else
  534. jsonList.TASK_USERNAME = model.F_CreateUser;
  535. if (string.IsNullOrEmpty(model.F_Result))
  536. jsonList.TASK_CONTENT = "无";
  537. else
  538. jsonList.TASK_CONTENT = model.F_Result;
  539. jsonList.TASK_ASSIGNTIME = info.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  540. jsonList.TASK_SIGNTIME = info.F_SureTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  541. jsonList.TASK_FINISHTIME = model.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  542. jsonList.TASK_FINISHTIME_BF = info.F_LimitTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  543. if (info.F_State == 2)
  544. {
  545. jsonList.TASK_ISBACK = "1";
  546. }
  547. else
  548. {
  549. jsonList.TASK_ISBACK = "0";
  550. }
  551. if (info.F_IsNext > 0)
  552. {
  553. jsonList.TASK_ISALLOT = "1";
  554. }
  555. else
  556. {
  557. jsonList.TASK_ISALLOT = "0";
  558. }
  559. if (!string.IsNullOrEmpty(model.F_File))
  560. {
  561. fjcl(token, newwokrkorder, model.F_File, models.F_SourceArea.ToString(), model.F_Id, "20");
  562. }
  563. jsonList.TASK_HANDLE_LENGTH = int.Parse(DbHelperSQL.GetSingle(" SELECT DATEDIFF(SECOND,'" + jsonList.TASK_ASSIGNTIME + "', '" + jsonList.TASK_FINISHTIME + "')").ToString());
  564. paras.jsonList.Add(jsonList);
  565. }
  566. }
  567. }
  568. if (paras.jsonList != null && paras.jsonList.Count > 0)
  569. {
  570. string jsonParam = "access_token=" + token + "&paras=" + paras.ToJson();
  571. var responseString = HttpMethods.HttpPost("http://59.227.104.19:8000/share/submit_task_handle_info", jsonParam);
  572. Push jo = responseString.ToObject<Push>();
  573. if (jo.code == "1")
  574. {
  575. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  576. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送一级部门处办记录", "", "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  577. object objres = DbHelperSQL.GetSingle(strSql);
  578. }
  579. else
  580. {
  581. string error = "";
  582. if (jo.body.errorObjs != null && jo.body.errorObjs.Length > 0)
  583. {
  584. foreach (var it in jo.body.errorObjs)
  585. {
  586. if (!string.IsNullOrEmpty(it.resturl))
  587. {
  588. error += " 推送接口名称:" + it.resturl;
  589. }
  590. if (!string.IsNullOrEmpty(it.caseserial))
  591. {
  592. error += " 推送工单号:" + it.caseserial;
  593. }
  594. if (!string.IsNullOrEmpty(it.resturl))
  595. {
  596. error += " 推送标识:" + it.errorid;
  597. }
  598. if (!string.IsNullOrEmpty(it.resturl))
  599. {
  600. error += " 推送失败原因:" + it.errormsg;
  601. }
  602. }
  603. }
  604. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  605. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送一级部门处办记录", error, "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  606. object objres = DbHelperSQL.GetSingle(strSql);
  607. }
  608. }
  609. }
  610. public void erji(string token, List<CallCenterApi.Model.T_Bus_WorkOrder> modellist)
  611. {
  612. submit_task_handle_info paras = new submit_task_handle_info();
  613. paras.jsonList = new List<handle_info>();
  614. foreach (var models in modellist)
  615. {
  616. if (!string.IsNullOrEmpty(models.F_MainDeptID3))
  617. {
  618. var info1 = new CallCenterApi.BLL.T_Bus_AssignedInfo().GetNewModelByWorkOrderID(models.F_WorkOrderId);
  619. var model = new CallCenterApi.BLL.T_Bus_Feedback_Next().GetNewModelByWorkOrderID(models.F_WorkOrderId);
  620. var info = new CallCenterApi.BLL.T_Bus_AssignedInfo_Next().GetNewModelByWorkOrderID(models.F_WorkOrderId);
  621. if (model != null && info != null && info1 != null)
  622. {
  623. handle_info jsonList = new handle_info();
  624. string newwokrkorder = models.F_WorkOrderId;
  625. if (model.F_WorkOrderId.Contains("XX"))
  626. newwokrkorder = "YJ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  627. else if (model.F_WorkOrderId.Contains("YS"))
  628. newwokrkorder = "DH" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  629. else if (model.F_WorkOrderId.Contains("LX"))
  630. newwokrkorder = "AP" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  631. else if (model.F_WorkOrderId.Contains("RM"))
  632. newwokrkorder = "WZ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  633. else if (model.F_WorkOrderId.Contains("ZG"))
  634. newwokrkorder = "WZ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  635. else if (model.F_WorkOrderId.Contains("ZW"))
  636. newwokrkorder = "WZ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  637. else
  638. newwokrkorder = models.F_WorkOrderId;
  639. jsonList.CASE_SERIAL = newwokrkorder;
  640. jsonList.AREA_CODE = "410500";
  641. jsonList.TASK_ID = model.F_Id.ToString();
  642. jsonList.TASK_PARENTID = info1.F_Id.ToString();
  643. if (DbHelperSQL.GetSingle(" select dbo.GetDeptNames('" + model.F_CreateDeptId + "')") != null)
  644. jsonList.TASK_OUNAME = DbHelperSQL.GetSingle(" select dbo.GetDeptNames('" + model.F_CreateDeptId + "')").ToString();
  645. if (DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')") != null)
  646. jsonList.TASK_USERNAME = DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')").ToString();
  647. else
  648. jsonList.TASK_USERNAME = model.F_CreateUser;
  649. jsonList.TASK_CONTENT = model.F_Result;
  650. jsonList.TASK_ASSIGNTIME = info.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  651. jsonList.TASK_SIGNTIME = info.F_SureTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  652. jsonList.TASK_FINISHTIME = model.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  653. jsonList.TASK_FINISHTIME_BF = info.F_LimitTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  654. if (info.F_State == 2)
  655. {
  656. jsonList.TASK_ISBACK = "1";
  657. }
  658. else
  659. {
  660. jsonList.TASK_ISBACK = "0";
  661. }
  662. jsonList.TASK_ISALLOT = "1";
  663. jsonList.TASK_HANDLE_LENGTH = int.Parse(DbHelperSQL.GetSingle(" SELECT DATEDIFF(SECOND,'" + jsonList.TASK_ASSIGNTIME + "', '" + jsonList.TASK_FINISHTIME + "')").ToString());
  664. paras.jsonList.Add(jsonList);
  665. }
  666. }
  667. }
  668. if (paras.jsonList != null && paras.jsonList.Count > 0)
  669. {
  670. string jsonParam = "access_token=" + token + "&paras=" + paras.ToJson();
  671. var responseString = HttpMethods.HttpPost("http://59.227.104.19:8000/share/submit_task_handle_info", jsonParam);
  672. Push jo = responseString.ToObject<Push>();
  673. if (jo.code == "1")
  674. {
  675. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  676. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送二级部门处办记录", "", "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  677. object objres = DbHelperSQL.GetSingle(strSql);
  678. }
  679. else
  680. {
  681. string error = "";
  682. if (jo.body.errorObjs != null && jo.body.errorObjs.Length > 0)
  683. {
  684. foreach (var it in jo.body.errorObjs)
  685. {
  686. if (!string.IsNullOrEmpty(it.resturl))
  687. {
  688. error += " 推送接口名称:" + it.resturl;
  689. }
  690. if (!string.IsNullOrEmpty(it.caseserial))
  691. {
  692. error += " 推送工单号:" + it.caseserial;
  693. }
  694. if (!string.IsNullOrEmpty(it.resturl))
  695. {
  696. error += " 推送标识:" + it.errorid;
  697. }
  698. if (!string.IsNullOrEmpty(it.resturl))
  699. {
  700. error += " 推送失败原因:" + it.errormsg;
  701. }
  702. }
  703. }
  704. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  705. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送二级部门处办记录", error, "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  706. object objres = DbHelperSQL.GetSingle(strSql);
  707. }
  708. }
  709. }
  710. public void dianhua(string token, string WorkOrderId)
  711. {
  712. var workorder = workorderBLL.GetModel(WorkOrderId);
  713. var model = new CallCenterApi.BLL.T_Call_CallRecords().GetModelByCallId(workorder.F_CallId);
  714. if (model != null)
  715. {
  716. submit_case_record paras = new submit_case_record();
  717. paras.jsonList = new List<record>();
  718. record jsonList = new record();
  719. string newwokrkorder = WorkOrderId;
  720. if (WorkOrderId.Contains("XX"))
  721. newwokrkorder = "YJ" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  722. else if (WorkOrderId.Contains("YS"))
  723. newwokrkorder = "DH" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  724. else if (WorkOrderId.Contains("LX"))
  725. newwokrkorder = "AP" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  726. else if (WorkOrderId.Contains("RM"))
  727. newwokrkorder = "WZ" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  728. else if (WorkOrderId.Contains("ZG"))
  729. newwokrkorder = "WZ" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  730. else if (WorkOrderId.Contains("ZW"))
  731. newwokrkorder = "WZ" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  732. else
  733. newwokrkorder = WorkOrderId;
  734. jsonList.CASE_SERIAL = newwokrkorder;
  735. jsonList.AREA_CODE = "410500";
  736. jsonList.RECORD_ID = model.CallRecordsId.ToString();
  737. jsonList.RECORD_PHONE = model.CallNumber;
  738. if (model.TalkEndTime != null)
  739. jsonList.RECORD_STATUS = "30";
  740. else
  741. jsonList.RECORD_STATUS = "10";
  742. if (model.CallType == 0)
  743. jsonList.RECORD_TYPE = "10";
  744. else
  745. jsonList.RECORD_TYPE = "30";
  746. if (model.TalkStartTime != null)
  747. jsonList.RECORD_STARTTIME = model.TalkStartTime
  748. .Value.ToString("yyyy-MM-dd HH:mm:ss");
  749. if (model.TalkEndTime != null)
  750. jsonList.RECORD_ENDTIME = model.TalkEndTime
  751. .Value.ToString("yyyy-MM-dd HH:mm:ss");
  752. else
  753. jsonList.RECORD_ENDTIME = "";
  754. jsonList.RECORD_LENGTH = model.TalkLongTime;
  755. jsonList.RECORD_LOGINID = model.UserCode;
  756. // var config = new CallCenterApi.BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='PlayPath' ").FirstOrDefault();
  757. if (model.FilePath != null)
  758. {
  759. var ym = "http://125.45.12.160:8890/";
  760. if (ym.Substring(ym.Length - 1) == "/")
  761. {
  762. ym = ym.Substring(0, ym.Length - 1);
  763. }
  764. string lujing = model.FilePath.Substring(model.FilePath.IndexOf(':') + 1).Replace('\\', '/');
  765. string wlpath = ym + lujing;
  766. jsonList.RECORD_URL = wlpath;
  767. }
  768. paras.jsonList.Add(jsonList);
  769. string jsonParam = "access_token=" + token + "&paras=" + paras.ToJson();
  770. var responseString = HttpMethods.HttpPost("http://59.227.104.19:8000/share/submit_case_record", jsonParam);
  771. Push jo = responseString.ToObject<Push>();
  772. if (jo.code == "1")
  773. {
  774. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  775. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送电话服务记录", "", "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  776. object objres = DbHelperSQL.GetSingle(strSql);
  777. }
  778. else
  779. {
  780. string error = "";
  781. if (jo.body.errorObjs != null && jo.body.errorObjs.Length > 0)
  782. {
  783. foreach (var it in jo.body.errorObjs)
  784. {
  785. if (!string.IsNullOrEmpty(it.resturl))
  786. {
  787. error += " 推送接口名称:" + it.resturl;
  788. }
  789. if (!string.IsNullOrEmpty(it.caseserial))
  790. {
  791. error += " 推送工单号:" + it.caseserial;
  792. }
  793. if (!string.IsNullOrEmpty(it.resturl))
  794. {
  795. error += " 推送标识:" + it.errorid;
  796. }
  797. if (!string.IsNullOrEmpty(it.resturl))
  798. {
  799. error += " 推送失败原因:" + it.errormsg;
  800. }
  801. }
  802. }
  803. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  804. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送电话服务记录", error, "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  805. object objres = DbHelperSQL.GetSingle(strSql);
  806. }
  807. }
  808. }
  809. public void pingjia(string token, List<CallCenterApi.Model.T_Bus_WorkOrder> modellist)
  810. {
  811. submit_case_visit_info paras = new submit_case_visit_info();
  812. paras.jsonList = new List<visit_info>();
  813. foreach (var models in modellist)
  814. {
  815. var model = new CallCenterApi.BLL.T_Bus_VisitResult().GetNewModelByWorkOrderID(models.F_WorkOrderId);
  816. if (model != null)
  817. {
  818. visit_info jsonList = new visit_info();
  819. string newwokrkorder = models.F_WorkOrderId;
  820. if (model.F_WorkOrderId.Contains("XX"))
  821. newwokrkorder = "YJ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  822. else if (model.F_WorkOrderId.Contains("YS"))
  823. newwokrkorder = "DH" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  824. else if (model.F_WorkOrderId.Contains("LX"))
  825. newwokrkorder = "AP" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  826. else if (model.F_WorkOrderId.Contains("RM"))
  827. newwokrkorder = "WZ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  828. else if (model.F_WorkOrderId.Contains("ZG"))
  829. newwokrkorder = "WZ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  830. else if (model.F_WorkOrderId.Contains("ZW"))
  831. newwokrkorder = "WZ" + models.F_WorkOrderId.Substring(2, models.F_WorkOrderId.Length - 2);
  832. else
  833. newwokrkorder = models.F_WorkOrderId;
  834. jsonList.CASE_SERIAL = newwokrkorder;
  835. jsonList.AREA_CODE = "410500";
  836. jsonList.VISIT_TYPE = "DH";
  837. jsonList.VISIT_TIME = model.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  838. if (DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')") != null)
  839. jsonList.VISIT_NAME = DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')").ToString();
  840. else
  841. jsonList.VISIT_NAME = model.F_CreateUser;
  842. if (string.IsNullOrEmpty(model.F_Result))
  843. jsonList.VISIT_CONTENT = "无";
  844. else
  845. jsonList.VISIT_CONTENT = model.F_Result;
  846. if (model.F_IsSatisfie == 0)
  847. jsonList.VISIT_SATISFY = "2";
  848. else
  849. jsonList.VISIT_SATISFY = "4";
  850. jsonList.VISIT_NUMBER = int.Parse(DbHelperSQL.GetSingle(" select count(1) from T_Bus_VisitResult where F_WorkOrderId ='" + model.F_WorkOrderId + "'").ToString());
  851. paras.jsonList.Add(jsonList);
  852. }
  853. }
  854. if (paras.jsonList != null && paras.jsonList.Count > 0)
  855. {
  856. string jsonParam = "access_token=" + token + "&paras=" + paras.ToJson();
  857. var responseString = HttpMethods.HttpPost("http://59.227.104.19:8000/share/submit_case_visit_info", jsonParam);
  858. Push jo = responseString.ToObject<Push>();
  859. if (jo.code == "1")
  860. {
  861. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  862. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送工单最终评价", "", "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  863. object objres = DbHelperSQL.GetSingle(strSql);
  864. }
  865. else
  866. {
  867. string error = "";
  868. if (jo.body.errorObjs != null && jo.body.errorObjs.Length > 0)
  869. {
  870. foreach (var it in jo.body.errorObjs)
  871. {
  872. if (!string.IsNullOrEmpty(it.resturl))
  873. {
  874. error += " 推送接口名称:" + it.resturl;
  875. }
  876. if (!string.IsNullOrEmpty(it.caseserial))
  877. {
  878. error += " 推送工单号:" + it.caseserial;
  879. }
  880. if (!string.IsNullOrEmpty(it.resturl))
  881. {
  882. error += " 推送标识:" + it.errorid;
  883. }
  884. if (!string.IsNullOrEmpty(it.resturl))
  885. {
  886. error += " 推送失败原因:" + it.errormsg;
  887. }
  888. }
  889. }
  890. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  891. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送工单最终评价", error, "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  892. object objres = DbHelperSQL.GetSingle(strSql);
  893. }
  894. }
  895. }
  896. public void liucheng(string token, List<CallCenterApi.Model.T_Bus_WorkOrder> modellist)
  897. {
  898. submit_case_process_info paras = new submit_case_process_info();
  899. paras.jsonList = new List<process_info>();
  900. foreach (var models in modellist)
  901. {
  902. var process = new CallCenterApi.BLL.T_Bus_Operation().GetModelList("F_WorkOrderId='" + models.F_WorkOrderId + "'");
  903. if (process != null)
  904. {
  905. foreach (var model in process)
  906. {
  907. if (model.F_Message.Contains("查收了") || model.F_Message.Contains("交办了")
  908. || model.F_Message.Contains("回访了"))
  909. {
  910. process_info jsonList = new process_info();
  911. string newwokrkorder = model.F_WorkOrderId;
  912. if (models.F_WorkOrderId.Contains("XX"))
  913. newwokrkorder = "YJ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  914. else if (model.F_WorkOrderId.Contains("YS"))
  915. newwokrkorder = "DH" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  916. else if (model.F_WorkOrderId.Contains("LX"))
  917. newwokrkorder = "AP" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  918. else if (model.F_WorkOrderId.Contains("RM"))
  919. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  920. else if (model.F_WorkOrderId.Contains("ZG"))
  921. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  922. else if (model.F_WorkOrderId.Contains("ZW"))
  923. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  924. else
  925. newwokrkorder = model.F_WorkOrderId;
  926. jsonList.CASE_SERIAL = newwokrkorder;
  927. jsonList.AREA_CODE = "410500";
  928. jsonList.PROCESS_ID = model.F_Id.ToString();
  929. jsonList.DEPT_NAME = model.F_Message.Split('(')[0];
  930. if (model.F_Message.Contains("查收了"))
  931. jsonList.TACHE_NAME = "查收工单";
  932. else if (model.F_Message.Contains("交办了"))
  933. jsonList.TACHE_NAME = "交办工单";
  934. else if (model.F_Message.Contains("回访了"))
  935. jsonList.TACHE_NAME = "审核工单";
  936. jsonList.PROCESS_TIME = model.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  937. if (DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')") != null)
  938. jsonList.PROCESS_NAME = DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')").ToString();
  939. else
  940. jsonList.PROCESS_NAME = model.F_CreateUser;
  941. jsonList.PROCESS_NOTE = model.F_Message;
  942. paras.jsonList.Add(jsonList);
  943. }
  944. }
  945. }
  946. }
  947. if (paras.jsonList != null && paras.jsonList.Count > 0)
  948. {
  949. string jsonParam = "access_token=" + token + "&paras=" + paras.ToJson();
  950. var responseString = HttpMethods.HttpPost("http://59.227.104.19:8000/share/submit_case_process_info", jsonParam);
  951. Push jo = responseString.ToObject<Push>();
  952. if (jo.code == "1")
  953. {
  954. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  955. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送工单处理流程", "", "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  956. object objres = DbHelperSQL.GetSingle(strSql);
  957. }
  958. else
  959. {
  960. string error = "";
  961. if (jo.body.errorObjs != null && jo.body.errorObjs.Length > 0)
  962. {
  963. foreach (var it in jo.body.errorObjs)
  964. {
  965. if (!string.IsNullOrEmpty(it.resturl))
  966. {
  967. error += " 推送接口名称:" + it.resturl;
  968. }
  969. if (!string.IsNullOrEmpty(it.caseserial))
  970. {
  971. error += " 推送工单号:" + it.caseserial;
  972. }
  973. if (!string.IsNullOrEmpty(it.resturl))
  974. {
  975. error += " 推送标识:" + it.errorid;
  976. }
  977. if (!string.IsNullOrEmpty(it.resturl))
  978. {
  979. error += " 推送失败原因:" + it.errormsg;
  980. }
  981. }
  982. }
  983. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  984. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送工单处理流程", error, "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  985. object objres = DbHelperSQL.GetSingle(strSql);
  986. }
  987. }
  988. }
  989. public void huifangjilu(string token, List<CallCenterApi.Model.T_Bus_WorkOrder> modellist)
  990. {
  991. submit_case_visit_detail_info paras = new submit_case_visit_detail_info();
  992. paras.jsonList = new List<detail_info>();
  993. // LogFactory.GetLogger("HttpPost").Warn(modellist.ToJson()+"ttssds");
  994. foreach (var models in modellist)
  995. {
  996. var modelslist = new CallCenterApi.BLL.T_Bus_VisitResult().GetModelList("F_WorkOrderId='" + models.F_WorkOrderId + "'");
  997. if (modelslist != null && modelslist.Count > 0)
  998. {
  999. foreach (var model in modelslist)
  1000. {
  1001. detail_info jsonList = new detail_info();
  1002. string newwokrkorder = model.F_WorkOrderId;
  1003. if (model.F_WorkOrderId.Contains("XX"))
  1004. newwokrkorder = "YJ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  1005. else if (model.F_WorkOrderId.Contains("YS"))
  1006. newwokrkorder = "DH" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  1007. else if (model.F_WorkOrderId.Contains("LX"))
  1008. newwokrkorder = "AP" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  1009. else if (model.F_WorkOrderId.Contains("RM"))
  1010. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  1011. else if (model.F_WorkOrderId.Contains("ZG"))
  1012. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  1013. else if (model.F_WorkOrderId.Contains("ZW"))
  1014. newwokrkorder = "WZ" + model.F_WorkOrderId.Substring(2, model.F_WorkOrderId.Length - 2);
  1015. else
  1016. newwokrkorder = model.F_WorkOrderId;
  1017. jsonList.CASE_SERIAL = newwokrkorder;
  1018. jsonList.AREA_CODE = "410500";
  1019. jsonList.VISIT_ID = model.F_Id.ToString();
  1020. jsonList.VISIT_TYPE = "DH";
  1021. jsonList.VISIT_TIME = model.F_CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  1022. if (DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')") != null)
  1023. jsonList.VISIT_NAME = DbHelperSQL.GetSingle(" select dbo.GetUserName('" + model.F_CreateUser + "')").ToString();
  1024. else
  1025. jsonList.VISIT_NAME = model.F_CreateUser;
  1026. if (string.IsNullOrEmpty(model.F_Result))
  1027. jsonList.VISIT_CONTENT = "无";
  1028. else
  1029. jsonList.VISIT_CONTENT = model.F_Result;
  1030. if (model.F_IsSatisfie == 0)
  1031. jsonList.VISIT_SATISFY = "2";
  1032. else
  1033. jsonList.VISIT_SATISFY = "4";
  1034. paras.jsonList.Add(jsonList);
  1035. }
  1036. }
  1037. }
  1038. if (paras.jsonList != null && paras.jsonList.Count > 0)
  1039. {
  1040. string jsonParam = "access_token=" + token + "&paras=" + paras.ToJson();
  1041. var responseString = HttpMethods.HttpPost("http://59.227.104.19:8000/share/submit_case_visit_detail_info", jsonParam);
  1042. Push jo = responseString.ToObject<Push>();
  1043. if (jo.code == "1")
  1044. {
  1045. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  1046. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送工单回访记录", "", "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  1047. object objres = DbHelperSQL.GetSingle(strSql);
  1048. }
  1049. else
  1050. {
  1051. string error = "";
  1052. if (jo.body.errorObjs != null && jo.body.errorObjs.Length > 0)
  1053. {
  1054. foreach (var it in jo.body.errorObjs)
  1055. {
  1056. if (!string.IsNullOrEmpty(it.resturl))
  1057. {
  1058. error += " 推送接口名称:" + it.resturl;
  1059. }
  1060. if (!string.IsNullOrEmpty(it.caseserial))
  1061. {
  1062. error += " 推送工单号:" + it.caseserial;
  1063. }
  1064. if (!string.IsNullOrEmpty(it.resturl))
  1065. {
  1066. error += " 推送标识:" + it.errorid;
  1067. }
  1068. if (!string.IsNullOrEmpty(it.resturl))
  1069. {
  1070. error += " 推送失败原因:" + it.errormsg;
  1071. }
  1072. }
  1073. }
  1074. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  1075. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送工单回访记录", error, "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  1076. object objres = DbHelperSQL.GetSingle(strSql);
  1077. }
  1078. }
  1079. }
  1080. public void fjcl(string token, string WorkOrderId, string file, string area, int id, string type)
  1081. {
  1082. string ParamValue = "http://docking.zwfw.anyang.gov.cn:9998";
  1083. // var configfj = configBll.GetModelList(" F_ParamCode='FileUrlPath' ").FirstOrDefault();
  1084. // if (configfj != null)
  1085. // {
  1086. // ParamValue = configfj.F_ParamValue;
  1087. // }
  1088. submit_case_material_info paras = new submit_case_material_info();
  1089. paras.jsonList = new List<material_info>();
  1090. var Accessories = new CallCenterApi.BLL.T_Sys_Accessories().GetModelList("F_FileId in (" + file + ")");
  1091. if (Accessories != null && Accessories.Count > 0)
  1092. {
  1093. foreach (var it in Accessories)
  1094. {
  1095. material_info jsonList = new material_info();
  1096. string newwokrkorder = "";
  1097. if (WorkOrderId.Contains("XX"))
  1098. newwokrkorder = "YJ" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  1099. else if (WorkOrderId.Contains("YS"))
  1100. newwokrkorder = "DH" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  1101. else if (WorkOrderId.Contains("LX"))
  1102. newwokrkorder = "AP" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  1103. else if (WorkOrderId.Contains("RM"))
  1104. newwokrkorder = "WZ" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  1105. else if (WorkOrderId.Contains("ZG"))
  1106. newwokrkorder = "WZ" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  1107. else if (WorkOrderId.Contains("ZW"))
  1108. newwokrkorder = "WZ" + WorkOrderId.Substring(2, WorkOrderId.Length - 2);
  1109. else
  1110. newwokrkorder = WorkOrderId;
  1111. jsonList.CASE_SERIAL = newwokrkorder;
  1112. jsonList.AREA_CODE = "410500";
  1113. jsonList.MATERIAL_ID = it.F_FileId.ToString();
  1114. jsonList.MATERIAL_NAME = it.F_FileName;
  1115. jsonList.MATERIAL_FILE_TYPE = it.F_FileType;
  1116. jsonList.MATERIAL_TYPE = type;
  1117. jsonList.MATERIAL_CONTACTID = id.ToString();
  1118. jsonList.MATERAIL_URL = ParamValue + it.F_FileUrl;
  1119. paras.jsonList.Add(jsonList);
  1120. }
  1121. string jsonParam = "access_token=" + token + "&paras=" + paras.ToJson();
  1122. var responseString = HttpMethods.HttpPost("http://59.227.104.19:8000/share/submit_case_material_info", jsonParam);
  1123. Push jo = responseString.ToObject<Push>();
  1124. if (jo.code == "1")
  1125. {
  1126. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  1127. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送服务工单材料", "", "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  1128. object objres = DbHelperSQL.GetSingle(strSql);
  1129. }
  1130. else
  1131. {
  1132. string error = "";
  1133. if (jo.body.errorObjs != null && jo.body.errorObjs.Length > 0)
  1134. {
  1135. foreach (var iv in jo.body.errorObjs)
  1136. {
  1137. if (!string.IsNullOrEmpty(iv.resturl))
  1138. {
  1139. error += " 推送接口名称:" + iv.resturl;
  1140. }
  1141. if (!string.IsNullOrEmpty(iv.caseserial))
  1142. {
  1143. error += " 推送工单号:" + iv.caseserial;
  1144. }
  1145. if (!string.IsNullOrEmpty(iv.resturl))
  1146. {
  1147. error += " 推送标识:" + iv.errorid;
  1148. }
  1149. if (!string.IsNullOrEmpty(iv.resturl))
  1150. {
  1151. error += " 推送失败原因:" + iv.errormsg;
  1152. }
  1153. }
  1154. }
  1155. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  1156. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", jsonParam, DateTime.Now, jo.code, jo.message, "批量推送服务工单材料", error, "推送成功数:" + jo.body.successCount + " 推送总数:" + jo.body.totalCount);
  1157. object objres = DbHelperSQL.GetSingle(strSql);
  1158. }
  1159. }
  1160. }
  1161. public class submit_case_record
  1162. {
  1163. public List<record> jsonList { set; get; }
  1164. }
  1165. private CallCenterApi.BLL.T_Bus_WorkOrder workorderBLL = new CallCenterApi.BLL.T_Bus_WorkOrder();
  1166. public class record
  1167. {
  1168. /// <summary>
  1169. /// "工单编号",
  1170. /// </summary>
  1171. public string CASE_SERIAL { set; get; }
  1172. /// <summary>
  1173. /// "行政区划代码",
  1174. /// </summary>
  1175. public string AREA_CODE { set; get; }
  1176. ///<summary>
  1177. /// 录音唯一标识
  1178. /// </summary>
  1179. public string RECORD_ID { set; get; }
  1180. /// <summary>
  1181. /// 电话号码
  1182. /// </summary>
  1183. public string RECORD_PHONE { set; get; }
  1184. /// <summary>
  1185. /// 通话状态
  1186. /// </summary>
  1187. public string RECORD_STATUS { set; get; }
  1188. /// <summary>
  1189. /// 通话类型
  1190. /// </summary>
  1191. public string RECORD_TYPE { set; get; }
  1192. /// <summary>
  1193. /// 通话开始时间
  1194. /// </summary>
  1195.             public string RECORD_STARTTIME { set; get; }
  1196. /// <summary>
  1197. /// 通话结束时间
  1198. /// </summary>
  1199.             public string RECORD_ENDTIME { set; get; }
  1200. /// <summary>
  1201. /// 通话时长
  1202. /// </summary>
  1203. public int? RECORD_LENGTH { set; get; }
  1204. /// <summary>
  1205. /// 座席人员工号
  1206. /// </summary>
  1207. public string RECORD_LOGINID { set; get; }
  1208. /// <summary>
  1209. /// 录音路径
  1210. /// </summary>
  1211. public string RECORD_URL { set; get; }
  1212. }
  1213. public class submit_case_material_info
  1214. {
  1215. public List<material_info> jsonList { set; get; }
  1216. }
  1217. public class material_info
  1218. {
  1219. /// <summary>
  1220. /// "工单编号",
  1221. /// </summary>
  1222. public string CASE_SERIAL { set; get; }
  1223. /// <summary>
  1224. /// "行政区划代码",
  1225. /// </summary>
  1226. public string AREA_CODE { set; get; }
  1227. ///<summary>
  1228. /// 附件唯一标识
  1229. /// </summary>
  1230. public string MATERIAL_ID { set; get; }
  1231. /// <summary>
  1232. /// 材料名称
  1233. /// </summary>
  1234. public string MATERIAL_NAME { set; get; }
  1235. /// <summary>
  1236. /// 材料文件类型
  1237. /// </summary>
  1238. public string MATERIAL_FILE_TYPE { set; get; }
  1239. /// <summary>
  1240. /// 材料类别
  1241. /// </summary>
  1242. public string MATERIAL_TYPE { set; get; }
  1243. /// <summary>
  1244. /// 材料关联标识
  1245. /// </summary>
  1246.             public string MATERIAL_CONTACTID { set; get; }
  1247. /// <summary>
  1248. /// 材料路径
  1249. /// </summary>
  1250.             public string MATERAIL_URL { set; get; }
  1251. }
  1252. // private CallCenterApi.BLL.T_Sys_SystemConfig configBll = new CallCenterApi.BLL.T_Sys_SystemConfig();
  1253. public class submit_case_visit_detail_info
  1254. {
  1255. public List<detail_info> jsonList { set; get; }
  1256. }
  1257. public class detail_info
  1258. {
  1259. /// <summary>
  1260. /// "工单编号",
  1261. /// </summary>
  1262. public string CASE_SERIAL { set; get; }
  1263. /// <summary>
  1264. /// "行政区划代码",
  1265. /// </summary>
  1266. public string AREA_CODE { set; get; }
  1267. ///<summary>
  1268. /// 回访唯一标识
  1269. /// </summary>
  1270. public string VISIT_ID { set; get; }
  1271. /// <summary>
  1272. /// 回访评价方式
  1273. /// </summary>
  1274. public string VISIT_TYPE { set; get; }
  1275. /// <summary>
  1276. /// 回访时间
  1277. /// </summary>
  1278. public string VISIT_TIME { set; get; }
  1279. /// <summary>
  1280. /// 回访人
  1281. /// </summary>
  1282. public string VISIT_NAME { set; get; }
  1283. /// <summary>
  1284. /// 回访评价情况
  1285. /// </summary>
  1286.             public string VISIT_CONTENT { set; get; }
  1287. /// <summary>
  1288. /// 回访结果满意度
  1289. /// </summary>
  1290.             public string VISIT_SATISFY { set; get; }
  1291. }
  1292. public class submit_case_process_info
  1293. {
  1294. public List<process_info> jsonList { set; get; }
  1295. }
  1296. public class process_info
  1297. {
  1298. /// <summary>
  1299. /// "工单编号",
  1300. /// </summary>
  1301. public string CASE_SERIAL { set; get; }
  1302. /// <summary>
  1303. /// "行政区划代码",
  1304. /// </summary>
  1305. public string AREA_CODE { set; get; }
  1306. ///<summary>
  1307. /// 流程唯一标识
  1308. /// </summary>
  1309. public string PROCESS_ID { set; get; }
  1310. /// <summary>
  1311. /// 环节名称
  1312. /// </summary>
  1313. public string TACHE_NAME { set; get; }
  1314. /// <summary>
  1315. /// 处理部门
  1316. /// </summary>
  1317. public string DEPT_NAME { set; get; }
  1318. /// <summary>
  1319. /// 处理时间
  1320. /// </summary>
  1321. public string PROCESS_TIME { set; get; }
  1322. /// <summary>
  1323. /// 处理人员
  1324. /// </summary>
  1325.             public string PROCESS_NAME { set; get; }
  1326. /// <summary>
  1327. /// 处办意见
  1328. /// </summary>
  1329.             public string PROCESS_NOTE { set; get; }
  1330. }
  1331. public class submit_case_finish_info
  1332. {
  1333. public List<finish_info> jsonList { set; get; }
  1334. }
  1335. public class finish_info
  1336. {
  1337. /// <summary>
  1338. /// "工单编号",
  1339. /// </summary>
  1340. public string CASE_SERIAL { set; get; }
  1341. /// <summary>
  1342. /// "行政区划代码",
  1343. /// </summary>
  1344. public string AREA_CODE { set; get; }
  1345. ///<summary>
  1346. /// 办结方式
  1347. /// </summary>
  1348. public string FINISH_TYPE { set; get; }
  1349. /// <summary>
  1350. /// 答复单位
  1351. /// </summary>
  1352. public string DEPT_NAME { set; get; }
  1353. /// <summary>
  1354. /// 答复单位组织架构编码
  1355. /// </summary>
  1356. public string DEPT_CODE { set; get; }
  1357. /// <summary>
  1358. /// 答复时间
  1359. /// </summary>
  1360.             public string FINISH_TIME { set; get; }
  1361. /// <summary>
  1362. /// 答复人员
  1363. /// </summary>
  1364.             public string FINISH_NAME { set; get; }
  1365. /// <summary>
  1366. /// 答复结果
  1367. /// </summary>
  1368.             public string FINISH_CONTENT { set; get; }
  1369. /// <summary>
  1370. /// 答复结果
  1371. /// </summary>
  1372. public string END_TIME { set; get; }
  1373. /// <summary>
  1374. /// 处办时长
  1375. /// </summary>
  1376.             public int END_LENGTH { set; get; }
  1377. }
  1378. public class submit_case_visit_info
  1379. {
  1380. public List<visit_info> jsonList { set; get; }
  1381. }
  1382. public class visit_info
  1383. {
  1384. /// <summary>
  1385. /// "工单编号",
  1386. /// </summary>
  1387. public string CASE_SERIAL { set; get; }
  1388. /// <summary>
  1389. /// "行政区划代码",
  1390. /// </summary>
  1391. public string AREA_CODE { set; get; }
  1392. ///<summary>
  1393. /// 回访评价方式
  1394. /// </summary>
  1395. public string VISIT_TYPE { set; get; }
  1396. /// <summary>
  1397. /// 回访时间
  1398. /// </summary>
  1399. public string VISIT_TIME { set; get; }
  1400. /// <summary>
  1401. /// 回访人
  1402. /// </summary>
  1403. public string VISIT_NAME { set; get; }
  1404. /// <summary>
  1405. /// 回访评价情况
  1406. /// </summary>
  1407.             public string VISIT_CONTENT { set; get; }
  1408. /// <summary>
  1409. /// 回访结果满意度
  1410. /// </summary>
  1411.             public string VISIT_SATISFY { set; get; }
  1412. /// <summary>
  1413. /// 回访次数
  1414. /// </summary>
  1415. public int VISIT_NUMBER { set; get; }
  1416. }
  1417. public class submit_task_handle_info
  1418. {
  1419. public List<handle_info> jsonList { set; get; }
  1420. }
  1421. public class handle_info
  1422. {
  1423. /// <summary>
  1424. /// "工单编号",
  1425. /// </summary>
  1426. public string CASE_SERIAL { set; get; }
  1427. /// <summary>
  1428. /// "行政区划代码",
  1429. /// </summary>
  1430. public string AREA_CODE { set; get; }
  1431. /// <summary>
  1432. /// "工单唯一标识",
  1433. /// </summary>
  1434. public string CASE_ID { set; get; }//
  1435. /// <summary>
  1436. /// 任务单唯一标识
  1437. /// </summary>
  1438. public string TASK_ID { set; get; }
  1439. /// <summary>
  1440. /// 父任务单标识
  1441. /// </summary>
  1442. public string TASK_PARENTID { set; get; }
  1443. /// <summary>
  1444. /// 办理部门
  1445. /// </summary>
  1446. public string TASK_OUNAME { set; get; }
  1447. /// <summary>
  1448. /// 办理人员
  1449. /// </summary>
  1450. public string TASK_USERNAME { set; get; }
  1451. /// <summary>
  1452. /// 反馈意见
  1453. /// </summary>
  1454. public string TASK_CONTENT { set; get; }
  1455. /// <summary>
  1456. /// 交办时间
  1457. /// </summary>
  1458.             public string TASK_ASSIGNTIME { set; get; }
  1459. /// <summary>
  1460. /// 签收时间
  1461. /// </summary>
  1462. public string TASK_SIGNTIME { set; get; }
  1463. /// <summary>
  1464. /// 反馈时间
  1465. /// </summary>
  1466.             public string TASK_FINISHTIME { set; get; }
  1467. /// <summary>
  1468. /// 应反馈时间
  1469. /// </summary>
  1470.             public string TASK_FINISHTIME_BF { set; get; }
  1471. /// <summary>
  1472. /// 是否退回
  1473. /// </summary>
  1474.             public string TASK_ISBACK { set; get; }
  1475. /// <summary>
  1476. /// 是否分派
  1477. /// </summary>
  1478.             public string TASK_ISALLOT { set; get; }
  1479. /// <summary>
  1480. /// 处办时长
  1481. /// </summary>
  1482.             public int TASK_HANDLE_LENGTH { set; get; }
  1483. }
  1484. private string GetToken()
  1485. {
  1486. //Dictionary<string, object> values = new Dictionary<string, object>();
  1487. //values.Add("client_id", "d620caf2-d00f-41a9-ae99-c6dfd435875e");
  1488. //values.Add("client_secret", "4f75914e-d517-4325-ac64-c321377b12f0");
  1489. //values.Add("grant_type", "client_credentials");
  1490. //var jsonParam = JsonConvert.SerializeObject(values);
  1491. string jsonParam = "client_id=d620caf2-d00f-41a9-ae99-c6dfd435875e&client_secret=4f75914e-d517-4325-ac64-c321377b12f0&grant_type=client_credentials";
  1492. var responseString = HttpMethods.HttpPost("http://59.227.104.17/epoint-sso-web/rest/oauth2/token", jsonParam);
  1493. Token jo = responseString.ToObject<Token>();
  1494. if (jo.status.code == "1")
  1495. {
  1496. if (!string.IsNullOrEmpty(jo.custom.access_token))
  1497. return jo.custom.access_token;
  1498. else
  1499. return "";
  1500. }
  1501. else
  1502. return "";
  1503. }
  1504. public class Token
  1505. {
  1506. public List<Controls> controls { set; get; }
  1507. public Custom custom { set; get; }
  1508. public Status status { set; get; }
  1509. }
  1510. public class Controls
  1511. {
  1512. }
  1513. public class Custom
  1514. {
  1515. public string access_token { set; get; }
  1516. public string refresh_token { set; get; }
  1517. public string jsessionid { set; get; }
  1518. public string expires_in { set; get; }
  1519. }
  1520. public class Status
  1521. {
  1522. public string code { set; get; }
  1523. }
  1524. public class Push
  1525. {
  1526. public string code { set; get; }
  1527. public string message { set; get; }
  1528. public body body { set; get; }
  1529. }
  1530. public class body
  1531. {
  1532. public errorObjs[] errorObjs { set; get; }
  1533. public string successCount { set; get; }
  1534. public string totalCount { set; get; }
  1535. }
  1536. public class goback
  1537. {
  1538. public string code { set; get; }
  1539. public string message { set; get; }
  1540. }
  1541. public class errorObjs
  1542. {
  1543. public string resturl { set; get; }
  1544. public string errorid { set; get; }
  1545. public string errormsg { set; get; }
  1546. public string caseserial { set; get; }
  1547. }
  1548. }
  1549. }