/// <summary> /// 将外来车辆加入到海康预约接口使其可以进场 /// </summary> /// <param name="Url"></param> /// <param name="key"></param> /// <param name="sign"></param> /// <param name="CarNo"></param> /// <param name="Phone"></param> /// <param name="UserName"></param> /// <param name="parkName">停车场名称</param> public void CarIn(string Url, string key, string sign, string CarNo, string Phone, string UserName, string parkName = "1号岗") { var ckmodel = new { parkIndexCodes = "" }; string parkMsg = SocketHelper.LoadCameraList(ckmodel, Url, "/artemis/api/resource/v1/park/parkList", key, sign); parkList pl = JsonConvert.DeserializeObject <parkList>(parkMsg); if (pl != null && pl.data != null && pl.data.Count > 0) { #region 车辆预约进入 string[] parkNames = parkName.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (string pname in parkNames) { //允许进出次数 int inOutTimes = 1; if (pname == "1号岗") { inOutTimes = 0; } var model = new { parkSyscode = pl.data.FirstOrDefault(x => x.parkName.Contains(pname))?.parkIndexCode, plateNo = CarNo, phoneNo = Phone, owner = UserName, allowTimes = inOutTimes, isCharge = "0", resvWay = "6", startTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss") + "+08:00", endTime = DateTime.Now.AddHours(1).ToString("yyyy-MM-ddTHH:mm:ss") + "+08:00" }; SocketHelper.LoadCameraList(model, Url, "/artemis/api/pms/v2/parkingSpace/reservations/addition", key, sign); } #endregion } }
/// <summary> /// 给车辆添加进入停车场的权限 /// </summary> /// <param name="Url"></param> /// <param name="key"></param> /// <param name="sign"></param> /// <param name="CarNo"></param> /// <param name="Phone"></param> /// <param name="UserName"></param> /// <param name="parkName"></param> public void AddCarpermission(string Url, string key, string sign, string CarNo, string Phone, string UserName, string parkName = "1号岗") { #region 检查车辆在海康平台是否存在 var selectmodel = new { pageNo = 1, pageSize = 100, plateNo = CarNo }; var existsVehicleStr = SocketHelper.LoadCameraList(selectmodel, Url, "/artemis/api/resource/v1/vehicle/advance/vehicleList", key, sign); dynamic existsVehicle = JsonConvert.DeserializeObject <ExpandoObject>(existsVehicleStr); #endregion var parkmodel = new { parkIndexCodes = "" }; string parkMsg = SocketHelper.LoadCameraList(parkmodel, Url, "/artemis/api/resource/v1/park/parkList", key, sign); parkList pl = JsonConvert.DeserializeObject <parkList>(parkMsg); if (pl != null && pl.data != null && pl.data.Count > 0) { #region 车辆权限编辑 string[] parkNames = parkName.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); //车辆需要经过的停车场 List <string> pakindex = new List <string>(); foreach (string pname in parkNames) { pakindex.Add(pl.data.FirstOrDefault(x => x.parkName.Contains(pname))?.parkIndexCode); } if (existsVehicle.code == "0" && existsVehicle.data.total == 0)//车辆不存在就新增车辆 { var addModel = new { plateNo = CarNo, plateType = 0, plateColor = 1, carType = 2, carColor = 0, mark = "物料车", parkIndexCode = string.Join(",", pakindex), startTime = DateTime.Now.ToString("yyyy-MM-dd"), endTime = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") }; SocketHelper.LoadCameraList(new List <dynamic>() { addModel }, Url, "/artemis/api/v1/vehicle/addVehicle", key, sign); } else if (existsVehicle.code == "0" && existsVehicle.data.total > 0)//车辆存在就修改车辆 { var updateModel = new { plateNo = CarNo, oldPlateNo = CarNo, plateType = 0, plateColor = 1, carType = 2, carColor = 0, mark = "物料车", parkIndexCode = string.Join(",", pakindex), startTime = DateTime.Now.ToString("yyyy-MM-dd"), endTime = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"), isUpdateFunction = 1 }; string updateMsg = SocketHelper.LoadCameraList(new List <dynamic>() { updateModel }, Url, "/artemis/api/v1/vehicle/updateVehicle", key, sign); } #endregion } }