void CommService_TaskMonified(TaskInfoV3_1 obj) { System.Diagnostics.Trace.WriteLine("CommService_TaskMonified " + obj.ToString()); if (obj.StatusList.Count > 0) { E_VDA_TASK_STATUS s = obj.StatusList[0].Status; uint p = obj.StatusList[0].Progress; int index = m_lastTaskidList.IndexOf(obj.TaskId); if (index >= 0) { if (s != TaskShowStatus) { if (TaskModified != null) { TaskModified(obj); } } else { if (UpdateTaskProgress != null) { UpdateTaskProgress(index, obj.TaskId, s, p); } } } if (s == TaskShowStatus && TaskModified != null) { TaskModified(obj); } } }
public int CalcProgress(E_VDA_TASK_STATUS stat, int progress, bool iscomb = true) { int totalprogress = 0; switch (stat) { case E_VDA_TASK_STATUS.E_TASK_STATUS_NOUSE: break; case E_VDA_TASK_STATUS.E_TASK_STATUS_WAITING: break; case E_VDA_TASK_STATUS.E_TASK_STATUS_IMPORT_WAIT: totalprogress = 100; break; case E_VDA_TASK_STATUS.E_TASK_STATUS_IMPORT_EXECUTING: totalprogress = iscomb?(200 + (int)(progress / 5)):progress; break; case E_VDA_TASK_STATUS.E_TASK_STATUS_IMPORT_FAILED: totalprogress = 0; break; case E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_WAIT: totalprogress = iscomb?400:100; break; case E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_EXECUTING: totalprogress = iscomb?(500 + (int)(progress * 2 / 5)):progress; break; case E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_FINISH: totalprogress = 1000; break; case E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_FAILED: totalprogress = iscomb?500:0; break; case E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_SUSPEND: totalprogress = 0; break; case E_VDA_TASK_STATUS.E_TASK_STATUS_BEEN_DELETE: totalprogress = 0; break; default: break; } return(totalprogress); }
public void PauseOrResumeTask(uint taskid) { var task = Framework.Container.Instance.CommService.GET_TASK(taskid); if (task.StatusList.Count > 0) { E_VDA_TASK_STATUS stat = task.StatusList[0].Status; if (stat == E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_SUSPEND) { Framework.Container.Instance.CommService.RESUME_REALTIME_TASK(taskid); } else if (stat == E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_EXECUTING) { Framework.Container.Instance.CommService.PAUSE_REALTIME_TASK(taskid); } } }
private void buttonReAnalyse_Click(object sender, EventArgs e) { try { E_VDA_TASK_STATUS totalstatus = 0; E_VIDEO_ANALYZE_TYPE totalalaysetype = 0; foreach (var s in m_viewModel.CurrentTask.StatusList) { totalstatus = s.Status; totalalaysetype = s.AlgthmType; } m_viewModel.PauseTask(); bool ret = m_viewModel.ReAnalyse(totalalaysetype, ""); m_viewModel.ResumeTask(); } catch (SDKCallException ex) { MessageBoxEx.Show("当前状态无法进行重新分析,[" + ex.ErrorCode + "]" + ex.Message, Framework.Environment.PROGRAM_NAME); } }
public void Init() { E_VDA_TASK_STATUS totalstatus = 0; E_VIDEO_ANALYZE_TYPE totalalaysetype = 0; foreach (var s in m_viewModel.CurrentTask.StatusList) { totalstatus = s.Status; totalalaysetype = s.AlgthmType; } textBoxAnlyse.Text = DataModel.Constant.VideoAnalyzeTypeInfo.Single(item => item.Type == totalalaysetype).Name; textBoxFilePath.Text = m_viewModel.CurrentTask.OriFilePath; textBoxTaskId.Text = m_viewModel.CurrentTask.TaskId.ToString(); textBoxTaskName.Text = m_viewModel.CurrentTask.TaskName; textBoxTaskStatus.Text = DataModel.Constant.TaskStatusInfos.Single(item => item.Status == totalstatus).Name; int index = m_viewModel.CurrentTask.TaskName.LastIndexOf('_'); string camName = (index < 0) ? m_viewModel.CurrentTask.TaskName : m_viewModel.CurrentTask.TaskName.Substring(index + 1); textBoxCameraID.Text = camName; textBoxTaskType.Text = DataModel.Constant.TaskTypeInfos.Single(item => item.Status == m_viewModel.CurrentTask.TaskType).Name; comboBoxPriority.SelectedIndex = (int)(m_viewModel.CurrentTask.Priority - 1); TitleText = string.Format("[{0}] {1}", m_viewModel.CurrentTask.TaskId, m_viewModel.CurrentTask.TaskName); isInited = true; foreach (var item in m_viewModel.CurrentTask.StatusList) { if (item.AlgthmType == E_VIDEO_ANALYZE_TYPE.E_ANALYZE_NOUSE) { continue; } DevComponents.DotNetBar.ButtonItem buttonItem = new ButtonItem(); buttonItem.GlobalItem = false; buttonItem.Text = "设置分析参数并重新分析..."; buttonItem.Click += new System.EventHandler(this.buttonItem1_Click); buttonItem.Tag = item; buttonReAnalyse.SubItems.Add(buttonItem); buttonReAnalyse.SplitButton = true; } buttonReAnalyse.Refresh(); }
public string GetActionURL(E_VDA_TASK_STATUS status, E_VIDEO_ANALYZE_TYPE analysetype, TaskType tasktype) { string url = ""; if (status == E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_EXECUTING || status == E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_SUSPEND) { switch (analysetype) { case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_NOUSE: break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_MOVEOBJ: break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_VEHICLE: break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_FACE_DYNAMIC: url += "<a href=\"E_TASK_ACTION_TYPE_DYNMIC_FACE_CONTROL\">人脸布控</a> <a href=\"E_TASK_ACTION_TYPE_DYNMIC_FACE_ALARM\">人脸报警</a> "; break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_BRIEAF: url += "<a href=\"E_TASK_ACTION_TYPE_BRIEF\">摘要播放</a> "; break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_MOVEOBJ_PLATFORM: url += "<a href=\"E_TASK_ACTION_TYPE_PEOPLE_SEARCH\">行人检索</a> <a href=\"E_TASK_ACTION_TYPE_VEHICLE_SEARCH\">车辆检索</a> "; break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROSSROAD: url += "<a href=\"E_TASK_ACTION_TYPE_VEHICLE_SEARCH\">车辆检索</a> "; if (tasktype == TaskType.Realtime) { url += "<a href=\"E_TASK_ACTION_TYPE_TRAFFIC_EVENT\">交通事件</a> "; } break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_DYNAMIC_VEHICLE: url += "<a href=\"E_TASK_ACTION_TYPE_DYNMIC_VEHICLE_SEARCH\">动态车辆</a> "; break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_ACCIDENT_ALARM: break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_BEHAVIOR_ALARM: break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_SPECIAL_EFFECT_WIPEOFF_FOG: break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROWD: if (tasktype == TaskType.Realtime) { url += "<a href=\"E_TASK_ACTION_TYPE_CROWD\">大客流</a> "; } break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_PERSON_COUNT: break; case E_VIDEO_ANALYZE_TYPE.E_ANALYZE_IMAGE_SEARCH: break; default: break; } } return(url); }
public TaskStatusInfo(E_VDA_TASK_STATUS status, string name) { Status = status; Name = name; }
private DevComponents.AdvTree.Node AddTaskTreeNode(TaskInfoV3_1 item) { DevComponents.AdvTree.Node n = new DevComponents.AdvTree.Node(item.TaskId.ToString()); DevComponents.AdvTree.Cell c = new DevComponents.AdvTree.Cell(); //c.Images.Image = global::IVX.Live.MainForm.Properties.Resources.bkjpg; c.Images.ImageIndex = 0; c.Text = item.ToString(); E_VDA_TASK_STATUS totalstatus = 0; E_VIDEO_ANALYZE_TYPE totalalaysetype = 0; foreach (var s in item.StatusList) { totalstatus = s.Status; totalalaysetype = s.AlgthmType; } n.Cells.Add(c); string anaurl = DataModel.Constant.TaskStatusInfos.Single(it => it.Status == totalstatus).Name; if (totalstatus == E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_EXECUTING) { anaurl += " <a href=\"E_TASK_ACTION_TYPE_SUNPEND\">暂停分析</a> "; } if (totalstatus == E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_SUSPEND) { anaurl += " <a href=\"E_TASK_ACTION_TYPE_CONTINUE\">继续分析</a> "; } if (totalstatus == E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_FAILED || totalstatus == E_VDA_TASK_STATUS.E_TASK_STATUS_IMPORT_FAILED) { anaurl = "<font color=\"#ff0000\" ><b>" + anaurl + "</b></font>"; } DevComponents.AdvTree.Cell cellana = new DevComponents.AdvTree.Cell(anaurl); cellana.TagString = DataModel.Constant.TaskStatusInfos.Single(it => it.Status == totalstatus).Name; n.Cells.Add(cellana); n.Cells.Add(new DevComponents.AdvTree.Cell(DataModel.Constant.VideoAnalyzeTypeInfo.Single(it => it.Type == totalalaysetype).Name)); DevComponents.AdvTree.Cell c1 = new DevComponents.AdvTree.Cell(); string url = "<a href=\"E_TASK_ACTION_TYPE_INFO\">查看信息</a> "; if ((E_VDA_TASK_STATUS)totalstatus >= E_VDA_TASK_STATUS.E_TASK_STATUS_ANALYSE_WAIT) { url += "<a href=\"E_TASK_ACTION_TYPE_PLAYBACK\">视频播放</a> "; } url += m_viewModel.GetActionURL(totalstatus, totalalaysetype, item.TaskType); //url += "<a href=\"E_TASK_ACTION_TYPE_DELETE\">删除任务</a>"; c1.Text = url; n.Cells.Add(c1); DevComponents.DotNetBar.ButtonItem sbuttonItem = new DevComponents.DotNetBar.ButtonItem(); sbuttonItem.Text = "";// "删除任务"; sbuttonItem.Click += sbuttonItem_Click; //sbuttonItem.Image = Properties.Resources._305_Close_24x24_72; sbuttonItem.Symbol = "";// "/uf014"; sbuttonItem.Tooltip = "删除任务"; //sbuttonItem.Tag = new Tuple<uint, E_VIDEO_ANALYZE_TYPE>(item.TaskId, totalalaysetype); DevComponents.AdvTree.Cell c2 = new DevComponents.AdvTree.Cell(); c2.HostedItem = sbuttonItem; n.Cells.Add(c2); n.Tag = item; return(n); }