Beispiel #1
0
 /// <summary>
 /// 根据条件查询全部报警记录
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public List <AlarmRecordCustom> GetAllAlarmRecordCondition(DefinedAlarmRecordQuery query)
 {
     try
     {
         List <AlarmRecordCustom> list = mapContext.QueryForList <AlarmRecordCustom>("GetAllAlarmRecordCondition", query).ToList();
         return(list);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="confirmState"></param>
        /// <param name="alarmType"></param>
        /// <param name="subSystem"></param>
        /// <param name="alarmLevel"></param>
        /// <returns></returns>
        public System.IO.MemoryStream GetAllAlarmRecordCondition(int regionId, string startTime, string endTime, int confirmState, int alarmType, string subSystem, int alarmLevel)
        {
            List <AlarmRecordModel> retList = new List <AlarmRecordModel>();

            #region   拼接DataTable列头
            System.Data.DataTable table = new System.Data.DataTable();
            table.Columns.Add("告警编号");
            table.Columns.Add("设备编号");
            table.Columns.Add("事件类型");
            table.Columns.Add("设备名称");
            table.Columns.Add("子系统类型");
            table.Columns.Add("报警时间");
            table.Columns.Add("报警级别");
            table.Columns.Add("确警人");
            table.Columns.Add("园区");
            table.Columns.Add("确警时间");
            table.Columns.Add("确警结果");
            table.Columns.Add("报警位置");
            table.Columns.Add("确警描述");

            #endregion
            AlarmRecordModel retModel = null;
            try
            {
                DefinedAlarmRecordQuery queryModel = new DefinedAlarmRecordQuery();
                queryModel.alarmCode    = "";
                queryModel.confirmState = confirmState;
                queryModel.alarmType    = alarmType;
                queryModel.alarmLevel   = alarmLevel;
                queryModel.endTime      = endTime;
                queryModel.startTime    = startTime;
                queryModel.regionId     = regionId;
                if (!string.IsNullOrEmpty(subSystem))
                {
                    if (subSystem.Contains(','))
                    {
                        string[] arr    = subSystem.Split(',');
                        int[]    intArr = Array.ConvertAll <string, int>(arr, n => int.Parse(n));
                        queryModel.subSystem = intArr;
                    }
                    else
                    {
                        int[] intArr = new int[] { int.Parse(subSystem) };
                        queryModel.subSystem = intArr;
                    }
                }
                else
                {
                    queryModel.subSystem = null;
                }
                List <AlarmRecordCustom> list = _servAlarmRecordDal.GetAllAlarmRecordCondition(queryModel);  //分页查询报警信息
                if (list != null)
                {
                    BaseEventTypeBLL          baseEventTypeBll = new BaseEventTypeBLL();
                    List <BaseEventTypeModel> eventList        = baseEventTypeBll.GetAllEventType(); //获取全部事件类型
                    foreach (AlarmRecordCustom model in list)
                    {
                        retModel = TranAlarmRecord(model, eventList);
                        System.Data.DataRow row = table.NewRow();
                        row["告警编号"]  = retModel.id;
                        row["设备编号"]  = retModel.alarmName;
                        row["事件类型"]  = retModel.alarmEvent;
                        row["设备名称"]  = retModel.deviceName;
                        row["子系统类型"] = retModel.subSystem;
                        row["报警时间"]  = retModel.alarmTime.ToString();
                        row["报警级别"]  = retModel.alarmLevel;
                        row["确警人"]   = retModel.confirmPersonName;
                        row["园区"]    = retModel.regionName;
                        row["确警时间"]  = retModel.alarmTime == retModel.confirmAlarmTime ? "" : retModel.confirmAlarmTime.ToString();
                        row["确警结果"]  = retModel.confirmResult;
                        row["报警位置"]  = retModel.alarmLocation;
                        row["确警描述"]  = retModel.confirmAlarmText;
                        table.Rows.Add(row);
                        // retList.Add(retModel);
                    }
                }
                //  System.Data.DataTable dt= CSM.Utils.ExcelHelper.ToDataTable(retList);
                // System.IO.MemoryStream ms = CSM.Utils.ExcelHelper.DataTableToExcel(dt, "sheet2");

                System.IO.MemoryStream ms = CSM.Utils.ExcelHelper.DataTableToExcel(table, "sheet2");
                // System.IO.MemoryStream ms = CSM.Utils.ExcelHelper.GetExcelStream(retList);
                return(ms);
            }
            catch (Exception ex)
            {
                //log BLL层查询设备报警列表失败+ex.message
                throw ex;
            }
        }