Exemple #1
0
        private void CheckNestAreaRepeatOut(InputAgs args, ResultAgs rst)
        {
            ParkTimeseries timeseries = null;
            string         errorMsg   = "";

            if (args.NestAreaIORecord != null)
            {
                timeseries = ParkTimeseriesServices.GetTimeseriesesByIORecordID(args.AreadInfo.PKID, args.NestAreaIORecord.RecordID, out errorMsg);
            }
            if (timeseries != null)
            {
                args.Timeseries       = timeseries;
                rst.InDate            = args.Timeseries.EnterTime;
                rst.OutDate           = args.Plateinfo.TriggerTime;
                rst.ResCode           = ResultCode.OutOK;
                rst.InOutBaseCardType = BaseCarType.TempCar;
            }
            else if (args.CarTypeInfo.CarNoLike == YesOrNo.Yes)//是否模糊识别
            {
                rst.ResCode           = ResultCode.OnFindNo;
                rst.InOutBaseCardType = BaseCarType.TempCar;
            }
            else //重复出场判断
            {
                if (args.CarTypeInfo.RepeatOut == YesOrNo.No && args.AreadInfo.NeedToll == YesOrNo.Yes)
                {
                    rst.ResCode = ResultCode.RepeatOut;
                }
                else
                {
                    rst.ResCode           = ResultCode.OutOK;
                    rst.InOutBaseCardType = BaseCarType.TempCar;
                }
            }
        }
Exemple #2
0
        public static ParkTimeseries AddTimeseries(ParkTimeseries mode, out string ErrorMessage)
        {
            if (mode == null)
            {
                throw new ArgumentNullException("mode");
            }

            IParkTimeseries factory = ParkTimeseriesFactory.GetFactory();

            return(factory.AddTimeseries(mode, out ErrorMessage));
        }
Exemple #3
0
 public ParkTimeseries AddTimeseries(ParkTimeseries model, out string ErrorMessage)
 {
     ErrorMessage = "";
     try
     {
         using (DbOperator dbOperator = ConnectionManager.CreateConnection())
         {
             model.DataStatus     = DataStatus.Normal;
             model.LastUpdateTime = DateTime.Now;
             model.HaveUpdate     = SystemDefaultConfig.DataUpdateFlag;
             model.TimeseriesID   = GuidGenerator.GetGuidString();
             StringBuilder strSql = new StringBuilder();
             strSql.Append("insert into ParkTimeseries(TimeseriesID,IORecordID,EnterImage,ExitImage,ParkingID,EnterTime,ExitTime,ExitGateID,EnterGateID,IsExit,LastUpdateTime,HaveUpdate,DataStatus,ReleaseType)");
             strSql.Append(" values(@TimeseriesID,@IORecordID,@EnterImage,@ExitImage,@ParkingID,@EnterTime,@ExitTime,@ExitGateID,@EnterGateID,@IsExit,@LastUpdateTime,@HaveUpdate,@DataStatus,@ReleaseType);");
             strSql.Append(" select * from ParkTimeseries where TimeseriesID=@TimeseriesID ");
             dbOperator.ClearParameters();
             dbOperator.AddParameter("TimeseriesID", model.TimeseriesID);
             dbOperator.AddParameter("IORecordID", model.IORecordID);
             dbOperator.AddParameter("EnterImage", model.EnterImage);
             dbOperator.AddParameter("ExitImage", model.ExitImage);
             dbOperator.AddParameter("ParkingID", model.ParkingID);
             dbOperator.AddParameter("EnterTime", model.EnterTime);
             dbOperator.AddParameter("ExitTime", model.ExitTime);
             dbOperator.AddParameter("ExitGateID", model.ExitGateID);
             dbOperator.AddParameter("EnterGateID", model.EnterGateID);
             dbOperator.AddParameter("IsExit", model.IsExit);
             dbOperator.AddParameter("LastUpdateTime", model.LastUpdateTime);
             dbOperator.AddParameter("HaveUpdate", model.HaveUpdate);
             dbOperator.AddParameter("DataStatus", (int)model.DataStatus);
             dbOperator.AddParameter("ReleaseType", model.ReleaseType);
             using (DbDataReader reader = dbOperator.ExecuteReader(strSql.ToString()))
             {
                 if (reader.Read())
                 {
                     return(DataReaderToModel <ParkTimeseries> .ToModel(reader));
                 }
             }
         }
     }
     catch (Exception e)
     {
         ErrorMessage = e.Message;
     }
     return(null);
 }
Exemple #4
0
        private void CheckNestReaptIn(InputAgs args, ResultAgs rst)
        {
            ParkTimeseries timeseries = null;
            string         errorMsg   = "";

            if (args.NestAreaIORecord != null)//月卡 VIP卡需要
            {
                timeseries = ParkTimeseriesServices.GetTimeseriesesByIORecordID(args.AreadInfo.PKID, args.NestAreaIORecord.RecordID, out errorMsg);
            }
            if (args.CarTypeInfo.RepeatIn == YesOrNo.Yes && timeseries != null)
            {
                //删除入场记录
                RemoveReaptInIorecord(args);
                timeseries.DataStatus = DataStatus.Delete;
                //SynchroService.UpLoadModle(timeseries);
            }
            else if (args.CarTypeInfo.RepeatIn != YesOrNo.Yes && timeseries != null)
            {
                rst.ResCode = ResultCode.RepeatIn;
            }
        }
Exemple #5
0
        public bool ModifyTimeseries(ParkTimeseries model, out string ErrorMessage)
        {
            ErrorMessage = "";
            try
            {
                using (DbOperator dbOperator = ConnectionManager.CreateConnection())
                {
                    model.DataStatus     = DataStatus.Normal;
                    model.LastUpdateTime = DateTime.Now;
                    model.HaveUpdate     = SystemDefaultConfig.DataUpdateFlag;

                    StringBuilder strSql = new StringBuilder();
                    strSql.Append(@"update ParkTimeseries set IORecordID=@IORecordID,EnterGateID=@EnterGateID,EnterImage=@EnterImage,EnterTime=@EnterTime,ExitGateID=@ExitGateID,
                        ExitImage=@ExitImage,ExitTime=@ExitTime,HaveUpdate=@HaveUpdate,LastUpdateTime=@LastUpdateTime,IsExit=@IsExit,
                        ParkingID=@ParkingID,ReleaseType=@ReleaseType");
                    strSql.Append(" where TimeseriesID=@TimeseriesID");
                    dbOperator.ClearParameters();
                    dbOperator.AddParameter("IORecordID", model.IORecordID);
                    dbOperator.AddParameter("EnterGateID", model.EnterGateID);
                    dbOperator.AddParameter("EnterImage", model.EnterImage);
                    dbOperator.AddParameter("EnterTime", model.EnterTime);
                    dbOperator.AddParameter("ExitGateID", model.ExitGateID);
                    dbOperator.AddParameter("ExitImage", model.ExitImage);
                    dbOperator.AddParameter("ExitTime", model.ExitTime);
                    dbOperator.AddParameter("HaveUpdate", model.HaveUpdate);
                    dbOperator.AddParameter("LastUpdateTime", model.LastUpdateTime);
                    dbOperator.AddParameter("IsExit", model.IsExit);
                    dbOperator.AddParameter("ParkingID", model.ParkingID);
                    dbOperator.AddParameter("ReleaseType", model.ReleaseType);
                    dbOperator.AddParameter("TimeseriesID", model.TimeseriesID);
                    return(dbOperator.ExecuteNonQuery(strSql.ToString()) > 0);
                }
            }
            catch (Exception e)
            {
                ErrorMessage = e.Message;
            }
            return(false);
        }
Exemple #6
0
        /// <summary>
        /// 内场在场记录
        /// </summary>
        /// <param name="args"></param>
        /// <param name="rst"></param>
        private void FindNestAreaIorecord(InputAgs args, ResultAgs rst)
        {
            string         errorMsg   = "";
            ParkTimeseries timeseries = null;

            if (args.NestAreaIORecord != null)
            {
                timeseries = ParkTimeseriesServices.GetTimeseriesesByIORecordID(args.AreadInfo.PKID, args.NestAreaIORecord.RecordID, out errorMsg);
            }
            if (timeseries != null && !timeseries.IsExit)
            {
                args.Timeseries       = timeseries;
                rst.InDate            = args.Timeseries.EnterTime;
                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;
                    }
                }
            }
        }
Exemple #7
0
 private void RemoveReaptInTimeseries(ParkTimeseries args)
 {
     ParkTimeseriesServices.RemoveTimeseries(args.TimeseriesID);
 }
Exemple #8
0
        public List <ParkTimeseries> GetTimeseriesIORecordByLikeStrWhitPageTab(string parkingID, int pageSize, int pageIndex, List <string> cardTypeIDs, string likeStr, out int pageCount, out string ErrorMessage, int isExit = 0)
        {
            string strWhere = string.Format(" t.ParkingID='{0}' and t.DataStatus!=2 ", parkingID);

            if (isExit == 0 || isExit == 1)
            {
                strWhere = strWhere + " and t.Isexit=" + isExit;
            }
            if (!likeStr.IsEmpty())
            {
                strWhere = string.Format("{0} and {1}", strWhere, likeStr);
            }

            if (cardTypeIDs != null && cardTypeIDs.Count > 0)
            {
                string cardids = "";
                foreach (var item in cardTypeIDs)
                {
                    if (item.IsEmpty())
                    {
                        continue;
                    }
                    cardids += "'" + item + "',";
                }
                if (!cardids.IsEmpty())
                {
                    cardids  = cardids.Substring(0, cardids.Length - 1);
                    strWhere = strWhere + " and i.CarTypeID in(" + cardids + ")";
                }
            }

            ErrorMessage = "";
            if (pageIndex < 1)
            {
                ErrorMessage = "pageIndex 从1开始";
            }
            pageCount = 0;
            List <ParkTimeseries> modes = new List <ParkTimeseries>();

            try
            {
                string tWhere = " 1=1 ";
                if (strWhere.IsEmpty())
                {
                    strWhere = tWhere;
                }
                string countSql = string.Format(@"Select count(t.ID) Count From ParkTimeseries t  left join ParkIORecord i on t.IORecordID=i.RecordID  WHERE {0}  ", strWhere);

                string sql = string.Format(@"Select top {1} * From ParkTimeseries t left join ParkIORecord i on t.IORecordID=i.RecordID  Where t.ID>=( 
                                    Select Max(ID) From (Select top {0} t.ID From ParkTimeseries t left join ParkIORecord i on t.IORecordID=i.RecordID  WHERE {2} Order By t.ID) As tmp ) and {2}; ", (pageIndex - 1) * pageSize + 1, pageSize, strWhere);
                using (DbOperator dbOperator = ConnectionManager.CreateReadConnection())
                {
                    using (DbDataReader reader = dbOperator.ExecuteReader(countSql.ToString()))
                    {
                        if (reader.Read())
                        {
                            pageCount = reader[0].ToInt();
                        }
                        else
                        {
                            return(null);
                        }
                    }
                }
                using (DbOperator dbOperator = ConnectionManager.CreateReadConnection())
                {
                    using (DbDataReader reader = dbOperator.ExecuteReader(sql.ToString()))
                    {
                        ParkTimeseries timeseries = null;
                        ParkIORecord   iorecord   = null;
                        while (reader.Read())
                        {
                            timeseries = new ParkTimeseries();
                            iorecord   = new ParkIORecord();

                            timeseries = DataReaderToModel <ParkTimeseries> .ToModel(reader);

                            iorecord = DataReaderToModel <ParkIORecord> .ToModel(reader);

                            timeseries.IORecord = iorecord;
                            modes.Add(timeseries);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                ErrorMessage = "服务异常!" + e.Message;
            }
            return(modes);
        }