public IActionResult VillageList(GrabRequestPaload payload) { var response = ResponseModelFactory.CreateResultInstance; using (_dbContext) { var query = _dbContext.HomeAddress.Select(x => new { x.Ccmmunity, x.Address, x.Town, x.Resregion }); if (AuthContextService.CurrentUser.Streets == "" && AuthContextService.CurrentUser.Community == "" && AuthContextService.CurrentUser.Biotope != "") { var Biotope = AuthContextService.CurrentUser.Biotope.Split(','); query = query.Where(x => Biotope.Contains(x.Resregion)); } else if (AuthContextService.CurrentUser.Streets == "" && AuthContextService.CurrentUser.Community != "" && AuthContextService.CurrentUser.Biotope == "") { var Community = AuthContextService.CurrentUser.Community.Split(','); query = query.Where(x => Community.Contains(x.Ccmmunity)); } else if (AuthContextService.CurrentUser.Streets != "" && AuthContextService.CurrentUser.Community == "" && AuthContextService.CurrentUser.Biotope == "") { var Streets = AuthContextService.CurrentUser.Streets.Split(','); query = query.Where(x => Streets.Contains(x.Town)); } else if (AuthContextService.CurrentUser.Streets != "" && AuthContextService.CurrentUser.Community != "" && AuthContextService.CurrentUser.Biotope == "") { var Streets = AuthContextService.CurrentUser.Streets.Split(','); var Community = AuthContextService.CurrentUser.Community.Split(','); query = query.Where(x => Streets.Contains(x.Town) || Community.Contains(x.Ccmmunity)); } else if (AuthContextService.CurrentUser.Streets != "" && AuthContextService.CurrentUser.Community == "" && AuthContextService.CurrentUser.Biotope != "") { var Streets = AuthContextService.CurrentUser.Streets.Split(','); var Biotope = AuthContextService.CurrentUser.Biotope.Split(','); query = query.Where(x => Streets.Contains(x.Town) || Biotope.Contains(x.Resregion)); } else if (AuthContextService.CurrentUser.Streets == "" && AuthContextService.CurrentUser.Community != "" && AuthContextService.CurrentUser.Biotope != "") { var Community = AuthContextService.CurrentUser.Community.Split(','); var Biotope = AuthContextService.CurrentUser.Biotope.Split(','); query = query.Where(x => Community.Contains(x.Ccmmunity) || Biotope.Contains(x.Resregion)); } else if (AuthContextService.CurrentUser.Streets != "" && AuthContextService.CurrentUser.Community != "" && AuthContextService.CurrentUser.Biotope != "") { var Streets = AuthContextService.CurrentUser.Streets.Split(','); var Community = AuthContextService.CurrentUser.Community.Split(','); var Biotope = AuthContextService.CurrentUser.Biotope.Split(','); query = query.Where(x => Streets.Contains(x.Town) || Community.Contains(x.Ccmmunity) || Biotope.Contains(x.Resregion)); } var entity = query.GroupBy(x => x.Ccmmunity).Select(x => new { Score = score(x.Key), Ccmmunity = x.Key }); var list = entity.Paged(payload.CurrentPage, payload.PageSize).ToList(); var totalCount = entity.ToList().Count(); response.SetData(list, totalCount); return(Ok(response)); } }
public IActionResult List(GrabRequestPaload payload) { using (_dbContext) { var query = from gd in _dbContext.GrabageDisposal join gr in _dbContext.GrabageRoom on gd.GrabageRoomId equals gr.GarbageRoomUuid //join o in _dbContext.SystemUser //on gd.SystemUserUuid equals o.SystemUserUuid join ha in _dbContext.HomeAddress on gd.HomeAddressUuid equals ha.HomeAddressUuid select new { GarbageDisposalUuid = gd.GarbageDisposalUuid, TrueName = _dbContext.SystemUser.FirstOrDefault(x => x.SystemUserUuid == gd.SystemUserUuid).LoginName, Phone = _dbContext.SystemUser.FirstOrDefault(x => x.SystemUserUuid == gd.SystemUserUuid).Phone, RoomID = gd.GrabageRoom.Ljname, HomeAddressUuid = gd.HomeAddressUuid, Address = ha.Address, //o.OldCard, //o.Wechat, //SupervisorName = s.Sname, AddTime = gd.AddTime, //投放时间 ScoreAddtime = gd.ScoreAddtime, Score = gd.ScoreSettingUu.Integral, IsDeleted = gd.IsDelete, Id = gd.Id, gr.GarbageRoomUuid, gd.MarkType, ha.Ccmmunity, ha.Town, ha.Resregion, IsScore = gd.IsScore == "0"?"已投放":"已赋分" }; if (AuthContextService.CurrentUser.Streets == "" && AuthContextService.CurrentUser.Community == "" && AuthContextService.CurrentUser.Biotope != "") { var Biotope = AuthContextService.CurrentUser.Biotope.Split(','); query = query.Where(x => Biotope.Contains(x.Resregion)); } else if (AuthContextService.CurrentUser.Streets == "" && AuthContextService.CurrentUser.Community != "" && AuthContextService.CurrentUser.Biotope == "") { var Community = AuthContextService.CurrentUser.Community.Split(','); query = query.Where(x => Community.Contains(x.Ccmmunity)); } else if (AuthContextService.CurrentUser.Streets != "" && AuthContextService.CurrentUser.Community == "" && AuthContextService.CurrentUser.Biotope == "") { var Streets = AuthContextService.CurrentUser.Streets.Split(','); query = query.Where(x => Streets.Contains(x.Town)); } else if (AuthContextService.CurrentUser.Streets != "" && AuthContextService.CurrentUser.Community != "" && AuthContextService.CurrentUser.Biotope == "") { var Streets = AuthContextService.CurrentUser.Streets.Split(','); var Community = AuthContextService.CurrentUser.Community.Split(','); query = query.Where(x => Streets.Contains(x.Town) || Community.Contains(x.Ccmmunity)); } else if (AuthContextService.CurrentUser.Streets != "" && AuthContextService.CurrentUser.Community == "" && AuthContextService.CurrentUser.Biotope != "") { var Streets = AuthContextService.CurrentUser.Streets.Split(','); var Biotope = AuthContextService.CurrentUser.Biotope.Split(','); query = query.Where(x => Streets.Contains(x.Town) || Biotope.Contains(x.Resregion)); } else if (AuthContextService.CurrentUser.Streets == "" && AuthContextService.CurrentUser.Community != "" && AuthContextService.CurrentUser.Biotope != "") { var Community = AuthContextService.CurrentUser.Community.Split(','); var Biotope = AuthContextService.CurrentUser.Biotope.Split(','); query = query.Where(x => Community.Contains(x.Ccmmunity) || Biotope.Contains(x.Resregion)); } else if (AuthContextService.CurrentUser.Streets != "" && AuthContextService.CurrentUser.Community != "" && AuthContextService.CurrentUser.Biotope != "") { var Streets = AuthContextService.CurrentUser.Streets.Split(','); var Community = AuthContextService.CurrentUser.Community.Split(','); var Biotope = AuthContextService.CurrentUser.Biotope.Split(','); query = query.Where(x => Streets.Contains(x.Town) || Community.Contains(x.Ccmmunity) || Biotope.Contains(x.Resregion)); } //查看督导员所属的厢房赋分记录 if (payload.Gruuid != null) { query = query.Where(x => x.GarbageRoomUuid == payload.Gruuid); } if (!string.IsNullOrEmpty(payload.Kw1)) { query = query.Where(x => x.Address.ToString().Contains(payload.Kw1)); } //街道筛选 if (!string.IsNullOrEmpty(payload.street)) { query = query.Where(x => x.Address.Contains(payload.street)); } //所在社区筛选 if (!string.IsNullOrEmpty(payload.ccmmunity)) { query = query.Where(x => x.Address.Contains(payload.ccmmunity)); } //if (!string.IsNullOrEmpty(payload.Kw)) //{ // query = query.Where(x => x.RoomID.ToString().Contains(payload.Kw.Trim()) || x.TrueName.Contains(payload.Kw.Trim())); //} if (payload.MarkType != "全部") { query = query.Where(x => x.MarkType.Contains(payload.MarkType)); } if (payload.isScore != "全部") { query = query.Where(x => x.IsScore == payload.isScore); } //if (!string.IsNullOrEmpty(payload.time[0])) //{ // DateTime d1 = DateTime.Parse(payload.time[0]); // DateTime d2 = DateTime.Parse(payload.time[1]); // d2 = d2.AddDays(1); // query = query.Where(x => DateTime.Parse(x.AddTime) >= d1 && DateTime.Parse(x.AddTime) <= d2); //} if (!string.IsNullOrEmpty(payload.time[0])) { DateTime d1 = DateTime.Parse(payload.time[0]); DateTime d2 = DateTime.Parse(payload.time[1]); d2 = d2.AddDays(1); var date1 = d1.ToString("yyyy-MM-dd HH:mm:ss"); var date2 = d2.ToString("yyyy-MM-dd HH:mm:ss"); query = query.Where(x => x.AddTime.CompareTo(date1) >= 0 && x.AddTime.CompareTo(date2) <= 0); } if (payload.FirstSort != null) { query = query.OrderBy(payload.FirstSort.Field, payload.FirstSort.Direct == "DESC"); } var list = query.Paged(payload.CurrentPage, payload.PageSize).ToList(); var totalCount = query.Count(); var response = ResponseModelFactory.CreateResultInstance; response.SetData(list, totalCount); return(Ok(response)); } }