示例#1
0
        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()));
        }
示例#2
0
        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"))));
        }
示例#3
0
        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);
        }
示例#4
0
        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()));
        }