//var result = GetListDataAndReturn<Rec_CandidateModel, Rec_CandidateEntity, Rec_CandidateSearchModel>(request, model, ConstantSql.hrm_rec_sp_get_WaitingInterviewList); //return result; //} public ActionResult ExportWatingInterviewByTemplate([DataSourceRequest] DataSourceRequest request, Rec_WaitingInterviewSearchModel model) { string status = string.Empty; var baseService = new BaseService(); ActionService service = new ActionService(UserLogin); List<object> objs = new List<object>(); List<Rec_RecruitmentHistoryModel> resultRecruitmentHistory = new List<Rec_RecruitmentHistoryModel>(); Rec_RecruitmentHistoryModel ObjRecruitmentHistory = null; var InterviewServices = new Rec_InterviewServices(); ListQueryModel lstModel = new ListQueryModel { PageSize = int.MaxValue - 1, PageIndex = 1, Filters = ExtractFilterAttributes(request), Sorts = ExtractSortAttributes(request), AdvanceFilters = ExtractAdvanceFilterAttributes(model) }; var lstWaitingInterview = baseService.GetData<Rec_RecruitmentHistoryModel>(lstModel, ConstantSql.hrm_rec_sp_get_WaitingInterList, UserLogin, ref status); if (lstWaitingInterview == null || lstWaitingInterview.Count == 0) { return null; } lstWaitingInterview = lstWaitingInterview.Where(s => s.JobVacancyID != null).ToList(); var lstrechisids = lstWaitingInterview.Select(s => s.ID).Distinct().ToList(); var objCampaignDetail = new List<object>(); objCampaignDetail.AddRange(new object[16]); objCampaignDetail[14] = 1; objCampaignDetail[15] = int.MaxValue - 1; var resultCampaignDetail = baseService.GetData<Rec_InterviewCampaignDetailModel>(objCampaignDetail, ConstantSql.hrm_rec_sp_get_InterviewCampaignDetail, UserLogin, ref status); resultCampaignDetail = resultCampaignDetail.Where(s => s.RecruitmentHistoryID != null && lstrechisids.Contains(s.RecruitmentHistoryID.Value)).ToList(); var lstjobvacancyids = lstWaitingInterview.Where(s => s.JobVacancyID != null).Select(s => s.JobVacancyID).Distinct().ToList(); string strJobVacancyIds = string.Empty; foreach (Guid item in lstjobvacancyids) { strJobVacancyIds += item; strJobVacancyIds += ","; } if (strJobVacancyIds.Length > 0) { strJobVacancyIds = strJobVacancyIds.Substring(0, strJobVacancyIds.Length - 1); } var lstJobVacancy = baseService.GetData<Rec_JobVacancyEntity>(Common.DotNetToOracle(strJobVacancyIds), ConstantSql.hrm_rec_sp_get_JobVacancyByIds, UserLogin, ref status); #region Kết quả là rớt hoặc vỏng phỏng vấn = cuối thì KHÔNG load vào danh sách chờ phỏng vấn foreach (var his in lstWaitingInterview) { ObjRecruitmentHistory = new Rec_RecruitmentHistoryModel(); var lstresultCampaignDetail = resultCampaignDetail.Where(s => s.RecruitmentHistoryID == his.ID && s.LevelInterview == null).ToList(); if (his.JobVacancyID.HasValue) { var entityJobVacancy = lstJobVacancy.Where(s => s.ID == his.JobVacancyID).FirstOrDefault(); if (entityJobVacancy != null && his.LevelInterview != entityJobVacancy.NoLevelInterview && lstresultCampaignDetail.Count == 0 && his.Status != HRM.Infrastructure.Utilities.Interview.E_PASS.ToString()) { ObjRecruitmentHistory = his; resultRecruitmentHistory.Add(ObjRecruitmentHistory); } } } #endregion var isDataTable = false; object obj = new Rec_RecruitmentHistoryModel(); if (model.IsCreateTemplateForDynamicGrid) { obj = resultRecruitmentHistory; isDataTable = false; } if (model != null && model.IsCreateTemplate) { var path = Common.GetPath("Templates"); ExportService exportService = new ExportService(); ConfigExport cfgExport = new ConfigExport() { Object = obj, FileName = "Rec_RecruitmentHistoryModel", OutPutPath = path, DownloadPath = Hrm_Main_Web + "Templates", IsDataTable = isDataTable }; var str = exportService.CreateTemplate(cfgExport); return Json(str); } var objInterview = new List<object>(); objInterview.AddRange(new object[2]); objInterview[0] = 1; objInterview[1] = int.MaxValue - 1; var lstInterView = baseService.GetData<Rec_InterviewModel>(objInterview, ConstantSql.hrm_rec_sp_get_InterviewDataReport, UserLogin, ref status).ToList(); foreach (var item in resultRecruitmentHistory) { if (lstInterView.Count > 0) { var dataLevel1 = lstInterView.Where(s => s.CandidateID == item.CandidateID && s.LevelInterview == 1).OrderByDescending(s => s.DateUpdate).FirstOrDefault(); var dataLevel2 = lstInterView.Where(s => s.CandidateID == item.CandidateID && s.LevelInterview == 2).OrderByDescending(s => s.DateUpdate).FirstOrDefault(); var dataLevel3 = lstInterView.Where(s => s.CandidateID == item.CandidateID && s.LevelInterview == 3).OrderByDescending(s => s.DateUpdate).FirstOrDefault(); var dataLevel4 = lstInterView.Where(s => s.CandidateID == item.CandidateID && s.LevelInterview == 4).OrderByDescending(s => s.DateUpdate).FirstOrDefault(); var dataLevel5 = lstInterView.Where(s => s.CandidateID == item.CandidateID && s.LevelInterview == 5).OrderByDescending(s => s.DateUpdate).FirstOrDefault(); if(dataLevel1 != null) { item.Score1_1 = dataLevel1.Score1; item.Score1_2 = dataLevel1.Score2; item.Score1_3 = dataLevel1.Score3; item.KQ1 = dataLevel1.ResultInterviewView; item.LanguageCode1 = dataLevel1.LanguageCode; item.DateInterview1 = dataLevel1.DateInterview; } if (dataLevel2 != null) { item.Score2_1 = dataLevel2.Score1; item.Score2_2 = dataLevel2.Score2; item.Score2_3 = dataLevel2.Score3; item.KQ2 = dataLevel2.ResultInterviewView; item.LanguageCode2 = dataLevel2.LanguageCode; item.DateInterview2 = dataLevel2.DateInterview; } if (dataLevel3 != null) { item.Score3_1 = dataLevel3.Score1; item.Score3_2 = dataLevel3.Score2; item.Score3_3 = dataLevel3.Score3; item.KQ3 = dataLevel3.ResultInterviewView; item.LanguageCode3 = dataLevel3.LanguageCode; item.DateInterview3 = dataLevel3.DateInterview; } if (dataLevel4 != null) { item.Score4_1 = dataLevel4.Score1; item.Score4_2 = dataLevel4.Score2; item.Score4_3 = dataLevel4.Score3; item.KQ4 = dataLevel4.ResultInterviewView; item.LanguageCode4 = dataLevel4.LanguageCode; item.DateInterview4 = dataLevel4.DateInterview; } if (dataLevel5 != null) { item.Score5_1 = dataLevel5.Score1; item.Score5_2 = dataLevel5.Score2; item.Score5_3 = dataLevel5.Score3; item.KQ5 = dataLevel5.ResultInterviewView; item.LanguageCode5 = dataLevel5.LanguageCode; item.DateInterview5 = dataLevel5.DateInterview; } } } if (model.ExportId != Guid.Empty) { var fullPath = ExportService.Export(model.ExportId, resultRecruitmentHistory, null, model.ExportType); return Json(fullPath); } return Json(resultRecruitmentHistory.ToDataSourceResult(request)); }
public ActionResult GetWaitingInterviewList([DataSourceRequest] DataSourceRequest request, Rec_WaitingInterviewSearchModel model) { string status = string.Empty; var baseService = new BaseService(); ActionService service = new ActionService(UserLogin); List<object> objs = new List<object>(); List<Rec_CandidateModel> resultCandidate = new List<Rec_CandidateModel>(); Rec_CandidateModel ObjCandidate = null; var InterviewServices = new Rec_InterviewServices(); ListQueryModel lstModel = new ListQueryModel { PageSize = int.MaxValue - 1, PageIndex = 1, Filters = ExtractFilterAttributes(request), Sorts = ExtractSortAttributes(request), AdvanceFilters = ExtractAdvanceFilterAttributes(model) }; var result = baseService.GetData<Rec_CandidateModel>(lstModel, ConstantSql.hrm_rec_sp_get_WaitingInterviewList, UserLogin, ref status); #region Kết quả là rớt hoặc vỏng phỏng vấn = cuối thì KHÔNG load vào danh sách chờ phỏng vấn result = result.Where(s => s.Status != HRM.Infrastructure.Utilities.Interview.E_FAIL.ToString()).ToList(); foreach (var item in result) { ObjCandidate = new Rec_CandidateModel(); objs = new List<object>(); objs.Add(item.ID); objs.Add(1); objs.Add(10000); //var resultInterview = baseService.GetData<Rec_InterviewModel>(objs, ConstantSql.hrm_rec_sp_get_InterviewByCandidateID, ref status); //Danh sach ke hoach cua ung vien var resultCampaignDetail = baseService.GetData<Rec_InterviewCampaignDetailModel>(objs, ConstantSql.hrm_rec_sp_get_InCamDetailByCddId, UserLogin, ref status).ToList(); if (item.JobVacancyID.HasValue) { var entityJobVacancy = service.GetByIdUseStore<Rec_JobVacancyEntity>(item.JobVacancyID.Value, ConstantSql.hrm_rec_sp_get_JobVacancyId, ref status); if (item.LevelInterview == null) item.LevelInterview = 0; if (item.LevelInterview != entityJobVacancy.NoLevelInterview && item.LevelInterview == resultCampaignDetail.Count) { ObjCandidate = item; resultCandidate.Add(ObjCandidate); } } } #endregion return Json(resultCandidate.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); }
public ActionResult ExportAllInterviewDetailList([DataSourceRequest] DataSourceRequest request, Rec_WaitingInterviewSearchModel model) { return ExportAllAndReturn<Rec_CandidateEntity, Rec_CandidateModel, Rec_WaitingInterviewSearchModel>(request, model, ConstantSql.hrm_rec_sp_get_WaitingInterviewList); }
//[Tho.Bui] - Load theo lich su ung vien public ActionResult GetWaitingInterList([DataSourceRequest] DataSourceRequest request, Rec_WaitingInterviewSearchModel model) { string status = string.Empty; var baseService = new BaseService(); ActionService service = new ActionService(UserLogin); List<object> objs = new List<object>(); List<Rec_RecruitmentHistoryModel> resultRecruitmentHistory = new List<Rec_RecruitmentHistoryModel>(); Rec_RecruitmentHistoryModel ObjRecruitmentHistory = null; var InterviewServices = new Rec_InterviewServices(); ListQueryModel lstModel = new ListQueryModel { PageSize = int.MaxValue - 1, PageIndex = 1, Filters = ExtractFilterAttributes(request), Sorts = ExtractSortAttributes(request), AdvanceFilters = ExtractAdvanceFilterAttributes(model) }; var lstWaitingInterview = baseService.GetData<Rec_RecruitmentHistoryModel>(lstModel, ConstantSql.hrm_rec_sp_get_WaitingInterList, UserLogin, ref status); if (lstWaitingInterview == null || lstWaitingInterview.Count == 0) { return null; } lstWaitingInterview = lstWaitingInterview.Where(s => s.JobVacancyID != null).ToList(); var lstrechisids = lstWaitingInterview.Select(s => s.ID).Distinct().ToList(); var objCampaignDetail = new List<object>(); objCampaignDetail.AddRange(new object[16]); objCampaignDetail[14] = 1; objCampaignDetail[15] = int.MaxValue - 1; var resultCampaignDetail = baseService.GetData<Rec_InterviewCampaignDetailModel>(objCampaignDetail, ConstantSql.hrm_rec_sp_get_InterviewCampaignDetail, UserLogin, ref status); resultCampaignDetail = resultCampaignDetail.Where(s => s.RecruitmentHistoryID != null && lstrechisids.Contains(s.RecruitmentHistoryID.Value)).ToList(); var lstjobvacancyids = lstWaitingInterview.Where(s => s.JobVacancyID != null).Select(s => s.JobVacancyID).Distinct().ToList(); string strJobVacancyIds = string.Empty; foreach (Guid item in lstjobvacancyids) { strJobVacancyIds += item; strJobVacancyIds += ","; } if (strJobVacancyIds.Length > 0) { strJobVacancyIds = strJobVacancyIds.Substring(0, strJobVacancyIds.Length - 1); } var lstJobVacancy = baseService.GetData<Rec_JobVacancyEntity>(Common.DotNetToOracle(strJobVacancyIds), ConstantSql.hrm_rec_sp_get_JobVacancyByIds, UserLogin, ref status); #region Kết quả là rớt hoặc vỏng phỏng vấn = cuối thì KHÔNG load vào danh sách chờ phỏng vấn foreach (var his in lstWaitingInterview) { ObjRecruitmentHistory = new Rec_RecruitmentHistoryModel(); var lstresultCampaignDetail = resultCampaignDetail.Where(s => s.RecruitmentHistoryID == his.ID && s.LevelInterview == null).ToList(); if (his.JobVacancyID.HasValue) { var entityJobVacancy = lstJobVacancy.Where(s => s.ID == his.JobVacancyID).FirstOrDefault(); if (entityJobVacancy != null && his.LevelInterview != entityJobVacancy.NoLevelInterview && lstresultCampaignDetail.Count == 0 && his.Status != HRM.Infrastructure.Utilities.Interview.E_PASS.ToString()) { ObjRecruitmentHistory = his; resultRecruitmentHistory.Add(ObjRecruitmentHistory); } } } #endregion return Json(resultRecruitmentHistory.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); }
public ActionResult ExportAllWaitingInterviewList([DataSourceRequest] DataSourceRequest request, Rec_WaitingInterviewSearchModel model) { string status = string.Empty; var baseService = new BaseService(); ActionService service = new ActionService(UserLogin); List<object> objs = new List<object>(); List<Rec_RecruitmentHistoryModel> resultRecruitmentHistory = new List<Rec_RecruitmentHistoryModel>(); Rec_RecruitmentHistoryModel ObjRecruitmentHistory = null; var InterviewServices = new Rec_InterviewServices(); ListQueryModel lstModel = new ListQueryModel { PageSize = int.MaxValue - 1, PageIndex = 1, Filters = ExtractFilterAttributes(request), Sorts = ExtractSortAttributes(request), AdvanceFilters = ExtractAdvanceFilterAttributes(model) }; var lstWaitingInterview = baseService.GetData<Rec_RecruitmentHistoryModel>(lstModel, ConstantSql.hrm_rec_sp_get_WaitingInterList, UserLogin, ref status); if (lstWaitingInterview == null || lstWaitingInterview.Count == 0) { return null; } lstWaitingInterview = lstWaitingInterview.Where(s => s.JobVacancyID != null).ToList(); var lstrechisids = lstWaitingInterview.Select(s => s.ID).ToList(); var resultCampaignDetail = new List<Rec_InterviewCampaignDetailModel>(); int _total = lstrechisids.Count; int _totalPage = _total / 100 + 1; int _pageSize = 100; for (int _page = 1; _page <= _totalPage; _page++) { int _skip = _pageSize * (_page - 1); var _listCurrenPage = lstrechisids.Skip(_skip).Take(_pageSize).ToList(); string _strselectedIDs = Common.DotNetToOracle(string.Join(",", _listCurrenPage)); var lstCampaignDetail = baseService.GetData<Rec_InterviewCampaignDetailModel>(_strselectedIDs, ConstantSql.hrm_rec_sp_get_InCamDetailByLstRechisIDs, UserLogin, ref status).ToList(); if (lstCampaignDetail != null && lstCampaignDetail.Count > 0) { resultCampaignDetail.AddRange(lstCampaignDetail); } } var lstjobvacancyids = lstWaitingInterview.Where(s => s.JobVacancyID != null).Select(s => s.JobVacancyID).Distinct().ToList(); string strJobVacancyIds = string.Empty; foreach (Guid item in lstjobvacancyids) { strJobVacancyIds += item; strJobVacancyIds += ","; } if (strJobVacancyIds.Length > 0) { strJobVacancyIds = strJobVacancyIds.Substring(0, strJobVacancyIds.Length - 1); } var lstJobVacancy = baseService.GetData<Rec_JobVacancyEntity>(Common.DotNetToOracle(strJobVacancyIds), ConstantSql.hrm_rec_sp_get_JobVacancyByIds, UserLogin, ref status); foreach (var his in lstWaitingInterview) { ObjRecruitmentHistory = new Rec_RecruitmentHistoryModel(); var lstresultCampaignDetail = resultCampaignDetail.Where(s => s.RecruitmentHistoryID == his.ID && s.LevelInterview == null).ToList(); if (his.JobVacancyID.HasValue) { var entityJobVacancy = lstJobVacancy.Where(s => s.ID == his.JobVacancyID).FirstOrDefault(); if (his.LevelInterview == null) his.LevelInterview = 0; if (entityJobVacancy != null && his.LevelInterview != entityJobVacancy.NoLevelInterview && lstresultCampaignDetail.Count == 0 && his.Status != HRM.Infrastructure.Utilities.Interview.E_PASS.ToString()) { ObjRecruitmentHistory = his; resultRecruitmentHistory.Add(ObjRecruitmentHistory); } } } status = ExportService.Export(resultRecruitmentHistory, model.GetPropertyValue("ValueFields").TryGetValue<string>().Split(',')); return Json(status); }