예제 #1
0
        private void RefreshAlarmHandleInfo(int pageindex, int pagesize)
        {
            DateTime stime = Convert.ToDateTime(dateEdit3.Text).Date;
            DateTime etime = Convert.ToDateTime(dateEdit4.Text).Date;

            if (stime > etime)
            {
                XtraMessageBox.Show("开始时间不应大于结束时间");
                return;
            }
            TimeSpan span = etime.Subtract(stime);

            if (span.TotalDays > 2)
            {
                XtraMessageBox.Show("查询时间不能大于3天");
                return;
            }

            SetExecuteBeginTime();
            AlarmHandelGetByStimeAndETime request = new AlarmHandelGetByStimeAndETime()
            {
                Stime     = stime,
                Etime     = etime,
                PagerInfo = new PagerInfo
                {
                    PageIndex = pageindex,
                    PageSize  = pagesize
                }
            };
            var alarmHandleresponse = alarmHandleService.GetAlarmHandleByStimeAndEtime(request);

            if (alarmHandleresponse != null && alarmHandleresponse.IsSuccess)
            {
                AlarmHandleInfos = alarmHandleresponse.Data;
                this.logicAlarmGrid.DataSource = AlarmHandleInfos;

                SetPageInfo(alarmHandleresponse.PagerInfo);
            }
        }
 public BasicResponse <List <JC_AlarmHandleInfo> > GetAlarmHandleByStimeAndEtime(AlarmHandelGetByStimeAndETime alarmHandelRequest)
 {
     return(alarmHandleService.GetAlarmHandleByStimeAndEtime(alarmHandelRequest));
 }
예제 #3
0
        public BasicResponse <List <JC_AlarmHandleInfo> > GetAlarmHandleByStimeAndEtime(AlarmHandelGetByStimeAndETime alarmHandelRequest)
        {
            var responsestr = HttpClientHelper.Post(Webapi + "/v1/KJ73NApp/GetAlarmHandleByStimeAndEtime?token=" + Token, JSONHelper.ToJSONString(alarmHandelRequest));

            return(JSONHelper.ParseJSONString <BasicResponse <List <JC_AlarmHandleInfo> > >(responsestr));
        }
        /// <summary>
        /// 根据开始时间和结束时间获取报警列表
        /// </summary>
        /// <param name="alarmHandelRequest"></param>
        /// <returns></returns>
        public BasicResponse <List <JC_AlarmHandleInfo> > GetAlarmHandleByStimeAndEtime(AlarmHandelGetByStimeAndETime alarmHandelRequest)
        {
            try
            {
                var stime = alarmHandelRequest.Stime.Date;
                var etime = alarmHandelRequest.Etime.AddDays(1).AddSeconds(-1);

                int pageindex = alarmHandelRequest.PagerInfo.PageIndex;
                int pagesize  = alarmHandelRequest.PagerInfo.PageSize;

                DateTime noneEndTime = new DateTime(1900, 1, 1, 0, 0, 0);
                BasicResponse <List <JC_AlarmHandleInfo> > alarmresponse = new BasicResponse <List <JC_AlarmHandleInfo> >();
                //获取逻辑报警数据:当结束时间等于1990-01-01 00:00:00时取开始时间<etime;反之取开始时间<etime且结束时间>stime
                var query = _Repository.Datas.Where(alarm =>
                                                    (alarm.StartTime <etime && alarm.EndTime> stime) ||
                                                    (alarm.StartTime < etime && alarm.EndTime.Equals(noneEndTime)))
                            .OrderBy(alarm => alarm.StartTime);

                int rowcount     = query.Count();
                var responseList = query.Skip((pageindex - 1) * pagesize).Take(pagesize).ToList();

                List <JC_AlarmHandleInfo> alarmHandleModelList = ObjectConverter.CopyList <JC_AlarmHandleModel, JC_AlarmHandleInfo>(responseList).ToList();

                //var modellistresponse = _largeDataAnalysisConfigCacheService.GetAllLargeDataAnalysisConfigCache(new LargeDataAnalysisConfigCacheGetAllRequest());
                //逻辑报警分析模型从数据库获取。
                var modellist = _LargedataAnalysisConfigRepository.Datas.ToList();

                if (modellist != null && modellist.Any())
                {
                    alarmHandleModelList.ForEach(alarmhandle =>
                    {
                        if (alarmhandle.EndTime == null || alarmhandle.EndTime.ToString("yyyy-MM-dd HH:mm:ss") == "1900-01-01 00:00:00")
                        {
                            alarmhandle.EtimeDisplay = "-";
                        }
                        else
                        {
                            alarmhandle.EtimeDisplay = alarmhandle.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
                        }

                        var analysismodel = modellist.FirstOrDefault(modle => modle.Id == alarmhandle.AnalysisModelId);
                        if (analysismodel != null)
                        {
                            alarmhandle.AnalysisModelName = analysismodel.Name;
                        }
                    });
                }

                alarmresponse.Data = alarmHandleModelList;
                alarmresponse.PagerInfo.PageIndex = pageindex;
                alarmresponse.PagerInfo.PageSize  = pagesize;
                alarmresponse.PagerInfo.RowCount  = rowcount;
                return(alarmresponse);
            }
            catch (Exception ex)
            {
                LogHelper.Error("根据时间获取逻辑报警失败:" + "\r\n" + ex.Message);
                return(new BasicResponse <List <JC_AlarmHandleInfo> >());
            }
        }