/// <summary> /// 处理数据变化 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void b1_DoWork(object sender, DoWorkEventArgs e) { //System.Threading.Thread.Sleep(new System.Random().Next(1000 * 60 * 3)); while (true) { //晚上8点后,到早上7点前不执行数据同步 if (DateTime.Now.Hour > 20 || DateTime.Now.Hour < 7) { goto lable; } try { DSWebService.BLL.SynLock ck = new DSWebService.BLL.SynLock(); ck.Lock(); //System.Threading.Thread.Sleep(1000 * 60 * 1); DSWebService.BLL.Data_Centre.Price p = new DSWebService.BLL.Data_Centre.Price(); p.InitPrice(); DSWebService.BLL.Data_Centre.Product_Centre bll = new DSWebService.BLL.Data_Centre.Product_Centre(); DSWebService.BLL.Data_Centre.Config con = new DSWebService.BLL.Data_Centre.Config(); foreach (var item in con.GetAllList()) { bll.IdenData(int.Parse(item.id)); } foreach (var item in con.GetAllList()) { int iden = int.Parse(item.id); bll.InitializeData(iden); bll.InitializeDataNotfiling(iden); } ck.UnLock(); } catch (Exception ex) { DSWebService.BLL.Log.AddLog(ex.ToString(), 500); try { DSWebService.BLL.SynLock ck = new DSWebService.BLL.SynLock(); ck.UnLock(); } catch { } } lable: System.Threading.Thread.Sleep(1000 * 60 * 10); } }
/// <summary> /// 每天执行一次更新公共数据变化(包装盒,标签) /// </summary> public void UpdatePuclic() { ChangeDBShop(); DSWebService.BLL.Data_Centre.Config con = new DSWebService.BLL.Data_Centre.Config(); string sql = ""; foreach (var item in con.GetAllList()) { sql = string.Format("UPDATE Product SET tag_ids=b.Tag_Ids FROM Product a INNER JOIN DrugsBase_Tag_Ids b ON a.DrugsBase_ID = b.DrugsBase_Id AND a.iden={0} WHERE a.tag_ids<>b.Tag_Ids", item.id); ExecuteNonQuery(sql); sql = string.Format(@"UPDATE Product SET Image=a1.Image FROM ( SELECT Product_ID,(SELECT TOP (1) Image FROM Goods_Image AS Goods_Image_1 WHERE (Goods_ID = b.Goods_ID))Image FROM Product b )a1 INNER JOIN Product b ON a1.Product_ID = b.Product_ID AND b.iden={0} AND a1.Image <> b.Image", item.id); ExecuteNonQuery(sql); sql = string.Format(@"UPDATE Product SET Original=a1.Original FROM ( SELECT Product_ID,(SELECT TOP (1) Original FROM Goods_Image AS Goods_Image_1 WHERE (Goods_ID = b.Goods_ID))Original FROM Product b )a1 INNER JOIN Product b ON a1.Product_ID = b.Product_ID AND b.iden={0} AND a1.Original <> b.Original", item.id); ExecuteNonQuery(sql); } }