setupDefect.ashx 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <%@ WebHandler Language="C#" Class="setupDefect" %>
  2. using System;
  3. using System.Web;
  4. using System.Data;
  5. using DK.XuWei.WebMes;
  6. using Curtain.DataAccess;
  7. public class setupDefect : IHttpHandler
  8. {
  9. public void ProcessRequest(HttpContext context)
  10. {
  11. context.Response.ContentType = "text/plain";
  12. using (IDataAccess conn = DataAccess.Create())
  13. {
  14. //插入缺陷类别
  15. string defectTypeInsertStr = "";
  16. DataTable dt1 = conn.ExecuteDatatable(@"
  17. SELECT
  18. DISTINCT 类别ID,类别名称
  19. FROM
  20. 成检缺陷
  21. ORDER BY 类别ID
  22. "
  23. );
  24. for(int i = 0; i < dt1.Rows.Count; i++)
  25. {
  26. defectTypeInsertStr += "INSERT INTO TP_MST_DEFECTTYPE (DEFECTTYPEID, DEFECTTYPENAME, ACCOUNTID, CREATEUSERID, UPDATEUSERID, DISPLAYNO) VALUES("+dt1.Rows[i]["类别ID"]+", '"+dt1.Rows[i]["类别名称"]+"', 1, 3, 3, "+dt1.Rows[i]["类别ID"]+");"+"\n";
  27. }
  28. //context.Response.Write(defectTypeInsertStr);
  29. //插入缺陷
  30. string defectInsertStr = "";
  31. DataTable dt2 = conn.ExecuteDatatable(@"
  32. SELECT
  33. *
  34. FROM
  35. 成检缺陷
  36. ORDER BY 类别ID,缺陷ID
  37. "
  38. );
  39. for(int i = 0; i < dt2.Rows.Count; i++)
  40. {
  41. defectInsertStr += "INSERT INTO TP_MST_DEFECT (DEFECTID,DEFECTCODE,DEFECTNAME,ACCOUNTID,CREATEUSERID,UPDATEUSERID,DEFECTTYPEID,DISPLAYNO) VALUES ("+dt2.Rows[i]["缺陷ID"]+",'"+dt2.Rows[i]["代码"]+"','"+dt2.Rows[i]["缺陷名称"]+"',1,3,3,"+dt2.Rows[i]["类别ID"]+","+dt2.Rows[i]["缺陷ID"]+");\n";
  42. }
  43. //context.Response.Write(defectInsertStr);
  44. //工序可检缺陷
  45. string procedureDefectInsertStr = "";
  46. DataTable dt3 = conn.ExecuteDatatable(@"
  47. SELECT
  48. d.*,
  49. p.NODENO
  50. FROM
  51. 成检缺陷 d
  52. LEFT JOIN TP_PC_PROCEDURE p ON d.检验工序ID = p.PROCEDUREID
  53. ORDER BY
  54. 类别ID,缺陷ID
  55. "
  56. );
  57. for(int i = 0; i < dt3.Rows.Count; i++)
  58. {
  59. procedureDefectInsertStr += "INSERT INTO TP_PC_PROCEDUREDEFECT ( PRODUCTIONLINEID, PROCEDUREID, NODENO, DEFECTID, CREATEUSERID ) VALUES ( 1, "+dt3.Rows[i]["检验工序ID"]+", "+dt3.Rows[i]["NODENO"]+", "+dt3.Rows[i]["缺陷ID"]+", 3 );\n";
  60. }
  61. //context.Response.Write(procedureDefectInsertStr);
  62. //产量扣罚
  63. string DefectDeductionInsertStr = "";
  64. DataTable dt4 = conn.ExecuteDatatable(@"
  65. SELECT
  66. d.*,
  67. p.NODENO
  68. FROM
  69. 成检缺陷 d
  70. LEFT JOIN TP_PC_PROCEDURE p ON d.检验工序ID = p.PROCEDUREID
  71. ORDER BY
  72. 类别ID,缺陷ID
  73. "
  74. );
  75. for(int i = 0; i < dt4.Rows.Count; i++)
  76. {
  77. DefectDeductionInsertStr += "INSERT INTO TP_MST_DEFECTDEDUCTIONRELATION ( DEFECTID, DEFECTDEDUCTIONID, CREATEUSERID, UPDATEUSERID ) VALUES ( "+dt4.Rows[i]["缺陷ID"]+", "+dt4.Rows[i]["产量扣罚"]+", 3, 3);\n";
  78. }
  79. //context.Response.Write(DefectDeductionInsertStr);
  80. //缺陷扣罚
  81. string DefectFineInsertStr = "";
  82. DataTable dt5 = conn.ExecuteDatatable(@"
  83. SELECT
  84. d.*,
  85. p.NODENO
  86. FROM
  87. 成检缺陷 d
  88. LEFT JOIN TP_PC_PROCEDURE p ON d.检验工序ID = p.PROCEDUREID
  89. ORDER BY
  90. 类别ID,缺陷ID
  91. "
  92. );
  93. for(int i = 0; i < dt5.Rows.Count; i++)
  94. {
  95. DefectFineInsertStr += "INSERT INTO TP_MST_DEFECTFINERELATION ( DEFECTID, DEFECTFINEID, CREATEUSERID, UPDATEUSERID ) VALUES ( "+dt4.Rows[i]["缺陷ID"]+", "+dt4.Rows[i]["品质扣罚"]+", 3, 3);\n";
  96. }
  97. //context.Response.Write(DefectFineInsertStr);
  98. //责任工序工种 NODENO 不准 要重新修正
  99. string DefectProcedureJobsInsertStr = "";
  100. DataTable dt6 = conn.ExecuteDatatable(@"
  101. SELECT
  102. d.*,
  103. p.NODENO
  104. FROM
  105. 成检缺陷 d
  106. LEFT JOIN TP_PC_PROCEDURE p ON d.检验工序ID = p.PROCEDUREID
  107. ORDER BY
  108. 类别ID,缺陷ID
  109. "
  110. );
  111. for(int i = 0; i < dt6.Rows.Count; i++)
  112. {
  113. if(!string.IsNullOrEmpty(dt6.Rows[i]["责任工序ID"].ToString()))
  114. {
  115. string[] defectProcedures = dt6.Rows[i]["责任工序ID"].ToString().Split(',');
  116. for(int j = 0; j < defectProcedures.Length; j++)
  117. {
  118. string[] jobs = dt6.Rows[i]["责任工种ID"].ToString().Split(',');
  119. for(int k = 0; k < jobs.Length; k++)
  120. {
  121. DefectProcedureJobsInsertStr += "INSERT INTO TP_PC_DEFECTPROCEDUREJOBS ( DEFECTID, PRODUCTIONLINEID, PROCEDUREID, NODENO, JOBSID, CREATEUSERID ) VALUES ( "+dt6.Rows[i]["缺陷ID"]+", 1, "+defectProcedures[j]+", "+dt6.Rows[i]["NODENO"]+", "+jobs[k]+", 3);\n";
  122. }
  123. }
  124. }
  125. }
  126. context.Response.Write(DefectProcedureJobsInsertStr);
  127. }
  128. }
  129. public bool IsReusable
  130. {
  131. get
  132. {
  133. return false;
  134. }
  135. }
  136. }