public void ShowProductionLineStatus() { pdtLinesToShow.Clear(); // 根据站点,分屏显示或者显示全部产线安灯事件状态 switch (CurrentStationInfo.Instance.Station.HostParameter) { case 1: // 表示当前站点为监控站点,需要自动刷屏 for (int i = currentRecordNo; i < currentRecordNo + recordCountforPerPage; i++) { if (i >= pdtLines.Count) { break; } AndonProductionLineStatus line = pdtLines[i].Clone(); pdtLinesToShow.Add(line); } break; default: foreach (AndonProductionLineStatus line in pdtLines) { pdtLinesToShow.Add(line.Clone()); } break; } grdPrdtLines.DataSource = pdtLinesToShow; }
private void ShowAndonStatusWithProductionLine() { string strProcedureName = string.Format( "{0}.{1}", className, MethodBase.GetCurrentMethod().Name); WriteLog.Instance.WriteBeginSplitter(strProcedureName); try { List <ProductionSurveillance> lines = null; try { lines = GetAllPrdtLinesAndonStatus(); pdtLines.Clear(); AndonProductionLineStatus pdtLine = null; foreach (ProductionSurveillance lineEventStatus in lines) { if (pdtLine == null || pdtLine.T134LeafID != lineEventStatus.LeafID) { pdtLine = new AndonProductionLineStatus() { NodeID = lineEventStatus.T134NodeID, NodeName = lineEventStatus.T134NodeName, T134LeafID = lineEventStatus.LeafID, T134NodeName = lineEventStatus.NodeName, }; pdtLines.Add(pdtLine); } switch (lineEventStatus.T179Code) { case "M": if (lineEventStatus.ResourceStatus == 0) { grdbndMaterial.Visible = false; } else { grdbndMaterial.Visible = true; pdtLine.MaterialStatus = lineEventStatus.ResourceStatus; pdtLine.MaterialTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.MaterialResponded = lineEventStatus.OnSiteResponded; } break; case "R": if (lineEventStatus.ResourceStatus == 0) { grdbndEquipment.Visible = false; } else { grdbndEquipment.Visible = true; pdtLine.EquipmentStatus = lineEventStatus.ResourceStatus; pdtLine.EquipmentTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.EquipmentResponded = lineEventStatus.OnSiteResponded; } break; case "Q": if (lineEventStatus.ResourceStatus == 0) { grdbndQuality.Visible = false; } else { grdbndQuality.Visible = true; pdtLine.QualifyStatus = lineEventStatus.ResourceStatus; pdtLine.QualifyTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.QualifyResponded = lineEventStatus.OnSiteResponded; } break; case "O": if (lineEventStatus.ResourceStatus == 0) { grdbndOther.Visible = false; } else { grdbndOther.Visible = true; pdtLine.OtherStatus = lineEventStatus.ResourceStatus; pdtLine.OtherTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.OtherResponded = lineEventStatus.OnSiteResponded; } break; case "S": if (lineEventStatus.ResourceStatus == 0) { grdbndSafety.Visible = false; } else { grdbndSafety.Visible = true; pdtLine.SecurityStatus = lineEventStatus.ResourceStatus; pdtLine.SecurityTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.SecurityResponded = lineEventStatus.OnSiteResponded; } break; case "T": if (lineEventStatus.ResourceStatus == 0) { grdbndTooling.Visible = false; } else { grdbndTooling.Visible = true; pdtLine.ToolingStatus = lineEventStatus.ResourceStatus; pdtLine.ToolingTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.ToolingResponded = lineEventStatus.OnSiteResponded; } break; case "D": if (lineEventStatus.ResourceStatus == 0) { grdbndDesign.Visible = false; } else { grdbndDesign.Visible = true; pdtLine.DesignStatus = lineEventStatus.ResourceStatus; pdtLine.DesignTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.DesignResponded = lineEventStatus.OnSiteResponded; } break; case "X": if (lineEventStatus.ResourceStatus == 0) { grdbndTechnology.Visible = false; } else { grdbndTechnology.Visible = true; pdtLine.TechnologyStatus = lineEventStatus.ResourceStatus; pdtLine.TechnologyTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.TechnologyResponded = lineEventStatus.OnSiteResponded; } break; } } ShowProductionLineStatus(); SetConnectionStatus(true); } catch (Exception error) { WriteLog.Instance.Write(error.Message, strProcedureName); SetConnectionStatus(false); AppOperationLog log = new AppOperationLog() { Time = DateTime.Now, ErrCode = -1, ErrText = error.Message, }; AddLog(log); } frmKanbanPS_Resize(this, null); } finally { WriteLog.Instance.WriteEndSplitter(strProcedureName); } }