/// <summary> /// 报警数据拼装 /// </summary> /// <param name="sourceModel"></param> /// <param name="eventList"></param> /// <returns></returns> private AlarmRecordModel TranAlarmRecord(AlarmRecordCustom sourceModel, List <BaseEventTypeModel> eventList) { AlarmRecordModel retModel = new AlarmRecordModel(); ServDeviceInfoDAL servDeviceInfoDal = new ServDeviceInfoDAL(); BaseRegionConfigDAL baseRegionConfigDal = new BaseRegionConfigDAL(); ServPersonInfoDAL personInfoDal = new ServPersonInfoDAL(); List <BaseRegionConfigModel> regionList = baseRegionConfigDal.GetAllRegionConfig();//获取全部园区 #region 查找事件 旧版 //if (alarmEvent == null) //判断当前事件是否存在 //{ // retModel.alarmEvent = ""; // retModel.rootEventId = -1; //} //else //{ // if (alarmEvent.pid == -1) //判断是否是父级事件 // { // retModel.alarmEvent = alarmEvent.event_name; // retModel.rootEventId = alarmEvent.id; // } // else // { // var rootEvent = eventList.FirstOrDefault(n => n.id == alarmEvent.pid);//查询父级事件,目前事件只保留两级 // if (rootEvent != null) //找到父级事件 // { // retModel.alarmEvent = alarmEvent.event_name + "[" + rootEvent.event_name + "]"; // retModel.rootEventId = rootEvent.id; // } // else //未找到父级事件 // { // retModel.alarmEvent = "[" + rootEvent.event_name + "]"; // retModel.rootEventId = -1; // } // } //} #endregion #region 查找事件 //var alarmEvent = eventList.FirstOrDefault(n => n.id == sourceModel.alarm_event); //查询当前事件 //if (alarmEvent == null) //判断当前事件是否存在 //{ // retModel.alarmEvent = "--"; // retModel.rootEventId = -1; //} //else //{ // if (alarmEvent.pid == -1) //判断是否是父级事件 // { // retModel.alarmEvent = alarmEvent.event_name; // retModel.rootEventId = alarmEvent.id; // } // else // { // var rootEvent = eventList.FirstOrDefault(n => n.id == alarmEvent.pid);//查询父级事件,目前事件只保留两级 // if (rootEvent != null) //找到父级事件 // { // retModel.alarmEvent = rootEvent.event_name; // retModel.rootEventId = rootEvent.id; // } // else //未找到父级事件 // { // retModel.alarmEvent = "--"; // retModel.rootEventId = -1; // } // } //} #endregion #region 查找事件 新版 if (!string.IsNullOrEmpty(sourceModel.alarm_event) && sourceModel.alarm_event != "") { var alarmEvent = eventList.FirstOrDefault(n => n.event_code == sourceModel.alarm_event);//查找事件 if (alarmEvent != null) { if (alarmEvent.pid == -1) { retModel.alarmEvent = alarmEvent.event_name; retModel.rootEventId = alarmEvent.id; } else { var rootEvent = eventList.FirstOrDefault(n => n.id == alarmEvent.pid); if (rootEvent != null) //找到父级事件 { retModel.alarmEvent = rootEvent.event_name; retModel.rootEventId = rootEvent.id; } else //未找到父级事件 { retModel.alarmEvent = "--"; retModel.rootEventId = -1; } } } else { retModel.alarmEvent = "--"; retModel.rootEventId = -1; } } else { retModel.alarmEvent = "--"; retModel.rootEventId = -1; } #endregion // retModel.alarmEvent = eventList.Find(n => n.id == sourceModel.alarm_event) == null ? "" : eventList.Find(n => n.id == sourceModel.alarm_event).event_name;//将事件类型ID转换为事件名称 retModel.alarmLevel = Enum.IsDefined(typeof(EnumClass.AlarmLevel), sourceModel.alarm_level) ? Enum.ToObject(typeof(EnumClass.AlarmLevel), sourceModel.alarm_level).ToString() : "";//转换报警等级 retModel.alarmLocation = sourceModel.alarm_location; // retModel.alarmName = sourceModel.alarm_name; retModel.alarmName = sourceModel.alarm_code;//报警名称不显示,显示设备code retModel.alarmText = sourceModel.alarm_text; retModel.alarmTime = sourceModel.alarm_time; retModel.alarmCacheStatus = sourceModel.alarm_cache_status; retModel.alarmType = sourceModel.alarm_type; //设备报警 // retModel.confirmPersonName = "";//根据ssoid查找人员 需调用sso接口 retModel.confirmPersonName = personInfoDal.GetPersonInfoBySSOId(sourceModel.confirm_person_id) == null ? "" : personInfoDal.GetPersonInfoBySSOId(sourceModel.confirm_person_id).alias; retModel.confirmAlarmTime = sourceModel.confirm_alarm_time; retModel.confirmAlarmText = sourceModel.confirm_alarm_text; retModel.confirmResult = Enum.IsDefined(typeof(EnumClass.ConfirmAlarmResult), sourceModel.confirm_result) ? Enum.ToObject(typeof(EnumClass.ConfirmAlarmResult), sourceModel.confirm_result).ToString() : ""; retModel.confirmState = Enum.IsDefined(typeof(EnumClass.ConfirmAlarmState), sourceModel.confirm_state) ? Enum.ToObject(typeof(EnumClass.ConfirmAlarmState), sourceModel.confirm_state).ToString() : ""; // retModel.deviceName = servDeviceInfoDal.GetEntity(sourceModel.alarm_code) == null ? "未知:" + sourceModel.alarm_code : servDeviceInfoDal.GetEntity(sourceModel.alarm_code).device_name;//查询设备名称 retModel.deviceName = sourceModel.device_name == null ? "未知" : sourceModel.device_name; retModel.regionName = regionList.Where(n => n.id == sourceModel.region_id).FirstOrDefault() == null ? "" : regionList.Where(n => n.id == sourceModel.region_id).FirstOrDefault().region_name; retModel.ext1 = sourceModel.ext1; retModel.ext2 = sourceModel.ext2; retModel.ext3 = sourceModel.ext3; retModel.ext4 = sourceModel.ext4; retModel.ext5 = sourceModel.ext5; retModel.id = sourceModel.id; retModel.subSystem = Enum.IsDefined(typeof(EnumClass.SubSystem), sourceModel.alarm_subsystem) ? Enum.ToObject(typeof(EnumClass.SubSystem), sourceModel.alarm_subsystem).ToString() : "";//转换为子系统名称 return(retModel); }