using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Data; using CommonLib; using DBFactory; using ICommLayer; using CommLayerFactory; namespace WcfControlMonitorLib { class CStorageCheck { public static event RefreshMonitorEventHandler RefreshMonitor; public static void OnRefreshMonitor(RefreshMonitorEventArgs e) { if (RefreshMonitor != null) { RefreshMonitor(e); } } static DBOperator dbo = CStaticClass.dbo;//20130926 static DBOperator dboM = CStaticClass.dboM;//20130926 static StringBuilder sql = new StringBuilder(); static string dtime = ""; static CCommonFunction ccf = new CCommonFunction(); static Thread mythread; static bool exitThread = false;//20091107 private static void BeginListen() {//20091107 while (!exitThread) { try { dtime = DateTime.Now.ToString("u"); DataView dv = new DataView(); //DataView dv = new DataView(); CommonClassLib.CCarryConvert.WriteDarkCasket("StorageCheck", "StorageCheck", "校验是否同步库存:", "29999", ",时间:" + dtime.ToString()); if (dtime.Substring(11, 2) == "02") { sql.Remove(0, sql.Length); sql.Append("select F_IF_CHECK,F_LAST_CHECK_DATE from T_STORAGE_CHECK");//20130226richard.liu dv = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView; if (dv.Count > 0) { if ((dv[0]["F_IF_CHECK"].ToString() == "1") && (dv[0]["F_LAST_CHECK_DATE"].ToString() != dtime.Substring(0,10))) { CommonClassLib.CCarryConvert.WriteDarkCasket("StorageCheck", "StorageCheck", "开始同步库存:", "29999", ",时间:" + DateTime.Now.ToString("u").ToString()); DataView tempdv = dbo.ExceSQL("SELECT * from ST_CELL where fpalletbarcode != '-'").Tables[0].DefaultView; if (tempdv.Count > 0) { for (int i = 0; i < tempdv.Count; i++) { dboM.ExecuteSql("insert into IDX_ASRS_INV (LocationID,Palletid,Addtime,READFLAG) VALUES ('" + tempdv[i]["FCELLCODE"].ToString() + "','" + tempdv[i]["fpalletbarcode"].ToString() + "',sysdate,'N')"); } dbo.ExecuteSql(string.Format("UPDATE T_STORAGE_CHECK set F_LAST_CHECK_DATE = '" + dtime.Substring(0, 10) + "'")); } CommonClassLib.CCarryConvert.WriteDarkCasket("StorageCheck", "StorageCheck", "同步库存完毕:", "29999", ",时间:" + DateTime.Now.ToString("u").ToString()); } } } } catch (Exception ex) { CommonClassLib.CCarryConvert.WriteDarkCasket("StorageCheck", "StorageCheck", "同步库存异常:", "29999", ",时间:" + DateTime.Now.ToString("u").ToString() + ex.Message); } finally { Thread.Sleep(600000); } } } public static void EndListen() {//20091107 exitThread = true; if (mythread != null) { mythread.Abort(); mythread = null; } } public static void StartListen() { exitThread = false; mythread = new Thread(new ThreadStart(BeginListen)); mythread.IsBackground = true; mythread.Start(); } } }