|
|
@ -2,6 +2,7 @@ |
|
|
|
using DinkToPdf.Contracts; |
|
|
|
using DinkToPdf.Contracts; |
|
|
|
using Microsoft.AspNetCore.Hosting; |
|
|
|
using Microsoft.AspNetCore.Hosting; |
|
|
|
using Microsoft.Extensions.Hosting; |
|
|
|
using Microsoft.Extensions.Hosting; |
|
|
|
|
|
|
|
using MySqlX.XDevAPI.Common; |
|
|
|
using System.IO.Compression; |
|
|
|
using System.IO.Compression; |
|
|
|
using static Tiobon.Core.Model.Consts; |
|
|
|
using static Tiobon.Core.Model.Consts; |
|
|
|
|
|
|
|
|
|
|
@ -1534,7 +1535,6 @@ END"; |
|
|
|
#region 简历推荐 |
|
|
|
#region 简历推荐 |
|
|
|
public async Task<ServiceResult> Recommend(ResumeRecommendForm recommend) |
|
|
|
public async Task<ServiceResult> Recommend(ResumeRecommendForm recommend) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
//if (recommend.RequestId.IsNullOrEmpty()) |
|
|
|
//if (recommend.RequestId.IsNullOrEmpty()) |
|
|
|
// throw new Exception("请先选择用人申请单!"); |
|
|
|
// throw new Exception("请先选择用人申请单!"); |
|
|
|
|
|
|
|
|
|
|
@ -1619,6 +1619,11 @@ END"; |
|
|
|
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; |
|
|
|
await Update(entity, ["Status"]); |
|
|
|
await Update(entity, ["Status"]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 日志 |
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
|
|
|
await LogRecord(orderId, $"用户【{usser?.UserName ?? App.User.ID.ToString()}】向【{string.Join(",", interviewer.Select(o => o.StaffName))}】推荐了简历!", id, null, "Recommended"); |
|
|
|
|
|
|
|
#endregion |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
@ -1644,13 +1649,19 @@ END"; |
|
|
|
var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); |
|
|
|
var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); |
|
|
|
//if (record.FirstViewTime.IsNotEmptyOrNull()) |
|
|
|
//if (record.FirstViewTime.IsNotEmptyOrNull()) |
|
|
|
// return ServiceResult.OprateFailed("面试官已查看简历,暂不可发送提醒!"); |
|
|
|
// return ServiceResult.OprateFailed("面试官已查看简历,暂不可发送提醒!"); |
|
|
|
|
|
|
|
var interviewIds = records.Select(x => x.StaffId).ToList(); |
|
|
|
|
|
|
|
var interviewer = await Db.Queryable<Ghra_Staff>().Where(o => interviewIds.Contains(o.StaffID)).ToListAsync(); |
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < records.Count; i++) |
|
|
|
for (int i = 0; i < records.Count; i++) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (records[i].FirstViewTime.IsNullOrEmpty()) |
|
|
|
if (records[i].FirstViewTime.IsNullOrEmpty()) |
|
|
|
await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历推荐,请及时查看!", "/M_ESS_Recruit/F_ESS_Candidate"); |
|
|
|
await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历推荐,请及时查看!", "/M_ESS_Recruit/F_ESS_Candidate"); |
|
|
|
} |
|
|
|
} |
|
|
|
await LogRecord(order.Id, $"发送简历推荐提醒"); |
|
|
|
|
|
|
|
|
|
|
|
#region 日志 |
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
|
|
|
await LogRecord(order.Id, $"用户【{usser?.UserName ?? App.User.ID.ToString()}】向【{string.Join(",", interviewer.Select(o => o.StaffName))}】发送简历推荐提醒!", id, null, "RemindHasRecommend"); |
|
|
|
|
|
|
|
#endregion |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1726,8 +1737,10 @@ END"; |
|
|
|
|
|
|
|
|
|
|
|
await _ghrh_InterviewRecordServices.Update(records[0], ["PlanInterviewTime1", "PlanInterviewTime2", "PlanInterviewTime3", "Status"]); |
|
|
|
await _ghrh_InterviewRecordServices.Update(records[0], ["PlanInterviewTime1", "PlanInterviewTime2", "PlanInterviewTime3", "Status"]); |
|
|
|
|
|
|
|
|
|
|
|
await LogRecord(order.Id, $"预约面试,面试时间:{string.Join("、", form.Times)}"); |
|
|
|
#region 日志 |
|
|
|
|
|
|
|
var usser = await GetUser(); |
|
|
|
|
|
|
|
await LogRecord(order.Id, $"用户【{usser?.UserName ?? App.User.ID.ToString()}】预约面试,面试时间:{string.Join("、", form.Times)}", id, null, "SubscribeInterview"); |
|
|
|
|
|
|
|
#endregion |
|
|
|
await UpdateResumeStatus(entity, DIC_INTERVIEW_ORDER_STATUS.WaitAppointment); |
|
|
|
await UpdateResumeStatus(entity, DIC_INTERVIEW_ORDER_STATUS.WaitAppointment); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -3461,12 +3474,15 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status"; |
|
|
|
/// <param name="orderId">面试单ID</param> |
|
|
|
/// <param name="orderId">面试单ID</param> |
|
|
|
/// <param name="content">内容</param> |
|
|
|
/// <param name="content">内容</param> |
|
|
|
/// <returns></returns> |
|
|
|
/// <returns></returns> |
|
|
|
public async Task LogRecord(long orderId, string content) |
|
|
|
public async Task LogRecord(long orderId, string content, long? resumeId = null, long? recordId = null, string source = null) |
|
|
|
{ |
|
|
|
{ |
|
|
|
var usser = await GetUser(); |
|
|
|
var usser = await GetUser(); |
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() |
|
|
|
{ |
|
|
|
{ |
|
|
|
OrderId = orderId, |
|
|
|
InterviewOrderId = orderId, |
|
|
|
|
|
|
|
InterviewRecordId = recordId, |
|
|
|
|
|
|
|
ResumeId = resumeId, |
|
|
|
|
|
|
|
Source = source, |
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】" + content |
|
|
|
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】" + content |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|