//private string GetDriverWearingSafeBelt(AnalyseRecord analyseRecord) //{ // string sRet = "未识别"; // if (analyseRecord != null && analyseRecord.DriverWearingSafeBelt != null) // { // if (analyseRecord.DriverWearingSafeBelt.ID != 3) // { // sRet = analyseRecord.DriverWearingSafeBelt.Name; // } // } // return sRet; //} //private string GetPlateNumber(AnalyseRecord analyseRecord) //{ // string plateNumber = string.Empty; // if (analyseRecord != null) // { // plateNumber = analyseRecord.PlateNumber; // if (analyseRecord.ErrorCode == 0) // { // if (string.Compare(analyseRecord.PlateNumber, "11111111", true) == 0) // { // plateNumber = "无牌车"; // } // if (string.Compare(analyseRecord.PlateNumber, "22222222", true) == 0) // { // plateNumber = "两轮车"; // } // } // else if (analyseRecord.ErrorCode == -2) // { // plateNumber = "未识别"; // } // else // { // plateNumber = "图片错误"; // } // } // return plateNumber; //} //private void GetVehicleBrandName(AnalyseRecord record, ref string brand, ref string model) //{ // brand = "未识别" ; // model = "未识别" ; // if (record.BrandInfo != null) // { // model = record.BrandInfo.Name; // if (record.ParentBrandInfo != null) // { // brand = record.ParentBrandInfo.Name; // } // else // { // brand = string.Empty; // } // } //} //private void GetVehicleBrandName(AnalyseRecord record, out VehiclePropertyInfo brand, out VehiclePropertyInfo model) //{ // brand = Constant.PropertyInfo_UNKNOWN; // model = Constant.PropertyInfo_UNKNOWN; // if (record.BrandInfo != null) // { // if (record.ParentBrandInfo != null) // { // if (record.ParentBrandInfo.ID == 999 ) // { // // 被归到其它车厂商的车, 车厂家设置成与车型一样 // brand = model = record.BrandInfo; // } // else // { // brand = record.ParentBrandInfo; // model = record.BrandInfo; // } // } // else // { // // brand = Constant.PropertyInfo_UNKNOWN; // brand = model = record.BrandInfo; // } // } //} //private void GetVehicleColor(AnalyseRecord record, ref string vehicleColor, ref string plateColor) //{ // vehicleColor = // record.VehicleColorInfo != null ? record.VehicleColorInfo.Name : record.VehicleColor; // plateColor = // record.PlateColorInfo != null ? record.PlateColorInfo.Name : record.PlateColor; // if (string.IsNullOrEmpty(vehicleColor)) // { // vehicleColor = "未识别"; // } // if (string.IsNullOrEmpty(plateColor)) // { // plateColor = "未识别"; // } //} //private void OnNewSearch(SearchPara searchPara) //{ // if (PreNewSearch != null) // { // PreNewSearch(null,null); // } // if (m_ResultPageInfo != null) // { // m_ResultPageInfo.SelectedPageNumberChanged -= new EventHandler(ResultPageInfo_SelectedPageNumberChanged); // } // m_currPageRecords.Clear(); //} public void OnSearchFinished(List <AnalyseRecord> records) { if (PreNewSearch != null) { PreNewSearch(null, null); } if (m_ResultPageInfo != null) { m_ResultPageInfo.SelectedPageNumberChanged -= new EventHandler(ResultPageInfo_SelectedPageNumberChanged); } m_currPageRecords.Clear(); if (records != null && records.Count > 0) { m_Records = records; m_ResultPageInfo = new DataModel.PageInfo(24, m_Records.Count, 0); m_ResultPageInfo.SelectedPageNumberChanged += new EventHandler(ResultPageInfo_SelectedPageNumberChanged); m_currPageRecords.AddRange(m_Records.GetRange(0, Math.Min(24, m_Records.Count))); } else { m_Records = null; m_ResultPageInfo = new DataModel.PageInfo(24, 0, 0); } if (SearchResult != null) { SearchResult(true, EventArgs.Empty); } }
//private void OnNewCompareSearch(SearchPara searchPara) //{ // m_isCompareSearch = true; // if (PreNewSearch != null) // { // string[] settings = new string[] { searchPara.Task.TaskName+ " 以图搜车" }; // PreNewSearch(settings); // } // if (m_ResultPageInfo != null) // { // m_ResultPageInfo.SelectedPageNumberChanged -= new EventHandler(ResultPageInfo_SelectedPageNumberChanged); // } // m_DTAnalyseResults.Rows.Clear(); // m_searchPara = searchPara; // Task = m_searchPara.Task; // // SearchSettings = searchPara.ToString(); // //m_FileAccess = FileAccessFactory.GetFileAccess(Task.PictureSource); // if (Framework.Container.Instance.TaskManager.Revisor != null) // { // if (Task.Status == TaskStatus.Finished) // { // m_Records = Framework.Container.Instance.TaskManager.Revisor.GetAllResults(Task); // m_ResultPageInfo = new DataModel.PageInfo(m_Records.Count == 0? 100 : m_Records.Count, searchPara.ResultCount, 0); // } // else // { // m_Records = null; // m_ResultPageInfo = new DataModel.PageInfo(100, 0, 0); // } // } // else // { // m_ResultPageInfo = new DataModel.PageInfo(100, searchPara.ResultCount, 0); // m_ResultPageInfo.SelectedPageNumberChanged += new EventHandler(ResultPageInfo_SelectedPageNumberChanged); // m_SQLQuery = m_searchPara.SqlQuery; // //m_Records = Framework.Container.Instance.TaskManager.SwitchComparePage(m_SQLQuery, m_ResultPageInfo, m_searchPara); // } // FileName = string.Format("{0}: ", m_searchPara.Task.TaskName); // RaisePropertyChangedEvent("FileName"); // if (m_Records != null && m_Records.Count > 0) // { // foreach (AnalyseRecord record in m_Records) // { // AddResultRow(m_DTAnalyseResults, record); // } // HasResult = true; // } // else // { // Framework.Container.Instance.InteractionService.ShowMessageBox("没有检索到结果"); // } // if (SearchResult != null) // { // SearchResult(this, EventArgs.Empty); // } //} private void OnSearchFinished(Tuple <List <AnalyseRecord>, long, string> records) { if (SearchStartTime == null) { SearchStartTime = DateTime.Now.AddSeconds(-2); } DateTime searchFinishTime = DateTime.Now; Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss,fff") + " OnSearchFinished 1"); string errorMsg = ""; if (records != null && records.Item1 != null && records.Item1.Count > 0) { m_Records = records.Item1; m_ResultPageInfo = new DataModel.PageInfo(100, (int)records.Item2, 0); m_ResultPageInfo.SelectedPageNumberChanged += new EventHandler(ResultPageInfo_SelectedPageNumberChanged); try { var detaillist = Framework.Container.Instance.TaskManager.GetDetailResults(m_Records.GetRange(0, Math.Min(100, m_Records.Count))); foreach (AnalyseRecord record in detaillist) { AddResultRow(m_DTAnalyseResults, record); Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss,fff") + " AddResultRow"); } } catch (SDKCallException ex) { errorMsg = "无法查询到记录的明细信息,错误信息:" + ex.ToString(); } HasResult = true; } else { m_Records = null; m_ResultPageInfo = new DataModel.PageInfo(100, 0, 0); errorMsg = "没有检索到结果" + (string.IsNullOrEmpty(records.Item3) ? "" : ",错误信息:" + records.Item3); HasResult = false; } Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss,fff") + " OnSearchFinished 2"); if (SearchResult != null) { SearchResult(this, EventArgs.Empty); } Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss,fff") + " OnSearchFinished 3"); string SearchCastTime1 = searchFinishTime.Subtract(SearchStartTime).TotalSeconds.ToString("0.#") + "秒"; string SearchCastTime2 = DateTime.Now.Subtract(SearchStartTime).TotalSeconds.ToString("0.#") + "秒"; FileName = string.Format("检索耗时:{1}: ", m_searchPara.ToString(), SearchCastTime1, SearchCastTime2); RaisePropertyChangedEvent("FileName"); if (!string.IsNullOrEmpty(errorMsg)) { Framework.Container.Instance.InteractionService.ShowMessageBox(errorMsg); } }
//private void OnNewCompareSearch(SearchPara searchPara) //{ // m_isCompareSearch = true; // if (PreNewSearch != null) // { // string[] settings = new string[] { searchPara.Task.TaskName+ " 以图搜车" }; // PreNewSearch(settings); // } // if (m_ResultPageInfo != null) // { // m_ResultPageInfo.SelectedPageNumberChanged -= new EventHandler(ResultPageInfo_SelectedPageNumberChanged); // } // m_DTAnalyseResults.Rows.Clear(); // m_searchPara = searchPara; // Task = m_searchPara.Task; // // SearchSettings = searchPara.ToString(); // //m_FileAccess = FileAccessFactory.GetFileAccess(Task.PictureSource); // if (Framework.Container.Instance.TaskManager.Revisor != null) // { // if (Task.Status == TaskStatus.Finished) // { // m_Records = Framework.Container.Instance.TaskManager.Revisor.GetAllResults(Task); // m_ResultPageInfo = new DataModel.PageInfo(m_Records.Count == 0? 100 : m_Records.Count, searchPara.ResultCount, 0); // } // else // { // m_Records = null; // m_ResultPageInfo = new DataModel.PageInfo(100, 0, 0); // } // } // else // { // m_ResultPageInfo = new DataModel.PageInfo(100, searchPara.ResultCount, 0); // m_ResultPageInfo.SelectedPageNumberChanged += new EventHandler(ResultPageInfo_SelectedPageNumberChanged); // m_SQLQuery = m_searchPara.SqlQuery; // //m_Records = Framework.Container.Instance.TaskManager.SwitchComparePage(m_SQLQuery, m_ResultPageInfo, m_searchPara); // } // FileName = string.Format("{0}: ", m_searchPara.Task.TaskName); // RaisePropertyChangedEvent("FileName"); // if (m_Records != null && m_Records.Count > 0) // { // foreach (AnalyseRecord record in m_Records) // { // AddResultRow(m_DTAnalyseResults, record); // } // HasResult = true; // } // else // { // Framework.Container.Instance.InteractionService.ShowMessageBox("没有检索到结果"); // } // if (SearchResult != null) // { // SearchResult(this, EventArgs.Empty); // } //} private void OnSearchFinished(Tuple <List <AnalyseRecord>, long, string> records) { if (SearchStartTime == null) { SearchStartTime = DateTime.Now.AddSeconds(-2); } DateTime searchFinishTime = DateTime.Now; Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss,fff") + " OnSearchFinished 1"); if (records != null && records.Item1 != null && records.Item1.Count > 0) { m_Records = records.Item1; m_ResultPageInfo = new DataModel.PageInfo(24, m_Records.Count, 0); m_ResultPageInfo.SelectedPageNumberChanged += new EventHandler(ResultPageInfo_SelectedPageNumberChanged); //foreach (AnalyseRecord record in m_Records.GetRange(0, Math.Min(12, m_Records.Count))) //{ // AddResultRow(m_DTAnalyseResults, record); //} HasResult = true; } else { m_Records = null; m_ResultPageInfo = new DataModel.PageInfo(24, 0, 0); Framework.Container.Instance.InteractionService.ShowMessageBox("没有检索到结果" + (string.IsNullOrEmpty(records.Item3)?"":",错误信息:" + records.Item3)); } Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss,fff") + " OnSearchFinished 2"); if (SearchResult != null) { SearchResult(true, EventArgs.Empty); } Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss,fff") + " OnSearchFinished 3"); string SearchCastTime1 = searchFinishTime.Subtract(SearchStartTime).TotalSeconds.ToString("0.#") + "秒"; string SearchCastTime2 = DateTime.Now.Subtract(SearchStartTime).TotalSeconds.ToString("0.#") + "秒"; FileName = string.Format("比对总数:{3}条,检索用时:{1} ", m_searchPara.ToString(), SearchCastTime1, SearchCastTime2, records.Item2); RaisePropertyChangedEvent("FileName"); }
public void OnSearchFinished(List <AnalyseRecord> records) { if (PreNewSearch != null) { PreNewSearch(null, null); } if (m_ResultPageInfo != null) { m_ResultPageInfo.SelectedPageNumberChanged -= new EventHandler(ResultPageInfo_SelectedPageNumberChanged); } m_DTAnalyseResults.Clear(); if (records != null && records.Count > 0) { m_Records = records; m_GroupRecords = records.GroupBy(id => id.PlateNumber).ToDictionary(group => group.Key, group => group.ToList()); m_GroupRecords = m_GroupRecords.OrderByDescending(o1 => o1.Value.Max(it1 => it1.Score)).ThenByDescending(o2 => o2.Value.Max(it2 => it2.CompareSimilarity)).ToDictionary(r => r.Key, v => v.Value); m_ResultPageInfo = new DataModel.PageInfo(24, m_GroupRecords.Count, 0); m_ResultPageInfo.SelectedPageNumberChanged += new EventHandler(ResultPageInfo_SelectedPageNumberChanged); foreach (List <AnalyseRecord> record in m_GroupRecords.Values.ToList().GetRange(0, Math.Min(24, m_GroupRecords.Count))) { m_DTAnalyseResults.Add(record); } HasResult = true; } else { m_Records = null; m_ResultPageInfo = new DataModel.PageInfo(24, 0, 0); } if (SearchResult != null) { SearchResult(true, EventArgs.Empty); } }