缺陷处理

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. 46
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs

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

@ -1994,7 +1994,7 @@ ORDER BY SortNo ASC";
//}
#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++)
{
@ -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()
{

@ -316,6 +316,12 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
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.InterviewContent = order.InterviewContent;
@ -1230,13 +1236,17 @@ END";
notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Family").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
familys.ForEach(family =>
{
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
var value = family.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
});
familyPercent = (decimal)notNUllCount / (columnNames.Count * familys.Count) * 100;
completionDegree += familyPercent;
}
@ -1250,13 +1260,17 @@ END";
notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Education").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
educations.ForEach(education =>
{
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
var value = education.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
});
educationPercent = (decimal)notNUllCount / (columnNames.Count * educations.Count) * 100;
completionDegree += educationPercent;
}
@ -1270,13 +1284,16 @@ END";
notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "WorkExp").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
workExps.ForEach(workExp =>
{
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
var value = workExp.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
});
workExpPercent = (decimal)notNUllCount / (columnNames.Count * workExps.Count) * 100;
completionDegree += workExpPercent;
}
@ -1290,13 +1307,17 @@ END";
notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Licence").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
licences.ForEach(licence =>
{
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
var value = licence.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
});
licencePercent = (decimal)notNUllCount / (columnNames.Count * licences.Count) * 100;
completionDegree += licencePercent;
}
@ -1310,13 +1331,17 @@ END";
notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Training").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
trainings.ForEach(training =>
{
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(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();

Loading…
Cancel
Save