Esempio n. 1
0
 /// <summary>
 /// 交接时关闭上一班报警
 /// </summary>
 /// <param name="faultConfiguration"></param>
 private void StopLastShiftAlarm(OverLimitConfigEntity faultConfiguration)
 {
     KPI_UnitEntity Entity = KPI_UnitDal.GetEntity(faultConfiguration.UnitID);
     if (Entity == null) return;
     String strWorkID = Entity.WorkID;
     String strStartTime = "";
     String strEndTime = "";
     String Shift = "";
     String Period = "";
     String strCurrentMinute = DateTime.Now.ToString("yyyy-MM-dd HH:mm:00");
     KPI_WorkDal.GetShiftAndPeriod(strWorkID, strCurrentMinute,
         ref Shift, ref Period, ref strStartTime, ref strEndTime);
     DateTime ShiftStartTime = Convert.ToDateTime(strStartTime);
     DateTime CurrentTime = DateTime.Now;
     TimeSpan Span = CurrentTime - ShiftStartTime;
     double TotalMinutes = Span.TotalMinutes;
     if (TotalMinutes <= 10) {
         try {
             using (KPI_OverLimitRecordDal DataAccess = new KPI_OverLimitRecordDal()) {
                 KPI_OverLimitRecordEntity entity = new KPI_OverLimitRecordEntity();
                 for (int i = 1; i < 4; i++) {
                     entity.TagID = faultConfiguration.TagName;
                     entity.AlarmStartTime = ShiftStartTime;
                     entity.AlarmType = i;
                     DataAccess.UpdateOverLimitRecord(entity);
                 }
             }
         }
         catch (Exception ex) {
             LogUtil.LogMessage(string.Format("安全指标超限报警计算错误,错误信息是:{0},调用栈信息是:{1}",
                 ex.Message, ex.StackTrace));
         }
     }
 }
 /// <summary>
 /// 解除报警,更新KPI_OverLimitRecord表中数据
 /// </summary>
 /// <param name="faultConfiguration">报警配置信息</param>
 /// <param name="alarmType">报警类型 1=超高限,2=超高高限,3=超更高;</param>
 /// <param name="alarmTime">解除报警时间</param>
 protected void UpdateExistOverLimitRecordToDB(OverLimitConfigEntity faultConfiguration, int alarmType, DateTime alarmTime)
 {
     try
     {
         KPI_OverLimitRecordEntity entity = new KPI_OverLimitRecordEntity();
         entity.TagID = faultConfiguration.TagName;
         entity.AlarmEndTime = alarmTime;
         entity.AlarmType = alarmType;
         using (KPI_OverLimitRecordDal DataAccess = new KPI_OverLimitRecordDal())
         {
             DataAccess.UpdateOverLimitRecord(entity);
         }
     }
     catch (Exception ex)
     {
         m_Logger.InfoFormat("UpdateExistOverLimitRecordToDB安全指标超限报警计算错误,错误信息是:{0},调用栈信息是:{1}",
             ex.Message, ex.StackTrace);
         m_Logger.Error(ex.Message, ex);
     }
 }
Esempio n. 3
0
 /// <summary>
 /// 解除报警,更新KPI_OverLimitRecord表中数据
 /// </summary>
 /// <param name="faultConfiguration">报警配置信息</param>
 /// <param name="alarmType">报警类型 1=超高限,2=超高高限,3=超更高;</param>
 /// <param name="alarmTime">解除报警时间</param>
 private void StopAlarm(OverLimitConfigEntity faultConfiguration, int alarmType, DateTime alarmTime)
 {
     try {
         KPI_OverLimitRecordEntity entity = new KPI_OverLimitRecordEntity();
         entity.TagID = faultConfiguration.TagName;
         entity.AlarmStartTime = alarmTime;
         entity.AlarmType = alarmType;
         using (KPI_OverLimitRecordDal DataAccess = new KPI_OverLimitRecordDal()) {
             DataAccess.UpdateOverLimitRecord(entity);
         }
     }
     catch (Exception ex) {
         LogUtil.LogMessage(string.Format("安全指标超限报警计算错误,错误信息是:{0},调用栈信息是:{1}",
             ex.Message, ex.StackTrace));
     }
 }