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)); }
/// <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))); }