/// <summary> /// 根据事件编码获取时间信息 /// </summary> /// <param name="Event"></param> /// <returns></returns> public ServAlarmVideoTimeModel GetAlarmVideoTime(string Event) { try { int event_id = -1; BaseEventTypeModel baseEventType = baseEventTypeBLL.GetEntityByEventCode(Event); if (baseEventType != null) { if (baseEventType.pid == -1) { event_id = baseEventType.id; } else { event_id = baseEventType.pid; } } ServAlarmVideoTimeModel AlarmVideoTimeInfo = servAlarmVideoTimeDAL.GetEntityByEventId(event_id); return(AlarmVideoTimeInfo); } catch (Exception ex) { throw ex; } }
/// <summary> /// 视频下载记录 /// </summary> /// <param name="handleRecordId"></param> /// <param name="eventId"></param> /// <param name="alarmTime"></param> /// <param name="deviceInfo"></param> /// <returns></returns> public bool VideoDownload(int handleRecordId, int eventId, DateTime alarmTime, List <ServDeviceInfoModel> deviceInfo) { try { ServAlarmVideoTimeDAL videoTimeDal = new ServAlarmVideoTimeDAL(); ServAlarmVideoTimeModel videoTime = videoTimeDal.GetEntityByEventId(eventId); if (videoTime != null) { DateTime startTime = alarmTime.AddSeconds(-videoTime.start_time); DateTime endTime = alarmTime.AddSeconds(videoTime.end_time); if (startTime == endTime) { Log4NetHelp.Info("开始下载时间与结束时间一致!请重新配置事件,事件ID:" + eventId); return(false); } //循环调用视频下载接口, //记录存入视频下载表和关联表 if (deviceInfo != null) { ServVideoPlanHandleRecordDAL dal = new ServVideoPlanHandleRecordDAL(); for (int i = 0; i < deviceInfo.Count; i++) { try { //增加视频下载记录及报警视频关联记录 if (!dal.AddPlanVideoDownRecord(handleRecordId, "", DateTime.Now, deviceInfo[i].device_code, deviceInfo[i].device_name, (int)EnumClass.VideoDownLoadStatus.未开始下载, 1, endTime, startTime, (int)EnumClass.VideoDownLoadType.报警)) { Log4NetHelp.Info("视频下载记录写入下载记录表失败!处理记录ID:" + handleRecordId + " 设备名称:" + deviceInfo[i].device_name); } } catch (Exception ex) { Log4NetHelp.Info("视频下载记录写入下载记录表失败!处理记录ID:" + handleRecordId + " 设备名称:" + deviceInfo[i].device_name + " 错误:" + ex.Message); } } } else { Log4NetHelp.Info("待下载摄像头数据为空!"); } return(true); } else { Log4NetHelp.Info("根据报警事件ID未找到事件!无法找到视频下载时间配置!"); return(false); } } catch (Exception ex) { Log4NetHelp.Error("处理预案视频下载失败!" + ex.Message); return(false); } }
/// <summary> /// 添加父级事件 /// </summary> /// <param name="eventName"></param> /// <param name="eventContent"></param> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <returns></returns> public EventRet AddRootEntity(string eventName, string eventContent, int startTime, int endTime) { EventRet ret = new EventRet(); mapContext.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);//创建事务 try { BaseEventTypeModel eventModel = new BaseEventTypeModel(); eventModel.content = eventContent; eventModel.event_code = ""; eventModel.event_name = eventName; eventModel.pid = -1; int eventId = AddEntity(eventModel); //添加事件 if (eventId > 0) { ServAlarmVideoTimeModel timeModel = new ServAlarmVideoTimeModel(); timeModel.end_time = endTime; timeModel.event_id = eventId; timeModel.start_time = startTime; int timeId = (int)mapContext.Insert("InsertAlarmVideoTime", timeModel); //添加事件对应视频下载时间 if (timeId > 0) { mapContext.CommitTransaction(); ret.message = "事件添加成功"; ret.state = 0; return(ret); } else { mapContext.RollBackTransaction(); ret.message = "视频下载时间添加失败"; ret.state = -1; return(ret); } } else { mapContext.RollBackTransaction(); ret.message = "事件添加失败"; ret.state = -1; return(ret); } } catch (Exception ex) { mapContext.RollBackTransaction(); throw ex; } finally { // mapContext.CloseConnection(); } }
/// <summary> /// 告警视屏下载 /// </summary> /// <param name="regionId"></param> /// <returns></returns> public JsonResult AlarmScreenDownload(string deviceName, string deviceCode, string Event, string alarmTime) { try { List <ServVideoInfoModel> ServVideoInfolist = new List <ServVideoInfoModel>(); ServAlarmVideoTimeModel ServAlarmVideoTime = servVideoDownloadBLL.GetAlarmVideoTime(Event); DateTime aTime = Convert.ToDateTime(alarmTime); string[] devicename = deviceName.Split(','); string[] devicecode = deviceCode.Split(','); for (int a = 0; a < devicename.Length; a++) { ServVideoInfoModel ServVideoInfo = new ServVideoInfoModel(); ServVideoInfo.video_type = (int)EnumClass.VideoDownLoadType.报警; if (ServAlarmVideoTime != null) { ServVideoInfo.video_start_time = aTime.AddSeconds(-ServAlarmVideoTime.start_time); ServVideoInfo.video_end_time = aTime.AddSeconds(ServAlarmVideoTime.end_time); } else { ServVideoInfo.video_start_time = aTime.AddSeconds(-10); ServVideoInfo.video_end_time = aTime.AddSeconds(10); } ServVideoInfo.device_name = devicename[a]; ServVideoInfo.device_code = devicecode[a]; ServVideoInfo.download_status = (int)EnumClass.VideoDownLoadStatus.未开始下载; ServVideoInfo.platform_id = (int)EnumClass.VideoPlatform.宇视; ServVideoInfo.create_time = DateTime.Now; ServVideoInfo.video_name = ""; ServVideoInfo.video_path = ""; ServVideoInfolist.Add(ServVideoInfo); } bool result = servVideoDownloadBLL.AddvideoDownload(ServVideoInfolist); return(Json(new { status = 0, msg = result }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { status = 1, msg = ex.Message }, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 删除父级事件 /// </summary> /// <param name="id"></param> /// <returns></returns> public EventRet DeleteRootEvent(int id) { bool timebl = false; EventRet ret = new EventRet(); mapContext.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);//创建事务 try { int eventRes = DeleteBaseEventTypeById(id); //删除事件 if (eventRes > 0) { ServAlarmVideoTimeModel timeModel = mapContext.QueryForObject <ServAlarmVideoTimeModel>("GetAlarmVideoTimeByEventId", id); //查找事件对应视频下载时间是否存在 List <ServAlarmCommandModel> commandList = mapContext.QueryForList <ServAlarmCommandModel>("GetAlarmCommandByEventId", id).ToList(); //获取应急指挥流程图 #region 除视频下载时间 if (timeModel != null) { int timeRes = mapContext.Delete("DeleteAlarmVideoTimeByEventId", id); //删除事件对应视频下载时间 if (timeRes > 0) { timebl = true; } } else { timebl = true; } #endregion if (timebl == true) //判断视频下载时间删除是否成功,成功则继续删除流程图 { #region 除应急指挥流程图 if (commandList != null && commandList.Count > 0) { int res = mapContext.Delete("DeleteAlarmCommandByEventId", id); if (res > 0) { mapContext.CommitTransaction(); ret.message = "事件删除成功"; ret.state = 0; return(ret); } else { mapContext.RollBackTransaction(); ret.message = "应急指挥流程图删除失败"; ret.state = -1; return(ret); } } else { mapContext.CommitTransaction(); ret.message = "事件删除成功"; ret.state = 0; return(ret); } #endregion } else { mapContext.RollBackTransaction(); ret.message = "视频下载时间删除失败"; ret.state = -1; return(ret); } } else { mapContext.RollBackTransaction(); ret.message = "事件删除失败"; ret.state = -1; return(ret); } } catch (Exception ex) { mapContext.RollBackTransaction(); throw ex; } finally { // mapContext.CloseConnection(); } }
/// <summary> /// 父级事件修改 /// </summary> /// <param name="eventName"></param> /// <param name="eventContent"></param> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <param name="id"></param> /// <returns></returns> public EventRet UpdateRootEvent(string eventName, string eventContent, int startTime, int endTime, int id) { EventRet ret = new EventRet(); mapContext.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);//创建事务 try { BaseEventTypeModel eventModel = new BaseEventTypeModel(); eventModel.id = id; eventModel.content = eventContent; eventModel.event_code = ""; eventModel.event_name = eventName; eventModel.pid = -1; int eventRes = UpdateBaseEventTypeById(eventModel); if (eventRes > 0) { int res = 0; ServAlarmVideoTimeModel timeModel = mapContext.QueryForObject <ServAlarmVideoTimeModel>("GetAlarmVideoTimeByEventId", id); //查找事件对应视频下载时间是否存在 if (timeModel == null) { timeModel = new ServAlarmVideoTimeModel(); timeModel.end_time = endTime; timeModel.event_id = id; timeModel.start_time = startTime; res = (int)mapContext.Insert("InsertAlarmVideoTime", timeModel); //不存在则添加 } else { timeModel.end_time = endTime; timeModel.event_id = id; timeModel.start_time = startTime; res = mapContext.Update("UpdateAlarmVideoTimeByEventId", timeModel); //修改 } if (res > 0) { mapContext.CommitTransaction(); ret.message = "事件修改成功"; ret.state = 0; return(ret); } else { mapContext.RollBackTransaction(); ret.message = "视频下载时间修改失败"; ret.state = -1; return(ret); } } else { mapContext.RollBackTransaction(); ret.message = "事件修改失败"; ret.state = -1; return(ret); } } catch (Exception ex) { mapContext.RollBackTransaction(); throw ex; } finally { // mapContext.CloseConnection(); } }
/// <summary> /// 更新一条数据 /// </summary> /// <param name="model"></param> public int UpdateAlarmVideoTimeById(ServAlarmVideoTimeModel model) { int result = mapContext.Update("UpdateAlarmVideoTimeById", model); return(result); }
/// <summary> /// 增加一条数据 /// </summary> /// <param name="entity"></param> public int AddEntity(ServAlarmVideoTimeModel entity) { int id = (int)mapContext.Insert("InsertAlarmVideoTime", entity); return(id); }
public bool UpdateEntity(int id, ServAlarmVideoTimeModel newentity) { throw new NotImplementedException(); }