缺陷处理

master
xiaochanghai 7 months ago
parent 464614d778
commit c6aee1ad61
  1. 3
      Tiobon.Core.Model/View/Ghrh/Ghrh_Resume.Dto.View.cs
  2. 7
      Tiobon.Core.Services/BASE/BaseServices.cs
  3. 76
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs

@ -149,6 +149,9 @@ public class Ghrh_ResumeDto : Ghrh_Resume
/// </summary> /// </summary>
public string InterviewResult { get; set; } public string InterviewResult { get; set; }
public string InterviewResultRemark { get; set; }
/// <summary> /// <summary>
/// 是否通过 /// 是否通过
/// </summary> /// </summary>

@ -1994,7 +1994,7 @@ ORDER BY SortNo ASC";
//} //}
#region 发送站内信 #region 发送站内信
public async Task SendMessage(List<int> staffIds, string title, string content) public async Task SendMessage(List<int> staffIds, string title, string content, string webUrl = null)
{ {
for (int i = 0; i < staffIds.Count; i++) for (int i = 0; i < staffIds.Count; i++)
{ {
@ -2010,7 +2010,10 @@ ORDER BY SortNo ASC";
Content = content, Content = content,
SortNo = 0, SortNo = 0,
IsDefault = 0, IsDefault = 0,
IsEnable = 1 IsEnable = 1,
WEBUrl = webUrl,
Tag = "Resume",
JumpType = webUrl == null ? "text" : "link"
}).ExecuteReturnIdentityAsync(); }).ExecuteReturnIdentityAsync();
await Db.Insertable(new Ghrm_MessageUser() await Db.Insertable(new Ghrm_MessageUser()
{ {

@ -316,6 +316,12 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
x.Interviewer = order.Interviewer; x.Interviewer = order.Interviewer;
} }
if (x.Status == DIC_INTERVIEW_ORDER_STATUS.HasRecommended)
{
x.InterviewResult = order.InterviewResult;
x.InterviewResultRemark = order.FilterFeedback;
}
x.InterviewTime1 = order.InterviewTime; x.InterviewTime1 = order.InterviewTime;
x.InterviewContent = order.InterviewContent; x.InterviewContent = order.InterviewContent;
@ -1230,12 +1236,16 @@ END";
notNUllCount = 0; notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Family").Select(x => x.ColumnName).ToList(); columnNames = formColumns.Where(x => x.GroupType == "Family").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList(); columnNames = columnNames.Distinct().ToList();
columnNames.ForEach(x =>
familys.ForEach(family =>
{ {
var value = entity.GetPropertyValue(x); columnNames.ForEach(x =>
if (value != null) {
notNUllCount++; var value = family.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
}); });
familyPercent = (decimal)notNUllCount / (columnNames.Count * familys.Count) * 100; familyPercent = (decimal)notNUllCount / (columnNames.Count * familys.Count) * 100;
completionDegree += familyPercent; completionDegree += familyPercent;
@ -1250,12 +1260,16 @@ END";
notNUllCount = 0; notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Education").Select(x => x.ColumnName).ToList(); columnNames = formColumns.Where(x => x.GroupType == "Education").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList(); columnNames = columnNames.Distinct().ToList();
columnNames.ForEach(x =>
educations.ForEach(education =>
{ {
var value = entity.GetPropertyValue(x); columnNames.ForEach(x =>
if (value != null) {
notNUllCount++; var value = education.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
}); });
educationPercent = (decimal)notNUllCount / (columnNames.Count * educations.Count) * 100; educationPercent = (decimal)notNUllCount / (columnNames.Count * educations.Count) * 100;
completionDegree += educationPercent; completionDegree += educationPercent;
@ -1270,12 +1284,15 @@ END";
notNUllCount = 0; notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "WorkExp").Select(x => x.ColumnName).ToList(); columnNames = formColumns.Where(x => x.GroupType == "WorkExp").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList(); columnNames = columnNames.Distinct().ToList();
columnNames.ForEach(x => workExps.ForEach(workExp =>
{ {
var value = entity.GetPropertyValue(x); columnNames.ForEach(x =>
if (value != null) {
notNUllCount++; var value = workExp.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
}); });
workExpPercent = (decimal)notNUllCount / (columnNames.Count * workExps.Count) * 100; workExpPercent = (decimal)notNUllCount / (columnNames.Count * workExps.Count) * 100;
completionDegree += workExpPercent; completionDegree += workExpPercent;
@ -1290,12 +1307,16 @@ END";
notNUllCount = 0; notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Licence").Select(x => x.ColumnName).ToList(); columnNames = formColumns.Where(x => x.GroupType == "Licence").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList(); columnNames = columnNames.Distinct().ToList();
columnNames.ForEach(x =>
licences.ForEach(licence =>
{ {
var value = entity.GetPropertyValue(x); columnNames.ForEach(x =>
if (value != null) {
notNUllCount++; var value = licence.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
}); });
licencePercent = (decimal)notNUllCount / (columnNames.Count * licences.Count) * 100; licencePercent = (decimal)notNUllCount / (columnNames.Count * licences.Count) * 100;
completionDegree += licencePercent; completionDegree += licencePercent;
@ -1310,12 +1331,16 @@ END";
notNUllCount = 0; notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Training").Select(x => x.ColumnName).ToList(); columnNames = formColumns.Where(x => x.GroupType == "Training").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList(); columnNames = columnNames.Distinct().ToList();
columnNames.ForEach(x =>
trainings.ForEach(training =>
{ {
var value = entity.GetPropertyValue(x); columnNames.ForEach(x =>
if (value != null) {
notNUllCount++; var value = training.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
}); });
trainingPercent = (decimal)notNUllCount / (columnNames.Count * trainings.Count) * 100; trainingPercent = (decimal)notNUllCount / (columnNames.Count * trainings.Count) * 100;
completionDegree += trainingPercent; completionDegree += trainingPercent;
@ -1501,6 +1526,7 @@ END";
Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended, Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended,
StaffId = recommend.InterviewStaffs[i].StaffId, 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); var entity = await base.QueryById(id);
entity.Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended; entity.Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended;
@ -1533,8 +1559,8 @@ END";
for (int i = 0; i < records.Count; i++) for (int i = 0; i < records.Count; i++)
{ {
if (records[i].FirstViewTime.IsNotEmptyOrNull()) if (records[i].FirstViewTime.IsNullOrEmpty())
await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历推荐,请及时查看!"); await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历推荐,请及时查看!", "/M_ESS_Recruit/F_ESS_Candidate");
} }
await LogRecord(order.Id, $"发送简历推荐提醒"); await LogRecord(order.Id, $"发送简历推荐提醒");
} }
@ -1744,7 +1770,7 @@ END";
for (int i = 0; i < records.Count; i++) for (int i = 0; i < records.Count; i++)
{ {
if (records[i].FirstViewTime.IsNotEmptyOrNull()) 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, $"发送待面试提醒"); await LogRecord(order.Id, $"发送待面试提醒");
} }
@ -1806,7 +1832,7 @@ END";
await Update(entity, ["Status"]); await Update(entity, ["Status"]);
if (input.InterviewStaffs.IsNotEmptyOrNull()) 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()) 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(); return ServiceResult.OprateSuccess();

Loading…
Cancel
Save