Beispiel #1
0
        public void Initialize(bool bRealtime, string historytm)
        {
            int[] _start_mm = new int[48];
            int[] _mm       = new int[48];

            if (bRealtime)
            {
                setlbDtTxt();
            }
            else
            {
                setlbDtTxt(historytm);
            }
            //////////////
            long     now            = Time.DateTime2DbTime(DateTime.Now);
            long     oneDayBefore   = Time.DateTime2DbTime(DateTime.Parse(lbTime.Text)) - 24 * 3600;
            long     d              = 0;
            DateTime dt_now         = Time.DbTime2DateTime(now);
            DateTime dt_oneDayBefor = Time.DbTime2DateTime(oneDayBefore);

            if (dt_now.Day == dt_oneDayBefor.Day &&
                dt_now.Month == dt_oneDayBefor.Month &&
                dt_now.Year == dt_oneDayBefor.Year &&
                dt_now.Hour > 18)
            {
                d = now;
            }
            else
            {
                d = oneDayBefore;
            }
            DateTime dt = Time.DbTime2DateTime(d);

            dt = new DateTime(dt.Year, dt.Month, dt.Day, 19, 0, 0);
            long t0 = Time.DateTime2DbTime(dt);

            ////////////////
            _maxunit[] mu = new _maxunit[25];
            m_siteRainCalc.getMMByHour(t0, 25, _start_mm, _mm, m_pCurSite);
            m_siteRainCalc.getMaxUnits(t0, 600, mu, m_pCurSite);
            rainLogCtrl.logCtrl._maxunit [] mu2 = new rainLogCtrl.logCtrl._maxunit[25];
            for (int i = 0; i < 25; i++)
            {
                mu2[i].start     = mu[i].start;
                mu2[i].end       = mu[i].end;
                mu2[i].max       = mu[i].max;
                mu2[i].idx_start = mu[i].idx_start;
                mu2[i].idx_end   = mu[i].idx_end;
            }
            _RFLog[] log = new _RFLog[64];
            int      N   = m_dbHelper.GetRainLogRecords(log, t0, m_pCurSite.SiteID);

            rainLogCtrl.logCtrl._RFLog[] rLog = new rainLogCtrl.logCtrl._RFLog[64];
            for (int i = 0; i < N; i++)
            {
                if (log[i].level.Equals("1"))
                {
                    continue;
                }
                if (log[i].level.Equals("2"))
                {
                    rLog[i].limit_restore = log[i].tm2;
                    rLog[i].limit_start   = log[i].tm1;
                    rLog[i].brk_close     = 0;
                    rLog[i].brk_open      = 0;
                }
                if (log[i].level.Equals("3") || log[i].level.Equals("4"))
                {
                    rLog[i].limit_restore = 0;
                    rLog[i].limit_start   = 0;
                    rLog[i].brk_close     = log[i].tm2;
                    rLog[i].brk_open      = log[i].tm1;
                }

                rLog[i].dir   = (m_siteRainCalc.getXingbieName(log[i].section_id).Split('~'))[1];
                rLog[i].km    = m_siteRainCalc.getQjName(log[i].section_id);
                rLog[i].level = log[i].level;

                rLog[i].logtime  = log[i].logtime;
                rLog[i].note     = log[i].note;
                rLog[i].railLine = m_siteRainCalc.getLineName(log[i].section_id);
                rLog[i].site_id  = log[i].site_id;
            }
            rainlogCtrl.SetRainLog(_start_mm, _mm, mu2, now, t0, rLog, N);
        }