示例#1
0
        /// <summary>
        /// 根据用户ID获取出入进路
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public TableData GetListByPerson(EntryListReq req)
        {
            var query = _entryRepository.Table.Where(a => !a.Deleted);

            if (!req.personId.IsBlank())
            {
                query = query.Where(a => a.PersonUUID == req.personId);
            }

            //if (!req.communityId.IsBlank())
            //{
            //    query = query.Where(a => a.CommunityUUID == req.communityId);
            //}

            query = query.OrderByDescending(o => o.CreateTime);
            var pagedList = query.ToPagedList(req.page, req.pageSize);

            var historyList = new List <EntryHistoryDto>();

            foreach (var item in pagedList)
            {
                var dto = item.MapTo <EntryHistoryDto>();
                dto.EntryUUID = item.EntryUUID;
                var person = item.Person;
                if (person != null)
                {
                    dto.PersonName = person.PersonName;
                    dto.PersonPic  = "";
                }
                var door = item.Door;
                if (door != null)
                {
                    dto.DoorName = door.DoorName;
                    dto.DoorName = door.DoorTypeDict != null ? door.DoorTypeDict.DictName : "";
                }
                dto.OperationType = item.OperationType.ToString();
                dto.EntryTime     = item.EntryTime;
                historyList.Add(dto);
            }

            return(new TableData
            {
                currPage = req.page,
                pageSize = req.pageSize,
                pageTotal = pagedList.TotalPageCount,
                totalCount = pagedList.TotalItemCount,
                list = historyList
            });
        }
示例#2
0
        public IHttpActionResult GetEntryList([FromUri] EntryListReq req)
        {
            if (null == req)
            {
                req = new EntryListReq();
            }
            var table = entryService.GetList(req);

            return(Ok(new
            {
                code = 0,
                msg = "success",
                data = table
            }));
        }
示例#3
0
        public TableData GetList(EntryListReq req)
        {
            var query = from e in _entryRepository.Table
                        join uc in _personRepository.Table on e.PersonUUID equals uc.PersonUUID
                        join c in _cardRepository.Table on e.CardUUID equals c.CardUUID
                        join d in _doorRepository.Table on e.DoorUUID equals d.DoorUUID
                        where !uc.Deleted &&
                        (string.IsNullOrEmpty(req.communityId) ? true : uc.CommunityUUID == req.communityId) &&
                        (req.StartTime.HasValue ? e.EntryTime >= req.StartTime.Value:true) &&
                        (req.EndTime.HasValue ? e.EntryTime <= req.EndTime.Value: true) &&
                        (string.IsNullOrEmpty(req.PersonName) ? true : uc.PersonName.Contains(req.PersonName)) &&
                        (string.IsNullOrEmpty(req.personId) ? true : uc.PersonUUID.Equals(req.personId)) &&
                        (string.IsNullOrEmpty(req.CardNo) ? true : uc.IDCardNo.Contains(req.CardNo)) &&
                        (string.IsNullOrEmpty(req.DoorUUID) ? true : e.DoorUUID.Equals(req.DoorUUID))

                        orderby e.CreateTime descending
                        select new EntryHistoryDto
            {
                EntryUUID      = e.EntryUUID,
                PersonUUID     = e.PersonUUID,
                Sex            = uc.Sex,
                PersonPic      = "",
                PersonName     = uc.PersonName,
                PersonIDCardNo = uc.IDCardNo,
                DoorName       = d.DoorName,
                EntryTime      = e.EntryTime,
                CardNo         = c.CardNo,
                Photo          = e.Photo
            };

            var pagedList = query.ToPagedList(req.page, req.pageSize);

            return(new TableData
            {
                currPage = req.page,
                pageSize = req.pageSize,
                pageTotal = pagedList.TotalPageCount,
                totalCount = pagedList.TotalItemCount,
                list = pagedList
            });
        }