Ejemplo n.º 1
0
        public AreaStatistics GetAreaStatisticsCount(List <int?> lst)
        {
            try
            {
                var query = from t1 in db.LocationCardPositions.DbSet
                            join t2 in db.Personnels.DbSet on t1.PersonId equals t2.Id
                            where lst.Contains(t1.AreaId)
                            select t2;

                var query2 = from t1 in db.DevInfos.DbSet
                             where lst.Contains(t1.ParentId) && t1.Local_TypeCode != 20180821 //把基站排除了
                             select t1;

                var query3 = from t1 in db.LocationAlarms.DbSet
                             where lst.Contains(t1.AreaId) && t1.AlarmLevel != 0
                             select t1;

                DateTime now        = DateTime.Now;
                DateTime todayStart = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0, 0);
                DateTime todayEnd   = new DateTime(now.Year, now.Month, now.Day, 23, 59, 59, 999);
                var      startStamp = TimeConvert.ToStamp(todayStart);
                var      endStamp   = TimeConvert.ToStamp(todayEnd);

                var query4 = from t1 in db.DevInfos.DbSet
                             join t2 in db.DevAlarms.DbSet on t1.Id equals t2.DevInfoId
                             where lst.Contains(t1.ParentId) && t2.AlarmTimeStamp >= startStamp && t2.AlarmTimeStamp <= endStamp
                             select t2;

                var query5 = (from t1 in db.LocationAlarms.DbSet
                              where lst.Contains(t1.AreaId) && t1.AlarmLevel != 0
                              select t1.PersonnelId).Distinct().ToList();

                var ass = new AreaStatistics();


                ass.PersonNum        = query.Count();
                ass.DevNum           = query2.Count();
                ass.LocationAlarmNum = query3.Count();
                ass.DevAlarmNum      = query4.Count();
                ass.AlarmPersonNum   = query5.Count();//只需要数量信息,不要用ToList(),避免大量数据时封装到实体类的消耗


                PersonService personService = new PersonService(db);
                var           list          = personService.GetList(false, false);
                if (list != null)
                {
                    ass.PersonNum = list.Count;
                }
                else
                {
                    ass.PersonNum = 0;
                }
                return(ass);
            }
            catch (System.Exception ex)
            {
                Log.Error(tag, "GetAreaStatisticsCount", ex.ToString());
                return(null);
            }
        }
Ejemplo n.º 2
0
 public TEntity GetTree(int view)
 {
     if (view == 0)
     {
         return(GetTree(new List <Personnel>()));
     }
     else if (view == 1)
     {
         List <Personnel> leafNodes = db.Personnels.ToList().ToTModel();
         return(GetTree(leafNodes));
     }
     else if (view == 2)
     {
         if (personService == null)
         {
             personService = new PersonService();
         }
         List <Personnel> leafNodes = personService.GetList(true);
         return(GetTree(leafNodes));
     }
     else
     {
         return(GetTree(new List <Personnel>()));
     }
 }
Ejemplo n.º 3
0
 public TEntity GetTree(int view)
 {
     if (view == 0)
     {
         return(GetTree(new List <Personnel>()));
     }
     else if (view == 1)
     {
         List <Personnel> leafNodes = personService.GetList(false, showHidePerson);
         return(GetTree(leafNodes));
     }
     else if (view == 2)
     {
         List <Personnel> leafNodes = personService.GetList(true, showHidePerson);
         return(GetTree(leafNodes));
     }
     else
     {
         return(GetTree(new List <Personnel>()));
     }
 }
Ejemplo n.º 4
0
        bool showHidePerson = false;//隐藏待机的人员

        private List <TPerson> GetPersonAreaList()
        {
            try
            {
                PersonService personService = new PersonService(db);
                return(personService.GetList(false, showHidePerson));
            }
            catch (System.Exception ex)
            {
                Log.Error(tag, "GetPersonAreaList", ex.ToString());
                return(null);
            }
        }