Exemple #1
0
        public static void DeleteAddressMap(int sysNo)
        {
            var addressMap = AddressMapDA.LoadAddressMap(sysNo);

            AddressMapDA.DeleteAddressMap(sysNo);

            UpdateHomeCacheDataByAddressMap(addressMap);
        }
Exemple #2
0
        public static int InsertAddressMap(AddressMap entity)
        {
            var sysNo = AddressMapDA.InsertAddressMap(entity);

            UpdateHomeCacheData(entity.AddressSysNo);

            return(sysNo);
        }
Exemple #3
0
        public static int InsertOrUpdateAddressMapImg(AddressMap entity)
        {
            var addressMaps = AddressMapDA.QueryAddressMapList(new AddressMapFilter {
                AddressSysNo = entity.AddressSysNo, PageSize = 100
            }).data;

            if (addressMaps.Count > 0)
            {
                entity.SysNo = addressMaps.First().SysNo;
                AddressMapDA.UpdateAddressMapImg(entity);
                UpdateHomeCacheData(entity.AddressSysNo);
            }
            else
            {
                entity.SysNo = InsertAddressMap(entity);
            }

            return(entity.SysNo);
        }
        public static SmokeMap GetAddressMapSmokes(int companySysNo, int addressId)
        {
            var model = new SmokeMap();

            model.AddressNo   = addressId;
            model.AddressMaps = AddressMapDA.QueryAddressMapList(new AddressMapFilter {
                AddressSysNo = addressId, PageSize = 100000
            }).data;

            //标记点分两种 烟感器 和 下级地址
            model.Smokes  = new List <AddressMapMarker>();
            model.Markers = new List <AddressMapMarker>();
            var smokes = SmokeDetectorDA.GetSmokeDetectorByAddressSysNo(companySysNo, new List <int> {
                addressId
            });

            if (smokes != null)
            {
                smokes.ForEach(a =>
                {
                    model.Smokes.Add(new AddressMapMarker {
                        SysNo = a.SysNo, Name = string.IsNullOrEmpty(a.Position) ? a.Code : a.Position, Type = AddressMapMarkerType.SmokeDetector,
                    });
                });
            }

            var address = AddressDA.GetTopLevelChildren(addressId);

            if (address != null)
            {
                address.ForEach(a =>
                {
                    model.Smokes.Add(new AddressMapMarker {
                        SysNo = a.SysNo, Name = a.Name, Type = AddressMapMarkerType.Address,
                    });
                });
            }

            return(model);
        }
Exemple #5
0
        public static List <HomeMapMarker> GetHomeMarkers(int addressMapSysNo, int compnaySysNo)
        {
            //报警状态:烟雾报警,测试报警,低电量报警
            var warnStatus = new List <SmokeDetectorStatus> {
                SmokeDetectorStatus.Warning, SmokeDetectorStatus.TestWarning, SmokeDetectorStatus.LowPower
            };

            var addressMap = AddressMapDA.LoadAddressMap(addressMapSysNo);

            if (addressMap == null)
            {
                throw new BusinessException("addressMap 不存在");
            }

            if (!string.IsNullOrWhiteSpace(addressMap.SmokeCoordinate))
            {
                var countAddressList = new List <SmokeDetectorCountAddress>();
                var addressWarnList  = new List <AddressWarn>();
                var smokeDetectors   = new List <SmokeDetector>();

                var markers       = JsonConvert.DeserializeObject <List <HomeMapMarker> >(addressMap.SmokeCoordinate);
                var addressMarker = markers.Where(a => a.Type == AddressMapMarkerType.Address);
                var smokeMarker   = markers.Where(a => a.Type == AddressMapMarkerType.SmokeDetector);

                if (addressMarker.Count() > 0)
                {
                    var addressSysNos = addressMarker.Select(a => a.SysNo).ToList();
                    countAddressList = SmokeDetectorDA.LoadSmokeDetectorCountInArea(compnaySysNo, addressSysNos);
                    addressWarnList  = SmokeDetectorDA.GetAddressWarnCount(addressSysNos);
                }

                if (smokeDetectors.Count() > 0)
                {
                    smokeDetectors = SmokeDetectorDA.LoadSmokeDetectors(smokeMarker.Select(a => a.SysNo).ToList());
                }

                markers.ForEach(marker => {
                    if (marker.Type == AddressMapMarkerType.Address)
                    {
                        var countAddress = countAddressList.FirstOrDefault(a => a.AddressSysNo == marker.SysNo);
                        if (countAddress != null)
                        {
                            marker.DeviceTotal   = countAddress.ALLSmokeCount;
                            marker.DeviceOnline  = countAddress.OnlineCount;
                            marker.DeviceOffline = countAddress.OfflineCount;
                        }

                        var addressWarn = addressWarnList.FirstOrDefault(a => a.AddressSysNo == marker.SysNo);
                        if (addressWarn != null && addressWarn.WarnCount > 0)
                        {
                            marker.IsWarning = true;
                        }
                    }
                    else if (marker.Type == AddressMapMarkerType.SmokeDetector)
                    {
                        var smokeDetector = smokeDetectors.FirstOrDefault(a => a.SysNo == marker.SysNo);
                        if (smokeDetector != null && smokeDetector.Status.HasValue && warnStatus.Contains(smokeDetector.Status.Value))
                        {
                            marker.IsWarning = true;
                        }
                    }
                });

                return(markers);
            }

            return(new List <HomeMapMarker>());
        }
Exemple #6
0
 public static List <AddressMap> GetCompanyAddressMap(int companySysNo)
 {
     return(AddressMapDA.GetCompanyAddressMap(companySysNo));
 }
Exemple #7
0
 /// <summary>
 /// 分页查询AddressSmoke信息
 /// </summary>
 public static QueryResult <AddressMap> QueryAddressMapList(AddressMapFilter filter)
 {
     return(AddressMapDA.QueryAddressMapList(filter));
 }
Exemple #8
0
 public static void UpdateAddressMapName(int sysno, string name, CurrentUser currentUser)
 {
     AddressMapDA.UpdateAddressMapName(sysno, name, currentUser);
 }
Exemple #9
0
        public static void UpdateAddressMapCoordinateBatch(List <AddressMap> list, int companySysNo, CurrentUser currentUser)
        {
            AddressMapDA.UpdateAddressMapCoordinateBatch(list, currentUser);

            (new MapDataService(companySysNo)).DataChangeAsync();
        }
Exemple #10
0
        public static void UpdateAddressMapCoordinate(int sysno, string SmokeCoordinate, CurrentUser currentUser)
        {
            AddressMapDA.UpdateAddressMapCoordinate(sysno, SmokeCoordinate, currentUser);

            UpdateHomeCacheDataByAddressMap(sysno);
        }
Exemple #11
0
 //获取烟感器所在address对应的addressmap
 public static List <AddressMap> GetSmokeDetectorAddressMap(int smokeDetectorSysNo)
 {
     return(AddressMapDA.GetSmokeDetectorAddressMap(smokeDetectorSysNo));
 }
Exemple #12
0
        private static void UpdateHomeCacheDataByAddressMap(int addressMapSysNo)
        {
            var addressMap = AddressMapDA.LoadAddressMap(addressMapSysNo);

            UpdateHomeCacheDataByAddressMap(addressMap);
        }