GetDutyProcedureByBarCode_WCF.ashx 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <%@ WebHandler Language="C#" Class="GetDutyProcedureByBarCode_WCF" %>
  2. using System.Web;
  3. using System.Web.SessionState;
  4. using System.Web.Configuration;
  5. using Newtonsoft.Json.Linq;
  6. using Curtain.DataAccess;
  7. using Curtain.Log;
  8. using DK.XuWei.WebMes;
  9. /// <summary>
  10. /// 从WCF接口获取 责任工序
  11. /// xuwei 2019-11-11
  12. /// </summary>
  13. public class GetDutyProcedureByBarCode_WCF : IHttpHandler, IReadOnlySessionState
  14. {
  15. public void ProcessRequest(HttpContext context)
  16. {
  17. context.Response.ContentType = "text/plain";
  18. WCF wcf = new WCF();
  19. wcf.Para = wcf.LoadParaBySession();
  20. wcf.Para.Add("barcode", context.Request["barcode"]);
  21. wcf.Para.Add("defectid", context.Request["defectid"]);
  22. string jsonStr = wcf.Post("/DKService/PDAModuleService/GetDutyProcedureByBarCode");
  23. JObject json = JObject.Parse(jsonStr);
  24. JArray procedure = JArray.Parse(json["TProcedure"].ToString());
  25. JArray jobs = JArray.Parse(json["TP_PC_DefectProcedureJobs"].ToString());
  26. //将JOBSID整合进TProcedure中 默认读列表 第一个 如果有procedureid相等的取相等jobsid
  27. for(int i=0;i<procedure.Count;i++)
  28. {
  29. string jobsId = "";
  30. for(int j=0;j<jobs.Count;j++)
  31. {
  32. if (j == 0) jobsId = jobs[j]["JOBSID"].ToString();
  33. if(procedure[i]["DUTYPROCEDUREID"].ToString() == jobs[j]["PROCEDUREID"].ToString())
  34. jobsId = jobs[j]["JOBSID"].ToString();
  35. }
  36. ((JObject)procedure[i]).Add(new JProperty("JOBSID", jobsId));
  37. }
  38. jsonStr = ("{'success':true,'message':'操作成功!','rows':" + procedure.ToString() + "}").Replace("'","\"");
  39. context.Response.Write(jsonStr);
  40. }
  41. public bool IsReusable
  42. {
  43. get
  44. {
  45. return false;
  46. }
  47. }
  48. }