Пример #1
0
        /// <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
            }
        }
Пример #2
0
        /// <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
            }
        }