public ActionResult List(RecruitQueryParam queryParam) { IPageList <RecruitModel> models = GetRecruitList(queryParam); List <RecruitModel> dtos = models.ToList(); return(Content(this.GetJSON(new { total = models.PageInfo.TotalCount, rows = dtos }), this.JsonContentType())); }
public ActionResult ExportData(RecruitQueryParam queryParam) { queryParam.PageIndex = 1; queryParam.PageSize = 999999; List <RecruitModel> dtos = GetRecruitList(queryParam).ToList(); MemoryStream ms = OutFileToStream(dtos); return(File(ms.ToArray(), "application/ms-excel", string.Format("{0}.xls", "招聘录用信息" + DateTime.Now.ToString("yyMMddhhmmss")))); }
private IPageList <RecruitModel> GetRecruitList(RecruitQueryParam queryParam) { Expression <Func <THR_Recruit, bool> > predicate = c => c.IsDelete == 0 && c.Status == 82; if (!string.IsNullOrEmpty(queryParam.Name)) { predicate = predicate.And(c => c.Name.StartsWith(queryParam.Name)); } if (!string.IsNullOrEmpty(queryParam.Tel)) { predicate = predicate.And(c => c.Tel.StartsWith(queryParam.Tel)); } if (!string.IsNullOrEmpty(queryParam.interviewer)) { predicate = predicate.And(c => c.Interviewer.StartsWith(queryParam.interviewer)); } if (queryParam.DptId > 0) { predicate = predicate.And(c => c.DptId == queryParam.DptId); } if (queryParam.PostId > 0) { predicate = predicate.And(c => c.PostId == queryParam.PostId); } if (queryParam.QueryType > 0) { predicate = predicate.And(c => c.EntryType == queryParam.QueryType); } if (queryParam.IntervieweStart.HasValue && queryParam.IntervieweEnd.HasValue && queryParam.IntervieweStart.Value < queryParam.IntervieweEnd.Value) { predicate = predicate.And(c => c.Interview >= queryParam.IntervieweStart.Value && c.Interview <= queryParam.IntervieweEnd.Value); } if (!string.IsNullOrEmpty(queryParam.CreateBy)) { predicate = predicate.And(c => c.CreateBy == queryParam.CreateBy); } if (queryParam.CreateTimeStart.HasValue && queryParam.CreateTimeEnd.HasValue && queryParam.CreateTimeStart.Value < queryParam.CreateTimeEnd.Value) { predicate = predicate.And(c => c.CreateTime >= queryParam.CreateTimeStart.Value && c.CreateTime <= queryParam.CreateTimeEnd.Value); } HKSJRecruitmentContext ctx = HttpContext.GetDbContext <HKSJRecruitmentContext>(); IPageList <RecruitModel> models = ctx.THR_Recruit .Where(predicate) .OrderUsingSortExpression(queryParam.Sort, queryParam.Order) .Select(c => new RecruitModel { DptId = c.DptId.Value, DptName = c.TErp_Department.DeptName, Id = c.Id, PostId = c.PostId.Value, PostName = c.TErp_Position.PositionName, Userurl = c.Userurl, Remark = c.Remark, Name = c.Name, Tel = c.Tel, Status = c.Status.Value, Interview = c.Interview, Email = c.Email, EntryType = c.EntryType.Value, NeedsName = c.THR_Needs.TErp_Department.DeptName + " " + c.THR_Needs.TErp_Position.PositionName, CreateBy = c.CreateBy, CreateTime = c.CreateTime, HireTime = c.HireTime, Interviewer = c.Interviewer }) .ToPagedList(queryParam.PageIndex, queryParam.PageSize); foreach (var item in models) { HR_Employee emp = ctx.HR_Employee.FirstOrDefault(c => c.uid == item.CreateBy); if (emp != null) { item.CreateBy = emp.name; } } return(models); }
public ActionResult List(RecruitQueryParam queryParam) { Expression <Func <THR_Recruit, bool> > predicate = c => c.IsDelete == 0; if (!string.IsNullOrEmpty(queryParam.Name)) { predicate = predicate.And(c => c.Name.StartsWith(queryParam.Name)); } if (!string.IsNullOrEmpty(queryParam.Tel)) { predicate = predicate.And(c => c.Tel.StartsWith(queryParam.Tel)); } if (queryParam.Status > 0) { predicate = predicate.And(c => c.Status == queryParam.Status); } if (queryParam.DptId > 0) { predicate = predicate.And(c => c.DptId == queryParam.DptId); } if (queryParam.PostId > 0) { predicate = predicate.And(c => c.PostId == queryParam.PostId); } if (!string.IsNullOrEmpty(queryParam.CreateBy)) { predicate = predicate.And(c => c.CreateBy == queryParam.CreateBy); } if (queryParam.IntervieweStart.HasValue && queryParam.IntervieweEnd.HasValue && queryParam.IntervieweStart.Value < queryParam.IntervieweEnd.Value) { predicate = predicate.And(c => c.Interview >= queryParam.IntervieweStart.Value && c.Interview <= queryParam.IntervieweEnd.Value); } if (queryParam.CreateTimeStart.HasValue && queryParam.CreateTimeEnd.HasValue && queryParam.CreateTimeStart.Value < queryParam.CreateTimeEnd.Value) { predicate = predicate.And(c => c.CreateTime >= queryParam.CreateTimeStart.Value && c.CreateTime <= queryParam.CreateTimeEnd.Value); } HKSJRecruitmentContext ctx = HttpContext.GetDbContext <HKSJRecruitmentContext>(); IPageList <RecruitModel> models = ctx.THR_Recruit .Where(predicate) .OrderUsingSortExpression(queryParam.Sort, queryParam.Order) .Select(c => new RecruitModel { DptId = c.DptId.Value, DptName = c.TErp_Department.DeptName, Id = c.Id, PostId = c.PostId.Value, PostName = c.TErp_Position.PositionName, Userurl = c.Userurl, Remark = c.Remark, Name = c.Name, Tel = c.Tel, Status = c.Status.Value, StatusName = c.Tapp_Param.ParamsName, Interview = c.Interview, Email = c.Email, CreateBy = c.CreateBy, CreateTime = c.CreateTime, HireTime = c.HireTime, NeedsId = c.NeedsId, NeedsName = c.THR_Needs.TErp_Department.DeptName + " " + c.THR_Needs.TErp_Position.PositionName, Interviewer = c.Interviewer }) .ToPagedList(queryParam.PageIndex, queryParam.PageSize); List <RecruitModel> dtos = models.ToList(); foreach (var item in dtos) { HR_Employee emp = ctx.HR_Employee.FirstOrDefault(c => c.uid == item.CreateBy); if (emp != null) { item.CreateBy = emp.name; } } return(Content(this.GetJSON(new { total = models.PageInfo.TotalCount, rows = dtos }), this.JsonContentType())); }