/// <summary> /// 主区域入场记录 /// </summary> /// <param name="args"></param> /// <param name="rst"></param> private void FindMainAreaIorecord(InputAgs args, ResultAgs rst) { string errorMsg = ""; var iorecord = ParkIORecordServices.GetNoExitIORecordByCardNo(args.AreadInfo.PKID, args.CardInfo.Usercard.CardNo, out errorMsg); if (iorecord == null) //根据卡找未找到 可能是进场固定转临停 这个时候根据车牌找记录 找到后更新进出记录 { iorecord = ParkIORecordServices.GetNoExitIORecordByPlateNumber(args.AreadInfo.PKID, args.CardInfo.OwnerPlateNumber.PlateNo, out errorMsg); if (iorecord != null) { iorecord.CarTypeID = args.CarTypeInfo.CarTypeID; iorecord.CardNo = args.CardInfo.Usercard.CardNo; iorecord.CardNumb = args.CardInfo.Usercard.CardNumb; iorecord.CarTypeID = args.CarTypeInfo.CarTypeID; ParkIORecordServices.ModifyIORecord(iorecord, out errorMsg); //SynchroService.UpLoadModle<ParkIORecord>(iorecord); } } if (iorecord != null && !iorecord.IsExit) { args.IORecord = iorecord; if (!iorecord.CarModelID.IsEmpty() && (iorecord.CarModelID.IsEmpty() || (!iorecord.CarModelID.IsEmpty() && args.CarModel.CarModelID != iorecord.CarModelID))) { args.CarModel = ParkCarModelServices.QueryByRecordId(iorecord.CarModelID); } rst.InDate = args.IORecord.EntranceTime; rst.OutDate = args.Plateinfo.TriggerTime; rst.ResCode = ResultCode.OutOK; rst.InOutBaseCardType = BaseCarType.MonthlyRent; } else { if (args.CarTypeInfo.CarNoLike == YesOrNo.Yes) { rst.ResCode = ResultCode.OnFindNo; rst.InOutBaseCardType = BaseCarType.MonthlyRent; } else { if (args.CarTypeInfo.RepeatOut == YesOrNo.No) { rst.ResCode = ResultCode.RepeatOut; } else { rst.ResCode = ResultCode.OutOK; rst.InOutBaseCardType = BaseCarType.MonthlyRent; } } } }
private void CheckMainAreaRepeatOut(InputAgs args, ResultAgs rst) { string errorMsg = ""; var iorecord = ParkIORecordServices.GetNoExitIORecordByCardNo(args.AreadInfo.PKID, args.CardInfo.Usercard.CardNo, out errorMsg); if (iorecord == null)//可能是进场后再添加的储值卡 { iorecord = ParkIORecordServices.GetNoExitIORecordByPlateNumber(args.AreadInfo.PKID, args.Plateinfo.PlayPlateNmber, out errorMsg); if (iorecord != null) { iorecord.CarTypeID = args.CarTypeInfo.CarTypeID; iorecord.CardNo = args.CardInfo.Usercard.CardNo; iorecord.CardNumb = args.CardInfo.Usercard.CardNumb; iorecord.CarTypeID = args.CarTypeInfo.CarTypeID; ParkIORecordServices.ModifyIORecord(iorecord, out errorMsg); //SynchroService.UpLoadModle(iorecord); } } if (iorecord != null && !iorecord.IsExit) { args.IORecord = iorecord; if (!iorecord.CarModelID.IsEmpty() && (iorecord.CarModelID.IsEmpty() || (!iorecord.CarModelID.IsEmpty() && args.CarModel.CarModelID != iorecord.CarModelID))) { args.CarModel = ParkCarModelServices.QueryByRecordId(iorecord.CarModelID); } rst.InDate = args.IORecord.EntranceTime; rst.OutDate = args.Plateinfo.TriggerTime; rst.ResCode = ResultCode.OutOK; rst.InOutBaseCardType = BaseCarType.StoredValueCar; } else if (args.CarTypeInfo.CarNoLike == YesOrNo.Yes) { rst.ResCode = ResultCode.OnFindNo; rst.InOutBaseCardType = BaseCarType.StoredValueCar; } else { if (args.CarTypeInfo.RepeatOut == YesOrNo.No) { rst.ResCode = ResultCode.RepeatOut; } else { rst.ResCode = ResultCode.OutOK; rst.InOutBaseCardType = BaseCarType.StoredValueCar; } } }