<%@ WebHandler Language="C#" Class="save" Debug="true" %> using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Configuration; using eMIS; using System.Data; using eMIS.Data; using System.IO; using System.Text; using Newtonsoft.Json; using System.Data.SqlClient; public class save : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; DataInfo dif = new global::DataInfo(); string errlog = null; //string connectionString = ConfigurationManager.AppSettings["emisdb0"].ToString(); DataManager dataManager = new DataManager(); string GUID = System.Guid.NewGuid().ToString("N"); string oldzz = context.Request.Form["oldzz"]; string userid = context.Request.Form["userid"]; string RWDH = context.Request.Form["RWDH"]; /*string teststr=null; foreach (string p in equarray) { teststr+=p+"|"; } context.Response.Write(teststr); context.Response.End(); */ DataTable dt0 = dataManager.ExecuteTable("select BDZ_ID,FWXX_ID from GC_工程服务报告单 where BH='" + RWDH + "'"); if (dt0.Rows.Count == 0) { context.Response.Write(RWDH); context.Response.End(); } string BDZID = dt0.Rows[0][0].ToString(); string FWXX_ID= dt0.Rows[0][1].ToString(); string BDZM = Convert.ToString(dataManager.Operator.ExecuteScalar("select BDZMC from GC_变电站 where id='"+BDZID+"'")); DataTable dthth = dataManager.ExecuteTable("select hth from view_GC_工程服务报告单_合同 where gid=" + FWXX_ID);//获取合同号 context.Application.Lock(); try { string equcode = null; dataManager.Operator.BeginTrans(); DataTable dttemp = new DataTable(); equcode = oldzz; if (equcode.Contains("GDNZ")) { equcode = equcode.Substring(4, equcode.Length - 4); } //dataManager.Operator.ExecuteNonQuery("insert into GC_WebAppTest (newcode,oldcode,oldzz,gzyy,ryid,imageret) values (?,?,?,?,?,?)","1","1",equcode,"1",userid,"1"); dataManager.Operator.ExecuteNonQuery(String.Format("insert into GC_装置上传 (code_bar,bdzm,userid,taskid,updatetime,GUID) values('{0}','{1}','{2}','{3}','{4}','{5}')", equcode, BDZM, userid, RWDH, System.DateTime.Now.ToString("G"),GUID));//写入记录 //判断是否合法条码 dttemp = dataManager.Operator.ExecuteTable("select CODE_BAR,CO_NUMBER from SC_装置信息 where CODE_BAR='" + equcode + "'"); if (dttemp.Rows.Count > 0) { //判断合同号是否正确 if (dthth.Select("hth='"+dttemp.Rows[0][1].ToString()+"'").Length > 0) { dataManager.Operator.ExecuteNonQuery("update GC_装置上传 set BDZM='"+BDZM+"',state='已上传并更新' where CODE_BAR='"+equcode+"'"); dataManager.Operator.ExecuteNonQuery("update SC_装置信息 set STATION_ID='"+BDZID+"' where CODE_BAR='"+equcode+"'"); } else { dataManager.Operator.ExecuteNonQuery("update GC_装置上传 set BDZM='"+BDZM+"',state='已上传但合同号不匹配' where CODE_BAR='"+equcode+"'"); dataManager.Operator.ExecuteNonQuery("update SC_装置信息 set STATION_ID='"+BDZID+"' where CODE_BAR='"+equcode+"'"); } } //非法条码 else { dataManager.Operator.ExecuteNonQuery("update GC_装置上传 set state='非法条码' where CODE_BAR='"+equcode+"'"); } dataManager.Operator.CommitTrans(); } catch(Exception e) { dataManager.Operator.RollbackTrans(); errlog = e.ToString(); } context.Application.UnLock(); context.Response.ContentType = "application/json"; context.Response.ContentEncoding = System.Text.Encoding.UTF8; if (errlog == null) { context.Response.Write("OK"); context.Response.End(); } else { context.Response.Write(errlog); context.Response.End(); } } public bool IsReusable { get { return false; } } } public class DataInfo { // private string bdzm=null; private string[] list = null; // public string BDZM //{ // get { return this.bdzm; } //set { this.bdzm= value; } //} public string[] List { get { return this.list; } set { this.list=value; } } } public class JsonHelper { /// /// 将对象序列化为JSON格式 /// /// 对象 /// json字符串 public static string SerializeObject(object o) { string json = JsonConvert.SerializeObject(o); return json; } /// /// 解析JSON字符串生成对象实体 /// /// 对象类型 /// json字符串(eg.{"ID":"112","Name":"石子儿"}) /// 对象实体 public static T DeserializeJsonToObject(string json) where T : class { JsonSerializer serializer = new JsonSerializer(); StringReader sr = new StringReader(json); object o = serializer.Deserialize(new JsonTextReader(sr), typeof(T)); T t = o as T; return t; } /// /// 解析JSON数组生成对象实体集合 /// /// 对象类型 /// json数组字符串(eg.[{"ID":"112","Name":"石子儿"}]) /// 对象实体集合 public static List DeserializeJsonToList(string json) where T : class { JsonSerializer serializer = new JsonSerializer(); StringReader sr = new StringReader(json); object o = serializer.Deserialize(new JsonTextReader(sr), typeof(List)); List list = o as List; return list; } /// /// 反序列化JSON到给定的匿名对象. /// /// 匿名对象类型 /// json字符串 /// 匿名对象 /// 匿名对象 public static T DeserializeAnonymousType(string json, T anonymousTypeObject) { T t = JsonConvert.DeserializeAnonymousType(json, anonymousTypeObject); return t; } }