Пример #1
0
        /// <summary>
        /// 保存随行人员信息
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="roleEntity">角色实体</param>
        /// <returns></returns>
        public void SaveUserFileImgForm(VisitcarEntity entity)
        {
            //开始事物
            var res = DbFactory.Base().BeginTrans();

            try
            {
                List <CarUserFileImgEntity> list = new List <CarUserFileImgEntity>();
                for (int i = 0; i < entity.AccompanyingPerson.Split(',').Length; i++)
                {
                    CarUserFileImgEntity uentity = new CarUserFileImgEntity();
                    if (!string.IsNullOrEmpty(entity.AccompanyingPerson))
                    {//跟随人员
                        uentity.Create();
                        uentity.Username   = entity.AccompanyingPerson.Split(',')[i];
                        uentity.Baseid     = entity.ID;
                        uentity.ID         = Guid.NewGuid().ToString();
                        uentity.CreateDate = DateTime.Now;
                        uentity.OrderNum   = i;
                        list.Add(uentity);
                    }
                }
                res.Insert <CarUserFileImgEntity>(list);
                res.Insert(entity);
                res.Commit();
                UploadUserHiK(entity, list);//人员同步到海康平台
            }
            catch (Exception)
            {
                res.Rollback();
            }
        }
Пример #2
0
        /// <summary>
        /// 调用摄像头门卫录入拜访人脸照片
        /// </summary>
        /// <param name="keyValue"></param>
        /// <returns></returns>
        public void SaveFileImgForm(CarUserFileImgEntity entity)
        {
            Repository <CarUserFileImgEntity> inlogdb = new Repository <CarUserFileImgEntity>(DbFactory.Base());
            CarUserFileImgEntity old = inlogdb.FindEntity(entity.ID);

            if (old != null)
            {
                if (string.IsNullOrEmpty(old.Userimg))
                {//人脸信息未录入
                    #region 获取海康地址和秘钥
                    DataItemDetailService data = new DataItemDetailService();
                    var    pitem     = data.GetItemValue("Hikappkey");  //海康服务器密钥
                    var    baseurl   = data.GetItemValue("HikBaseUrl"); //海康服务器地址
                    string Key       = string.Empty;
                    string Signature = string.Empty;
                    if (!string.IsNullOrEmpty(pitem))
                    {
                        Key       = pitem.Split('|')[0];
                        Signature = pitem.Split('|')[1];
                    }
                    #endregion
                    FacedataEntity        face     = new FacedataEntity();
                    List <FacedataEntity> FaceList = new List <FacedataEntity>();
                    face.UserId  = old.ID;
                    face.ImgData = entity.Imgdata;
                    FaceList.Add(face);
                    SocketHelper.UploadFace(FaceList, baseurl, Key, Signature);
                }
                old.Userimg = entity.Userimg;
                old.Imgdata = entity.Imgdata;
                inlogdb.Update(old);
            }
        }
Пример #3
0
        /// <summary>
        /// 保存跟随人员及人脸图片(申请人手机)
        /// </summary>
        /// <param name="keyValue"></param>
        /// <param name="entity"></param>
        /// <param name="userjson"></param>
        public void SaveFaceUserForm(string keyValue, VisitcarEntity entity, List <CarUserFileImgEntity> userjson)
        {
            //开始事物
            var res = DbFactory.Base().BeginTrans();

            try
            {
                List <CarUserFileImgEntity>      list      = new List <CarUserFileImgEntity>();
                List <UserCarFileMultipleEntity> FileItems = new List <UserCarFileMultipleEntity>();
                for (int i = 0; i < userjson.Count; i++)
                {
                    CarUserFileImgEntity uentity = new CarUserFileImgEntity();
                    if (!string.IsNullOrEmpty(entity.Dirver))
                    {//跟随人员
                        uentity.Create();
                        uentity.Username          = userjson[i].Username;
                        uentity.Userimg           = userjson[i].Userimg;
                        uentity.Imgdata           = userjson[i].Imgdata;
                        uentity.Baseid            = entity.ID;
                        uentity.ID                = Guid.NewGuid().ToString();
                        uentity.CreateDate        = DateTime.Now;
                        uentity.OrderNum          = i;
                        entity.AccompanyingPerson = entity.AccompanyingPerson + userjson[i].Username + ",";
                        list.Add(uentity);
                        if (userjson[i].FileItems != null && userjson[i].FileItems.Count > 0)
                        {
                            for (int j = 0; j < userjson[i].FileItems.Count; j++)
                            {
                                userjson[i].FileItems[j].Create();
                                userjson[i].FileItems[j].ID            = Guid.NewGuid().ToString();
                                userjson[i].FileItems[j].BaseId        = entity.ID;
                                userjson[i].FileItems[j].UserCarFileId = uentity.ID;
                                userjson[i].FileItems[j].CreateDate    = DateTime.Now;
                            }
                            FileItems.AddRange(userjson[i].FileItems);
                        }
                    }
                }
                entity.AccompanyingNumber = userjson.Count;
                entity.AccompanyingPerson = entity.AccompanyingPerson.TrimEnd(',');
                res.Insert <UserCarFileMultipleEntity>(FileItems);
                res.Insert <CarUserFileImgEntity>(list);
                res.Insert(entity);
                res.Commit();
                UploadUserHiK(entity, list);//人员同步到海康平台
            }
            catch (Exception)
            {
                res.Rollback();
            }
        }
Пример #4
0
        /// <summary>
        /// 给新添加的人员分配卡号
        /// </summary>
        private void SetLoadUserCarNo(CarUserFileImgEntity Item, string baseUrl, string Key, string Signature)
        {
            var url = "/artemis/api/cis/v1/card/bindings";
            List <cardList1> cardList = new List <cardList1>();
            cardList1        entity   = new cardList1();
            string           time     = DateTime.Now.ToString("yyyyMMddHHmmss");
            var no = time + Str.PinYin(Item.Username).ToUpper();//卡号唯一

            entity.cardNo   = no.Trim();
            entity.personId = Item.ID;
            entity.cardType = 1;
            cardList.Add(entity);
            var model = new
            {
                startDate = DateTime.Now.ToString("yyyy-MM-dd"),
                endDate   = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"),
                cardList
            };
            string    msg = SocketHelper.LoadCameraList(model, baseUrl, url, Key, Signature);
            parkList2 pl  = JsonConvert.DeserializeObject <parkList2>(msg);
        }
Пример #5
0
        /// <summary>
        /// 保存随行人员信息
        /// </summary>
        /// <param name="entity">主记录</param>
        /// <param name="userjson">随行人员集合</param>
        public void SaveUserFileImgForm(HazardouscarEntity entity, List <CarUserFileImgEntity> userjson)
        {
            //开始事物
            var res = DbFactory.Base().BeginTrans();

            try
            {
                List <CarUserFileImgEntity> list = new List <CarUserFileImgEntity>();
                for (int i = 0; i < userjson.Count; i++)
                {
                    CarUserFileImgEntity uentity = new CarUserFileImgEntity();
                    if (!string.IsNullOrEmpty(entity.Dirver))
                    {//跟随人员
                        uentity.Create();
                        uentity.Username          = userjson[i].Username;
                        uentity.Userimg           = userjson[i].Userimg;
                        uentity.Imgdata           = userjson[i].Imgdata;
                        uentity.Baseid            = entity.ID;
                        uentity.ID                = Guid.NewGuid().ToString();
                        uentity.CreateDate        = DateTime.Now;
                        uentity.OrderNum          = i;
                        entity.AccompanyingPerson = entity.AccompanyingPerson + userjson[i].Username + ",";
                        list.Add(uentity);
                    }
                }
                entity.AccompanyingNumber = userjson.Count;
                entity.AccompanyingPerson = entity.AccompanyingPerson.TrimEnd(',');
                res.Insert <CarUserFileImgEntity>(list);
                res.Insert(entity);
                res.Commit();
                UploadUserHiK(entity, list);//人员同步到海康平台
            }
            catch (Exception)
            {
                res.Rollback();
            }
        }
Пример #6
0
 /// <summary>
 /// 保存门岗人脸录入照片
 /// </summary>
 /// <param name="keyValue"></param>
 /// <returns></returns>
 public void SaveFileImgForm(CarUserFileImgEntity entity)
 {
     service.SaveFileImgForm(entity);
 }
Пример #7
0
 public ActionResult SaveFileImgForm(string keyValue, string imgData, string type, string NewType)
 {
     try
     {
         #region 获取海康地址和秘钥
         DataItemDetailBLL data = new DataItemDetailBLL();
         var    pitem           = data.GetItemValue("Hikappkey");  //海康服务器密钥
         var    baseurl         = data.GetItemValue("HikBaseUrl"); //海康服务器地址
         string Key             = string.Empty;
         string Signature       = string.Empty;
         if (!string.IsNullOrEmpty(pitem))
         {
             Key       = pitem.Split('|')[0];
             Signature = pitem.Split('|')[1];
         }
         #endregion
         if (type == "1")
         {//门岗管理
             List <TemporaryUserEntity> list = new List <TemporaryUserEntity>();
             var tempdate = Tempbll.GetEmptyUserEntity(keyValue);
             if (tempdate != null)
             {
                 var facedata = ImgToBase64(HttpUtility.UrlDecode(imgData));
                 //调用海康平台接口验证人脸照片是否合格
                 int    NewTypes = NewType == "" ? 0 : 1;
                 string msg      = SocketHelper.FaceImgIsQualified(facedata.ImgData, baseurl, Key, Signature, NewTypes);
                 if (msg != null && !string.IsNullOrEmpty(msg))
                 {
                     FaceTestingEntity ress = JsonConvert.DeserializeObject <FaceTestingEntity>(msg);
                     if (!ress.data.checkResult)
                     {
                         return(Content("false", "1"));
                     }
                 }
                 if (string.IsNullOrEmpty(tempdate.UserImg))
                 {//未授权
                     FacedataEntity        face     = new FacedataEntity();
                     List <FacedataEntity> FaceList = new List <FacedataEntity>();
                     face.UserId  = tempdate.USERID;
                     face.ImgData = facedata.ImgData;
                     FaceList.Add(face);
                     SocketHelper.UploadFace(FaceList, baseurl, Key, Signature, NewTypes);
                     tempdate.UserImg = facedata.UserImg;
                     tempdate.ImgData = facedata.ImgData;
                     list.Add(tempdate);
                     Tempbll.SaveTemporaryList(tempdate.USERID, list);
                 }
                 else if (!string.IsNullOrEmpty(tempdate.PassPost))
                 {//已授权
                     tempdate.UserImg = facedata.UserImg;
                     tempdate.ImgData = facedata.ImgData;
                     tempdate.Remark  = "1";
                     if (NewTypes == 1)
                     {//新版本https调用
                         new PersonNewBLL().SaveUserFace(tempdate, keyValue, true);
                     }
                     else
                     {
                         Tempbll.SaveUserFace(tempdate, keyValue, true);
                     }
                 }
                 return(Success("操作成功。"));
             }
             else
             {
                 return(Success("1", "1"));
             }
         }
         else
         {//拜访车辆(门卫)
             CarUserFileImgEntity entity = new CarUserFileImgEntity();
             var facedata = ImgToBase64(HttpUtility.UrlDecode(imgData));
             //调用海康平台接口验证人脸照片是否合格
             string msg = SocketHelper.FaceImgIsQualified(facedata.ImgData, baseurl, Key, Signature);
             if (msg != null && !string.IsNullOrEmpty(msg))
             {
                 FaceTestingEntity ress = JsonConvert.DeserializeObject <FaceTestingEntity>(msg);
                 if (!ress.data.checkResult)
                 {
                     return(Content("false", "1"));
                 }
             }
             entity.ID      = keyValue;
             entity.Userimg = facedata.UserImg;
             entity.Imgdata = facedata.ImgData;
             new CarUserBLL().SaveFileImgForm(entity);
             return(Success("操作成功。"));
         }
     }
     catch (System.Exception er)
     {
         return(Success(er.Message));
     }
 }