示例#1
0
 public void ReLoad()
 {
     if (InputExpect > 0)
     {
         this.txt_NewestExpect.Text = (this.InputExpect - 1).ToString();
         this.btn_AddExpectNo_Click(null, null);
     }
     else
     {
         ViewDataList = er.ReadNewestData(DateTime.Today.AddDays(-1));
     }
 }
示例#2
0
        void RefreshPK10Data()
        {
            ExpectList ViewDataList = exread.ReadNewestData(DateTime.Now.AddDays(-1));

            if (ViewDataList == null)
            {
                return;
            }
            DataTable dt = ViewDataList.Table;

            dg_baseData.Invoke(new SetSpecDataGridCallback(Setdg_baseData), new object[] { dt });
            //SetDataGridDataTable(dg_baseData, dt);
        }
示例#3
0
        private void ReceivePK10CData()
        {
            Log("接收数据", "准备接收数据");
            PK10_HtmlDataClass hdc = new PK10_HtmlDataClass();
            ExpectList         el  = hdc.getExpectList();

            ////if(el != null && el.Count>0)
            ////{
            ////    Log("接收到的最新数据",el.LastData.ToString());
            ////}
            if (el == null || el.Count == 0)
            {
                Log("接收数据", "未接收到数据");
                return;
            }
            DateTime CurrTime = DateTime.Now;

            try
            {
                PK10ExpectReader rd     = new PK10ExpectReader();
                ExpectList       currEl = rd.ReadNewestData(DateTime.Today.AddDays(-1));

                if ((currEl == null || currEl.Count == 0) || (el.Count > 0 && currEl.Count > 0 && el.LastData.ExpectIndex > currEl.LastData.ExpectIndex))//获取到新数据
                {
                    Log("接收到数据", string.Format("接收到数据!{0}", el.LastData.ToString()));
                    int CurrMin = DateTime.Now.Minute % 5;
                    int CurrSec = DateTime.Now.Second;
                    this.Tm_ForPK10.Interval = (CurrMin % 5 < 2 ? 2 : 7 - CurrMin) * 60000 - (CurrSec + 5) * 1000;//5分钟以后见,减掉5秒不断收敛时间,防止延迟接收
                    if (rd.SaveNewestData(rd.getNewestData(el, currEl)) > 0)
                    {
                        CurrDataList = rd.ReadNewestData(DateTime.Now.AddDays(-10));//前十天的数据 尽量的大于reviewcnt,免得需要再取一次数据
                        CurrExpectNo = el.LastData.Expect;
                        Program.AllServiceConfig.LastDataSector = CurrDataList;
                        AfterReceiveProcess();
                    }
                    else
                    {
                        Log("保存数据错误", "保存数据数量为0!");
                    }
                }
                else
                {
                    Log("接收到非最新数据", string.Format("id:{0}", el.LastData.Expect));
                    if (CurrTime.Hour < 9)//如果在9点前
                    {
                        //下一个时间点是9:07
                        DateTime TargetTime = DateTime.Today.AddHours(9).AddMinutes(8);
                        this.Tm_ForPK10.Interval = TargetTime.Subtract(CurrTime).TotalMilliseconds;
                    }
                    else
                    {
                        Log("接收数据", "未接收到数据!");
                        if (CurrTime.Subtract(PK10_LastSignTime).Minutes > 7)//如果离上期时间超过7分钟,说明数据未接收到,那不要再频繁以10秒访问服务器
                        {
                            this.Tm_ForPK10.Interval = 60 * 1000;
                        }
                        else //一般未接收到,10秒以后再试
                        {
                            this.Tm_ForPK10.Interval = 10 * 1000;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Log(e.Message, e.StackTrace);
            }
            Log("接收数据", string.Format("当前访问时间为:{0},{1}秒后继续访问!", CurrTime.ToString(), this.Tm_ForPK10.Interval / 1000));
            //FillOrgData(listView_TXFFCData, currEl);
        }