Exemple #1
0
        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);
                }
            }
        }
Exemple #3
0
        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();
        }