/// <summary> /// 列表分页 历史纪录 /// </summary> /// <param name="pagination">分页</param> /// <param name="queryJson">查询参数</param> /// <returns></returns> public List <KeyUseEntity> GetPageKeyUseList(Pagination pagination, string queryJson) { IRepository db = new RepositoryFactory().BaseRepository(); var query = db.IQueryable <KeyUseEntity>(); var queryParam = queryJson.ToJObject(); if (!queryParam["Category"].IsEmpty()) { var Category = queryParam["Category"].ToString(); query = query.Where(x => x.Category == Category); } if (!queryParam["CategoryId"].IsEmpty()) { var CategoryId = queryParam["CategoryId"].ToString(); query = query.Where(x => x.CategoryId == CategoryId); } if (!queryParam["CreateDate"].IsEmpty()) { var CreateDate = Convert.ToDateTime(queryParam["CreateDate"].ToString()); var end = CreateDate.AddDays(1).AddMilliseconds(-1); query = query.Where(x => x.LoanDate >= CreateDate && x.LoanDate <= end); } if (!queryParam["keyWord"].IsEmpty()) { var KeyWord = queryParam["keyWord"].ToString(); query = query.Where(x => x.KeyPlace.Contains(KeyWord)); } if (!queryParam["KeyId"].IsEmpty()) { var KeyId = queryParam["KeyId"].ToString(); query = query.Where(x => x.KeyId == KeyId); } var DeptId = queryParam["DeptId"].ToString(); var dept = db.FindEntity <DepartmentEntity>(DeptId); var DeptStr = DeptId; if (dept.TeamType == "01") { var orderService = new WorkOrderService(); var workSet = orderService.GetWorkOrderGroup(DeptId); if (workSet.Count() > 0) { DeptStr = string.Join(",", workSet.Select(x => x.departmentid)); } else { DeptStr = DeptId; } } else { DeptStr = DeptId; } query = query.Where(x => DeptStr.Contains(x.DeptId)); pagination.records = query.Count(); query = query.OrderByDescending(x => x.LoanDate).Skip(pagination.rows * (pagination.page - 1)).Take(pagination.rows); return(query.ToList()); }
/// <summary> /// 列表分页 正在借出的纪录 /// </summary> /// <param name="pagination">分页</param> /// <param name="queryJson">查询参数</param> /// <returns></returns> public List <KeyUseEntity> GetPageKeyUseListByState(Pagination pagination, string queryJson) { IRepository db = new RepositoryFactory().BaseRepository(); var query = db.IQueryable <KeyBoxEntity>(); var queryParam = queryJson.ToJObject(); var DeptId = queryParam["DeptId"].ToString(); var dept = db.FindEntity <DepartmentEntity>(DeptId); var DeptStr = DeptId; if (dept.TeamType == "01") { var orderService = new WorkOrderService(); var workSet = orderService.GetWorkOrderGroup(DeptId); if (workSet.Count() > 0) { DeptStr = string.Join(",", workSet.Select(x => x.departmentid)); } else { DeptStr = DeptId; } } else { DeptStr = DeptId; } query = query.Where(x => DeptStr.Contains(x.DeptId)); if (!queryParam["Category"].IsEmpty()) { var Category = queryParam["Category"].ToString(); query = query.Where(x => x.Category == Category); } query = query.Where(x => x.State); pagination.records = query.Count(); query = query.OrderByDescending(x => x.Category).Skip(pagination.rows * (pagination.page - 1)).Take(pagination.rows); var data = from a in query join b in ( from c in db.IQueryable <KeyUseEntity>() group c by c.KeyId into e select e.OrderByDescending(x => x.LoanDate).FirstOrDefault() ) on a.ID equals b.KeyId into tb from tb1 in tb.DefaultIfEmpty() select tb1; return(data.ToList()); }
/// <summary> /// 获取分类下的数量和借用数量 /// </summary> /// <returns></returns> public object getKeyBoxCategoryData(string DeptId, List <string> category) { var db = new RepositoryFactory().BaseRepository(); var DeptStr = string.Empty; var dept = db.FindEntity <DepartmentEntity>(DeptId); if (dept.TeamType == "01") { var orderService = new WorkOrderService(); var workSet = orderService.GetWorkOrderGroup(DeptId); if (workSet.Count() > 0) { DeptStr = string.Join(",", workSet.Select(x => x.departmentid)); } else { DeptStr = DeptId; } } else { DeptStr = DeptId; } var data = db.IQueryable <KeyBoxEntity>(x => DeptStr.Contains(x.DeptId)).ToList(); var query = from a in category join b in ( from c in data group c by c.Category into d select new { Category = d.Key, count = d.Count(), usecount = d.Count(x => x.State) } ) on a equals b.Category into e from f in e.DefaultIfEmpty() select new { Category = a, count = f != null ? f.count : 0, usecount = f != null ? f.usecount : 0 }; return(query); }