public ActionResult GetRealTimeSignals() { List <RealTimeSignalTreeModel> allItems; if (base.VehicleViewMode) { allItems = SignalBLL.GetDefaultRealTimeSignals(base.CurrentStrucID); } else { allItems = SignalBLL.GetRealTimeSignals(base.CurrentUserID); } if (allItems == null) { allItems = new List <RealTimeSignalTreeModel>(); } allItems = allItems.OrderBy(item => item.SID).ToList(); //提取单位 var query = from item in allItems select new StructureTreeModel { ID = item.SID, StrucName = item.SN, ParentID = item.SPID }; var structures = query.Distinct(new StrucTreeComparer()).ToList(); List <BootstrapTreeViewNode> nodes = new List <BootstrapTreeViewNode>(); for (int i = 0; i < structures.Count; i++) { var item = structures[i]; var tempNode = new BootstrapTreeViewNode() { text = item.StrucName, selectable = false, sid = item.ID, state = new BootstrapTreeViewNodeState() { expanded = false } }; tempNode.nodes = new List <BootstrapTreeViewNode>(); CreateSubStrucNode(tempNode, structures, allItems, item.ID); CreateVehicleNode(tempNode, allItems, item.ID); nodes.Add(tempNode); structures.RemoveAt(i); i--; } //展开第一个 单位节点 if (nodes.Count > 0) { nodes.First().state.expanded = true; } return(Json(nodes, JsonRequestBehavior.AllowGet)); }
public ActionResult GetRealTimeSignalsByVehicleIds(string ids) { List <long> vids = new List <long>(); var temp = ids.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); foreach (var item in temp) { vids.Add(long.Parse(item)); } var result = SignalBLL.GetRealTimeSignalsByVheicleIDs(vids); if (result == null) { return(Json(null, JsonRequestBehavior.AllowGet)); } List <dynamic> list = new List <dynamic>(); foreach (var item in result) { list.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 : ""), EscortName = item.EscortName, EscortPhone = item.EscortPhone, DriverName = item.DriverName, DriverPhone = item.DriverPhone, OwnersName = item.OwnersName, OwnersPhone = item.OwnersPhone }); } return(Json(list, JsonRequestBehavior.AllowGet)); }
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)); }
public ActionResult GetRealTimeSignalByVehicleID(long vehicleID) { ////这里不对用户是否具有指定vehicleID做判断 ////仅仅根据VID查询实时信号。。否则影响速度 var result = SignalBLL.GetRealTimeSignalByVheicleID(vehicleID); if (result == null) { return(Json(null, JsonRequestBehavior.AllowGet)); } var obj = new { VID = result.VID, VN = result.VehicleName, SN = result.StrucName, Speed = result.Speed, VIN = result.VIN, SignalTime = result.SignalDateTime.ToString("yyyy-MM-dd HH:mm:ss"), Icon = result.Icon, Address = result.Address == null ? string.Empty : result.Address, Latitude = result.Latitude, Longitude = result.Longitude, Direction = GetDirection(result.Direction), Angle = result.Direction, IsOnline = result.IsOnline == 1, IsRunning = result.IsRunning == 1, Mileage = result.Mileage, OilHeight = result.OilHeight, Temperature = result.Temperature, ACCState = result.ACCState == true ? "ON" : "OFF", RollerState = result.RollerState, PlateColor = result.PlateColor, VehicleType = result.VehicleType, FlagState = (result.PressureFlag == true ? @DisplayText.PressureUnloading + "," : "") + (result.DoorsensorFlag == true ? @DisplayText.DoorOpen : ""), EscortName = result.EscortName, EscortPhone = result.EscortPhone, DriverName = result.DriverName, DriverPhone = result.DriverPhone, OwnersName = result.OwnersName, OwnersPhone = result.OwnersPhone }; return(Json(obj, JsonRequestBehavior.AllowGet)); }
public ActionResult GetRealTimePolygonVehicles(string points) { List <RealTimePolygonVehiclesPoints> pointList = JsonConvert.DeserializeObject <List <RealTimePolygonVehiclesPoints> >(points); //过滤出包含多边形 最小正方形包含的数据 int count = pointList.Count; double minLat = double.Parse(pointList[0].lat.ToString()); double minLng = double.Parse(pointList[0].lng.ToString()); double maxLat = minLat; double maxLng = minLng; for (int i = 0; i < count; i++) { double tmpLat = double.Parse(pointList[i].lat.ToString()); double tmpLng = double.Parse(pointList[i].lng.ToString()); if (tmpLat < minLat) { minLat = tmpLat; } if (tmpLng < minLng) { minLng = tmpLng; } if (tmpLat > maxLat) { maxLat = tmpLat; } if (tmpLng > maxLng) { maxLng = tmpLng; } } List <RealTimeSignalModel> list; // 默认模式 if (base.VehicleViewMode) { list = SignalBLL.GetDefaultRealTimeSingalsByRectangle(new GetRectangleRealTimeSingalsModel() { LatMax = maxLat, LatMin = minLat, LngMax = maxLng, LngMin = minLng }, base.CurrentStrucID); } else { list = SignalBLL.GetRealTimeSingalsByRectangle(new GetRectangleRealTimeSingalsModel() { LatMax = maxLat, LatMin = minLat, LngMax = maxLng, LngMin = minLng }, 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)); }