AddCheckBarcode_WCF.ashx 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <%@ WebHandler Language="C#" Class="AddCheckBarcode_WCF" %>
  2. using System.Web;
  3. using System.Data;
  4. using System;
  5. using System.Web.SessionState;
  6. using System.Web.Configuration;
  7. using Newtonsoft.Json;
  8. using Newtonsoft.Json.Linq;
  9. using System.Collections;
  10. using Curtain.DataAccess;
  11. using Curtain.Log;
  12. using DK.XuWei.WebMes;
  13. /// <summary>
  14. /// 从WCF接口获取 成检保存
  15. /// xuwei 2019-11-11
  16. /// </summary>
  17. public class AddCheckBarcode_WCF : IHttpHandler, IReadOnlySessionState
  18. {
  19. public void ProcessRequest(HttpContext context)
  20. {
  21. //处理提交数据
  22. if(context.Request["productionDataEntitys"] is object)
  23. {
  24. //提交到接口
  25. WCF wcf = new WCF();
  26. wcf.Para = wcf.LoadParaBySession();
  27. wcf.Para.Add(new JProperty("procedureID", context.Request["procedureID"]));
  28. wcf.Para.Add(new JProperty("productionDataEntitys",JArray.Parse(context.Request["productionDataEntitys"])));
  29. string barcode = context.Request["barcode"];
  30. string jsonStr = "";
  31. if (string.IsNullOrWhiteSpace(barcode))
  32. {
  33. jsonStr = ("{'success':false,'message':'数据不完整,请刷新页面重新提交!','rows':'" + jsonStr + "'}").Replace("'", "\"");
  34. Logger.Info(jsonStr+ ";保存信息:"+ context.Request["productionDataEntitys"]);
  35. }
  36. else
  37. {
  38. jsonStr = wcf.Post("/DKService/PDAModuleService/AddCheckBarcode");
  39. if (jsonStr != "")
  40. {
  41. //成检重复提交判断 2020-06-28 xuwei
  42. if (jsonStr == "重复提交")
  43. {
  44. jsonStr = ("{'success':false,'message':'重复提交!','rows':'" + jsonStr + "'}").Replace("'", "\"");
  45. }
  46. else if (jsonStr.IndexOf("PLC写入失败") >= 0)
  47. {
  48. jsonStr = ("{'success':false,'message':'PLC写入失败!','rows':'" + jsonStr + "'}").Replace("'", "\"");
  49. }
  50. else if (jsonStr.IndexOf("666") >= 0)
  51. {
  52. jsonStr = ("{'success':false,'message':'" + jsonStr.Replace("666:","") + "','rows':'" + jsonStr + "'}").Replace("'", "\"");
  53. }
  54. else
  55. {
  56. jsonStr = ("{'success':true,'message':'操作成功!','rows':'" + jsonStr + "'}").Replace("'", "\"");
  57. //20230313 重查询该品的大小件,更改返工工序
  58. using (IDataAccess conn = DataAccess.Create())
  59. {
  60. if (!string.IsNullOrEmpty(context.Request["barcode"] + "") && Convert.ToInt32(context.Request["procedureID"]) == 104)
  61. {
  62. DataTable dtMatnr = conn.ExecuteDatatable(@"
  63. SELECT p.productiondataid
  64. FROM tp_pm_productiondata p
  65. LEFT JOIN tp_mst_goods g
  66. ON g.goodsid = p.goodsid
  67. LEFT JOIN tp_mst_goodstype t
  68. ON t.goodstypeid = g.goodstypeid
  69. WHERE p.barcode = @BARCODE@
  70. AND p.valueflag = '1'
  71. AND p.goodsleveltypeid = 6
  72. AND p.reworkprocedureid = 57
  73. AND instr(t.goodstypecode, '001001') > 0 ",
  74. new CDAParameter("BARCODE", context.Request["barcode"])
  75. );
  76. //大件
  77. if (dtMatnr.Rows.Count > 0)
  78. {
  79. int resultup = conn.ExecuteNonQuery(@"
  80. UPDATE tp_pm_productiondatain pdi
  81. SET pdi.reworkprocedureid = 138
  82. ,pdi.reworkprocedurename = '重烧接收'
  83. WHERE pdi.productiondataid = @productiondataid@
  84. ", new CDAParameter("productiondataid", dtMatnr.Rows[0]["productiondataid"])
  85. );
  86. int resultup1 = conn.ExecuteNonQuery(@"
  87. UPDATE tp_pm_productiondata pdi
  88. SET pdi.reworkprocedureid = 138
  89. ,pdi.reworkprocedurename = '重烧接收'
  90. WHERE pdi.productiondataid = @productiondataid@
  91. ", new CDAParameter("productiondataid", dtMatnr.Rows[0]["productiondataid"])
  92. );
  93. int resultup2 = conn.ExecuteNonQuery(@"
  94. UPDATE tp_pm_inproduction pi
  95. SET pi.reworkprocedureid = 138
  96. WHERE pi.barcode = @BARCODE@
  97. ", new CDAParameter("BARCODE", context.Request["barcode"])
  98. );
  99. }
  100. else
  101. {
  102. DataTable dtMatnr1 = conn.ExecuteDatatable(@"
  103. SELECT p.productiondataid
  104. FROM tp_pm_productiondata p
  105. LEFT JOIN tp_mst_goods g
  106. ON g.goodsid = p.goodsid
  107. LEFT JOIN tp_mst_goodstype t
  108. ON t.goodstypeid = g.goodstypeid
  109. WHERE p.barcode = @BARCODE@
  110. AND p.valueflag = '1'
  111. AND p.goodsleveltypeid = 6
  112. AND p.reworkprocedureid = 138
  113. AND instr(t.goodstypecode, '001002') > 0 ",
  114. new CDAParameter("BARCODE", context.Request["barcode"])
  115. );
  116. //小件
  117. if (dtMatnr1.Rows.Count > 0)
  118. {
  119. int resultup = conn.ExecuteNonQuery(@"
  120. UPDATE tp_pm_productiondatain pdi
  121. SET pdi.reworkprocedureid = 57
  122. ,pdi.reworkprocedurename = '4-5重烧交接'
  123. WHERE pdi.productiondataid = @productiondataid@
  124. ", new CDAParameter("productiondataid", dtMatnr1.Rows[0]["productiondataid"])
  125. );
  126. int resultup1 = conn.ExecuteNonQuery(@"
  127. UPDATE tp_pm_productiondata pdi
  128. SET pdi.reworkprocedureid = 57
  129. ,pdi.reworkprocedurename = '4-5重烧交接'
  130. WHERE pdi.productiondataid = @productiondataid@
  131. ", new CDAParameter("productiondataid", dtMatnr1.Rows[0]["productiondataid"])
  132. );
  133. int resultup2 = conn.ExecuteNonQuery(@"
  134. UPDATE tp_pm_inproduction pi
  135. SET pi.reworkprocedureid = 57
  136. WHERE pi.barcode = @BARCODE@
  137. ", new CDAParameter("BARCODE", context.Request["barcode"])
  138. );
  139. }
  140. }
  141. }
  142. }
  143. }
  144. }
  145. else
  146. {
  147. jsonStr = ("{'success':false,'message':'操作失败!','rows':'" + jsonStr + "'}").Replace("'", "\"");
  148. }
  149. }
  150. context.Response.Write(jsonStr);
  151. }
  152. else
  153. {
  154. string jsonStr = ("{'success':false,'message':'操作失败!','rows':''}").Replace("'","\"");
  155. context.Response.Write(jsonStr);
  156. }
  157. }
  158. public bool IsReusable
  159. {
  160. get
  161. {
  162. return false;
  163. }
  164. }
  165. }