示例#1
0
        public ActionResult CarVisitorRecord()
        {
            int total = 0;
            List <VisitorInfo> visitors = ParkVisitorServices.GetVisitorInfoPage(UserAccount.AccountID, 1, 50, out total);

            return(View(visitors));
        }
示例#2
0
        public ActionResult CancelVisitor(string visitorId)
        {
            try{
                bool result = ParkVisitorServices.CancelVisitor(visitorId);
                if (!result)
                {
                    throw new MyException("取消访客信息失败");
                }

                return(RedirectToAction("CarVisitorRecord", "CarVisitor", new { RemindUserContent = "取消成功" }));
            }
            catch (Exception ex)
            {
                ExceptionsServices.AddExceptionToDbAndTxt("CarVisitor", "取消访客失败", ex, LogFrom.WeiXin);
                return(RedirectToAction("CarVisitorRecord", "CarVisitor", new { message = "取消访客失败" }));
            }
        }
示例#3
0
        protected override void ProcessRule(InputAgs args, ResultAgs rst)
        {
            rst.InOutBaseCardType = BaseCarType.TempCar;
            string errorMsg = "";

            if (args.CarTypeInfo.IsIgnoreHZ && args.Plateinfo.LicenseNum.Length >= 7)
            {
                var plateNumber = args.Plateinfo.LicenseNum.Substring(1, args.Plateinfo.LicenseNum.Length - 1);
                var iorecord    = ParkIORecordServices.QueryInCarTempIORecordByLikePlateNumber(args.AreadInfo.PKID, plateNumber, out errorMsg);
                if (iorecord != null)
                {
                    args.Plateinfo.LicenseNum = iorecord.PlateNumber;
                }
            }
            IsPoliceFree(args, rst);

            var blackList = ParkBlacklistServices.GetBlacklist(args.AreadInfo.PKID, args.Plateinfo.LicenseNum, out errorMsg);

            if (blackList != null)
            {
                if (blackList.Status == BlackListStatus.NotEnterAndOut)
                {
                    rst.ResCode = ResultCode.BlacklistCar;
                    return;
                }
                if (args.GateInfo.IoState == IoState.GoOut &&
                    blackList.Status == BlackListStatus.CanEnterAndNotOut)
                {
                    rst.ResCode = ResultCode.BlacklistCar;
                    return;
                }
            }
            var vistar = ParkVisitorServices.GetNormalVisitor(args.AreadInfo.Parkinfo.VID, args.Plateinfo.LicenseNum, out errorMsg);

            if (vistar != null && args.Plateinfo.TriggerTime >= vistar.BeginDate && args.Plateinfo.TriggerTime <= vistar.EndDate &&
                (vistar.VisitorCount > 0 || vistar.VisitorCount == -1))
            {
                var vistarcar = ParkVisitorServices.GetVisitorCar(args.AreadInfo.PKID, vistar.RecordID, out errorMsg);
                if (vistarcar != null && (vistar.VisitorCount == -1 || vistar.VisitorCount > vistarcar.AlreadyVisitorCount))
                {
                    //访客表中  在时段内 且进出次数大于已经进出次数时 允许进出
                    var carModelid = vistar.CarModelID;
                    if (!carModelid.IsEmpty())
                    {
                        var carModel = ParkCarModelServices.QueryByRecordId(vistar.CarModelID);
                        if (carModel != null)
                        {
                            args.CarModel = carModel;
                        }
                    }
                    rst.ValidMsg     = "访客车辆";
                    rst.IsVisitorCar = true;
                    rst.VisitorCar   = vistarcar;
                    return;
                }
                else if (args.GateInfo.IsTempInOut == YesOrNo.No)
                {
                    rst.ResCode = ResultCode.NoPermissionsInOut;
                    return;
                }
            }
            else if (args.GateInfo.IsTempInOut == YesOrNo.No) //子区域允许月卡进出
            {
                if (!rst.IsPoliceFree)
                {
                    rst.ResCode = ResultCode.NoPermissionsInOut;
                    return;
                }
            }
        }
示例#4
0
        public ActionResult SaveCarVisitor()
        {
            try
            {
                VisitorInfo vistor = new VisitorInfo();
                vistor.RecordID = GuidGenerator.GetGuid().ToString();
                if (string.IsNullOrWhiteSpace(Request["villageId"]))
                {
                    throw new MyException("获取小区编号失败");
                }

                if (string.IsNullOrWhiteSpace(Request["plateNo"]))
                {
                    throw new MyException("获取车牌号失败");
                }

                if (string.IsNullOrWhiteSpace(Request["ParkingIds"]))
                {
                    throw new MyException("获取车场编号失败");
                }
                string villageId = Request["villageId"].ToString();

                DateTime start = DateTime.Now;
                if (string.IsNullOrWhiteSpace(Request["startTime"]) || !DateTime.TryParse(Request["startTime"], out start))
                {
                    throw new MyException("获取开始时间失败");
                }

                DateTime end = DateTime.Now;
                if (string.IsNullOrWhiteSpace(Request["endTime"]) || !DateTime.TryParse(Request["endTime"], out end))
                {
                    throw new MyException("获取结束时间失败");
                }

                vistor.PlateNumber        = Request["plateNo"].ToString();
                vistor.BeginDate          = start;
                vistor.EndDate            = end;
                vistor.VisitorCount       = int.Parse(Request["VisitorCount"].ToString());
                vistor.VisitorMobilePhone = Request["VisitorMobilePhone"].ToString();
                vistor.AccountID          = UserAccount.AccountID;
                vistor.CreateTime         = DateTime.Now;
                vistor.VisitorState       = 0;
                vistor.VID           = villageId;
                vistor.IsExamine     = 1;
                vistor.OperatorID    = UserAccount.AccountID;
                vistor.VisitorSource = 1;

                string[]           parkingIds  = Request["ParkingIds"].ToString().TrimEnd(',').Split(',');
                List <ParkVisitor> carVisitors = new List <ParkVisitor>();
                for (int i = 0; i < parkingIds.Length; i++)
                {
                    ParkVisitor car = new ParkVisitor();
                    car.RecordID            = GuidGenerator.GetGuid().ToString();
                    car.VisitorID           = vistor.RecordID;
                    car.PKID                = parkingIds[i];
                    car.VID                 = villageId;
                    car.AlreadyVisitorCount = 0;
                    carVisitors.Add(car);
                }
                vistor.ParkVisitors = carVisitors;
                bool result = ParkVisitorServices.Add(vistor);
                if (!result)
                {
                    throw new MyException("保存访客信息失败");
                }
                return(RedirectToAction("CarVisitorRecord", "H5CarVisitor"));
            }
            catch (MyException ex)
            {
                return(PageAlert("Index", "H5CarVisitor", new { RemindUserContent = ex.Message }));
            }
            catch (Exception ex)
            {
                ExceptionsServices.AddExceptionToDbAndTxt("H5CarVisitorError", "获取访客车场失败", ex, LogFrom.WeiXin);
                return(RedirectToAction("Index", "ErrorPrompt", new { message = "获取访客车场失败" }));
            }
        }