public JsonResult SaveBlackList(ParkBlacklist model) { try { model.PlateNumber = model.PlateNumber.ToPlateNo(); if (string.IsNullOrWhiteSpace(model.RecordID)) { bool result = ParkBlacklistServices.Add(model); if (!result) { throw new MyException("保存失败"); } } else { bool result = ParkBlacklistServices.Update(model); if (!result) { throw new MyException("保存失败"); } } return(Json(MyResult.Success())); } catch (MyException ex) { return(Json(MyResult.Error(ex.Message))); } catch (Exception ex) { ExceptionsServices.AddExceptions(ex, "保存黑名单信息失败"); return(Json(MyResult.Error("保存失败"))); } }
public string GetBlackListData() { StringBuilder strData = new StringBuilder(); try { if (string.IsNullOrEmpty(Request.Params["parkingId"])) { return(string.Empty); } string parkingId = Request.Params["parkingId"].ToString(); string plateNo = Request.Params["queryPlateNo"]; int page = string.IsNullOrEmpty(Request.Params["page"]) ? 0 : int.Parse(Request.Params["page"]); int rows = string.IsNullOrEmpty(Request.Params["rows"]) ? 0 : int.Parse(Request.Params["rows"]); int total = 0; List <ParkBlacklist> blacklist = ParkBlacklistServices.QueryPage(parkingId, plateNo, rows, page, out total); var result = from p in blacklist select new { ID = p.ID, RecordID = p.RecordID, PKID = p.PKID, PlateNumber = p.PlateNumber, Remark = p.Remark, LastUpdateTime = p.LastUpdateTime.ToString("yyyy-MM-dd HH:mm:ss"), Status = (int)p.Status, StatusDes = p.Status.GetDescription() }; strData.Append("{"); strData.Append("\"total\":" + total + ","); strData.Append("\"rows\":" + JsonHelper.GetJsonString(result) + ","); strData.Append("\"index\":" + page); strData.Append("}"); } catch (Exception ex) { ExceptionsServices.AddExceptions(ex, "查询黑名单信息失败"); } return(strData.ToString()); }
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; } } if (args.GateInfo.IsTempInOut == YesOrNo.No)//子区域允许月卡进出 { if (!rst.IsPoliceFree) { rst.ResCode = ResultCode.NoPermissionsInOut; return; } } }
public JsonResult Delete(string recordId) { try { bool result = ParkBlacklistServices.Delete(recordId); if (!result) { throw new MyException("删除失败"); } return(Json(MyResult.Success())); } catch (MyException ex) { return(Json(MyResult.Error(ex.Message))); } catch (Exception ex) { ExceptionsServices.AddExceptions(ex, "删除黑名单信息失败"); return(Json(MyResult.Error("删除失败"))); } }
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; } } }
protected override void ProcessRule(InputAgs args, ResultAgs rst) { string errorMsg = ""; var blackList = ParkBlacklistServices.GetBlacklist(args.AreadInfo.PKID, args.Plateinfo.LicenseNum, out errorMsg); if (blackList != null) { if (blackList.Status == BlackListStatus.NotEnterAndOut) { rst.ResCode = ResultCode.BlacklistCar; } else if (args.GateInfo.IoState == IoState.GoOut && blackList.Status == BlackListStatus.CanEnterAndNotOut) { rst.ResCode = ResultCode.BlacklistCar; } else { rst.ValidMsg = "黑名单车辆"; } } if (args.CardInfo != null && args.CarTypeInfo != null) { var siglelist = ParkCarTypeSingleServices.QueryParkCarTypeByCarTypeID(args.CarTypeInfo.CarTypeID); if (siglelist == null || siglelist.Count <= 0) { return; } var sigle = siglelist.Find(s => s.Week == (int)DateTime.Now.DayOfWeek); if (sigle == null) { return; } if (sigle.SingleType == 0) { return; } // sigle.SingleType 0 单双可进出 1 单可进出 2 双可进出 if (args.Plateinfo.LicenseNum.Length < 1) { return; } List <string> stringplates = new List <string> { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }; var cplate = args.Plateinfo.LicenseNum.Substring(args.Plateinfo.LicenseNum.Length - 2, 1); var index = 0; if (cplate.IsInteger()) { index = cplate.ToInt(); } else { index = stringplates.IndexOf(cplate) + 1; } if (index.IsEvennumber() && sigle.SingleType == 2)//偶数 { return; } else if (!index.IsEvennumber() && sigle.SingleType == 1)//奇数 { return; } else { rst.ResCode = ResultCode.NoPermissionsInOut; rst.ValidMsg = "车辆在限行时间"; } } }