/// <summary> /// 应急预案列表分页 /// </summary> /// <param name="pagination">分页</param> /// <param name="queryJson">查询参数</param> /// <returns></returns> public IEnumerable <EmergencyReportEntity> EmergencyReportGetPageList(string DeptId, string name, DateTime?from, DateTime?to, int page, int pagesize, out int total) { var query = new RepositoryFactory <EmergencyReportEntity>().BaseRepository().IQueryable(); if (!string.IsNullOrEmpty(name)) { query = query.Where(x => x.emergencyreportname.Contains(name)); } if (!string.IsNullOrEmpty(DeptId)) { query = query.Where(x => x.deptid == DeptId); } if (from != null) { query = query.Where(x => x.planstarttime >= from.Value); } if (to != null) { to = to.Value.AddDays(1).AddMinutes(-1); query = query.Where(x => x.planstarttime <= to); } total = query.Count(); var data = query.OrderByDescending(x => x.planstarttime).Skip(pagesize * (page - 1)).Take(pagesize).ToList(); var db = new Repository <FileInfoEntity>(DbFactory.Base()); data.ForEach(x => x.File = db.IQueryable().Where(y => y.RecId == x.EmergencyReportId && y.Description == "照片").OrderByDescending(y => y.CreateDate).Take(1).ToList()); return(data); }
public List <SevenSPictureEntity> GetListByManager(DateTime?datefrom, DateTime?dateto, string state, string userId, bool?evaluateState, string deptid, out int totalCount, int pageIndex = 1, int pageSize = 5) { var data = new RepositoryFactory().BaseRepository().IQueryable <SevenSPictureEntity>(); if (datefrom.HasValue) { data = data.Where(p => p.planeStartDate >= datefrom.Value); } if (dateto.HasValue) { data = data.Where(p => p.planeEndDate <= dateto.Value); } if (!string.IsNullOrWhiteSpace(state) && state != "全部") { data = data.Where(p => p.state == state); } if (!string.IsNullOrWhiteSpace(deptid)) { data = data.Where(p => p.deptid == deptid); } var allIds = data.Select(p => p.Id).ToList(); var evaluteIds = new RepositoryFactory().BaseRepository().IQueryable <ActivityEvaluateEntity>(p => p.CREATEUSERID == userId && allIds.Contains(p.Activityid)).Select(p => p.Activityid).ToList();//已经评价的定点拍照ID if (evaluateState.HasValue) { if (evaluateState.Value) { data = data.Where(p => evaluteIds.Contains(p.Id)).OrderByDescending(p => p.CreateDate); totalCount = data.Count(); var list = data.Skip(pageSize * pageIndex - pageSize).Take(pageSize).ToList(); list.ForEach(x => { x.evaluationState = "已评价"; }); return(list); } else { //未评价 data = data.Where(p => !evaluteIds.Contains(p.Id)).OrderByDescending(p => p.CreateDate); totalCount = data.Count(); var list = data.Skip(pageSize * pageIndex - pageSize).Take(pageSize).ToList(); list.ForEach(x => { x.evaluationState = "未评价"; }); return(list); } } else { //var evalute = new RepositoryFactory().BaseRepository().IQueryable<ActivityEvaluateEntity>(); //var idsQuery = from q1 in evalute join q2 in data on q1.Activityid equals q2.Id into into1 from t1 in into1.DefaultIfEmpty() where q1.CREATEUSERID == userId select q1.Activityid; //var ids = idsQuery.Distinct().ToList();//已评价的Id totalCount = data.Count(); var dataList = data.OrderByDescending(p => p.CreateDate).Skip(pageIndex * pageSize - pageSize).Take(pageSize).ToList(); dataList.ForEach(x => { if (evaluteIds.Contains(x.Id)) { x.evaluationState = "已评价"; } else { x.evaluationState = "未评价"; } }); return(dataList); } }
/// <summary> /// 根据状态获取最新的班组的提交数据 /// </summary> /// <param name="state">状态 已提交 未提交</param> /// <param name="userId">用户Id</param> /// <returns></returns> public List <SevenSPictureEntity> GetListByManager(string state, string userId, bool?evaluateState, string deptid, out int totalCount, int pageIndex = 1, int pageSize = 5) { #region 旧 //string sql = "SELECT * FROM wg_sevenspicture WHERE ID IN( SELECT SUBSTRING_INDEX(GROUP_CONCAT(ID ORDER BY ModifyDate DESC),',',1) FROM wg_sevenspicture where 1=1"; //if (!string.IsNullOrWhiteSpace(state) && state != "全部") //{ // sql +=string.Format( " AND state='{0}'",state); //} //if (!string.IsNullOrWhiteSpace(deptid)) //{ // sql += string.Format(" AND DeptId='{0}'", deptid); //} //sql += " GROUP BY DeptId)"; //var data = new RepositoryFactory().BaseRepository().FindList<SevenSPictureEntity>(sql).OrderByDescending(x => x.ModifyDate).ToList(); //var allIds = data.Select(p => p.Id).ToList(); //var evaluteIds = new RepositoryFactory().BaseRepository().IQueryable<ActivityEvaluateEntity>(p => p.CREATEUSERID == userId && allIds.Contains(p.Activityid)).Select(p => p.Activityid).ToList();//已经评价的定点拍照ID //if (data.Count() > 0) //{ // if (evaluateState.HasValue) // { // if (evaluateState.Value) // { // //var idsQuery = from q1 in evalute join q2 in data on q1.Activityid equals q2.Id into into1 from t1 in into1.DefaultIfEmpty() where q1.CREATEUSERID == userId select q1.Activityid; // //var ids = idsQuery.Distinct().ToList(); // ////已评价 // //var query = data.Where(p => ids.Contains(p.Id)); // var list = data.Where(p => evaluteIds.Contains(p.Id)).ToList(); // list.ForEach(x => { x.evaluationState = "已评价"; }); // return list; // } // else // { // //未评价 // //var evalute = new RepositoryFactory().BaseRepository().IQueryable<ActivityEvaluateEntity>(); // //var idsQuery = from q1 in evalute join q2 in data on q1.Activityid equals q2.Id into into1 from t1 in into1.DefaultIfEmpty() where q1.CREATEUSERID != userId select q1.Activityid; // //var ids = idsQuery.Distinct().ToList(); // //var query = data.Where(p => ids.Contains(p.Id)); // var list = data.Where(p => !evaluteIds.Contains(p.Id)).ToList(); // list.ForEach(x => { x.evaluationState = "未评价"; }); // return list; // } // } // else // { // //var evalute = new RepositoryFactory().BaseRepository().IQueryable<ActivityEvaluateEntity>(); // //var idsQuery = from q1 in evalute join q2 in data on q1.Activityid equals q2.Id into into1 from t1 in into1.DefaultIfEmpty() where q1.CREATEUSERID == userId select q1.Activityid; // //var ids = idsQuery.Distinct().ToList();//已评价的Id // //var dataList = data.ToList(); // data.ForEach(x => { // if (evaluteIds.Contains(x.Id)) // { // x.evaluationState = "已评价"; // } // else // { // x.evaluationState = "未评价"; // } // }); // return data; // } //} //return new List<SevenSPictureEntity>(); #endregion var query = new RepositoryFactory().BaseRepository().IQueryable <SevenSPictureEntity>(); if (!string.IsNullOrWhiteSpace(state) && state != "全部") { query = query.Where(p => p.state == state); } if (!string.IsNullOrWhiteSpace(deptid)) { query = query.Where(p => p.deptid == deptid); } var evaluteQuery = new RepositoryFactory().BaseRepository().IQueryable <ActivityEvaluateEntity>(); var allIds = query.Select(p => p.Id).ToList(); var evaluteIds = new RepositoryFactory().BaseRepository().IQueryable <ActivityEvaluateEntity>(p => p.CREATEUSERID == userId && allIds.Contains(p.Activityid)).Select(p => p.Activityid).ToList();//已经评价的定点拍照ID if (evaluateState.HasValue) { if (evaluateState.Value) { //已评价 query = query.Where(p => evaluteIds.Contains(p.Id)); //var linq = from q1 in query // select new SevenSPictureEntity() // { // Id = q1.Id, // CreateDate = q1.CreateDate, // CreateUserId = q1.CreateUserId, // CreateUserName = q1.CreateUserName, // deptid = q1.deptid, // deptname = q1.deptname, // evaluation = q1.evaluation, // evaluationDate = q1.evaluationDate, // evaluationUser = q1.evaluationUser, // ModifyDate = q1.ModifyDate, // ModifyUserId = q1.ModifyUserId, // ModifyUserName = q1.ModifyUserName, // planeEndDate = q1.planeEndDate, // planeStartDate = q1.planeStartDate, // state = q1.state, // evaluationState = evaluteQuery.any // } } else { //未评价 query = query.Where(p => !evaluteIds.Contains(p.Id)); } totalCount = query.Count(); var data = query.OrderByDescending(p => p.CreateDate).Skip(pageSize * pageIndex - pageSize).Take(pageSize).ToList(); data.ForEach(p => { p.evaluationState = evaluateState.Value ? "已评价" : "未评价"; }); return(data); } else { //var linq = from q1 in query // orderby q1.CreateDate descending // select new SevenSPictureEntity() // { // Id = q1.Id, // CreateDate = q1.CreateDate, // CreateUserId = q1.CreateUserId, // CreateUserName = q1.CreateUserName, // deptid = q1.deptid, // deptname = q1.deptname, // evaluation = q1.evaluation, // evaluationDate = q1.evaluationDate, // evaluationUser = q1.evaluationUser, // ModifyDate = q1.ModifyDate, // ModifyUserId = q1.ModifyUserId, // ModifyUserName = q1.ModifyUserName, // planeEndDate = q1.planeEndDate, // planeStartDate = q1.planeStartDate, // state = q1.state, // evaluationState = evaluteQuery.Any(p => p.CREATEUSERID == userId && p.Activityid == q1.Id) ? "已评价" : "未评价" // }; //totalCount = linq.Count(); totalCount = query.Count(); var data = query.OrderByDescending(p => p.CreateDate).Skip(pageSize * pageIndex - pageSize).Take(pageSize).ToList(); data.ForEach(p => { if (evaluteIds.Contains(p.Id)) { p.evaluationState = "已评价"; } else { p.evaluationState = "未评价"; } }); return(data); } }