Beispiel #1
0
        public ActionResult GetRealTimeRectangleVehicles(GetRectangleRealTimeSingalsModel model)
        {
            List <RealTimeSignalModel> list;

            // 默认模式
            if (base.VehicleViewMode)
            {
                list = SignalBLL.GetDefaultRealTimeSingalsByRectangle(model, base.CurrentStrucID);
            }
            else
            {
                list = SignalBLL.GetRealTimeSingalsByRectangle(model, base.CurrentUserID);
            }
            if (list == null)
            {
                list = new List <RealTimeSignalModel>();
            }

            List <dynamic> resultList = new List <dynamic>();

            foreach (var item in list)
            {
                resultList.Add(new
                {
                    VID         = item.VID,
                    VN          = item.VehicleName,
                    SN          = item.StrucName,
                    Speed       = item.Speed,
                    VIN         = item.VIN,
                    SignalTime  = item.SignalDateTime.ToString("yyyy-MM-dd HH:mm:ss"),
                    Icon        = item.Icon,
                    Address     = item.Address == null ? string.Empty : item.Address,
                    Latitude    = item.Latitude,
                    Longitude   = item.Longitude,
                    Direction   = GetDirection(item.Direction),
                    Angle       = item.Direction,
                    IsOnline    = item.IsOnline == 1,
                    IsRunning   = item.IsRunning == 1,
                    Mileage     = item.Mileage,
                    OilHeight   = item.OilHeight,
                    Temperature = item.Temperature,
                    ACCState    = item.ACCState == true ? "ON" : "OFF",
                    RollerState = item.RollerState,
                    PlateColor  = item.PlateColor,
                    VehicleType = item.VehicleType,
                    FlagState   = (item.PressureFlag == true ? @DisplayText.PressureUnloading + "," : "") + (item.DoorsensorFlag == true ? @DisplayText.DoorOpen : ""),
                });
            }
            return(Json(resultList, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        /// <summary>
        /// 矩形、多边形区域查车(自由模式)
        /// </summary>
        /// <param name="model"></param>
        /// <param name="currentUserID"></param>
        /// <returns></returns>
        public static List <RealTimeSignalModel> GetRealTimeSingalsByRectangle(GetRectangleRealTimeSingalsModel model, int currentUserID)
        {
            //纠偏
            PointModel pointMin = NetDecryFixFalse(model.LngMin, model.LatMin);

            model.LngMin = pointMin.Longitude;
            model.LatMin = pointMin.Latitude;
            PointModel pointMax = NetDecryFixFalse(model.LngMax, model.LatMax);

            model.LngMax = pointMax.Longitude;
            model.LatMax = pointMax.Latitude;
            string sql = @"SELECT sg.* FROM dbo.VW_GetRealTimeSignals sg
                                        INNER JOIN dbo.Func_New_GetVehicleIDByUserId(@userID) vids
                                        ON sg.VID=vids.VehicleID
                                        WHERE sg.Longitude BETWEEN @lngMin AND @lngMax AND sg.Latitude BETWEEN @latMin AND @latMax";

            SqlParameter[] paras = new SqlParameter[5];
            paras[0] = new SqlParameter()
            {
                ParameterName = "@userID",
                Value         = currentUserID,
                SqlDbType     = SqlDbType.Int
            };
            paras[1] = new SqlParameter()
            {
                ParameterName = "@lngMin",
                Value         = model.LngMin,
                SqlDbType     = SqlDbType.Float
            };
            paras[2] = new SqlParameter()
            {
                ParameterName = "@lngMax",
                Value         = model.LngMax,
                SqlDbType     = SqlDbType.Float
            };
            paras[3] = new SqlParameter()
            {
                ParameterName = "@latMin",
                Value         = model.LatMin,
                SqlDbType     = SqlDbType.Float
            };
            paras[4] = new SqlParameter()
            {
                ParameterName = "@latMax",
                Value         = model.LatMax,
                SqlDbType     = SqlDbType.Float
            };
            return(ConvertToList <RealTimeSignalModel> .Convert(MSSQLHelper.ExecuteDataTable(CommandType.Text, sql, paras)));
        }