using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace DataUpdate { public partial class BarcodeMatch : Form { static QualityHelper _QualityHelper = new QualityHelper(); string webserviceURL = "http://" + _QualityHelper.dbip + ":" + _QualityHelper.serviceport + "/Service.asmx"; WaiteFrom _WaitForm; public BarcodeMatch() { InitializeComponent(); if(CommodityUpdate()) { Environment.Exit(0); } } public void ShowWaiteForm() { _WaitForm = WaiteFrom.GetInstance(); //设置WaitForm的父窗体为当前窗体,以便在WaitForm中使用父窗体对象 _WaitForm.TopMost = true; _WaitForm.Owner = this; _WaitForm.ShowMessage("加载中......"); _WaitForm.Show(); Application.DoEvents(); _WaitForm.Refresh(); } #region 未知商品自动校正 /// /// 未知商品自动校正 /// private bool CommodityUpdate() { string _Result = ""; QualityHelper qualityHelper = new QualityHelper(); string _selectsql = "select commodity_barcode from t_commodityex where commodity_name like '%未知商品%' ";// and datalength(commodity_barcode) >= 8"; ShowWaiteForm(); _WaitForm.ShowMessage("正在验证商品信息......"); try { using (DataTable _DataTable = DBHelper.QueryOdbc(_selectsql).Tables[0]) { if (_DataTable.Rows.Count > 0) { for (int i = 0; i < _DataTable.Rows.Count; i++) { _WaitForm.ShowMessage("正在更新商品信息......(" + i + "/" + _DataTable.Rows.Count + ")"); string[] _barcode = { _DataTable.Rows[i]["commodity_barcode"].ToString().Trim() }; try { //_Result = WSHelper.InvokeWebService("http://localhost:7080/EShangTechService/Service.asmx", "querypay", _barcode).ToString(); _Result = WSHelper.InvokeWebService("http://" + qualityHelper.dbip + ":" + qualityHelper.serviceport + "/Service.asmx", "BarcodeLibraryQuery", _barcode).ToString(); } catch (Exception ex) { LogHelper.WriteServiceLog("校对商品信息:" + ex.Message); _Result = ""; } using (DataTable _ResultTable = JsonHelper.JsonToDataTable(_Result)) { if (_ResultTable.Rows.Count > 0) { for (int j = 0; j < _ResultTable.Rows.Count; j++) { string _updatesql = "UPDATE T_COMMODITYEX " + "SET " + "COMMODITY_TYPE = '" + _ResultTable.Rows[j]["COMMODITY_TYPE"].ToString() + "'," + "COMMODITY_NAME = '" + _ResultTable.Rows[j]["COMMODITY_NAME"].ToString() + "', " + "COMMODITY_RULE = '" + _ResultTable.Rows[j]["COMMODITY_RULE"].ToString() + "', " + "COMMODITY_UNIT = '" + _ResultTable.Rows[j]["COMMODITY_UNIT"].ToString() + "' , " + "DOWNLOADDATE = DATETIME('" + DateTime.Now.ToString() + "') " + "WHERE " + "COMMODITY_BARCODE = '" + _DataTable.Rows[i]["commodity_barcode"].ToString() + "'"; DBHelper.ExecuteSqlTran(_updatesql); } } } } } for (int i = 5; i > 0; i--) { _WaitForm.ShowMessage("商品信息匹配完成,(" + i + ")秒后自动返回收银系统。"); System.Threading.Thread.Sleep(1 * 1000); } } } catch (Exception ex) { LogHelper.WriteServiceLog("校对商品信息:" + ex.Message); } _WaitForm.Close(); _WaitForm.Dispose(); return true; } #endregion } }