/// <summary> /// 在主线程中运行的流程测试完成事件响应函数 /// </summary> private void FlowCompleteHandler() { StopFlowTimer(); FlowControl.Instance.FlowStatus = FlowControl.FLOW_STATUS_COMPLETE; if (FlowControl.Instance.FlowResult == FlowControl.FLOW_RESULT_INIT) { bool pass = true; foreach (FlowItem flowItem in FlowControl.Instance.FlowItemList) { if (!flowItem.Item.Property.Disable && !flowItem.IsAuxiliaryItem() && !flowItem.IsPass()) { pass = false; break; } } FlowControl.Instance.FlowResult = pass ? FlowControl.FLOW_RESULT_PASS : FlowControl.FLOW_RESULT_FAIL; } else if (FlowControl.Instance.FlowResult == FlowControl.FLOW_RESULT_EXCEPTION) { //复位设备 string resp; EquipmentCmd.Instance.SendCommand(CommonString.CMD_RESET, String.Empty, out resp); } ShowResult(); if (FlowControl.Instance.FlowResult == FlowControl.FLOW_RESULT_FAIL) { Statistic.Instance.IncreaseFailNum(); } Statistic.Instance.IncreaseTotalNum(); UpdateStatisticInfo(); Statistic.Instance.Save(); if (FlowControl.Instance.FlowCompleteReason != FlowControl.FLOW_COMPLETE_STOP) { ResultRecord.Record(AppInfo.PhoneInfo.SN); if (0 == NetUtil.GetStationIndex()) { CompleteHandler(0); } else { LiteDataClient.Instance.SendCompleteFlag(NetUtil.GetStationIndex()); } } TimeLog.Save(); DataReport.Save(); }