Exemplo n.º 1
0
        private void SavePicture(CameraAlarmJson camera, Bll bll, int mode)
        {
            byte[]          byte1 = camera.Json;
            string          json  = Encoding.UTF8.GetString(byte1);
            CameraAlarmInfo info  = CameraAlarmInfo.Parse(json);

            info.time = GetDataTime(info.time_stamp);
            info.id   = camera.Id; //增加了id,这样能够获取到详情
            //int mode = AppSetting.CameraAlarmPicSaveMode;
            string base64 = info.pic_data;

            if (!string.IsNullOrEmpty(base64))
            {
                info.pic_data = "";                               //图片分开存
                string json2 = JsonConvert.SerializeObject(info); //新的没有图片的json
                camera.Json = Encoding.UTF8.GetBytes(json2);

                bll.CameraAlarmJsons.Edit(camera);

                SavePicture(bll, mode, base64, info.pic_name);

                SaveJsonToFile(info.time_stamp, json2);
            }
            else
            {
                Log.Info("没有图片");
                SaveJsonToFile(info.time_stamp, json);
            }
        }
Exemplo n.º 2
0
        public void AlarmSaveToJson(CameraAlarmJson camera)
        {
            byte[]          byte1 = camera.Json;
            string          json  = Encoding.UTF8.GetString(byte1);
            CameraAlarmInfo info  = CameraAlarmInfo.Parse(json);

            info.id = camera.Id; //增加了id,这样能够获取到详情

            string pic = info.pic_data;

            DateTime now = GetDataTime(info.time_stamp);
            FileInfo fi  = CameraAlarmService.GetJsonFile(now);
        }
Exemplo n.º 3
0
        public string ParseJson(string json, int mode)
        {
            try
            {
                FileInfo fi = GetNowJsonFile();
                File.WriteAllText(fi.FullName, json);

                var info = CameraAlarmInfo.Parse(json);
                CameraAlarmHub.SendInfo(info);//发送告警给客户端

                Bll bll = Bll.NewBllNoRelation();

                string base64 = info.pic_data;
                info.pic_data = "";                                   //图片分开存

                string jsonNoPic = JsonConvert.SerializeObject(info); //新的没有图片的json
                Log.Info(LogTags.ExtremeVision, jsonNoPic);
                string alarmType = "";
                if (info.AlarmType == 1)
                {
                    alarmType = "安全帽告警";
                }
                else if (info.AlarmType == 2)
                {
                    alarmType = "火焰告警";
                }
                else if (info.AlarmType == 3)
                {
                    alarmType = "烟雾告警";
                }
                else
                {
                    alarmType = "其他告警:" + info.AlarmType;
                }

                Log.Info(LogTags.ExtremeVision, "告警类型:" + alarmType);

                bool result = SaveToCameraAlarmJson(jsonNoPic);

                var picName = info.pic_name;

                SavePicture(bll, mode, base64, picName);
                return(info.ToString());
            }
            catch (Exception ex)
            {
                Log.Error(LogTags.ExtremeVision, "Error:" + ex);
                return("Error:" + ex.Message);
            }
        }
Exemplo n.º 4
0
        public void LoadAlarmFromJson()
        {
            try
            {
                var list2 = GetAllCameraAlarms(false);
                Dictionary <string, CameraAlarmInfo> dict = new Dictionary <string, CameraAlarmInfo>();
                foreach (var item in list2)
                {
                    string picName = item.pic_name;
                    //picName = picName.Replace(".jpg", "");
                    if (dict.ContainsKey(picName))
                    {
                        var itemOld = dict[picName];
                        dict[picName] = item;
                    }
                    else
                    {
                        dict.Add(picName, item);
                    }
                }

                DirectoryInfo dir = CameraAlarmService.GetJsonDir();

                FileInfo[] files = dir.GetFiles();

                int count = 0;
                foreach (var item in files)
                {
                    string          json            = File.ReadAllText(item.FullName);
                    CameraAlarmInfo cameraAlarmInfo = CameraAlarmInfo.Parse(json);
                    if (dict.ContainsKey(cameraAlarmInfo.pic_name))//已经存在了
                    {
                    }
                    else
                    {
                        Log.Info(LogTags.ExtremeVision, "添加到数据库:" + cameraAlarmInfo.pic_name);
                        SaveToCameraAlarmJson(json);//保存到数据库中
                        count++;
                    }
                }

                Log.Info(LogTags.ExtremeVision, "LoadAlarmFromJson count:" + count);
            }
            catch (System.Exception ex)
            {
                Log.Error(LogTags.ExtremeVision, "LoadAlarmFromJson", ex.ToString());
            }
        }
Exemplo n.º 5
0
        private void ReadInfoFile(string fileName)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + "Data\\" + fileName;

            if (!File.Exists(path))
            {
                MessageBox.Show("未找到文件:" + path);
                return;
            }

            string content = File.ReadAllText(path);

            //TbContent.Text = content;

            try
            {
                CameraAlarmInfo info   = CameraAlarmInfo.Parse(content);
                string          base64 = info.pic_data;
                GetImage(info.pic_data);

                info.time_stamp = GetTimeStamp();
                info.time       = GetDataTime(info.time_stamp);
                info.pic_data   = "";

                grid1.SelectedObject = info;

                info.ParseData();
                info.id = info.aid;
                string          json  = JsonConvert.SerializeObject(info);
                CameraAlarmInfo info2 = CameraAlarmInfo.Parse(json);
                info2.FlameData = null;
                info2.HeadData  = null;
                info2.SmogData  = null;
                info2.pic_data  = base64;
                info2.pic_name  = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff") + ".jpg";
                string json2 = JsonConvert.SerializeObject(info2);
                TbContent.Text = json2;
            }
            catch (Exception ex)
            {
                MessageBox.Show("解析失败:" + ex);
            }
        }
Exemplo n.º 6
0
        private CameraAlarmInfo GetCamaraAlarmInfo(CameraAlarmJson camera, Dictionary <string, Dev_CameraInfo> cameraDict, Dictionary <int, DevInfo> devs)
        {
            try
            {
                byte[]          byte1           = camera.Json;
                string          json            = Encoding.UTF8.GetString(byte1);
                int             id              = camera.Id;
                CameraAlarmInfo cameraAlarmInfo = CameraAlarmInfo.Parse(json);
                cameraAlarmInfo.id       = camera.Id; //增加了id,这样能够获取到详情
                cameraAlarmInfo.pic_data = "";        //在详情的地方获取
                cameraAlarmInfo.data     = null;
                cameraAlarmInfo.time     = GetDataTime(cameraAlarmInfo.time_stamp);


                string ip = GetCameraIp(cameraAlarmInfo.cid_url);
                cameraAlarmInfo.DevIp = ip;

                if (cameraDict.ContainsKey(ip))
                {
                    var camerainfo = cameraDict[ip];
                    if (devs.ContainsKey(camerainfo.DevInfoId))
                    {
                        cameraAlarmInfo.DevName = devs[camerainfo.DevInfoId].Name;
                        cameraAlarmInfo.DevID   = camerainfo.DevInfoId;
                    }
                }
                else
                {
                }

                return(cameraAlarmInfo);
            }
            catch (System.Exception ex)
            {
                Log.Error(LogTags.ExtremeVision, "GetCamaraAlarmInfo", ex.ToString());
                return(null);
            }
        }
Exemplo n.º 7
0
 /// <summary>
 /// 获取一个告警的详情 主要是告警图片
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public CameraAlarmInfo GetCameraAlarmDetail(int id)
 {
     try
     {
         CameraAlarmJson camera = db.CameraAlarmJsons.Find(id);
         if (camera == null)
         {
             return(null);
         }
         byte[]          byte1           = camera.Json;
         string          json            = Encoding.UTF8.GetString(byte1);
         CameraAlarmInfo cameraAlarmInfo = CameraAlarmInfo.Parse(json);
         cameraAlarmInfo.id   = camera.Id;//增加了id,这样能够获取到详情
         cameraAlarmInfo.time = GetDataTime(cameraAlarmInfo.time_stamp);
         GetCameraAlarmPicture(cameraAlarmInfo);
         return(cameraAlarmInfo);
     }
     catch (System.Exception ex)
     {
         Log.Error(LogTags.ExtremeVision, "GetCameraAlarmDetail", ex.ToString());
         return(null);
     }
 }