Exemplo n.º 1
0
        private void HandleHistoryData(string msg)
        {
            string qn  = Value.Parse(msg, "QN");
            string sno = Value.Parse(msg, "SNO");
            string eno = Value.Parse(msg, "ENO");

            string beginTime = Value.Parse(msg, "BeginTime");
            string endTime   = Value.Parse(msg, "EndTime");

            string polId = Value.Parse(msg, "PolId");

            string taskId = string.Format("{0}-{1}@{2}", beginTime, endTime, polId);

            if (this.taskDict.ContainsKey(taskId))
            {
                return;
            }

            this.SendReplyPacket(qn);

            HistoryDataBundle hdb = new HistoryDataBundle(qn, eno, polId);

            taskDict.Add(taskId, hdb);
            hdb.BeginTime = beginTime;
            hdb.EndTime   = endTime;

            this.ActiveUploadHistoryDataThread(taskId);
        }
Exemplo n.º 2
0
        private void PrepareUploadHistoryData()
        {
            while (true)
            {
                if (this.fQuit)
                {
                    break;
                }
                if (this.historyDataBundleQueue.Count > 0)
                {
                    string taskId = this.historyDataBundleQueue.Dequeue();
                    if (!this.taskDict.ContainsKey(taskId))
                    {
                        continue;
                    }
                    HistoryDataBundle hdb = this.taskDict[taskId];

                    if (!string.IsNullOrEmpty(hdb.QN))
                    {
                        string msg = string.Format("Uploading history data [{0} - {1}]", DeviceTime.Parse(hdb.BeginTime), DeviceTime.Parse(hdb.EndTime));
                        this.agent.OnHandleHistoryData("", msg, true);
                        if (string.IsNullOrEmpty(hdb.ENO))
                        {
                            string[] enos = new string[] { "001001", "002000", "003001", "004000", "005000", "010002", "999000" };
                            foreach (string e in enos)
                            {
                                // for this Command, polId should be Null (means All polId);
                                this.UploadHistoryData(hdb.QN, e, hdb.BeginTime, hdb.EndTime, hdb.Sid, null);
                            }
                        }
                        else
                        {
                            this.UploadHistoryData(hdb.QN, hdb.ENO, hdb.BeginTime, hdb.EndTime, hdb.Sid, hdb.PolId);
                        }
                    }

                    this.SendResultPacket(hdb.QN);
                    //
                    this.taskDict.Remove(taskId);
                }
                else
                {
                    Thread.Sleep(150);
                }
            }
        }
Exemplo n.º 3
0
        private void HandleHistoryData(string msg)
        {
            string qn = Value.Parse(msg, "QN");
            string sno = Value.Parse(msg, "SNO");
            string eno = Value.Parse(msg, "ENO");

            string beginTime = Value.Parse(msg, "BeginTime");
            string endTime = Value.Parse(msg, "EndTime");

            string polId = Value.Parse(msg, "PolId");

            string taskId = string.Format("{0}-{1}@{2}", beginTime, endTime, polId);

            if (this.taskDict.ContainsKey(taskId))
            {
                return;
            }

            this.SendReplyPacket(qn);

            HistoryDataBundle hdb = new HistoryDataBundle(qn, eno, polId);
            taskDict.Add(taskId, hdb);
            hdb.BeginTime = beginTime;
            hdb.EndTime = endTime;

            this.ActiveUploadHistoryDataThread(taskId);
        }