/// <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(); } }
/// <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); } }
/// <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(); } }
/// <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); }
/// <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(); } }
/// <summary> /// 保存门岗人脸录入照片 /// </summary> /// <param name="keyValue"></param> /// <returns></returns> public void SaveFileImgForm(CarUserFileImgEntity entity) { service.SaveFileImgForm(entity); }
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)); } }