Ejemplo n.º 1
0
        /// <summary>
        ///质检同步
        /// </summary>
        void QualityStatus()
        {
            int SyncQualityStatusTime = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["QualitySyncStatus"]) * 1000;

            while (!StopSync)
            {
                try
                {
                    string lastQualityStatusTime = string.Empty; //初始时间
                    if (File.Exists(syncBaseTimeFile))
                    {
                        using (StreamReader sr = new StreamReader(syncQualityStatuceTimeFile))
                        {
                            lastQualityStatusTime = sr.ReadLine(); //最后执行日期
                            sr.Close();
                        }
                    }
                    LogNet.LogInfo("同步质检数据开始:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    string errMsg = "";
                    List <T_QualityInfo> modelList = new List <T_QualityInfo>();
                    string strError = String.Empty;
                    bool   result   = server.GetT_AllQualityList(ref modelList, ref strError);
                    if (result && modelList.Count != 0)
                    {
                        foreach (T_QualityInfo model in modelList)
                        {
                            result  = server.UpdateStockByQuality(model.ErpVoucherNo, ref errMsg);
                            errMsg += result ? model.ErpVoucherNo + "\r\n" : "|";
                        }
                    }
                    LogNet.LogInfo("同步质检数据结束:" + result + "\r\n" + strError + "\r\n" + errMsg + "\r\n同步时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    if (result)
                    {
                        using (StreamWriter sw = new StreamWriter(syncBaseTimeFile))
                        {
                            sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd"));
                            sw.Close();
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogNet.LogInfo("同步质检数据错误:" + ex.Message + "\t同步时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                }
                Thread.Sleep(SyncQualityStatusTime);
            }
        }