123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440 |
- 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<SingleCheckData> _CheckDatas = null;
- private DBConnSql DBConn
- {
- get
- {
- DBConnSql loRetVal = new DBConnSql();
- if (loRetVal.Open())
- {
-
- }
- return loRetVal;
- }
- }
- #endregion
- /// <summary>
- /// 解析数据
- /// </summary>
- /// <param name="poMainNode"></param>
- /// <returns></returns>
- 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<SingleCheckData>();
- 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;
- }
- /// <summary>
- /// 检查用户合法性
- /// </summary>
- /// <returns></returns>
- 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;
- }
- /// <summary>
- /// 向数据库中插入数据
- /// </summary>
- /// <returns></returns>
- public bool UpdateAllRecords()
- {
- bool lbRetVal = false;
- if (_DataTrans != null && _DataTrans != null && _CheckDatas.Count > 0)
- {
- _ErrorMsg = "";
- List<CheckData_info> loCheckDataList = new List<CheckData_info>();
- 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 = @"<Updatas>
- <UserId>shichang12</UserId>
- <password>123456</password >
- <results>
- <record>
- <sub_category>100011</sub_category>
- <sample>佛手瓜</sample>
- <check_method>检测仪</check_method>
- <result>合格</result>
- <check_org>复淳科技</check_org>
- <region>复淳科技</region>
- <check_district>北京</check_district>
- <produce_org></produce_org>
- <checked_org>东方农场</checked_org>
- <checked_org_type></checked_org_type>
- <rate>0</rate>
- <check_time>2006-11-28</check_time>
- <operator>111_111</operator>
- <hardware_no>10001</hardware_no>
- <sample_no>118</sample_no>
- <Check_item>农药残留</Check_item>
- </record>
- <record>
- <sub_category>400006</sub_category>
- <sample>豌豆</sample>
- <check_method>检测仪</check_method>
- <result>合格</result>
- <check_org>复淳科技</check_org>
- <region>复淳科技</region>
- <check_district>北京</check_district>
- <produce_org> </produce_org>
- <checked_org>东方农场</checked_org>
- <checked_org_type></checked_org_type>
- <rate>0</rate>
- <check_time>2006-11-28</check_time>
- <operator>111_111</operator>
- <hardware_no>10001</hardware_no>
- <sample_no>119</sample_no>
- <Check_item>农药残留</Check_item>
- </record>
- <record>
- <sub_category>400001</sub_category>
- <sample>毛豆</sample>
- <check_method>检测仪</check_method>
- <result>合格</result>
- <check_org>复淳科技</check_org>
- <region>复淳科技</region>
- <check_district>北京</check_district>
- <produce_org> </produce_org>
- <checked_org>东方农场</checked_org>
- <checked_org_type></checked_org_type>
- <rate>0</rate>
- <check_time>2006-11-28</check_time>
- <operator>111_111</operator>
- <hardware_no>10001</hardware_no>
- <sample_no>120</sample_no>
- <Check_item>农药残留</Check_item>
- </record>
- <record>
- <sub_category>500005</sub_category>
- <sample>花椰菜</sample>
- <check_method>检测仪</check_method>
- <result>合格</result>
- <check_org>复淳科技</check_org>
- <region>复淳科技</region>
- <check_district>北京</check_district>
- <produce_org> </produce_org>
- <checked_org>东方农场</checked_org>
- <checked_org_type></checked_org_type>
- <rate>0</rate>
- <check_time>2006-11-28</check_time>
- <operator>111_111</operator>
- <hardware_no>10001</hardware_no>
- <sample_no>122</sample_no>
- <Check_item>农药残留</Check_item>
- </record>
- <record>
- <sub_category>500004</sub_category>
- <sample>生菜</sample>
- <check_method>检测仪</check_method>
- <result>合格</result>
- <check_org>复淳科技</check_org>
- <region>复淳科技</region>
- <check_district>北京</check_district>
- <produce_org> </produce_org>
- <checked_org>东方农场</checked_org>
- <checked_org_type></checked_org_type>
- <rate>0</rate>
- <check_time>2006-11-28</check_time>
- <operator>111_111</operator>
- <hardware_no>10001</hardware_no>
- <sample_no>123</sample_no>
- <Check_item>农药残留</Check_item>
- </record>
- <record>
- <sub_category>500006</sub_category>
- <sample>甘蓝</sample>
- <check_method>检测仪</check_method>
- <result>合格</result>
- <check_org>复淳科技</check_org>
- <region>复淳科技</region>
- <check_district>上海</check_district>
- <produce_org> </produce_org>
- <checked_org>东方农场</checked_org>
- <checked_org_type></checked_org_type>
- <rate>0</rate>
- <check_time>2007-05-12</check_time>
- <operator>111_111</operator>
- <hardware_no>10001</hardware_no>
- <sample_no>127</sample_no>
- <Check_item>农药残留</Check_item>
- </record>
- <record>
- <sub_category>500006</sub_category>
- <sample>甘蓝</sample>
- <check_method>检测仪</check_method>
- <result>合格</result>
- <check_org>复淳科技</check_org>
- <region>复淳科技</region>
- <check_district>上海</check_district>
- <produce_org> </produce_org>
- <checked_org>东方农场</checked_org>
- <checked_org_type></checked_org_type>
- <rate>0</rate>
- <check_time>2007-05-12</check_time>
- <operator>111_111</operator>
- <hardware_no>10001</hardware_no>
- <sample_no>128</sample_no>
- <Check_item>农药残留</Check_item>
- </record>
- <record>
- <sub_category>500006</sub_category>
- <sample>甘蓝</sample>
- <check_method>检测仪</check_method>
- <result>合格</result>
- <check_org>复淳科技</check_org>
- <region>复淳科技</region>
- <check_district>上海</check_district>
- <produce_org> </produce_org>
- <checked_org>东方农场</checked_org>
- <checked_org_type></checked_org_type>
- <rate>0</rate>
- <check_time>2007-05-12</check_time>
- <operator>111_111</operator>
- <hardware_no>10001</hardware_no>
- <sample_no>129</sample_no>
- <Check_item>农药残留</Check_item>
- </record>
- <record>
- <sub_category>500006</sub_category>
- <sample>甘蓝</sample>
- <check_method>检测仪</check_method>
- <result>合格</result>
- <check_org>复淳科技</check_org>
- <region>复淳科技</region>
- <check_district>上海</check_district>
- <produce_org> </produce_org>
- <checked_org>东方农场</checked_org>
- <checked_org_type></checked_org_type>
- <rate>0</rate>
- <check_time>2007-05-12</check_time>
- <operator>111_111</operator>
- <hardware_no>10001</hardware_no>
- <sample_no>130</sample_no>
- <Check_item>农药残留</Check_item>
- </record>
- </results>
- </Updatas>
- ";
- string TestData = @" <Updatas>
- <UserId>shichang1</UserId>
- <password>123456</password>
- <results>
- <record>
- <sample_no>0001</sample_no>
- <check_method>速测法</check_method>
- <sub_category>绿叶菜类</sub_category>
- <sample>青菜</sample>
- <check_item>残留农药</check_item>
- <result>1</result>
- <check_org>邻里中心新城大厦</check_org>
- <region>上海市</region>
- <check_district>上海市</check_district>
- <produce_org>农夫果园</produce_org>
- <checked_org>第一食品公司</checked_org>
- <checked_org_type>公司</checked_org_type>
- <rate>88.88</rate>
- <check_time>2007-5-12</check_time>
- <operator>张三</operator>
- <hardware_no>HW12345678</hardware_no>
- </record>
- <record>
- <sample_no>0002</sample_no>
- <check_method>速测仪</check_method>
- <sub_category>绿叶菜类</sub_category>
- <sample>青菜</sample>
- <check_item>残留农药</check_item>
- <result>1</result>
- <check_org>邻里中心新城大厦</check_org>
- <region>上海市</region>
- <check_district>上海市</check_district>
- <produce_org>农夫果园</produce_org>
- <checked_org>第一食品公司</checked_org>
- <checked_org_type>公司</checked_org_type>
- <rate>88.88</rate>
- <check_time>2007-5-12</check_time>
- <operator>张三</operator>
- <hardware_no>HW12345678</hardware_no>
- </record>
- </results>
- </Updatas>";
- }
- }
|