public BasicResponse <List <Jc_BInfo> > GetAlarmCache(AlarmCacheGetByConditonRequest alarmCacheRequest) { var alarmCache = AlarmCache.AlarmCacheInstance.Query(alarmCacheRequest.Predicate); var alarmCacheResponse = new BasicResponse <List <Jc_BInfo> >(); alarmCacheResponse.Data = alarmCache; return(alarmCacheResponse); }
/// <summary> /// 结束报警记录 /// </summary> /// <param name="pointid"></param> /// <param name="datastate"></param> /// <param name="time"></param> public static void EndJC_BInfo(string pointid, DeviceDataState datastate, DateTime time) { AlarmCacheGetByConditonRequest request = new AlarmCacheGetByConditonRequest(); request.Predicate = p => p.Type == (short)datastate && p.PointID == pointid && (p.Etime < new DateTime(2000) || p.Etime == null); var result = alarmCacheService.GetAlarmCache(request); if (result.Data != null && result.IsSuccess) { List <Jc_BInfo> bItems = result.Data; foreach (Jc_BInfo item in bItems) { item.Etime = time; UpdateJC_BInfo(item); } } }
protected override void DoWork() { //删除已结束,并超过5分钟的报警数据,Etime=1900-01-01 00:00:00 表示未结束 20170616 AlarmCacheGetByConditonRequest request = new AlarmCacheGetByConditonRequest { Predicate = alarm => DateTime.Now - alarm.Etime > delaytime && alarm.Etime != DateTime.Parse("1900-01-01 00:00:00") }; var alarmRespnse = alarmCacheService.GetAlarmCache(request); if (alarmRespnse.IsSuccess && alarmRespnse.Data != null && alarmRespnse.Data.Any()) { AlarmCacheBatchDeleteRequest deleteRequest = new AlarmCacheBatchDeleteRequest { AlarmInfos = alarmRespnse.Data }; alarmCacheService.BatchDeleteAlarmCache(deleteRequest); } base.DoWork(); }