/// <summary> /// ���һ�����տ���Ϣ /// </summary> /// <param name="sbMonitorInfo"></param> public void AddOneScanBoardInfo(SBInfoAndMonitorInfo sbMonitorInfo) { _curAllScanBoardMonitorInfList.Add(sbMonitorInfo); }
/// <summary> /// ��ȡ������ʾ���͵���ɫ��ֵ���ַ��� /// </summary> /// <param name="curSBIndex"></param> /// <param name="monitorData"></param> /// <param name="backColor"></param> /// <param name="diplayObj"></param> /// <param name="errFanOrPower"></param> private void GetOneScanBoardStatisticsInfo(string monitorKey, SBInfoAndMonitorInfo sbInfAndMonitInf) { ScannerMonitorData monitorData = null; ScanBoardRowLineStatus rowLineStatus = null; List<bool> generalStatusList = null; if (sbInfAndMonitInf != null) { if (sbInfAndMonitInf.MonitorData != null) { monitorData = (ScannerMonitorData)sbInfAndMonitInf.MonitorData.Clone(); } if (sbInfAndMonitInf.RowLineStatus != null) { rowLineStatus = (ScanBoardRowLineStatus)sbInfAndMonitInf.RowLineStatus.Clone(); } generalStatusList = sbInfAndMonitInf.GeneralSwitchList; } Color backColor = Color.Gray; bool bHasValidInfo = false; uint oneTypeFaultAlarmCnt = 0; switch (_curType) { #region ��ȡDataGridView��ʾ�ı�����ɫ case MonitorDisplayType.SBStatus: StatisticsMonitorInfo.GetSBStatusFaultInfo(monitorData, out _monitorResType); if (_monitorResType == MonitorInfoResult.Fault) { _curFaultInfo.SBStatusErrCount++; } else if (_monitorResType == MonitorInfoResult.Alarm) { _curAlarmInfo.SBStatusErrCount++; } break; case MonitorDisplayType.MCStatus: StatisticsMonitorInfo.GetMCStatusFaultInfo(monitorData, out _monitorResType); if (_monitorResType == MonitorInfoResult.Fault) { _curFaultInfo.MCStatusErrCount++; } else if (_monitorResType == MonitorInfoResult.Alarm) { _curAlarmInfo.MCStatusErrCount++; } break; case MonitorDisplayType.Smoke: StatisticsMonitorInfo.GetSmokeAlarmInfo(monitorData, out _monitorResType); if (_monitorResType == MonitorInfoResult.Alarm) { _curAlarmInfo.SmokeAlarmCount++; } break; case MonitorDisplayType.Temperature: CaculateTempStatisticsInfo(monitorData); break; case MonitorDisplayType.Humidity: CaculateHumidityStatisticsInfo(monitorData); break; case MonitorDisplayType.Fan: _curMCFanCnt = GetMonitorColorAndValue.GetMonitorFanCnt(_curMonitorConfigInfo.MCFanInfo, monitorKey); _totalFanSwitchCount += (uint)_curMCFanCnt; StatisticsMonitorInfo.GetFanAlarmInfo(monitorData, _curMCFanCnt, _curMonitorConfigInfo.MCFanInfo.AlarmThreshold, out bHasValidInfo, out oneTypeFaultAlarmCnt); _curAlarmInfo.FanAlarmSwitchCount += oneTypeFaultAlarmCnt; break; case MonitorDisplayType.Power: _curMCPowerCnt = GetMonitorColorAndValue.GetMonitorPowerCnt(_curMonitorConfigInfo.MCPowerInfo, monitorKey); _totalPowerSwitchCount += (uint)_curMCPowerCnt; if (_curMonitorConfigInfo.IsDisplayScanBoardVolt) { _totalPowerSwitchCount++; if (monitorData != null) { StatisticsMonitorInfo.GetOneFanOrPowerAlarmInfo(monitorData.VoltageOfScanCard, _curMonitorConfigInfo.MCPowerInfo.AlarmThreshold, out _monitorResType); if (_monitorResType == MonitorInfoResult.Alarm) { _curAlarmInfo.PowerAlarmSwitchCount++; } } } StatisticsMonitorInfo.GetMCPowerAlarmInfo(monitorData, _curMCPowerCnt, _curMonitorConfigInfo.MCPowerInfo.AlarmThreshold, _curMonitorConfigInfo.MCPowerInfo.FaultThreshold, out bHasValidInfo, out oneTypeFaultAlarmCnt); _curAlarmInfo.PowerAlarmSwitchCount += oneTypeFaultAlarmCnt; break; case MonitorDisplayType.RowLine: StatisticsMonitorInfo.GetRowLineFaultInfo(monitorData, rowLineStatus, out _monitorResType); if (_monitorResType == MonitorInfoResult.Fault) { _curFaultInfo.SoketAlarmCount++; } break; case MonitorDisplayType.GeneralSwitch: StatisticsMonitorInfo.GetGeneralSwitcAlarmInfo(monitorData, generalStatusList, out _monitorResType); if (_monitorResType == MonitorInfoResult.Alarm) { _curAlarmInfo.GeneralSwitchErrCount++; } break; #endregion } }
public object Clone() { SBInfoAndMonitorInfo newObj = new SBInfoAndMonitorInfo(); bool res = this.CopyTo(newObj); if (!res) { return null; } else { return newObj; } }