From c6aee1ad61fbb5fb05d5a79a9f426ef7da3b3a27 Mon Sep 17 00:00:00 2001 From: xiaochanghai Date: Thu, 5 Dec 2024 17:14:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=BA=E9=99=B7=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../View/Ghrh/Ghrh_Resume.Dto.View.cs | 3 + Tiobon.Core.Services/BASE/BaseServices.cs | 7 +- .../Ghrh/Ghrh_ResumeServices.cs | 76 +++++++++++++------ 3 files changed, 59 insertions(+), 27 deletions(-) diff --git a/Tiobon.Core.Model/View/Ghrh/Ghrh_Resume.Dto.View.cs b/Tiobon.Core.Model/View/Ghrh/Ghrh_Resume.Dto.View.cs index e8ebf771..43b76c2f 100644 --- a/Tiobon.Core.Model/View/Ghrh/Ghrh_Resume.Dto.View.cs +++ b/Tiobon.Core.Model/View/Ghrh/Ghrh_Resume.Dto.View.cs @@ -149,6 +149,9 @@ public class Ghrh_ResumeDto : Ghrh_Resume /// public string InterviewResult { get; set; } + + public string InterviewResultRemark { get; set; } + /// /// 是否通过 /// diff --git a/Tiobon.Core.Services/BASE/BaseServices.cs b/Tiobon.Core.Services/BASE/BaseServices.cs index 386c7ca2..8c12a491 100644 --- a/Tiobon.Core.Services/BASE/BaseServices.cs +++ b/Tiobon.Core.Services/BASE/BaseServices.cs @@ -1994,7 +1994,7 @@ ORDER BY SortNo ASC"; //} #region 发送站内信 - public async Task SendMessage(List staffIds, string title, string content) + public async Task SendMessage(List staffIds, string title, string content, string webUrl = null) { for (int i = 0; i < staffIds.Count; i++) { @@ -2010,7 +2010,10 @@ ORDER BY SortNo ASC"; Content = content, SortNo = 0, IsDefault = 0, - IsEnable = 1 + IsEnable = 1, + WEBUrl = webUrl, + Tag = "Resume", + JumpType = webUrl == null ? "text" : "link" }).ExecuteReturnIdentityAsync(); await Db.Insertable(new Ghrm_MessageUser() { diff --git a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs index e437172c..9d4c7751 100644 --- a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs +++ b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs @@ -316,6 +316,12 @@ public class Ghrh_ResumeServices : BaseServices x.GroupType == "Family").Select(x => x.ColumnName).ToList(); columnNames = columnNames.Distinct().ToList(); - columnNames.ForEach(x => + + familys.ForEach(family => { - var value = entity.GetPropertyValue(x); - if (value != null) - notNUllCount++; + columnNames.ForEach(x => + { + var value = family.GetPropertyValue(x); + if (value != null) + notNUllCount++; + }); }); familyPercent = (decimal)notNUllCount / (columnNames.Count * familys.Count) * 100; completionDegree += familyPercent; @@ -1250,12 +1260,16 @@ END"; notNUllCount = 0; columnNames = formColumns.Where(x => x.GroupType == "Education").Select(x => x.ColumnName).ToList(); columnNames = columnNames.Distinct().ToList(); - columnNames.ForEach(x => + + educations.ForEach(education => { - var value = entity.GetPropertyValue(x); - if (value != null) - notNUllCount++; + columnNames.ForEach(x => + { + var value = education.GetPropertyValue(x); + if (value != null) + notNUllCount++; + }); }); educationPercent = (decimal)notNUllCount / (columnNames.Count * educations.Count) * 100; completionDegree += educationPercent; @@ -1270,12 +1284,15 @@ END"; notNUllCount = 0; columnNames = formColumns.Where(x => x.GroupType == "WorkExp").Select(x => x.ColumnName).ToList(); columnNames = columnNames.Distinct().ToList(); - columnNames.ForEach(x => + workExps.ForEach(workExp => { - var value = entity.GetPropertyValue(x); - if (value != null) - notNUllCount++; + columnNames.ForEach(x => + { + var value = workExp.GetPropertyValue(x); + if (value != null) + notNUllCount++; + }); }); workExpPercent = (decimal)notNUllCount / (columnNames.Count * workExps.Count) * 100; completionDegree += workExpPercent; @@ -1290,12 +1307,16 @@ END"; notNUllCount = 0; columnNames = formColumns.Where(x => x.GroupType == "Licence").Select(x => x.ColumnName).ToList(); columnNames = columnNames.Distinct().ToList(); - columnNames.ForEach(x => + + licences.ForEach(licence => { - var value = entity.GetPropertyValue(x); - if (value != null) - notNUllCount++; + columnNames.ForEach(x => + { + var value = licence.GetPropertyValue(x); + if (value != null) + notNUllCount++; + }); }); licencePercent = (decimal)notNUllCount / (columnNames.Count * licences.Count) * 100; completionDegree += licencePercent; @@ -1310,12 +1331,16 @@ END"; notNUllCount = 0; columnNames = formColumns.Where(x => x.GroupType == "Training").Select(x => x.ColumnName).ToList(); columnNames = columnNames.Distinct().ToList(); - columnNames.ForEach(x => + + trainings.ForEach(training => { - var value = entity.GetPropertyValue(x); - if (value != null) - notNUllCount++; + columnNames.ForEach(x => + { + var value = training.GetPropertyValue(x); + if (value != null) + notNUllCount++; + }); }); trainingPercent = (decimal)notNUllCount / (columnNames.Count * trainings.Count) * 100; completionDegree += trainingPercent; @@ -1501,6 +1526,7 @@ END"; Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended, StaffId = recommend.InterviewStaffs[i].StaffId, }); + await SendMessage(recommend.InterviewStaffs.Where(x => x.StaffId != null).Select(x => x.StaffId.Value).ToList(), "简历提醒", "您有个简历推荐,请及时查看!", "/M_ESS_Recruit/F_ESS_Candidate"); var entity = await base.QueryById(id); entity.Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended; @@ -1533,8 +1559,8 @@ END"; for (int i = 0; i < records.Count; i++) { - if (records[i].FirstViewTime.IsNotEmptyOrNull()) - await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历推荐,请及时查看!"); + if (records[i].FirstViewTime.IsNullOrEmpty()) + await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历推荐,请及时查看!", "/M_ESS_Recruit/F_ESS_Candidate"); } await LogRecord(order.Id, $"发送简历推荐提醒"); } @@ -1744,7 +1770,7 @@ END"; for (int i = 0; i < records.Count; i++) { if (records[i].FirstViewTime.IsNotEmptyOrNull()) - await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历【待面试】,请及时查看面试时间!"); + await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历【待面试】,请及时查看面试时间!", "/M_ESS_Recruit/F_ESS_Interview"); } await LogRecord(order.Id, $"发送待面试提醒"); } @@ -1806,7 +1832,7 @@ END"; await Update(entity, ["Status"]); if (input.InterviewStaffs.IsNotEmptyOrNull()) - await SendMessage(input.InterviewStaffs.Select(x => x.StaffId.Value).ToList(), "简历提醒", "您有个新的邀约面试,请及时查看!"); + await SendMessage(input.InterviewStaffs.Select(x => x.StaffId.Value).ToList(), "简历提醒", "您有个新的邀约面试,请及时查看!", "/M_ESS_Recruit/F_ESS_Interview"); } @@ -1833,7 +1859,7 @@ END"; }); if (input.InterviewStaffs.IsNotEmptyOrNull()) - await SendMessage(input.InterviewStaffs.Select(x => x.StaffId.Value).ToList(), "简历提醒", "您有个新的推荐简历,请及时查看!"); + await SendMessage(input.InterviewStaffs.Select(x => x.StaffId.Value).ToList(), "简历提醒", "您有个新的推荐简历,请及时查看!", "/M_ESS_Recruit/F_ESS_Candidate"); } } return ServiceResult.OprateSuccess();