GetAllDefectFine_WCF.ashx 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <%@ WebHandler Language="C#" Class="GetAllDefectFine_WCF" %>
  2. using System.Web;
  3. using System.Web.SessionState;
  4. using System.Web.Configuration;
  5. using System.Collections;
  6. using Newtonsoft.Json.Linq;
  7. using Curtain.DataAccess;
  8. using Curtain.Log;
  9. using DK.XuWei.WebMes;
  10. /// <summary>
  11. /// 从WCF接口获取 缺陷扣罚
  12. /// xuwei 2019-11-11
  13. /// </summary>
  14. public class GetAllDefectFine_WCF : IHttpHandler, IReadOnlySessionState
  15. {
  16. public void ProcessRequest(HttpContext context)
  17. {
  18. context.Response.ContentType = "text/plain";
  19. string defectId = context.Request["defectid"].ToString();
  20. WCF wcf = new WCF();
  21. wcf.Para = wcf.LoadParaBySession();
  22. string defectStr = wcf.Post("/DKService/PDAModuleService/GetAllDefectFine");
  23. string relationStr = wcf.Post("/DKService/PDAModuleService/GetAllDefectFineRelation");
  24. JArray defectArray = JArray.Parse(defectStr);
  25. JArray relationArray = JArray.Parse(relationStr);
  26. ArrayList jsonList = new ArrayList();
  27. //两个返回结果共有的才有效 并且缺陷关系的ID与缺陷ID相等
  28. for (int i = 0; i < defectArray.Count; i++)
  29. {
  30. for (int j = 0; j < relationArray.Count; j++)
  31. {
  32. if (relationArray[j]["DefectFineID"].ToString().IndexOf(defectArray[i]["DEFECTFINEID"].ToString() + "-") == 0
  33. && relationArray[j]["DefectID"].ToString() == defectId)
  34. {
  35. JObject o = new JObject(
  36. new JProperty("DEFECTFINEID", defectArray[i]["DEFECTFINEID"].ToString()),
  37. new JProperty("DEFECTFINECODE", defectArray[i]["DEFECTFINECODE"].ToString())
  38. );
  39. jsonList.Add(o);
  40. break;
  41. }
  42. }
  43. }
  44. JArray jsonArray = new JArray();
  45. for (int i = 0; i < jsonList.Count; i++) jsonArray.Add((JObject)jsonList[i]);
  46. string jsonStr = jsonArray.ToString();
  47. jsonStr = ("{'success':true,'message':'操作成功!','rows':" + jsonStr + "}").Replace("'","\"");
  48. context.Response.Write(jsonStr);
  49. }
  50. public bool IsReusable
  51. {
  52. get
  53. {
  54. return false;
  55. }
  56. }
  57. }