GetCheckBarcode_WCF.ashx 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <%@ WebHandler Language="C#" Class="GetCheckBarcode_WCF" %>
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Web;
  5. using System.Web.SessionState;
  6. using System.Configuration;
  7. using System.Data;
  8. using Newtonsoft.Json;
  9. using Curtain.DataAccess;
  10. using Curtain.Log;
  11. using DK.XuWei.WebMes;
  12. public class GetCheckBarcode_WCF : IHttpHandler
  13. {
  14. public void ProcessRequest(HttpContext context)
  15. {
  16. context.Response.ContentType = "text/plain";
  17. using (IDataAccess conn = DataAccess.Create())
  18. {
  19. string barcode = context.Request["barcode"].ToString();
  20. string type = context.Request["type"].ToString();
  21. //包装条码
  22. if (barcode.Length ==8)
  23. {
  24. DataTable procedurename = conn.ExecuteDatatable(@"
  25. SELECT BARCODE
  26. FROM TP_PM_GROUTINGDAILYDETAIL
  27. WHERE SERVICECODE = @OUTLABELCODE@",
  28. new CDAParameter("OUTLABELCODE", barcode.Substring(barcode.IndexOf('-')+1))
  29. );
  30. barcode = procedurename.Rows[0]["BARCODE"].ToString();
  31. }
  32. else if (barcode.Length == 28)
  33. {
  34. DataTable procedurename = conn.ExecuteDatatable(@"
  35. SELECT BARCODE
  36. FROM TP_PM_GROUTINGDAILYDETAIL
  37. WHERE OUTLABELCODE = @OUTLABELCODE@",
  38. new CDAParameter("OUTLABELCODE", barcode)
  39. );
  40. barcode = procedurename.Rows[0]["BARCODE"].ToString();
  41. }
  42. DataTable hourTable = conn.ExecuteDatatable(@" SELECT TO_CHAR(SYSDATE, 'HH24') AS hour FROM DUAL"
  43. );
  44. int hour = Convert.ToInt32(hourTable.Rows[0]["hour"]);
  45. string classes = "";
  46. //A班
  47. if (hour >= 7 && hour < 18)
  48. {
  49. classes = "A";
  50. }
  51. else
  52. {
  53. classes = "B";
  54. }
  55. //调用检验条码存储过程
  56. List<CDAParameter> sqlPara = new List<CDAParameter>();
  57. sqlPara.Add(new CDAParameter("IN_BARCODE", barcode));
  58. sqlPara.Add(new CDAParameter("IN_TYPE", type));
  59. sqlPara.Add(new CDAParameter("IN_CLASS", classes));
  60. sqlPara.Add(new CDAParameter("OUT_ERRMSG", DataType.VarChar,50, ParameterDirection.Output));
  61. sqlPara.Add(new CDAParameter("OUT_INFO", DataType.VarChar,50, ParameterDirection.Output));
  62. sqlPara.Add(new CDAParameter("OUT_RESULT", DataType.Cursor, ParameterDirection.Output));
  63. DataTable barcodeTable = conn.ExecuteSPDatatable("PRO_PM_CHECKBARCODE_FQC", sqlPara.ToArray());
  64. context.Response.Write(new JsonResult(barcodeTable).ToJson());
  65. }
  66. }
  67. public bool IsReusable
  68. {
  69. get
  70. {
  71. return false;
  72. }
  73. }
  74. }