/// <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 }); }
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 })); }
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 }); }