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); }
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); } } }
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); }