Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
        }