<%@ WebHandler Language="C#" Class="setupDefect" %> using System; using System.Web; using System.Data; using DK.XuWei.WebMes; using Curtain.DataAccess; public class setupDefect : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; using (IDataAccess conn = DataAccess.Create()) { //插入缺陷类别 string defectTypeInsertStr = ""; DataTable dt1 = conn.ExecuteDatatable(@" SELECT DISTINCT 类别ID,类别名称 FROM 成检缺陷 ORDER BY 类别ID " ); for(int i = 0; i < dt1.Rows.Count; i++) { 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"; } //context.Response.Write(defectTypeInsertStr); //插入缺陷 string defectInsertStr = ""; DataTable dt2 = conn.ExecuteDatatable(@" SELECT * FROM 成检缺陷 ORDER BY 类别ID,缺陷ID " ); for(int i = 0; i < dt2.Rows.Count; i++) { 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"; } //context.Response.Write(defectInsertStr); //工序可检缺陷 string procedureDefectInsertStr = ""; DataTable dt3 = conn.ExecuteDatatable(@" SELECT d.*, p.NODENO FROM 成检缺陷 d LEFT JOIN TP_PC_PROCEDURE p ON d.检验工序ID = p.PROCEDUREID ORDER BY 类别ID,缺陷ID " ); for(int i = 0; i < dt3.Rows.Count; i++) { 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"; } //context.Response.Write(procedureDefectInsertStr); //产量扣罚 string DefectDeductionInsertStr = ""; DataTable dt4 = conn.ExecuteDatatable(@" SELECT d.*, p.NODENO FROM 成检缺陷 d LEFT JOIN TP_PC_PROCEDURE p ON d.检验工序ID = p.PROCEDUREID ORDER BY 类别ID,缺陷ID " ); for(int i = 0; i < dt4.Rows.Count; i++) { DefectDeductionInsertStr += "INSERT INTO TP_MST_DEFECTDEDUCTIONRELATION ( DEFECTID, DEFECTDEDUCTIONID, CREATEUSERID, UPDATEUSERID ) VALUES ( "+dt4.Rows[i]["缺陷ID"]+", "+dt4.Rows[i]["产量扣罚"]+", 3, 3);\n"; } //context.Response.Write(DefectDeductionInsertStr); //缺陷扣罚 string DefectFineInsertStr = ""; DataTable dt5 = conn.ExecuteDatatable(@" SELECT d.*, p.NODENO FROM 成检缺陷 d LEFT JOIN TP_PC_PROCEDURE p ON d.检验工序ID = p.PROCEDUREID ORDER BY 类别ID,缺陷ID " ); for(int i = 0; i < dt5.Rows.Count; i++) { DefectFineInsertStr += "INSERT INTO TP_MST_DEFECTFINERELATION ( DEFECTID, DEFECTFINEID, CREATEUSERID, UPDATEUSERID ) VALUES ( "+dt4.Rows[i]["缺陷ID"]+", "+dt4.Rows[i]["品质扣罚"]+", 3, 3);\n"; } //context.Response.Write(DefectFineInsertStr); //责任工序工种 NODENO 不准 要重新修正 string DefectProcedureJobsInsertStr = ""; DataTable dt6 = conn.ExecuteDatatable(@" SELECT d.*, p.NODENO FROM 成检缺陷 d LEFT JOIN TP_PC_PROCEDURE p ON d.检验工序ID = p.PROCEDUREID ORDER BY 类别ID,缺陷ID " ); for(int i = 0; i < dt6.Rows.Count; i++) { if(!string.IsNullOrEmpty(dt6.Rows[i]["责任工序ID"].ToString())) { string[] defectProcedures = dt6.Rows[i]["责任工序ID"].ToString().Split(','); for(int j = 0; j < defectProcedures.Length; j++) { string[] jobs = dt6.Rows[i]["责任工种ID"].ToString().Split(','); for(int k = 0; k < jobs.Length; k++) { 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"; } } } } context.Response.Write(DefectProcedureJobsInsertStr); } } public bool IsReusable { get { return false; } } }