getDefect.ashx 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <%@ WebHandler Language="C#" Class="getDefect" %>
  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 getDefect : IHttpHandler
  13. {
  14. public void ProcessRequest(HttpContext context)
  15. {
  16. context.Response.ContentType = "text/plain";
  17. using (IDataAccess conn = DataAccess.Create())
  18. {
  19. string sqlStr = @"
  20. SELECT
  21. --P.GROUTINGDAILYDETAILID AS 注浆明细,
  22. P.BARCODE AS 条码,
  23. P.GOODSCODE AS 产品,
  24. G.USERCODE AS 成型工号,
  25. A.LINENO AS 线号,
  26. A.SEQNO AS 位置,
  27. COUNT(*) AS 缺陷数量,
  28. LISTAGG ( TO_CHAR( '【缺陷:' || D.DEFECTNAME || ' 工序:' || D.DEFECTPROCEDURENAME || ' 工号:' || D.DEFECTUSERCODE || '】' ), ',' ) WITHIN GROUP ( ORDER BY P.GROUTINGDAILYDETAILID ) AS 缺陷
  29. FROM
  30. TP_PM_PRODUCTIONDATA P
  31. LEFT JOIN TP_PM_GROUTINGDAILYDETAIL G ON G.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  32. LEFT JOIN TP_PM_DEFECTIVEAREA A ON A.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
  33. LEFT JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = P.PRODUCTIONDATAID
  34. WHERE
  35. P.VALUEFLAG = '1'
  36. AND P.PROCEDUREID IN ( 12, 59, 105 ) -- 12 8-1质量登记 59 8-2重烧质量登记 105 3#质量登记
  37. AND P.CREATETIME >= TRUNC(SYSDATE)
  38. AND P.CREATETIME < TRUNC(SYSDATE+1)
  39. AND P.GOODSLEVELTYPEID IN ( 7 ) -- 次品
  40. AND (G.USERCODE = @USERCODE@ OR @USERCODE@ IS NULL)
  41. GROUP BY
  42. P.GROUTINGDAILYDETAILID,
  43. P.GOODSCODE,
  44. G.USERCODE,
  45. P.BARCODE,
  46. A.LINENO,
  47. A.SEQNO
  48. ";
  49. string userCode = context.Request["userCode"] is object ? context.Request["userCode"].ToString() : "";
  50. int pageNumber = context.Request["pageNumber"] is object ? Convert.ToInt32(context.Request["pageNumber"]) : 0;
  51. int pageSize = context.Request["pageSize"] is object ? Convert.ToInt32(context.Request["pageSize"]) : 10;
  52. List<CDAParameter> para = new List<CDAParameter>();
  53. para.Add(new CDAParameter("USERCODE", userCode));
  54. int rowsCount = 0;
  55. DataTable dt = conn.SelectPages(pageNumber, pageSize,out rowsCount, sqlStr, para.ToArray());
  56. context.Response.Write(new JsonResult(dt) { total = rowsCount }.ToJson());
  57. }
  58. }
  59. public bool IsReusable
  60. {
  61. get
  62. {
  63. return false;
  64. }
  65. }
  66. }