%@ 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;
}
}