AddCheckBarcode_WCF.ashx 8.7 KB

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