using System; using System.Collections.Generic; using System.Text; using System.Data; using SysBaseLibs; using System.Web.UI.WebControls; using System.Web.UI; using SysDataLibs; using SysDataLibs.TableClass; using CheckDataTransfersLibs; namespace DataTransfersLibs { public class DataUpdate : IErrorMsg { public DataUpdate(string pcDataXML) { if (pcDataXML == "") { pcDataXML = lcTemp; } try { rsXmlNode loMainNode = rsXmlNode.ParseGenericXml(pcDataXML); ParseCheckData(loMainNode); } catch (Exception e) { _ErrorMsg = e.Message; } } public DataUpdate(Page poPage) { try { // System.IO.Stream streamMessage = poPage.Request.InputStream; // Encoding encode = Encoding.GetEncoding("GB2312"); // byte[] buff = new byte[4096]; // int nBytesRead = 0; // int nBytes = streamMessage.Read(buff, nBytesRead, 4096); // string strRequest = ""; // while (nBytes > 0) // { // nBytesRead += nBytes; // strRequest += encode.GetString(buff, 0, nBytes); // nBytes = streamMessage.Read(buff, 0, 4096); // } string strRequest = ""; Encoding encode = Encoding.GetEncoding("GB2312"); using (System.IO.StreamReader sr = new System.IO.StreamReader(poPage.Request.InputStream, encode)) { strRequest = sr.ReadToEnd(); } if (strRequest.Trim().Length > 0) { try { //SysBaseLibs.AppEnv.Log(strRequest); rsXmlNode loMainNode = rsXmlNode.ParseGenericXml(strRequest); ParseCheckData(loMainNode); } catch (Exception e) { ThreadLog.LogException(e); _ErrorMsg = e.Message; } } } catch (Exception err) { ThreadLog.LogException(err); } } #region Properties string _ErrorMsg = ""; public string ErrorMsg { get { return _ErrorMsg; } set { _ErrorMsg = value; } } string _UserId = ""; private CheckDataTrans _DataTrans = null; string _password = ""; List _CheckDatas = null; private DBConnSql DBConn { get { DBConnSql loRetVal = new DBConnSql(); if (loRetVal.Open()) { } return loRetVal; } } #endregion /// /// 解析数据 /// /// /// private bool ParseCheckData(rsXmlNode poMainNode) { bool lbRetVal = false; if (poMainNode != null && poMainNode.Nodes.Count > 0) { if (poMainNode != null && poMainNode.Nodes.Count > 0) { _UserId = poMainNode.GetChildValue("UserId"); _password = poMainNode.GetChildValue("password"); rsXmlNode loRecords = poMainNode.GetChildNode("results"); if (loRecords != null && loRecords.Nodes.Count > 0) { _CheckDatas = new List(); foreach (rsXmlNode loNode in loRecords.Nodes) { if (loNode != null && loNode.Nodes.Count > 0) { SingleCheckData loRecord = new SingleCheckData(loNode); _CheckDatas.Add(loRecord); } } } } } else { ThreadLog.LogErr("没有有效数据"); _ErrorMsg = "没有有效数据!"; } return lbRetVal; } /// /// 检查用户合法性 /// /// public bool CheckUserValid() { bool lbRetVal = false; if (_UserId != "" && _password != "" && DBConn != null && DBConn.IsOpened) { string lcSql = "select * from " + Tn.Sys_Users + " where " + Sys_Users_info.cUserCode + "='" + _UserId + "'"; rsQuery loQuery = DBConn.OpenQuery(lcSql); if (loQuery != null && loQuery.IsOpened && loQuery.RecCount == 1) { loQuery.MoveFirst(); _DataTrans = new CheckDataTrans(loQuery.CurrentRow, DBConn); if (_password == _DataTrans.Password) { lbRetVal = true; ThreadLog.LogInfo("检测数据上传用户验证通过:UserID" + _UserId); } else { ThreadLog.LogErr("检测数据上传用户密码不正确:UserID" + _UserId); _ErrorMsg = "用户密码不正确"; } } else { ThreadLog.LogErr("检测数据上传用户名不正确或该用户已经被锁定:UserID" + _UserId); _ErrorMsg = "用户名不正确或该用户已经被锁定"; } } return lbRetVal; } /// /// 向数据库中插入数据 /// /// public bool UpdateAllRecords() { bool lbRetVal = false; if (_DataTrans != null && _DataTrans != null && _CheckDatas.Count > 0) { _ErrorMsg = ""; List loCheckDataList = new List(); foreach (SingleCheckData loSingleRecord in _CheckDatas) { if (loSingleRecord.IsValid) { CheckData_info loCheckData = loSingleRecord.GetCheckDataObj(_DataTrans); if (loCheckData != null) loCheckDataList.Add(loCheckData); if (!loSingleRecord.InsertCheckData(_DataTrans)) { _ErrorMsg += (_ErrorMsg == "" ? "" : ",") + loSingleRecord.sample_no; } else { lbRetVal = true; } } } if (_ErrorMsg != "") { lbRetVal = false; ThreadLog.LogErr(_ErrorMsg); } //ytCheckDataUpload loytCheckDataUpload = new ytCheckDataUpload(); //loytCheckDataUpload.ExcuteBatchUploadYTThread(loCheckDataList); loCheckDataList.DataPush(); } return lbRetVal; } string lcTemp = @" shichang12 123456 100011 佛手瓜 检测仪 合格 复淳科技 复淳科技 北京 东方农场 0 2006-11-28 111_111 10001 118 农药残留 400006 豌豆 检测仪 合格 复淳科技 复淳科技 北京 东方农场 0 2006-11-28 111_111 10001 119 农药残留 400001 毛豆 检测仪 合格 复淳科技 复淳科技 北京 东方农场 0 2006-11-28 111_111 10001 120 农药残留 500005 花椰菜 检测仪 合格 复淳科技 复淳科技 北京 东方农场 0 2006-11-28 111_111 10001 122 农药残留 500004 生菜 检测仪 合格 复淳科技 复淳科技 北京 东方农场 0 2006-11-28 111_111 10001 123 农药残留 500006 甘蓝 检测仪 合格 复淳科技 复淳科技 上海 东方农场 0 2007-05-12 111_111 10001 127 农药残留 500006 甘蓝 检测仪 合格 复淳科技 复淳科技 上海 东方农场 0 2007-05-12 111_111 10001 128 农药残留 500006 甘蓝 检测仪 合格 复淳科技 复淳科技 上海 东方农场 0 2007-05-12 111_111 10001 129 农药残留 500006 甘蓝 检测仪 合格 复淳科技 复淳科技 上海 东方农场 0 2007-05-12 111_111 10001 130 农药残留 "; string TestData = @" shichang1 123456 0001 速测法 绿叶菜类 青菜 残留农药 1 邻里中心新城大厦 上海市 上海市 农夫果园 第一食品公司 公司 88.88 2007-5-12 张三 HW12345678 0002 速测仪 绿叶菜类 青菜 残留农药 1 邻里中心新城大厦 上海市 上海市 农夫果园 第一食品公司 公司 88.88 2007-5-12 张三 HW12345678 "; } }