Нет описания

hb_affairsController.cs 73KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639
  1. using CallCenter.Utility;
  2. using CallCenterApi.BLL;
  3. using CallCenterApi.Common;
  4. using CallCenterApi.DB;
  5. using CallCenterApi.Interface.Controllers.Base;
  6. using CallCenterApi.Interface.Models.Common;
  7. using CallCenterApi.Model;
  8. using LumiSoft.Net.IO;
  9. using Newtonsoft.Json;
  10. using Newtonsoft.Json.Linq;
  11. using System;
  12. using System.Collections.Generic;
  13. using System.Data;
  14. using System.IO;
  15. using System.Linq;
  16. using System.Net;
  17. using System.Net.Http;
  18. using System.Net.Security;
  19. using System.Security.Cryptography;
  20. using System.Security.Cryptography.X509Certificates;
  21. using System.Text;
  22. using System.Text.RegularExpressions;
  23. using System.Threading.Tasks;
  24. using System.Transactions;
  25. using System.Web;
  26. using System.Web.Mvc;
  27. namespace CallCenterApi.Interface.Controllers.workorder
  28. {
  29. public class hb_affairsController : BaseController
  30. {
  31. private BLL.T_Bus_WorkOrder workorderBLL = new BLL.T_Bus_WorkOrder();
  32. private BLL.T_Bus_Operation operBLL = new BLL.T_Bus_Operation();
  33. private BLL.T_Sys_UserAccount userBLL = new BLL.T_Sys_UserAccount();
  34. private information.InternalMessagesController msg = new information.InternalMessagesController();
  35. private BLL.T_Cus_CustomerBase cusBLL = new BLL.T_Cus_CustomerBase();
  36. private BLL.T_Bus_AssignedInfo assignBLL = new BLL.T_Bus_AssignedInfo();
  37. private BLL.T_Sys_Affairs affairsBll = new BLL.T_Sys_Affairs();
  38. string FrontUrl = Configs.GetValue("FrontUrl");
  39. string NativeURL = Configs.GetValue("NativeURL");
  40. /// <summary>
  41. /// 添加工单信息
  42. /// </summary>
  43. /// <returns></returns>
  44. public ActionResult receive_case_info()
  45. {
  46. StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
  47. var postString = reader.ReadToEnd();
  48. JObject paras = null;
  49. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  50. var txnBodyCom = paras["paras"].ToString();
  51. var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
  52. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = new Model.T_Bus_WorkOrder();
  53. using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
  54. {
  55. #region 保存工单信息
  56. string creattime = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
  57. string endtime = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
  58. Model.T_Sys_Affairs affairs = new Model.T_Sys_Affairs();
  59. if (result["TROWGUID"] != null)
  60. {
  61. if (!string.IsNullOrEmpty(result["TROWGUID"].ToString()))
  62. {
  63. affairs.TROWGUID = result["TROWGUID"].ToString();//任务单唯一标识
  64. }
  65. else
  66. {
  67. var obj = new
  68. {
  69. code = "0",
  70. message = "请输入TROWGUID"
  71. };
  72. return Content(obj.ToJson());
  73. }
  74. }
  75. else
  76. {
  77. var obj = new
  78. {
  79. code = "0",
  80. message = "TROWGUID不能为NULL"
  81. };
  82. return Content(obj.ToJson());
  83. }
  84. var affairslist = new BLL.T_Sys_Affairs().GetModelList("TROWGUID='" + result["TROWGUID"].ToString() + "'");
  85. if (affairslist != null && affairslist.Count > 0)
  86. {
  87. var obj = new
  88. {
  89. code = "0",
  90. message = "此工单已交办"
  91. };
  92. return Content(obj.ToJson());
  93. }
  94. if (result["CASE_SERIAL"] != null)
  95. {
  96. if (!string.IsNullOrEmpty(result["CASE_SERIAL"].ToString()))
  97. {
  98. affairs.CASE_SERIAL = result["CASE_SERIAL"].ToString();//工单编号
  99. }
  100. else
  101. {
  102. var obj = new
  103. {
  104. code = "0",
  105. message = "请输入CASE_SERIAL"
  106. };
  107. return Content(obj.ToJson());
  108. }
  109. }
  110. else
  111. {
  112. var obj = new
  113. {
  114. code = "0",
  115. message = "CASE_SERIAL不能为NULL"
  116. };
  117. return Content(obj.ToJson());
  118. }
  119. modelT_Bus_WorkOrder.F_WorkOrderId = workorderBLL.GetNewWorkOrderID(2580, 1, creattime, endtime);
  120. modelT_Bus_WorkOrder.F_WorkOrderId = result["CASE_SERIAL"].ToString().Substring(0, 2) +
  121. modelT_Bus_WorkOrder.F_WorkOrderId.Substring(2, modelT_Bus_WorkOrder.F_WorkOrderId.Length - 2);
  122. modelT_Bus_WorkOrder.F_InfoSource = 2580;//信息来源
  123. var type = result["CASE_TYPE"] == null ? "" : result["CASE_TYPE"].ToString();
  124. if (!string.IsNullOrEmpty(type))
  125. {
  126. if (type == "10")
  127. modelT_Bus_WorkOrder.F_InfoType = 9;
  128. else if (type == "15")
  129. modelT_Bus_WorkOrder.F_InfoType = 12;
  130. else if (type == "20")
  131. modelT_Bus_WorkOrder.F_InfoType = 11;
  132. else if (type == "30")
  133. modelT_Bus_WorkOrder.F_InfoType = 10;
  134. else if (type == "35")
  135. modelT_Bus_WorkOrder.F_InfoType = 13;
  136. else
  137. modelT_Bus_WorkOrder.F_InfoType = 90;
  138. }
  139. else
  140. modelT_Bus_WorkOrder.F_InfoType = 90;
  141. modelT_Bus_WorkOrder.F_SourceAddress = result["CASE_ADDRESS"] == null ? "" : result["CASE_ADDRESS"].ToString();
  142. modelT_Bus_WorkOrder.F_CusName = result["APPLICANT_NAME"] == null ? "" : result["APPLICANT_NAME"].ToString();
  143. if (string.IsNullOrEmpty(result["APPLICANT_NAME"].ToString()))
  144. {
  145. var obj = new
  146. {
  147. code = "0",
  148. message = "请输入APPLICANT_NAME"
  149. };
  150. return Content(obj.ToJson());
  151. }
  152. if (result["APPLICANT_SEX"] != null)
  153. {
  154. if (result["APPLICANT_SEX"].ToString() == "1")
  155. modelT_Bus_WorkOrder.F_CusSex = "0";//性别
  156. else if (result["APPLICANT_SEX"].ToString() == "2")
  157. modelT_Bus_WorkOrder.F_CusSex = "1";//性别
  158. }
  159. modelT_Bus_WorkOrder.F_CusPhone = result["APPLICANT_NUMBER"] == null ? "" : result["APPLICANT_NUMBER"].ToString();
  160. if (string.IsNullOrEmpty(result["APPLICANT_NUMBER"].ToString()))
  161. {
  162. var obj = new
  163. {
  164. code = "0",
  165. message = "请输入APPLICANT_NUMBER"
  166. };
  167. return Content(obj.ToJson());
  168. }
  169. modelT_Bus_WorkOrder.F_CusAddress = result["CASE_ADDRESS"] == null ? "" : result["CASE_ADDRESS"].ToString();
  170. modelT_Bus_WorkOrder.F_ConName = result["APPLICANT_NAME"].ToString();
  171. modelT_Bus_WorkOrder.F_ConPhone = result["APPLICANT_NUMBER"].ToString();//联系人电话
  172. modelT_Bus_WorkOrder.F_ComTitle = result["CASE_TITLE"] == null ? "" : result["CASE_TITLE"].ToString();
  173. modelT_Bus_WorkOrder.F_ComContent = result["CASE_CONTENT"] == null ? "" : result["CASE_CONTENT"].ToString();
  174. if (result["CASE_ACCORD"] != null)
  175. {
  176. var KeyValue = DbHelperSQL.GetSingle("select F_ValueId from T_Sys_DictionaryValue where F_Remark = '" + result["CASE_ACCORD"].ToString() + "'");
  177. if (KeyValue!=null )
  178. {
  179. modelT_Bus_WorkOrder.F_Key = KeyValue.ToString ();
  180. }
  181. }
  182. affairs.CASE_TIME = result["CASE_TIME"] == null ? "" : result["CASE_TIME"].ToString();
  183. if (result["CASE_ISPUBLIC"] != null)
  184. {
  185. if (result["CASE_ISPUBLIC"].ToString() == "1")
  186. modelT_Bus_WorkOrder.F_IsProtect = 0;//保密方式0否1是
  187. else
  188. modelT_Bus_WorkOrder.F_IsProtect = 1;//保密方式0否1是
  189. }
  190. if (result["CASE_LNGLAT"] != null)
  191. {
  192. if (result["CASE_LNGLAT"].ToString() != "")
  193. {
  194. try
  195. {
  196. var CASE_LNGLAT = result["CASE_LNGLAT"].ToString().Substring(1, result["CASE_LNGLAT"].ToString().Length - 2);
  197. if (CASE_LNGLAT.Split(',').Length > 1)
  198. {
  199. modelT_Bus_WorkOrder.F_Latitude = CASE_LNGLAT.Split(',')[0] != "" ? decimal.Parse(CASE_LNGLAT.Split(',')[0]) : 0;//纬度
  200. modelT_Bus_WorkOrder.F_Longitude = CASE_LNGLAT.Split(',')[1] != "" ? decimal.Parse(CASE_LNGLAT.Split(',')[1]) : 0;//经度
  201. }
  202. }
  203. catch
  204. {
  205. }
  206. }
  207. }
  208. affairs.TSIGNTIME_BF = result["TSIGNTIME_BF"] == null ? "" : result["TSIGNTIME_BF"].ToString();
  209. affairs.TFDBACKTIME_BF = result["TFDBACKTIME_BF"] == null ? "" : result["TFDBACKTIME_BF"].ToString();
  210. affairs.TBACKTIME_BF = result["TBACKTIME_BF"] == null ? "" : result["TBACKTIME_BF"].ToString();
  211. affairs.SEND_TIME = result["SEND_TIME"] == null ? "" : result["SEND_TIME"].ToString();
  212. affairs.SEND_CONTENT = result["SEND_CONTENT"] == null ? "" : result["SEND_CONTENT"].ToString();
  213. // modelT_Bus_WorkOrder.F_IsOpen = isopen;
  214. //是否直办(即时答复)0:,否1: 是
  215. if (result["CASE_ATTATH_ID"] != null)
  216. {
  217. if (!string.IsNullOrEmpty(result["CASE_ATTATH_ID"].ToString()))
  218. modelT_Bus_WorkOrder.F_File = receive_info(result["CASE_ATTATH_ID"].ToString());
  219. }
  220. if (result["SEND_ATTATH_ID"] != null)
  221. {
  222. if (string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_File))
  223. {
  224. if (!string.IsNullOrEmpty(result["SEND_ATTATH_ID"].ToString()))
  225. modelT_Bus_WorkOrder.F_File = receive_info(result["SEND_ATTATH_ID"].ToString());
  226. }
  227. else
  228. {
  229. if (!string.IsNullOrEmpty(result["SEND_ATTATH_ID"].ToString()))
  230. modelT_Bus_WorkOrder.F_File += "," + receive_info(result["SEND_ATTATH_ID"].ToString());
  231. }
  232. }
  233. //if (result["CASE_ISURGENT"] != null)
  234. //{
  235. // if (result["CASE_ISURGENT"].ToString() == "30")
  236. // modelT_Bus_WorkOrder.F_Level = 1;
  237. // else
  238. // modelT_Bus_WorkOrder.F_Level = 2;
  239. //}
  240. modelT_Bus_WorkOrder.F_Level = 3;
  241. modelT_Bus_WorkOrder.F_IsResult = 0;
  242. modelT_Bus_WorkOrder.F_CreateUser = "省平台";//登记人工号
  243. try
  244. {
  245. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Parse(result["APPLICANT_TIME"].ToString());
  246. }
  247. catch
  248. {
  249. modelT_Bus_WorkOrder.F_CreateTime = DateTime.Now;//登记时间
  250. }
  251. modelT_Bus_WorkOrder.F_WorkState = 0;// 0;//工单状态0登记中
  252. modelT_Bus_WorkOrder.F_IsClosed = 0;//工单是否关闭
  253. modelT_Bus_WorkOrder.F_IsOverdue = 0;//是否逾期(0:否,1:是)
  254. modelT_Bus_WorkOrder.F_IsDelete = 0;//是否删除(0:否,1:是)
  255. #region
  256. #endregion
  257. modelT_Bus_WorkOrder.F_Id = workorderBLL.Add(modelT_Bus_WorkOrder);
  258. affairs.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  259. affairs.CreateTime = DateTime.Now;
  260. affairsBll.Add(affairs);
  261. #endregion
  262. trans.Complete();
  263. }
  264. if (modelT_Bus_WorkOrder.F_Id <= 0)
  265. {
  266. var obj = new
  267. {
  268. code = "0",
  269. message = "失败"
  270. };
  271. return Content(obj.ToJson());
  272. }
  273. else
  274. {
  275. string userinfo = "省平台";
  276. string message = "";
  277. message = userinfo + " 登记了工单,工单编号:" + modelT_Bus_WorkOrder.F_WorkOrderId;
  278. // var curuser = User;
  279. Task.Run(() =>
  280. {
  281. #region 插入操作记录
  282. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  283. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  284. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  285. oper.F_CallRecordId = modelT_Bus_WorkOrder.F_CallRecordId;
  286. oper.F_File = modelT_Bus_WorkOrder.F_File;
  287. oper.F_Message = message;
  288. oper.F_CreateUser = result["HWY_LOGINID"] == null ? "" : result["HWY_LOGINID"].ToString();
  289. oper.F_CreateTime = DateTime.Now;
  290. oper.F_IsDelete = 0;
  291. operBLL.Add(oper);
  292. #endregion
  293. }).ContinueWith(p => {
  294. System.Diagnostics.Debug.WriteLine(DateTime.Now);
  295. });
  296. var obj = new
  297. {
  298. code = "1",
  299. message = "推送成功!"
  300. }
  301. ;
  302. return Content(obj.ToJson());
  303. }
  304. }
  305. /// <summary>
  306. /// 申请延时结果
  307. /// </summary>
  308. /// <returns></returns>
  309. //[Authority]
  310. public ActionResult receive_case_delay_audit()
  311. {
  312. StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
  313. var postString = reader.ReadToEnd();
  314. JObject paras = null;
  315. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  316. var txnBodyCom = paras["paras"].ToString();
  317. var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
  318. if (result["TROWGUID"] == null)
  319. {
  320. var obj = new
  321. {
  322. code = "0",
  323. message = "TROWGUID不能为空"
  324. };
  325. return Content(obj.ToJson());
  326. }
  327. if (string.IsNullOrEmpty(result["TROWGUID"].ToString()))
  328. {
  329. var obj = new
  330. {
  331. code = "0",
  332. message = "TROWGUID不能为空"
  333. };
  334. return Content(obj.ToJson());
  335. }
  336. var affairs = affairsBll.GetModelList("TROWGUID='" + result["TROWGUID"].ToString() + "'");
  337. if (affairs != null && affairs.Count > 0)
  338. {
  339. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(affairs.FirstOrDefault().F_WorkOrderId);
  340. Model.T_Bus_DelayTime modelT_Bus_DelayTime = new BLL.T_Bus_DelayTime().GetNewModelByWorkOrderID(modelT_Bus_WorkOrder.F_WorkOrderId);
  341. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.GetNewModelByWorkOrderID(modelT_Bus_WorkOrder.F_WorkOrderId);
  342. var modelT_Bus_AssignedInfo_Next = new BLL.T_Bus_AssignedInfo_Next().GetModelList("F_State=1 and F_IsDelete=0 and F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "' order by F_CreateTime desc");
  343. if (modelT_Bus_DelayTime != null && affairs != null)
  344. {
  345. using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
  346. {
  347. var autio = result["AUDIT_RESULT"] == null ? "" : result["AUDIT_RESULT"].ToString();
  348. string type = "同意"; string des = "";
  349. if (autio == "1")
  350. {
  351. if (modelT_Bus_DelayTime.F_AssignedId == 0)
  352. {
  353. affairs.FirstOrDefault().TBACKTIME_BF = modelT_Bus_DelayTime.F_NewTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  354. des = ",原定退回时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_DelayTime.F_NewTime;
  355. }
  356. else
  357. {
  358. affairs.FirstOrDefault().TFDBACKTIME_BF = modelT_Bus_DelayTime.F_NewTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  359. TimeSpan ts = modelT_Bus_DelayTime.F_NewTime.Value.Subtract(modelT_Bus_DelayTime.F_OldTime.Value);
  360. int tss = int.Parse(Math.Round(ts.TotalHours, 0).ToString());
  361. modelT_Bus_WorkOrder.F_LimitTime =
  362. modelT_Bus_WorkOrder.F_LimitTime.Value
  363. .AddHours(tss);
  364. des = ",原定办结时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + modelT_Bus_DelayTime.F_NewTime;
  365. int n = DbHelperSQL.ExecuteSql(" update T_Bus_WorkOrder set F_LimitTime='" + modelT_Bus_WorkOrder.F_LimitTime + "' where F_Id ='" + modelT_Bus_WorkOrder.F_Id + "'");
  366. if (modelT_Bus_AssignedInfo != null)
  367. {
  368. modelT_Bus_AssignedInfo.F_LimitTime = modelT_Bus_WorkOrder.F_LimitTime;
  369. assignBLL.Update(modelT_Bus_AssignedInfo);
  370. }
  371. if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_SubWorkorder1))
  372. {
  373. var modellist = workorderBLL.GetModelList("F_WorkOrderId in(select col from dbo.SplitToNvarchar('" + modelT_Bus_WorkOrder.F_SubWorkorder1 + "',',' )) and F_IsDelete =0 ");
  374. if (modellist != null && modellist.Count > 0)
  375. {
  376. foreach (var it in modellist)
  377. {
  378. it.F_LimitTime =
  379. it.F_LimitTime.Value
  380. .AddHours(tss);
  381. des = ",原定办结时间" + modelT_Bus_DelayTime.F_OldTime + ",申请延长到" + it.F_LimitTime;
  382. int t = DbHelperSQL.ExecuteSql(" update T_Bus_WorkOrder set F_LimitTime='" + it.F_LimitTime
  383. + "' where F_Id ='" + it.F_Id + "'");
  384. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo1 = assignBLL.GetNewModelByWorkOrderID(it.F_WorkOrderId);
  385. var modelT_Bus_AssignedInfo_Next1 = new BLL.T_Bus_AssignedInfo_Next().GetModelList("F_State=1 and F_IsDelete=0 and F_WorkOrderId='"
  386. + it.F_WorkOrderId + "' order by F_CreateTime desc");
  387. if (modelT_Bus_AssignedInfo1 != null)
  388. {
  389. modelT_Bus_AssignedInfo1.F_LimitTime = it.F_LimitTime;
  390. assignBLL.Update(modelT_Bus_AssignedInfo1);
  391. }
  392. if (modelT_Bus_AssignedInfo_Next1 != null && modelT_Bus_AssignedInfo_Next1.Count > 0)
  393. {
  394. modelT_Bus_AssignedInfo_Next1[0].F_LimitTime =
  395. modelT_Bus_AssignedInfo_Next1[0].F_LimitTime.Value
  396. .AddHours(tss);
  397. new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next1[0]);
  398. }
  399. Model.T_Bus_DelayTime modelT_Bus_DelayTime1 = new BLL.T_Bus_DelayTime().GetNewModelByWorkOrderID(it.F_WorkOrderId);
  400. modelT_Bus_DelayTime1.F_IsAudit = 1;//审核
  401. modelT_Bus_DelayTime1.F_AuditUser = result["AUDIT_NAME"].ToString();
  402. modelT_Bus_DelayTime1.F_AuditTime = DateTime.Now;
  403. modelT_Bus_DelayTime1.F_RefuseReason = result["AUDIT_OPINION"] == null ? "" : result["AUDIT_OPINION"].ToString();
  404. modelT_Bus_DelayTime1.F_AgreeTime = modelT_Bus_DelayTime1.F_NewTime;
  405. new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime1);
  406. Model.T_Bus_Operation oper1 = new Model.T_Bus_Operation();
  407. oper1.F_WorkOrderId = it.F_WorkOrderId;
  408. oper1.F_AssignedId = 0;
  409. oper1.F_State = it.F_WorkState;
  410. string userinfo1 = "省平台";
  411. oper1.F_Message = userinfo1 + " " + type + "了工单延时申请" + des;
  412. oper1.F_CreateUser = "省平台";
  413. oper1.F_CreateTime = DateTime.Now;
  414. oper1.F_IsDelete = 0;
  415. operBLL.Add(oper1);
  416. }
  417. }
  418. }
  419. if (modelT_Bus_AssignedInfo_Next != null && modelT_Bus_AssignedInfo_Next.Count > 0)
  420. {
  421. modelT_Bus_AssignedInfo_Next[0].F_LimitTime =
  422. modelT_Bus_AssignedInfo_Next[0].F_LimitTime.Value
  423. .AddHours(tss);
  424. new BLL.T_Bus_AssignedInfo_Next().Update(modelT_Bus_AssignedInfo_Next[0]);
  425. }
  426. }
  427. modelT_Bus_DelayTime.F_IsAudit = 1;//审核
  428. modelT_Bus_DelayTime.F_AuditUser = result["AUDIT_NAME"].ToString();
  429. modelT_Bus_DelayTime.F_AuditTime = DateTime.Now;
  430. modelT_Bus_DelayTime.F_RefuseReason = result["AUDIT_OPINION"] == null ? "" : result["AUDIT_OPINION"].ToString();
  431. modelT_Bus_DelayTime.F_AgreeTime = modelT_Bus_DelayTime.F_NewTime;
  432. new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime);
  433. }
  434. else
  435. {
  436. type = "拒绝";
  437. //if (modelT_Bus_AssignedInfo != null && modelT_Bus_DelayTime.F_AssignedId != 0)
  438. //{
  439. // modelT_Bus_AssignedInfo.F_IsSure = 1;
  440. // assignBLL.Update(modelT_Bus_AssignedInfo);
  441. //}
  442. modelT_Bus_DelayTime.F_IsAudit = 2;//审核
  443. modelT_Bus_DelayTime.F_AuditUser = result["AUDIT_NAME"] == null ? "" : result["AUDIT_NAME"].ToString();
  444. modelT_Bus_DelayTime.F_AuditTime = DateTime.Now;
  445. modelT_Bus_DelayTime.F_RefuseReason = result["AUDIT_OPINION"] == null ? "" : result["AUDIT_OPINION"].ToString();
  446. modelT_Bus_DelayTime.F_AgreeTime = modelT_Bus_DelayTime.F_NewTime;
  447. new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime);
  448. if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_SubWorkorder1))
  449. {
  450. var modellist = workorderBLL.GetModelList("F_WorkOrderId in(select col from dbo.SplitToNvarchar('" + modelT_Bus_WorkOrder.F_SubWorkorder1 + "',',' )) and F_IsDelete =0 ");
  451. if (modellist != null && modellist.Count > 0)
  452. {
  453. foreach (var it in modellist)
  454. {
  455. Model.T_Bus_DelayTime modelT_Bus_DelayTime1 = new BLL.T_Bus_DelayTime().GetNewModelByWorkOrderID(it.F_WorkOrderId);
  456. modelT_Bus_DelayTime1.F_IsAudit = 2;//审核
  457. modelT_Bus_DelayTime1.F_AuditUser = result["AUDIT_NAME"] == null ? "" : result["AUDIT_NAME"].ToString();
  458. modelT_Bus_DelayTime1.F_AuditTime = DateTime.Now;
  459. modelT_Bus_DelayTime1.F_RefuseReason = result["AUDIT_OPINION"] == null ? "" : result["AUDIT_OPINION"].ToString();
  460. modelT_Bus_DelayTime1.F_AgreeTime = modelT_Bus_DelayTime.F_NewTime;
  461. new BLL.T_Bus_DelayTime().Update(modelT_Bus_DelayTime1);
  462. Model.T_Bus_Operation oper1 = new Model.T_Bus_Operation();
  463. oper1.F_WorkOrderId = it.F_WorkOrderId;
  464. oper1.F_AssignedId = 0;
  465. oper1.F_State = it.F_WorkState;
  466. string userinfo1 = "省平台";
  467. oper1.F_Message = userinfo1 + " " + type + "了工单延时申请" + des;
  468. oper1.F_CreateUser = "省平台";
  469. oper1.F_CreateTime = DateTime.Now;
  470. oper1.F_IsDelete = 0;
  471. operBLL.Add(oper1);
  472. }
  473. }
  474. }
  475. }
  476. #region 插入操作记录
  477. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  478. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  479. oper.F_AssignedId = 0;
  480. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  481. string userinfo = "省平台";
  482. oper.F_Message = userinfo + " " + type + "了工单延时申请" + des;
  483. oper.F_CreateUser = "省平台";
  484. oper.F_CreateTime = DateTime.Now;
  485. oper.F_IsDelete = 0;
  486. operBLL.Add(oper);
  487. trans.Complete();
  488. }
  489. var obj1 = new
  490. {
  491. code = "1",
  492. message = "推送成功"
  493. };
  494. return Content(obj1.ToJson());
  495. #endregion
  496. }
  497. else
  498. {
  499. var obj = new
  500. {
  501. code = "0",
  502. message = "推送失败"
  503. };
  504. return Content(obj.ToJson());
  505. }
  506. }
  507. else
  508. {
  509. var obj = new
  510. {
  511. code = "0",
  512. message = "推送失败"
  513. };
  514. return Content(obj.ToJson());
  515. }
  516. }
  517. /// <summary>
  518. /// 服务工单交办催单/撤单/补单接口
  519. /// </summary>
  520. /// <returns></returns>
  521. //[Authority]
  522. public ActionResult receive_case_supply()
  523. {
  524. StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
  525. var postString = reader.ReadToEnd();
  526. JObject paras = null;
  527. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  528. var txnBodyCom = paras["paras"].ToString();
  529. var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
  530. if (result["TROWGUID"] == null)
  531. {
  532. var obj = new
  533. {
  534. code = "0",
  535. message = "TROWGUID不能为空"
  536. };
  537. return Content(obj.ToJson());
  538. }
  539. if (string.IsNullOrEmpty(result["TROWGUID"].ToString()))
  540. {
  541. var obj = new
  542. {
  543. code = "0",
  544. message = "TROWGUID不能为空"
  545. };
  546. return Content(obj.ToJson());
  547. }
  548. var affairs = affairsBll.GetModelList("TROWGUID='" + result["TROWGUID"].ToString() + "'");
  549. if (affairs != null && affairs.Count > 0)
  550. {
  551. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(affairs.FirstOrDefault().F_WorkOrderId);
  552. using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
  553. {
  554. string Message = "";
  555. var SUPPLY_TYPE = result["SUPPLY_TYPE"] == null ? "" : result["SUPPLY_TYPE"].ToString();
  556. if (string.IsNullOrEmpty(SUPPLY_TYPE))
  557. {
  558. var obj = new
  559. {
  560. code = "0",
  561. message = "SUPPLY_TYPE不能为空"
  562. };
  563. return Content(obj.ToJson());
  564. }
  565. if (result["SUPPLY_TYPE"].ToString() == "10")
  566. {
  567. if (result["SUPPLY_CONTENT"] != null && !string.IsNullOrEmpty(result["SUPPLY_CONTENT"].ToString()))
  568. Message = "省平台催单,内容:" + result["SUPPLY_CONTENT"] == null ? "" : result["SUPPLY_CONTENT"].ToString();
  569. else
  570. Message = "省平台催单";
  571. WebClient web = new WebClient();
  572. web.Encoding = Encoding.UTF8;
  573. string Dataurl = web.DownloadString(NativeURL + "Affairs/Reminders" + "?workorderid=" + modelT_Bus_WorkOrder.F_WorkOrderId);
  574. }
  575. else if (result["SUPPLY_TYPE"].ToString() == "20")
  576. {
  577. if (result["SUPPLY_CONTENT"] != null && !string.IsNullOrEmpty(result["SUPPLY_CONTENT"].ToString()))
  578. Message = "省平台撤单,内容:" + result["SUPPLY_CONTENT"] == null ? "" : result["SUPPLY_CONTENT"].ToString();
  579. else
  580. Message = "省平台撤单";
  581. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  582. if (string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_Result))
  583. {
  584. // modelT_Bus_WorkOrder.F_Result = Message;
  585. keyValuePairs.Add("F_Result", Message);
  586. }
  587. if (modelT_Bus_WorkOrder.F_DealTime == null)
  588. keyValuePairs.Add("F_DealTime", DateTime.Now);
  589. keyValuePairs.Add("F_WorkState", 9);
  590. modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.finish;
  591. keyValuePairs.Add("F_IsSatisfie", 1);
  592. // modelT_Bus_WorkOrder.F_IsSatisfie = 1;
  593. keyValuePairs.Add("F_IsClosed", 1);
  594. // modelT_Bus_WorkOrder.F_IsClosed = 1;
  595. // modelT_Bus_WorkOrder.F_CloseUser = User.F_UserCode;
  596. keyValuePairs.Add("F_CloseTime", DateTime.Now);
  597. // modelT_Bus_WorkOrder.F_CloseTime = DateTime.Now;
  598. if (!string.IsNullOrEmpty(modelT_Bus_WorkOrder.F_FinalOpinion))
  599. keyValuePairs.Add("F_FinalOpinion", Message);
  600. workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
  601. }
  602. else
  603. {
  604. if (result["SUPPLY_CONTENT"] != null && !string.IsNullOrEmpty(result["SUPPLY_CONTENT"].ToString()))
  605. Message = "省平台补单,内容:" + result["SUPPLY_CONTENT"].ToString();
  606. else
  607. Message = "省平台补单";
  608. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  609. keyValuePairs.Add("F_ComContent", modelT_Bus_WorkOrder.F_ComContent + " " + Message);
  610. // modelT_Bus_WorkOrder.F_ComContent += " " + Message;
  611. workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
  612. }
  613. #region 插入操作记录
  614. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  615. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  616. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  617. oper.F_Message = Message;
  618. oper.F_CreateUser = result["SUPPLY_NAME"] == null ? "" : result["SUPPLY_NAME"].ToString();
  619. oper.F_CreateTime = DateTime.Now;
  620. oper.F_IsDelete = 0;
  621. operBLL.Add(oper);
  622. #endregion
  623. trans.Complete();
  624. }
  625. var obj1 = new
  626. {
  627. code = "1",
  628. message = "推送成功"
  629. };
  630. return Content(obj1.ToJson());
  631. }
  632. else
  633. {
  634. var obj = new
  635. {
  636. code = "0",
  637. message = "推送失败"
  638. };
  639. return Content(obj.ToJson());
  640. }
  641. }
  642. /// <summary>
  643. /// 督查督办派发
  644. /// </summary>
  645. /// <returns></returns>
  646. //[Authority]
  647. public ActionResult receive_jcsupervise_send()
  648. {
  649. StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
  650. var postString = reader.ReadToEnd();
  651. JObject paras = null;
  652. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  653. var txnBodyCom = paras["paras"].ToString();
  654. var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
  655. if (result["JC_RELATION_SERIALNUM"] == null)
  656. {
  657. var obj1 = new
  658. {
  659. code = "0",
  660. message = "JC_RELATION_SERIALNUM不能为空"
  661. };
  662. return Content(obj1.ToJson());
  663. }
  664. if (string.IsNullOrEmpty(result["JC_RELATION_SERIALNUM"].ToString()))
  665. {
  666. var obj1 = new
  667. {
  668. code = "0",
  669. message = "JC_RELATION_SERIALNUM不能为空"
  670. };
  671. return Content(obj1.ToJson());
  672. }
  673. var affairs = affairsBll.GetModelList("CASE_SERIAL='" + result["JC_RELATION_SERIALNUM"].ToString() + "'");
  674. if (affairs != null && affairs.Count > 0)
  675. {
  676. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(affairs.FirstOrDefault().F_WorkOrderId);
  677. using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
  678. {
  679. Model.T_Bus_Supervision model = new Model.T_Bus_Supervision();
  680. model.F_Code = result["JC_SERIALNUM"] == null ? "" : result["JC_SERIALNUM"].ToString();
  681. model.F_UserCode = result["JC_NAME"] == null ? "" : result["JC_NAME"].ToString();
  682. model.F_SERIALNUM = result["JC_RELATION_SERIALNUM"] == null ? "" : result["JC_RELATION_SERIALNUM"].ToString();
  683. model.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  684. model.F_Title = result["JC_TITLE"] == null ? "" : result["JC_TITLE"].ToString();
  685. model.F_Level = result["JC_DEGREE"] == null ? "" : result["JC_DEGREE"].ToString();
  686. model.F_State = 0;
  687. model.F_Type = 0;
  688. model.F_CreateTime = DateTime.Now;
  689. if (result["JC_FINISHTIME_BF"] != null && !string.IsNullOrEmpty(result["JC_FINISHTIME_BF"].ToString()))
  690. model.F_LimitTime = DateTime.Parse(result["JC_FINISHTIME_BF"].ToString());
  691. model.F_Opinion = result["JC_OPINION"] == null ? "" : result["JC_OPINION"].ToString();
  692. string des = "";
  693. if (!string.IsNullOrWhiteSpace(model.F_Opinion))
  694. {
  695. des = ",监察意见:" + model.F_Opinion;
  696. }
  697. model.F_Type = 0;
  698. model.F_IsDelete = 0;
  699. int n = new BLL.T_Bus_Supervision().Add(model);
  700. if (n > 0)
  701. {
  702. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  703. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  704. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  705. oper.F_Message = "省平台监察督办派发了工单" + des;
  706. oper.F_CreateUser = result["JC_NAME"] == null ? "" : result["JC_NAME"].ToString();
  707. oper.F_CreateTime = DateTime.Now;
  708. oper.F_IsDelete = 0;
  709. operBLL.Add(oper);
  710. var obj1 = new
  711. {
  712. code = "1",
  713. message = "推送成功"
  714. };
  715. trans.Complete();
  716. return Content(obj1.ToJson());
  717. }
  718. else
  719. {
  720. var obj1 = new
  721. {
  722. code = "0",
  723. message = "推送失败"
  724. };
  725. trans.Complete();
  726. return Content(obj1.ToJson());
  727. }
  728. }
  729. }
  730. var obj = new
  731. {
  732. code = "0",
  733. message = "推送失败"
  734. };
  735. return Content(obj.ToJson());
  736. } /// <summary>
  737. /// 督查督办派发
  738. /// </summary>
  739. /// <returns></returns>
  740. //[Authority]
  741. public ActionResult receive_dcsupervise_send()
  742. {
  743. StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
  744. var postString = reader.ReadToEnd();
  745. JObject paras = null;
  746. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  747. var txnBodyCom = paras["paras"].ToString();
  748. var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
  749. if (result["DC_RELATION_SERIALNUM"] == null)
  750. {
  751. var obj = new
  752. {
  753. code = "0",
  754. message = "DC_RELATION_SERIALNUM不能为空"
  755. };
  756. return Content(obj.ToJson());
  757. }
  758. if (string.IsNullOrEmpty(result["DC_RELATION_SERIALNUM"].ToString()))
  759. {
  760. var obj = new
  761. {
  762. code = "0",
  763. message = "DC_RELATION_SERIALNUM不能为空"
  764. };
  765. return Content(obj.ToJson());
  766. }
  767. var affairs = affairsBll.GetModelList("CASE_SERIAL='" + result["DC_RELATION_SERIALNUM"].ToString() + "'");
  768. if (affairs != null && affairs.Count > 0)
  769. {
  770. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(affairs.FirstOrDefault().F_WorkOrderId);
  771. using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
  772. {
  773. Model.T_Bus_Supervision model = new Model.T_Bus_Supervision();
  774. model.F_Code = result["DC_SERIALNUM"] == null ? "" : result["DC_SERIALNUM"].ToString();
  775. model.F_UserCode = result["DC_NAME"] == null ? "" : result["DC_NAME"].ToString();
  776. model.F_SERIALNUM = result["DC_RELATION_SERIALNUM"] == null ? "" : result["DC_RELATION_SERIALNUM"].ToString();
  777. model.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  778. model.F_Situation = result["DC_TYPE"] == null ? "" : result["DC_TYPE"].ToString();
  779. model.F_Content = result["DC_CONTENT"] == null ? "" : result["DC_CONTENT"].ToString();
  780. model.F_Opinion = result["DC_OPINION"] == null ? "" : result["DC_OPINION"].ToString();
  781. model.F_State = 0;
  782. model.F_Type = 1;
  783. model.F_CreateTime = DateTime.Now;
  784. if (result["DC_FINISHTIME_BF"] != null && !string.IsNullOrEmpty(result["DC_FINISHTIME_BF"].ToString()))
  785. model.F_LimitTime = DateTime.Parse(result["DC_FINISHTIME_BF"].ToString());
  786. if (result["DC_ATTATH_ID"] != null && !string.IsNullOrEmpty(result["DC_ATTATH_ID"].ToString()))
  787. {
  788. model.F_File = receive_info(result["DC_ATTATH_ID"].ToString());
  789. }
  790. string des = "";
  791. if (!string.IsNullOrWhiteSpace(model.F_Opinion))
  792. {
  793. des = ",督察内容:" + model.F_Opinion;
  794. }
  795. model.F_Type = 1;
  796. model.F_IsDelete = 0;
  797. int n = new BLL.T_Bus_Supervision().Add(model);
  798. if (n > 0)
  799. {
  800. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  801. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  802. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  803. oper.F_Message = "省平台督查督办派发了工单" + des;
  804. oper.F_CreateUser = result["DC_NAME"] == null ? "" : result["DC_NAME"].ToString();
  805. oper.F_CreateTime = DateTime.Now;
  806. oper.F_IsDelete = 0;
  807. operBLL.Add(oper);
  808. var obj1 = new
  809. {
  810. code = "1",
  811. message = "推送成功"
  812. };
  813. trans.Complete();
  814. return Content(obj1.ToJson());
  815. }
  816. else
  817. {
  818. var obj1 = new
  819. {
  820. code = "1",
  821. message = "推送失败"
  822. };
  823. trans.Complete();
  824. return Content(obj1.ToJson());
  825. }
  826. }
  827. }
  828. else
  829. {
  830. var obj = new
  831. {
  832. code = "0",
  833. message = "推送失败"
  834. };
  835. return Content(obj.ToJson());
  836. }
  837. }
  838. /// <summary>
  839. ///催单短信
  840. /// </summary>
  841. /// <returns></returns>
  842. public void Reminders(string workorderid)
  843. {
  844. List<Model.T_Bus_WorkOrder> workorder = new List<Model.T_Bus_WorkOrder>();
  845. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workorderid);
  846. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.GetNewModelByWorkOrderID(workorderid);
  847. if (modelT_Bus_AssignedInfo != null)
  848. {
  849. if (modelT_Bus_AssignedInfo.F_IsNext == 1 || modelT_Bus_AssignedInfo.F_IsNext == 2)
  850. {
  851. // Model.T_Bus_AssignedInfo_Next modelT_Bus_AssignedInfo_Next = new BLL.T_Bus_AssignedInfo_Next().GetNewModelByWorkOrderID(workorderid);
  852. var modelT_Bus_AssignedInfo_Next = new BLL.T_Bus_AssignedInfo_Next().GetModelList("F_State=1 and F_IsDelete=0 and F_IsSure in (0,1) and F_WorkOrderId='" + modelT_Bus_WorkOrder.F_WorkOrderId + "' order by F_CreateTime desc");
  853. if (modelT_Bus_AssignedInfo_Next!=null && modelT_Bus_AssignedInfo_Next.Count >0)
  854. {
  855. var user = new BLL.T_Sys_UserAccount().GetModelList(" F_DeptId in(" + string.Join(",", modelT_Bus_AssignedInfo_Next.Select(x => x.F_MainDeptId)) + ") and F_DeleteFlag=0");
  856. if (user != null)
  857. {
  858. foreach (var iv in user)
  859. {
  860. if (!string.IsNullOrEmpty(iv.F_Mobile))
  861. {
  862. string count = "您的工单" + workorderid + "收到催办,请及时处理!";
  863. string c = PushMessageController.PushApp("催单提醒", count, iv.F_UserCode, workorderid);
  864. }
  865. }
  866. }
  867. }
  868. }
  869. else
  870. {
  871. var user = new BLL.T_Sys_UserAccount().GetModelList(" F_DeptId = " + (modelT_Bus_WorkOrder.F_MainDeptId ?? 0) + " and F_DeleteFlag=0");
  872. if (user != null)
  873. {
  874. foreach (var iv in user)
  875. {
  876. if (!string.IsNullOrEmpty(iv.F_Mobile))
  877. {
  878. string count = "您的工单" + workorderid + "收到催办,请及时处理!";
  879. string c = PushMessageController.PushApp("催单提醒", count, iv.F_UserCode, workorderid);
  880. }
  881. }
  882. }
  883. }
  884. }
  885. }
  886. public class receive
  887. {
  888. public string ATTATH_STEP_ID { set; get; }
  889. }
  890. public class receive_material_infos
  891. {
  892. public string code { set; get; }
  893. public string message { set; get; }
  894. public List<bodys> body { set; get; }
  895. }
  896. public class bodys
  897. {
  898. public string ATTATH_TYPE { set; get; }
  899. public string ATTATH_NAME { set; get; }
  900. public string ATTATH_CONTENT { set; get; }
  901. }
  902. /// <summary>
  903. /// 获取附件
  904. /// </summary>
  905. /// <param name="sender"></param>
  906. /// <param name="e"></param>
  907. private string receive_info(string ids)
  908. {
  909. string token = GetToken();
  910. if (string.IsNullOrEmpty(token))
  911. return "";
  912. receive paras = new receive();
  913. paras.ATTATH_STEP_ID = ids;
  914. // values.Add("paras", paras);
  915. string fileid = "";
  916. //序列化参数
  917. string jsonParam = "access_token=" + token + "&paras=" + paras.ToJson();
  918. var responseString = HttpMethods.HttpPost("http://59.227.93.14:9000/share/fjcljk", jsonParam);
  919. receive_material_infos jo = JsonConvert.DeserializeObject<receive_material_infos>(responseString);
  920. if (jo.code == "1")
  921. {
  922. if (jo.body != null && jo.body.Count > 0)
  923. {
  924. List<Model.T_Sys_Accessories> acs = new List<Model.T_Sys_Accessories>();
  925. string path = "/Upload/ZhenWu/" + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MM") + "/" + DateTime.Now.ToString("dd") + "/";
  926. foreach (var it in jo.body)
  927. {
  928. // byte[] data = Encoding.UTF8.GetBytes(it.ATTATH_CONTENT);
  929. FileUp fu = new FileUp();
  930. fu.ByteSaveFile(it.ATTATH_CONTENT, path, it.ATTATH_NAME);
  931. Model.T_Sys_Accessories model_T_Sys_Accessories = new Model.T_Sys_Accessories();
  932. model_T_Sys_Accessories.F_AddTime = DateTime.Now;//上传时间
  933. model_T_Sys_Accessories.F_FileName = it.ATTATH_NAME;//附件名称
  934. model_T_Sys_Accessories.F_FileType = System.IO.Path.GetExtension(it.ATTATH_TYPE);//附件类型
  935. model_T_Sys_Accessories.F_FileUrl = path + it.ATTATH_NAME;//附件地址
  936. //model_T_Sys_Accessories.F_Size = file.ContentLength;
  937. model_T_Sys_Accessories.F_UserCode = "省12345平台";//上传人
  938. int id = new BLL.T_Sys_Accessories().Add(model_T_Sys_Accessories);
  939. model_T_Sys_Accessories.F_FileId = id;
  940. if (string.IsNullOrEmpty(fileid))
  941. fileid = id.ToString();
  942. else
  943. fileid += "," + id.ToString();
  944. acs.Add(model_T_Sys_Accessories);
  945. }
  946. }
  947. }
  948. else
  949. {
  950. string error = "";
  951. error += " 获取附件失败:" + jo.message;
  952. string strSql = string.Format(@"INSERT INTO T_Sys_PushMsg ( [WorkOrderId], [Conent], [CreatTime], [Code], [Message], [Title], [ErrorObjs], [Remarks])
  953. values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}') ;select @@IDENTITY ", "", paras.ToJson(), DateTime.Now, jo.code, jo.message, "获取附件失败", error, "");
  954. object objres = DbHelperSQL.GetSingle(strSql);
  955. }
  956. WebClient web = new WebClient();
  957. web.Encoding = Encoding.UTF8;
  958. string Dataurl = web.DownloadString(NativeURL + "Affairs/SetFileData" + "?ids=" + fileid);
  959. // string Dataurl = web.DownloadString("http://172.20.0.203:8888/" + "Affairs/SetFileData" + "?ids=" + fileid);
  960. return fileid;
  961. }
  962. private string GetToken()
  963. {
  964. //Dictionary<string, object> values = new Dictionary<string, object>();
  965. //values.Add("client_id", "d620caf2-d00f-41a9-ae99-c6dfd435875e");
  966. //values.Add("client_secret", "4f75914e-d517-4325-ac64-c321377b12f0");
  967. //values.Add("grant_type", "client_credentials");
  968. //var jsonParam = JsonConvert.SerializeObject(values);
  969. string jsonParam = "client_id=b3e2ed3b-672a-43a0-80db-21f790c0368d&client_secret=362b50d7-2aa5-4874-9363-6c0ba483dfe9&grant_type=client_credentials";
  970. var responseString = HttpMethods.HttpPost("http://59.227.93.14:8183/rzpt_edc/rest/oauth2/token", jsonParam);
  971. Token jo = JsonConvert.DeserializeObject<Token>(responseString);
  972. if (jo.status.code == "1")
  973. {
  974. if (!string.IsNullOrEmpty(jo.custom.access_token))
  975. return jo.custom.access_token;
  976. else
  977. return "";
  978. }
  979. else
  980. return "";
  981. }
  982. private string GetTokenzsk()
  983. {
  984. //Dictionary<string, object> values = new Dictionary<string, object>();
  985. //values.Add("client_id", "d620caf2-d00f-41a9-ae99-c6dfd435875e");
  986. //values.Add("client_secret", "4f75914e-d517-4325-ac64-c321377b12f0");
  987. //values.Add("grant_type", "client_credentials");
  988. //var jsonParam = JsonConvert.SerializeObject(values);
  989. string jsonParam = "client_id=b3e2ed3b-672a-43a0-80db-21f790c0368d&client_secret=362b50d7-2aa5-4874-9363-6c0ba483dfe9&grant_type=client_credentials";
  990. var responseString = HttpMethods.HttpPost("http://59.227.93.14:8183/rzpt_edc/rest/oauth2/token", jsonParam);
  991. Token jo = JsonConvert.DeserializeObject<Token>(responseString);
  992. if (jo.status.code == "1")
  993. {
  994. if (!string.IsNullOrEmpty(jo.custom.access_token))
  995. return jo.custom.access_token;
  996. else
  997. return "";
  998. }
  999. else
  1000. return "";
  1001. }
  1002. public class Token
  1003. {
  1004. public List<Controls> controls { set; get; }
  1005. public Custom custom { set; get; }
  1006. public Status status { set; get; }
  1007. }
  1008. public class Controls
  1009. {
  1010. }
  1011. public class Custom
  1012. {
  1013. public string access_token { set; get; }
  1014. public string refresh_token { set; get; }
  1015. public string jsessionid { set; get; }
  1016. public string expires_in { set; get; }
  1017. }
  1018. public class Tokenbody
  1019. {
  1020. public string access_token { set; get; }
  1021. public string refresh_token { set; get; }
  1022. public string token_type { set; get; }
  1023. public int expires_in { set; get; }
  1024. }
  1025. public class Status
  1026. {
  1027. public string code { set; get; }
  1028. }
  1029. /// <summary>
  1030. /// 服务工单推送处理结果接口
  1031. /// </summary>
  1032. /// <returns></returns>
  1033. // [Authority]
  1034. public ActionResult push_case_finish()
  1035. {
  1036. StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
  1037. var postString = reader.ReadToEnd();
  1038. JObject paras = null;
  1039. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  1040. var txnBodyCom = paras["paras"].ToString();
  1041. var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
  1042. if (result["CASE_SERIAL"] == null)
  1043. {
  1044. var obj = new
  1045. {
  1046. code = "0",
  1047. message = "CASE_SERIAL不能为空"
  1048. };
  1049. return Content(obj.ToJson());
  1050. }
  1051. if (string.IsNullOrEmpty(result["CASE_SERIAL"].ToString()))
  1052. {
  1053. var obj = new
  1054. {
  1055. code = "0",
  1056. message = "CASE_SERIAL不能为空"
  1057. };
  1058. return Content(obj.ToJson());
  1059. }
  1060. var workoder = DbHelperSQL.GetSingle(" select top 1 F_OldWorkOrder from T_Bus_Mapping where F_NewWorkOrder='" + result["CASE_SERIAL"].ToString() + "'and F_Type=1 order by F_CreateTime desc ");
  1061. string workoderid = result["CASE_SERIAL"].ToString();
  1062. if (workoder != null)
  1063. {
  1064. workoderid = workoder.ToString()
  1065. ;
  1066. }
  1067. Model.T_Bus_WorkOrder modelT_Bus_WorkOrder = workorderBLL.GetModel(workoderid);
  1068. Model.T_Bus_AssignedInfo modelT_Bus_AssignedInfo = assignBLL.GetNewModelByWorkOrderID(workoderid);
  1069. Model.T_Bus_Feedback modelT_Bus_Feedback = new Model.T_Bus_Feedback();
  1070. if (modelT_Bus_WorkOrder != null && modelT_Bus_AssignedInfo != null)
  1071. {
  1072. using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
  1073. {
  1074. #region 插入反馈记录
  1075. Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
  1076. modelT_Bus_Feedback.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;//工单编号
  1077. modelT_Bus_Feedback.F_AssignedId = modelT_Bus_AssignedInfo.F_Id;//交办id
  1078. modelT_Bus_Feedback.F_AuditUser = "";
  1079. modelT_Bus_Feedback.F_DealUser = result["FINISH_NAME"] == null ? "" : result["FINISH_NAME"].ToString();
  1080. modelT_Bus_Feedback.F_Result = result["FINISH_OUNAME"] == null ? "" : result["FINISH_OUNAME"].ToString() + "于时间(" + DateTime.Now.ToString("yyyy年MM月dd日 HH时mm分ss秒") + ")回复:" + result["FINISH_RESULT"] == null ? "" : result["FINISH_RESULT"].ToString();
  1081. #region 20200114新增字段 zhengbingbing
  1082. modelT_Bus_Feedback.F_ProSituation = "";//处理情况/方案/进程
  1083. modelT_Bus_Feedback.F_IsProtect = modelT_Bus_WorkOrder.F_IsProtect;
  1084. modelT_Bus_Feedback.F_DealUserContact = "";//承办人联系方式
  1085. DateTime contime = DateTime.Now;
  1086. modelT_Bus_Feedback.F_IsProResult = 1;
  1087. #endregion
  1088. if (result["FINISH_ATTATH_ID"] != null && !string.IsNullOrEmpty(result["FINISH_ATTATH_ID"].ToString()))
  1089. keyValuePairs.Add("F_File", receive_info(result["FINISH_ATTATH_ID"].ToString()));
  1090. modelT_Bus_Feedback.F_IsAudit = 0;
  1091. modelT_Bus_Feedback.F_IsDelete = 0;
  1092. modelT_Bus_Feedback.F_CreateUser = result["FINISH_NAME"] == null ? "" : result["FINISH_NAME"].ToString();
  1093. modelT_Bus_Feedback.F_CreateTime = DateTime.Now;//办理时间
  1094. modelT_Bus_Feedback.F_CreateDeptId = 633;//办理部门
  1095. modelT_Bus_Feedback.F_IsFeedEnd = 1;
  1096. modelT_Bus_Feedback.F_State = 1;
  1097. new BLL.T_Bus_Feedback().Add(modelT_Bus_Feedback);
  1098. #endregion
  1099. if (modelT_Bus_Feedback != null && modelT_Bus_Feedback.F_State == 1)
  1100. {
  1101. string typemsg = "办理";
  1102. #region 保存工单信息
  1103. keyValuePairs.Add("F_WorkState", 6);
  1104. // modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.dealed;//待回访
  1105. keyValuePairs.Add("F_Result", modelT_Bus_Feedback.F_Result);
  1106. // modelT_Bus_WorkOrder.F_Result = modelT_Bus_Feedback.F_Result;
  1107. keyValuePairs.Add("F_DealDeptId", 633);
  1108. modelT_Bus_WorkOrder.F_DealDeptId = 633;
  1109. keyValuePairs.Add("F_DealUser", result["FINISH_NAME"] == null ? "" : result["FINISH_NAME"].ToString());
  1110. // modelT_Bus_WorkOrder.F_DealUser = result["FINISH_NAME"] == null ? "" : result["FINISH_NAME"].ToString();
  1111. keyValuePairs.Add("F_DealTime", DateTime.Now);
  1112. // modelT_Bus_WorkOrder.F_DealTime = DateTime.Now;
  1113. keyValuePairs.Add("F_IsOverdue", 0);
  1114. // modelT_Bus_WorkOrder.F_IsOverdue = 0;
  1115. workorderBLL.UpdateWorkOrder(modelT_Bus_WorkOrder.F_Id, keyValuePairs);
  1116. #endregion
  1117. #region 保存交办信息
  1118. modelT_Bus_AssignedInfo.F_FeedbackTime = DateTime.Now;
  1119. modelT_Bus_AssignedInfo.F_IsOverdue = 0;
  1120. assignBLL.Update(modelT_Bus_AssignedInfo);
  1121. #endregion
  1122. typemsg = "主办";
  1123. #region 插入操作记录
  1124. Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
  1125. oper.F_WorkOrderId = modelT_Bus_WorkOrder.F_WorkOrderId;
  1126. oper.F_AssignedId = modelT_Bus_AssignedInfo.F_Id;
  1127. oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
  1128. string userinfo = result["FINISH_NAME"] == null ? "" : result["FINISH_NAME"].ToString();
  1129. oper.F_Message = userinfo + " " + typemsg + "了工单";
  1130. oper.F_CreateUser = userinfo;
  1131. oper.F_CreateTime = DateTime.Now;
  1132. oper.F_IsDelete = 0;
  1133. operBLL.Add(oper);
  1134. //推送消息表
  1135. #endregion
  1136. }
  1137. trans.Complete();
  1138. }
  1139. var obj = new
  1140. {
  1141. code = "1",
  1142. message = "反馈成功!"
  1143. };
  1144. return Content(obj.ToJson());
  1145. }
  1146. else
  1147. {
  1148. var obj = new
  1149. {
  1150. code = "0",
  1151. message = "工单不存在!"
  1152. };
  1153. return Content(obj.ToJson());
  1154. }
  1155. }
  1156. /// <summary>
  1157. /// HMACSHA1算法加密
  1158. /// </summary>
  1159. private static string Hmacsha256Encrypt(string encryptText, string encryptKey)
  1160. {
  1161. var encoding = new System.Text.UTF8Encoding();
  1162. var shaKeyBytes = encoding.GetBytes(encryptKey);
  1163. StringBuilder builder = new StringBuilder();
  1164. using (var shaAlgorithm = new System.Security.Cryptography.HMACSHA256(shaKeyBytes))
  1165. {
  1166. var signatureBytes = System.Text.Encoding.UTF8.GetBytes(encryptText);
  1167. var signatureHashBytes = shaAlgorithm.ComputeHash(signatureBytes);
  1168. return System.Convert.ToBase64String(signatureHashBytes);
  1169. }
  1170. }
  1171. /// <summary>
  1172. /// 用种子获取密钥
  1173. /// </summary>
  1174. /// <param name="Seed">种子</param>
  1175. /// <param name="KeyLen">密钥长度(默认为16)</param>
  1176. /// <returns>密钥Key</returns>
  1177. public static byte[] GetKeyBySeed(string Seed, int KeyLen = 16)
  1178. {
  1179. byte[] bySeed = Encoding.UTF8.GetBytes(Seed);
  1180. byte[] byKeyArray = null;
  1181. using (var st = new SHA1CryptoServiceProvider())
  1182. {
  1183. using (var nd = new SHA1CryptoServiceProvider())
  1184. {
  1185. var rd = nd.ComputeHash(st.ComputeHash(bySeed));
  1186. byKeyArray = rd.Take(KeyLen).ToArray();
  1187. }
  1188. }
  1189. return byKeyArray;
  1190. }
  1191. /// <summary>
  1192. /// AES加密
  1193. /// </summary>
  1194. /// <param name="Bytes">明文(byte[])</param>
  1195. /// <param name="Key">密钥(byte[])</param>
  1196. /// <param name="Vector">向量</param>
  1197. /// <returns>密文(byte[])</returns>
  1198. public static byte[] Encrypt(byte[] Bytes, byte[] Key, string Vector)
  1199. {
  1200. RijndaelManaged aes = new RijndaelManaged();
  1201. aes.Mode = CipherMode.CBC;
  1202. aes.Padding = PaddingMode.PKCS7;
  1203. aes.Key = Key;
  1204. aes.IV = Encoding.UTF8.GetBytes(Vector);
  1205. ICryptoTransform cTransform = aes.CreateEncryptor();
  1206. return cTransform.TransformFinalBlock(Bytes, 0, Bytes.Length);
  1207. }
  1208. /// <summary>
  1209. /// AES解密
  1210. /// </summary>
  1211. /// <param name="Bytes">密文(byte[])</param>
  1212. /// <param name="Key">密钥(byte[])</param>
  1213. /// <param name="Vector">向量</param>
  1214. /// <returns>明文(byte[])</returns>
  1215. public static byte[] Decrypt(byte[] Bytes, byte[] Key, string Vector)
  1216. {
  1217. RijndaelManaged aes = new RijndaelManaged();
  1218. aes.Mode = CipherMode.CBC;
  1219. aes.Padding = PaddingMode.PKCS7;
  1220. aes.Key = Key;
  1221. aes.IV = Encoding.UTF8.GetBytes(Vector);
  1222. ICryptoTransform cTransform = aes.CreateDecryptor();
  1223. return cTransform.TransformFinalBlock(Bytes, 0, Bytes.Length);
  1224. }
  1225. /// <summary>
  1226. /// 附件材料接口
  1227. /// </summary>
  1228. /// <returns></returns>
  1229. //[Authority]
  1230. public ActionResult receive_material_info()
  1231. {
  1232. StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
  1233. var postString = reader.ReadToEnd();
  1234. JObject paras = null;
  1235. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  1236. var txnBodyCom = paras["paras"].ToString();
  1237. var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
  1238. var body = GetFileData(result["ATTATH_STEP_ID"].ToString());
  1239. if (body != null)
  1240. {
  1241. var obj = new
  1242. {
  1243. code = "1",
  1244. message = "获取附件成功!",
  1245. body = body
  1246. };
  1247. return Content(obj.ToJson());
  1248. }
  1249. else
  1250. {
  1251. var obj = new
  1252. {
  1253. code = "0",
  1254. message = "获取附件失败!该附件不存在",
  1255. body = ""
  1256. };
  1257. return Content(obj.ToJson());
  1258. }
  1259. }
  1260. /// <summary>
  1261. /// 获取附件数据
  1262. /// </summary>
  1263. /// <param name="ids">附件id,多个用英文逗号,隔开</param>
  1264. /// <param name="prefix">前缀</param>
  1265. /// <returns></returns>
  1266. public List<bodys> GetFileData(string ids)
  1267. {
  1268. DataTable dt = DbHelperSQL.Query("select * from T_Sys_Accessories WITH(NOLOCK) where F_FileId in (" + ids + ")").Tables[0];
  1269. List<bodys> bodys = new List<bodys>();
  1270. foreach (DataRow dr in dt.Rows)
  1271. {
  1272. if (dr["F_UserCode"].ToString() != "知识附件")
  1273. {
  1274. string url = Upload(FrontUrl + dr["F_FileUrl"].ToString(), dr["F_FileName"].ToString(), "/" + dr["F_FileUrl"].ToString().Replace(dr["F_FileName"].ToString(), ""));
  1275. if (url != "1")
  1276. return null;
  1277. }
  1278. bodys body = new bodys();
  1279. body.ATTATH_TYPE = dr["F_FileType"].ToString();
  1280. body.ATTATH_NAME = dr["F_FileName"].ToString();
  1281. FileStream fs = new FileStream(System.Web.HttpContext.Current.Server.MapPath("..") + dr["F_FileUrl"].ToString(), FileMode.Open);
  1282. byte[] filebyte = new byte[fs.Length];
  1283. fs.Read(filebyte, 0, filebyte.Length);
  1284. fs.Close();
  1285. body.ATTATH_CONTENT = Convert.ToBase64String(filebyte);
  1286. bodys.Add(body);
  1287. }
  1288. return bodys;
  1289. }
  1290. public string Upload(string pathUrl, string newFileName, string path)
  1291. {
  1292. //文件下载地址
  1293. try
  1294. {
  1295. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(pathUrl);
  1296. HttpWebResponse response = request.GetResponse() as HttpWebResponse;
  1297. Stream responseStream = response.GetResponseStream();
  1298. string Currentpath = System.Web.HttpContext.Current.Server.MapPath("..") + path;
  1299. // 如果不存在就创建file文件夹
  1300. if (!Directory.Exists(Currentpath))
  1301. {
  1302. if (Currentpath != null) Directory.CreateDirectory(Currentpath);
  1303. }
  1304. Stream stream = new FileStream(Currentpath + newFileName, FileMode.Create);
  1305. byte[] bArr = new byte[1024];
  1306. int size = responseStream.Read(bArr, 0, bArr.Length);
  1307. while (size > 0)
  1308. {
  1309. stream.Write(bArr, 0, size);
  1310. size = responseStream.Read(bArr, 0, bArr.Length);
  1311. }
  1312. stream.Close();
  1313. responseStream.Close();
  1314. return "1";
  1315. }
  1316. catch (Exception e)
  1317. {
  1318. return e.Message;
  1319. }
  1320. }
  1321. private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
  1322. {
  1323. return true; //总是接受
  1324. }
  1325. /// <summary>
  1326. /// 知识审核退回接口
  1327. /// </summary>
  1328. /// <returns></returns>
  1329. //[Authority]
  1330. public ActionResult transmit_kinfo_back()
  1331. {
  1332. StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
  1333. var postString = reader.ReadToEnd();
  1334. JObject paras = null;
  1335. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  1336. var txnBodyCom = paras["paras"].ToString();
  1337. var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
  1338. if (result["KINFO_ID"] == null)
  1339. {
  1340. var obj1 = new
  1341. {
  1342. code = "0",
  1343. message = "KINFO_ID不能为空"
  1344. };
  1345. return Content(obj1.ToJson());
  1346. }
  1347. using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
  1348. {
  1349. Model.T_Sys_kinfoQuestions model = new Model.T_Sys_kinfoQuestions();
  1350. model.KINFO_ID = result["KINFO_ID"].ToString();
  1351. model.KINFO_KNAME = result["KINFO_KNAME"].ToString();
  1352. model.KINFO_KCONTENT = result["KINFO_KCONTENT"].ToString();
  1353. model.KINFO_KCONTENT = result["KINFO_KCONTENT"].ToString();
  1354. model.ReKINFO_REASON = result["KINFO_REASON"].ToString();
  1355. model.F_CreateTime = DateTime.Now;
  1356. model.F_State = 3;
  1357. model.F_IsDelete = 0;
  1358. int n = new BLL.T_Sys_kinfoQuestions().Add(model);
  1359. if (n > 0)
  1360. {
  1361. var obj1 = new
  1362. {
  1363. code = "1",
  1364. message = "推送成功"
  1365. };
  1366. trans.Complete();
  1367. return Content(obj1.ToJson());
  1368. }
  1369. else
  1370. {
  1371. var obj1 = new
  1372. {
  1373. code = "0",
  1374. message = "推送失败"
  1375. };
  1376. trans.Complete();
  1377. return Content(obj1.ToJson());
  1378. }
  1379. }
  1380. }
  1381. /// <summary>
  1382. /// 知识提问接口
  1383. /// </summary>
  1384. /// <returns></returns>
  1385. //[Authority]
  1386. public ActionResult transmit_kinfo_quiz()
  1387. {
  1388. StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
  1389. var postString = reader.ReadToEnd();
  1390. JObject paras = null;
  1391. paras = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(postString);
  1392. var txnBodyCom = paras["paras"].ToString();
  1393. var result = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(txnBodyCom);
  1394. if (result["KINFO_ID"] == null)
  1395. {
  1396. var obj1 = new
  1397. {
  1398. code = "0",
  1399. message = "KINFO_ID不能为空"
  1400. };
  1401. return Content(obj1.ToJson());
  1402. }
  1403. using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
  1404. {
  1405. Model.T_Sys_kinfoQuestions model = new Model.T_Sys_kinfoQuestions();
  1406. model.KINFO_ID = result["KINFO_ID"].ToString();
  1407. model.KINFO_KNAME = result["KINFO_KNAME"].ToString();
  1408. model.KINFO_KCONTENT = result["KINFO_KCONTENT"].ToString();
  1409. model.F_CreateTime = DateTime.Now;
  1410. model.F_State = 0;
  1411. model.F_IsDelete = 0;
  1412. int n = new BLL.T_Sys_kinfoQuestions().Add(model);
  1413. if (n > 0)
  1414. {
  1415. var obj1 = new
  1416. {
  1417. code = "1",
  1418. message = "推送成功"
  1419. };
  1420. trans.Complete();
  1421. return Content(obj1.ToJson());
  1422. }
  1423. else
  1424. {
  1425. var obj1 = new
  1426. {
  1427. code = "0",
  1428. message = "推送失败"
  1429. };
  1430. trans.Complete();
  1431. return Content(obj1.ToJson());
  1432. }
  1433. }
  1434. }
  1435. }
  1436. }