|
|
|
@ -1304,13 +1304,7 @@ END"; |
|
|
|
|
if (records[i].FirstViewTime.IsNotEmptyOrNull()) |
|
|
|
|
await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历推荐,请及时查看!"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】发送简历推荐提醒!" |
|
|
|
|
}); |
|
|
|
|
await LogRecord(order.Id, $"发送简历推荐提醒"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1319,7 +1313,7 @@ END"; |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region 面试官约面 |
|
|
|
|
public async Task<ServiceResult> SubscribeInterview(long id, List<string> times) |
|
|
|
|
public async Task<ServiceResult> SubscribeInterview(long id, ResumeSubscribeInterviewForm form) |
|
|
|
|
{ |
|
|
|
|
var entity = await base.QueryById(id); |
|
|
|
|
if (entity == null) |
|
|
|
@ -1328,7 +1322,7 @@ END"; |
|
|
|
|
if (entity.Status != DIC_INTERVIEW_ORDER_STATUS.HasRecommended) |
|
|
|
|
return ServiceResult.OprateFailed("【已推荐】状态下才能约面!"); |
|
|
|
|
|
|
|
|
|
times.ForEach(x => |
|
|
|
|
form.Times.ForEach(x => |
|
|
|
|
{ |
|
|
|
|
if (x.IndexOf("~") < 0) |
|
|
|
|
throw new Exception($"传入时间【{x}】无效,请检查格式!"); |
|
|
|
@ -1352,25 +1346,24 @@ END"; |
|
|
|
|
await _ghrh_InterviewOrderServices.Update(order, ["Status"]); |
|
|
|
|
|
|
|
|
|
var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); |
|
|
|
|
for (int i = 0; i < times.Count; i++) |
|
|
|
|
for (int i = 0; i < form.Times.Count; i++) |
|
|
|
|
{ |
|
|
|
|
if (i == 0) |
|
|
|
|
records.ForEach(record => record.PlanInterviewTime1 = times[i]); |
|
|
|
|
records.ForEach(record => record.PlanInterviewTime1 = form.Times[i]); |
|
|
|
|
else if (i == 1) |
|
|
|
|
records.ForEach(record => record.PlanInterviewTime2 = times[i]); |
|
|
|
|
records.ForEach(record => record.PlanInterviewTime2 = form.Times[i]); |
|
|
|
|
else if (i == 2) |
|
|
|
|
records.ForEach(record => record.PlanInterviewTime3 = times[i]); |
|
|
|
|
records.ForEach(record => record.PlanInterviewTime3 = form.Times[i]); |
|
|
|
|
} |
|
|
|
|
records.ForEach(record => record.Status = DIC_INTERVIEW_ORDER_STATUS.WaitAppointment); |
|
|
|
|
records.ForEach(record => |
|
|
|
|
{ |
|
|
|
|
record.Status = DIC_INTERVIEW_ORDER_STATUS.WaitAppointment; |
|
|
|
|
record.RemarkSz = form.Remark; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
await _ghrh_InterviewRecordServices.Update(records[0], ["PlanInterviewTime1", "PlanInterviewTime2", "PlanInterviewTime3", "Status"]); |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】预约面试,面试时间:{string.Join("、", times)}!" |
|
|
|
|
}); |
|
|
|
|
await LogRecord(order.Id, $"预约面试,面试时间:{string.Join("、", form.Times)}"); |
|
|
|
|
|
|
|
|
|
entity.Status = DIC_INTERVIEW_ORDER_STATUS.WaitAppointment; |
|
|
|
|
await Update(entity, ["Status"]); |
|
|
|
@ -1419,12 +1412,7 @@ END"; |
|
|
|
|
}); |
|
|
|
|
await _ghrh_InterviewRecordServices.Update(records, ["InterviewTime", "InterviewBeginTime", "InterviewEndTime", "Status"]); |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】安排面试,面试时间:{body.Time}!" |
|
|
|
|
}); |
|
|
|
|
await LogRecord(order.Id, $"安排面试,面试时间:{body.Time}"); |
|
|
|
|
|
|
|
|
|
entity.Status = DIC_INTERVIEW_ORDER_STATUS.WaitInterview; |
|
|
|
|
await Update(entity, ["Status"]); |
|
|
|
@ -1477,14 +1465,8 @@ END"; |
|
|
|
|
//{ |
|
|
|
|
// var staffs = JsonHelper.JsonToObj<List<ResumeRecommendFormStaff>>(record.ReceiverIds); |
|
|
|
|
// await SendMessage(staffs.Select(x => x.StaffId).ToList(), "简历提醒", "您有个简历【待面试】,请及时查看面试时间!"); |
|
|
|
|
//} |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】变更面试时间,面试时间:{time}!" |
|
|
|
|
}); |
|
|
|
|
//} |
|
|
|
|
await LogRecord(order.Id, $"变更面试时间,面试时间:{time}"); |
|
|
|
|
|
|
|
|
|
entity.Status = DIC_INTERVIEW_ORDER_STATUS.WaitInterview; |
|
|
|
|
await Update(entity, ["Status"]); |
|
|
|
@ -1517,13 +1499,7 @@ END"; |
|
|
|
|
if (records[i].FirstViewTime.IsNotEmptyOrNull()) |
|
|
|
|
await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历【待面试】,请及时查看面试时间!"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】发送待面试提醒!" |
|
|
|
|
}); |
|
|
|
|
await LogRecord(order.Id, $"发送待面试提醒"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1578,13 +1554,7 @@ END"; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】发起一个新的面试,面试时间:{input.Time}!" |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
await LogRecord(order.Id, $"发起一个新的面试,面试时间:{input.Time}"); |
|
|
|
|
entity.Status = DIC_INTERVIEW_ORDER_STATUS.WaitInterview; |
|
|
|
|
await Update(entity, ["Status"]); |
|
|
|
|
|
|
|
|
@ -1643,12 +1613,8 @@ END"; |
|
|
|
|
record.Status = DIC_INTERVIEW_ORDER_STATUS.HasInterview; |
|
|
|
|
await _ghrh_InterviewRecordServices.Update(record, ["AssessTime", "Status", "IsPass", "InterviewResult"]); |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】填写了面试评估,轮数:{order.Round},是否通过:{(input.IsPass == true ? "通过" : "不通过")},内容:{input.Content}!" |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
await LogRecord(order.Id, "填写了面试评估,轮数:{order.Round},是否通过:{(input.IsPass == true ? \"通过\" : \"不通过\")},内容:{input.Content}!"); |
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1673,12 +1639,7 @@ END"; |
|
|
|
|
await _ghrh_InterviewRecordServices.Add(insertRecord); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】变更面试官!" |
|
|
|
|
}); |
|
|
|
|
await LogRecord(order.Id, "变更状态为:变更面试官!"); |
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
@ -1692,24 +1653,13 @@ END"; |
|
|
|
|
var entity = await base.QueryById(id); |
|
|
|
|
if (entity == null) |
|
|
|
|
return ServiceResult.OprateFailed("无效的简历ID!"); |
|
|
|
|
|
|
|
|
|
await UpdateResumeStatus(entity, DIC_INTERVIEW_ORDER_STATUS.HasSendOffer); |
|
|
|
|
var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); |
|
|
|
|
await UpdateInterviewOrderStatus(order, DIC_INTERVIEW_ORDER_STATUS.HasSendOffer); |
|
|
|
|
await UpdateInterviewRecordStatus(order, DIC_INTERVIEW_ORDER_STATUS.HasSendOffer); |
|
|
|
|
|
|
|
|
|
entity.Status = DIC_INTERVIEW_ORDER_STATUS.HasSendOffer; |
|
|
|
|
await Update(entity, ["Status"]); |
|
|
|
|
|
|
|
|
|
var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); |
|
|
|
|
order.Status = DIC_INTERVIEW_ORDER_STATUS.HasSendOffer; |
|
|
|
|
await _ghrh_InterviewOrderServices.Update(order, ["Status"]); |
|
|
|
|
|
|
|
|
|
var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); |
|
|
|
|
records.ForEach(record => record.Status = DIC_INTERVIEW_ORDER_STATUS.HasSendOffer); |
|
|
|
|
await _ghrh_InterviewRecordServices.Update(records, ["Status"]); |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】变更状态为:已发offer!" |
|
|
|
|
}); |
|
|
|
|
await LogRecord(order.Id, "变更状态为:已发offer!"); |
|
|
|
|
} |
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
|
} |
|
|
|
@ -1737,14 +1687,9 @@ END"; |
|
|
|
|
//{ |
|
|
|
|
// var staffs = JsonHelper.JsonToObj<List<ResumeRecommendFormStaff>>(record.ReceiverIds); |
|
|
|
|
// await SendMessage(staffs.Select(x => x.StaffId).ToList(), "简历提醒", "您有个简历【待面试】,请及时查看面试时间!"); |
|
|
|
|
//} |
|
|
|
|
//} |
|
|
|
|
await LogRecord(order.Id, "发送待已发offer提醒!"); |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】发送待已发offer提醒!" |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1779,13 +1724,7 @@ END"; |
|
|
|
|
await Update(entity, ["Status"]); |
|
|
|
|
await _ghrh_InterviewOrderServices.Update(order, ["Status"]); |
|
|
|
|
await _ghrh_InterviewRecordServices.Update(records, ["Status"]); |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】变更是否报道!" |
|
|
|
|
}); |
|
|
|
|
await LogRecord(order.Id, "变更是否报道!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1800,23 +1739,13 @@ END"; |
|
|
|
|
if (entity == null) |
|
|
|
|
return ServiceResult.OprateFailed("无效的简历ID!"); |
|
|
|
|
|
|
|
|
|
entity.Status = DIC_INTERVIEW_ORDER_STATUS.Fail; |
|
|
|
|
await Update(entity, ["Status"]); |
|
|
|
|
await UpdateResumeStatus(entity, DIC_INTERVIEW_ORDER_STATUS.Fail); |
|
|
|
|
|
|
|
|
|
var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); |
|
|
|
|
order.Status = DIC_INTERVIEW_ORDER_STATUS.Fail; |
|
|
|
|
await _ghrh_InterviewOrderServices.Update(order, ["Status"]); |
|
|
|
|
await UpdateInterviewOrderStatus(order, DIC_INTERVIEW_ORDER_STATUS.Fail); |
|
|
|
|
await UpdateInterviewRecordStatus(order, DIC_INTERVIEW_ORDER_STATUS.Fail); |
|
|
|
|
|
|
|
|
|
var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); |
|
|
|
|
records.ForEach(record => record.Status = DIC_INTERVIEW_ORDER_STATUS.Fail); |
|
|
|
|
await _ghrh_InterviewRecordServices.Update(records, ["Status"]); |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】变更状态为:不合适!" |
|
|
|
|
}); |
|
|
|
|
await LogRecord(order.Id, "变更状态为:不合适!"); |
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
@ -1836,12 +1765,8 @@ END"; |
|
|
|
|
record.IsCancel = true; |
|
|
|
|
record.CancelReason = input.CancelReason; |
|
|
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = order.Id, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】取消面试!" |
|
|
|
|
}); |
|
|
|
|
await LogRecord(order.Id, "取消面试!"); |
|
|
|
|
|
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
@ -2124,4 +2049,44 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1"; |
|
|
|
|
return ServiceResult<ResumeScheduleInterviewResult>.OprateSuccess("查询成功", result); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region 通用方法 |
|
|
|
|
/// <summary> |
|
|
|
|
/// 记录日志 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="orderId">面试单ID</param> |
|
|
|
|
/// <param name="content">内容</param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
public async Task LogRecord(long orderId, string content) |
|
|
|
|
{ |
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
|
{ |
|
|
|
|
OrderId = orderId, |
|
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】" + content |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
public async Task UpdateResumeStatus(Ghrh_Resume entity, string Status) |
|
|
|
|
{ |
|
|
|
|
entity.Status = Status; |
|
|
|
|
await Update(entity, ["Status"]); |
|
|
|
|
} |
|
|
|
|
public async Task UpdateInterviewOrderStatus(Ghrh_InterviewOrder order, string Status) |
|
|
|
|
{ |
|
|
|
|
order.Status = Status; |
|
|
|
|
await _ghrh_InterviewOrderServices.Update(order, ["Status"]); |
|
|
|
|
} |
|
|
|
|
/// <summary> |
|
|
|
|
/// 修改面试记录状态 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="order"></param> |
|
|
|
|
/// <param name="Status"></param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
public async Task UpdateInterviewRecordStatus(Ghrh_InterviewOrder order, string Status) |
|
|
|
|
{ |
|
|
|
|
var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); |
|
|
|
|
records.ForEach(record => record.Status = Status); |
|
|
|
|
await _ghrh_InterviewRecordServices.Update(records, ["Status"]); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
} |