|
|
@ -1333,30 +1333,48 @@ END"; |
|
|
|
#endregion |
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
|
|
#region 安排面试 |
|
|
|
#region 安排面试 |
|
|
|
public async Task<ServiceResult> ScheduleInterview(long id) |
|
|
|
public async Task<ServiceResult> ScheduleInterview(long id, string time) |
|
|
|
{ |
|
|
|
{ |
|
|
|
var entity = await _ghrh_InterviewOrderServices.QueryById(id); |
|
|
|
var entity = await base.QueryById(id); |
|
|
|
if (entity == null) |
|
|
|
if (entity == null) |
|
|
|
return ServiceResult.OprateFailed("无效的简历工单ID!"); |
|
|
|
return ServiceResult.OprateFailed("无效的简历ID!"); |
|
|
|
|
|
|
|
|
|
|
|
if (entity.Status != DIC_INTERVIEW_ORDER_STATUS.HasRecommended) |
|
|
|
if (entity.Status != DIC_INTERVIEW_ORDER_STATUS.WaitAppointment) |
|
|
|
return ServiceResult.OprateFailed("已推荐状态下简历才可安排面试!"); |
|
|
|
return ServiceResult.OprateFailed("待预约状态下才能安排面试!"); |
|
|
|
|
|
|
|
|
|
|
|
var order = await Db.Queryable<Ghrh_InterviewOrder>().FirstAsync(x => x.ResumeId == id); |
|
|
|
if (time.IndexOf("~") < 0) |
|
|
|
|
|
|
|
throw new Exception($"传入时间【{time}】无效,请检查格式!"); |
|
|
|
|
|
|
|
var array = time.Split('~'); |
|
|
|
|
|
|
|
try |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
Convert.ToDateTime(array[0]); |
|
|
|
|
|
|
|
Convert.ToDateTime(array[1]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
catch (Exception) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
throw new Exception($"传入时间【{time}】无效,请检查格式!"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); |
|
|
|
if (order != null) |
|
|
|
if (order != null) |
|
|
|
{ |
|
|
|
{ |
|
|
|
var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id); |
|
|
|
var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id); |
|
|
|
if (record.FirstViewTime.IsNotEmptyOrNull()) |
|
|
|
record.InterviewTime = time; |
|
|
|
return ServiceResult.OprateFailed("面试官已查看简历,暂不可发送提醒!"); |
|
|
|
record.InterviewBeginTime = Convert.ToDateTime(array[0]); |
|
|
|
|
|
|
|
record.InterviewEndTime = Convert.ToDateTime(array[1]); |
|
|
|
|
|
|
|
|
|
|
|
if (record.ReceiverIds.IsNotEmptyOrNull()) |
|
|
|
record.Status = DIC_INTERVIEW_ORDER_STATUS.WaitInterview; |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var staffs = JsonHelper.JsonToObj<List<ResumeRecommendFormStaff>>(record.ReceiverIds); |
|
|
|
await _ghrh_InterviewRecordServices.Update(record, ["InterviewTime", "InterviewBeginTime", "InterviewEndTime", "Status"]); |
|
|
|
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}!" |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
entity.Status = DIC_INTERVIEW_ORDER_STATUS.WaitInterview; |
|
|
|
|
|
|
|
await Update(entity, ["Status"]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|