示例#1
0
 /// <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;
     }
 }
示例#2
0
        /// <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);
            }
        }
示例#3
0
        /// <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();
            }
        }
示例#4
0
 /// <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));
     }
 }
示例#5
0
        /// <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();
            }
        }
示例#6
0
        /// <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();
            }
        }
示例#7
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        /// <param name="model"></param>
        public int UpdateAlarmVideoTimeById(ServAlarmVideoTimeModel model)
        {
            int result = mapContext.Update("UpdateAlarmVideoTimeById", model);

            return(result);
        }
示例#8
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        /// <param name="entity"></param>
        public int AddEntity(ServAlarmVideoTimeModel entity)
        {
            int id = (int)mapContext.Insert("InsertAlarmVideoTime", entity);

            return(id);
        }
示例#9
0
 public bool UpdateEntity(int id, ServAlarmVideoTimeModel newentity)
 {
     throw new NotImplementedException();
 }