GetAllDefectDeduction_WCF.ashx 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <%@ WebHandler Language="C#" Class="GetAllDefectDeduction_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 GetAllDefectDeduction_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/GetAllDefectDeduction");
  23. string relationStr = wcf.Post("/DKService/PDAModuleService/GetAllDefectDeductionRelation");
  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. if(relationStr!="")
  31. {
  32. //如果配置扣罚关系
  33. for (int j = 0; j < relationArray.Count; j++)
  34. {
  35. if (relationArray[j]["DefectDeductionNum"].ToString().IndexOf(defectArray[i]["DEFECTDEDUCTIONNUM"].ToString() + "-") == 0
  36. && relationArray[j]["DefectID"].ToString() == defectId)
  37. {
  38. JObject o = new JObject(
  39. new JProperty("DEFECTDEDUCTIONID", defectArray[i]["DEFECTDEDUCTIONID"].ToString()),
  40. new JProperty("DEFECTDEDUCTIONNUM", defectArray[i]["DEFECTDEDUCTIONNUM"].ToString())
  41. );
  42. jsonList.Add(o);
  43. break;
  44. }
  45. }
  46. }
  47. else
  48. {
  49. //如果没有配置扣罚关系
  50. for (int j = 0; j < relationArray.Count; j++)
  51. {
  52. JObject o = new JObject(
  53. new JProperty("DEFECTDEDUCTIONID", defectArray[i]["DEFECTDEDUCTIONID"].ToString()),
  54. new JProperty("DEFECTDEDUCTIONNUM", defectArray[i]["DEFECTDEDUCTIONNUM"].ToString())
  55. );
  56. jsonList.Add(o);
  57. }
  58. }
  59. }
  60. JArray jsonArray = new JArray();
  61. for (int i = 0; i < jsonList.Count; i++) jsonArray.Add((JObject)jsonList[i]);
  62. string jsonStr = jsonArray.ToString();
  63. jsonStr = ("{'success':true,'message':'操作成功!','rows':" + jsonStr + "}").Replace("'","\"");
  64. context.Response.Write(jsonStr);
  65. }
  66. public bool IsReusable
  67. {
  68. get
  69. {
  70. return false;
  71. }
  72. }
  73. }