<%@ WebHandler Language="C#" Class="updateHSE" %> using System; using System.Web; using eMIS; using System.Web.SessionState; public class updateHSE : IHttpHandler,IRequiresSessionState { DbOperate dbo = null; int gindex = 0; public void ProcessRequest(HttpContext context) { string userid = context.Request.QueryString["userid"].ToString(); if (context.Session["userid"] == null || context.Session["userid"].ToString() == "") { context.Session["userid"] = context.Request.QueryString["userid"].ToString(); } string wwwroot = context.Request.ApplicationPath; if (wwwroot == "/") wwwroot = ""; string parm = context.Request.QueryString["parm"].ToString(); Log.WriteLog(context.Server.MapPath("../hse/logs"), "获取的parm集合:" + parm); string[] parms = parm.Split(','); dbo = new DbOperate(); try { string rid = getRID(); //Log.WriteLog(context.Server.MapPath("../hse/logs"), "序列号:" + rid); if (rid == "") { context.Response.Write("0"); } else { string sql = "insert into zh_安全事件报告(id,ryid,tbrq,tbrylb,sjfsrq,tbrbm,sjms,sjszbm,sjlb,zgyxj,sgfxfl,zgbm,fj,bh,pc) select '" + rid + "',"; foreach (string item in parms) { sql += "'" + item + "',"; //Log.WriteLog(context.Server.MapPath("../hse/logs"), "sql语句为:" + sql); } string bh = getBH(context); sql += "'" + bh + "'," + Convert.ToString(context.Session["YWDY"]) ; //Log.WriteLog(context.Server.MapPath("../hse/logs"), "sql语句为:" + sql); int i = dbo.ExNonQuery(sql); if (i > 0) { eMIS.WebManager.Flow flow = new eMIS.WebManager.Flow(); bool finalresult = flow.CreateInstance(context, "48440601601", userid, rid); //Log.WriteLog(context.Server.MapPath(wwwroot + "/app_wx/hse/logs"), "流程执行结果为:" + finalresult.ToString()); if (!finalresult) { context.Response.Write("0"); } else { context.Response.Write(rid); } } else { context.Response.Write("0"); } } } catch (Exception e) { Log.WriteLog(context.Server.MapPath("../hse/logs"), "发生异常:" + e.Message); context.Response.Write(e.Message); } } private string getBH(HttpContext context) { DataManager dm = new DataManager(); InstanceManager inst = new InstanceManager(context, dm, "484392570"); int idx = inst.EditControlIDIndex["20"]; ControlManager cm = inst.EditControls[idx]; return cm.Value; } private string getRID() { string id = ""; if (gindex > 3) { return ""; } else { string sql = "select next value for seq_id"; id = dbo.executeScalar(sql).ToString(); if (id == null || id == "") { gindex++; id=getRID(); } } return id; } public bool IsReusable { get { return false; } } }