|
|
@ -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 System.ComponentModel.Design; |
|
|
|
using System.IO.Compression; |
|
|
|
using System.IO.Compression; |
|
|
|
using static Tiobon.Core.Model.Consts; |
|
|
|
using static Tiobon.Core.Model.Consts; |
|
|
|
|
|
|
|
|
|
|
@ -290,7 +291,6 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins |
|
|
|
var ids = list.Select(x => x.Id).ToList(); |
|
|
|
var ids = list.Select(x => x.Id).ToList(); |
|
|
|
var titleIds = list.Where(x => x.TitleId != null).Select(x => x.TitleId.Value).Distinct().ToList(); |
|
|
|
var titleIds = list.Where(x => x.TitleId != null).Select(x => x.TitleId.Value).Distinct().ToList(); |
|
|
|
|
|
|
|
|
|
|
|
var titles = await Db.Queryable<Ghra_Title>().Where(x => x.TitleID != null && titleIds.Contains(x.TitleID.Value)).ToListAsync(); |
|
|
|
|
|
|
|
var eduBGs = await _ghrh_ResumeEduBGServices.QueryDto(x => x.ResumeId != null && ids.Contains(x.ResumeId.Value)); |
|
|
|
var eduBGs = await _ghrh_ResumeEduBGServices.QueryDto(x => x.ResumeId != null && ids.Contains(x.ResumeId.Value)); |
|
|
|
var workExps = await _ghrh_ResumeWorkExpServices.QueryDto(x => x.ResumeId != null && ids.Contains(x.ResumeId.Value)); |
|
|
|
var workExps = await _ghrh_ResumeWorkExpServices.QueryDto(x => x.ResumeId != null && ids.Contains(x.ResumeId.Value)); |
|
|
|
|
|
|
|
|
|
|
@ -311,7 +311,15 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins |
|
|
|
//【简历库-录用-已发offer】配置按钮 |
|
|
|
//【简历库-录用-已发offer】配置按钮 |
|
|
|
var sendOfferConfig = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Custom_Transfer_Staff").FirstAsync(); |
|
|
|
var sendOfferConfig = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Custom_Transfer_Staff").FirstAsync(); |
|
|
|
|
|
|
|
|
|
|
|
var applyOrders = await Db.Queryable<Ghrh_OfferApplyOrder>().Where(x => x.ResumeId != null && ids.Contains(x.ResumeId.Value) && x.WorkState == 0).ToListAsync(); |
|
|
|
var applyOrders = await Db.Queryable<Ghrh_OfferApplyOrder>().Where(x => x.ResumeId != null && ids.Contains(x.ResumeId.Value)).ToListAsync(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var companyIds = applyOrders.Where(x => x.CompanyId != null).Select(x => x.CompanyId).ToList(); |
|
|
|
|
|
|
|
var deptIds = applyOrders.Where(x => x.DeptId != null).Select(x => x.DeptId).ToList(); |
|
|
|
|
|
|
|
titleIds.AddRange(applyOrders.Where(x => x.TitleId != null).Select(x => x.TitleId.Value).ToList()); |
|
|
|
|
|
|
|
var legalCompanys = await Db.Queryable<Ghra_LegalCompany>().Where(x => companyIds.Contains(x.LegalCompanyID)).ToListAsync(); |
|
|
|
|
|
|
|
var depts = await Db.Queryable<Ghro_Dept>().Where(x => deptIds.Contains(x.DeptID)).ToListAsync(); |
|
|
|
|
|
|
|
var titles = await Db.Queryable<Ghra_Title>().Where(x => x.TitleID != null && titleIds.Contains(x.TitleID.Value)).ToListAsync(); |
|
|
|
|
|
|
|
|
|
|
|
#endregion |
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
|
|
list.ForEach(async x => |
|
|
|
list.ForEach(async x => |
|
|
@ -363,23 +371,8 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins |
|
|
|
//x.InterviewResult = "推荐中"; |
|
|
|
//x.InterviewResult = "推荐中"; |
|
|
|
x.AppointmentFeedback = order.AppointmentFeedback.IsNotEmptyOrNull() ? order.AppointmentFeedback : "(约面反馈未填写)"; |
|
|
|
x.AppointmentFeedback = order.AppointmentFeedback.IsNotEmptyOrNull() ? order.AppointmentFeedback : "(约面反馈未填写)"; |
|
|
|
} |
|
|
|
} |
|
|
|
if (x.Status == DIC_INTERVIEW_ORDER_STATUS.HasSendOffer) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
//x.InterviewResult = "推荐中"; |
|
|
|
|
|
|
|
x.TransferStaffType = sendOfferConfig?.ConfigValue ?? "System"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//x.InterviewResult = "推荐中"; |
|
|
|
//x.InterviewResult = "推荐中"; |
|
|
|
x.OfferApplyType = offerApplyConfig?.ConfigValue ?? "System"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var applyOrder = applyOrders.Where((o => o.ResumeId == x.ResumeId)).SingleOrDefault(); |
|
|
|
|
|
|
|
if (applyOrder != null) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (applyOrder.WorkNo.IsNotEmptyOrNull()) |
|
|
|
|
|
|
|
x.OfferApplyExist = true; |
|
|
|
|
|
|
|
//x.HireCompanyName = (await Db.Queryable<company>().Where(x => x.DeptID == applyOrder.DeptId).FirstAsync())?.DeptName |
|
|
|
|
|
|
|
x.HireDeptName = (await Db.Queryable<Ghro_Dept>().Where(x => x.DeptID == applyOrder.DeptId).FirstAsync())?.DeptName; |
|
|
|
|
|
|
|
x.HireTitleName = (await Db.Queryable<Ghra_Title>().Where(x => x.TitleID == applyOrder.TitleId).FirstAsync())?.TitleName; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
x.InterviewTime1 = order.InterviewTime; |
|
|
|
x.InterviewTime1 = order.InterviewTime; |
|
|
|
x.InterviewContent = order.InterviewContent; |
|
|
|
x.InterviewContent = order.InterviewContent; |
|
|
|
|
|
|
|
|
|
|
@ -388,6 +381,24 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins |
|
|
|
else if (order.WaitInterviewStatus == "HasChangeInterviewTime") |
|
|
|
else if (order.WaitInterviewStatus == "HasChangeInterviewTime") |
|
|
|
x.InterviewTime1 = "已改期"; |
|
|
|
x.InterviewTime1 = "已改期"; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var applyOrder = applyOrders.Where((o => o.ResumeId == x.ResumeId)).SingleOrDefault(); |
|
|
|
|
|
|
|
if (applyOrder != null) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (applyOrder.WorkNo.IsNotEmptyOrNull()) |
|
|
|
|
|
|
|
x.OfferApplyExist = true; |
|
|
|
|
|
|
|
x.HireCompanyName = legalCompanys.Where(x => x.LegalCompanyID == applyOrder.CompanyId).FirstOrDefault()?.LegalCompanyName; |
|
|
|
|
|
|
|
x.HireDeptName = depts.Where(x => x.DeptID == applyOrder.DeptId).FirstOrDefault()?.DeptName; |
|
|
|
|
|
|
|
x.HireTitleName = titles.Where(x => x.TitleID == applyOrder.TitleId).FirstOrDefault()?.TitleName; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
x.OfferApplyType = offerApplyConfig?.ConfigValue ?? "System"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (x.Status == DIC_INTERVIEW_ORDER_STATUS.HasSendOffer) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
//x.InterviewResult = "推荐中"; |
|
|
|
|
|
|
|
x.TransferStaffType = sendOfferConfig?.ConfigValue ?? "System"; |
|
|
|
|
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
return result; |
|
|
@ -2432,6 +2443,10 @@ END"; |
|
|
|
await _ghrh_InterviewRecordServices.Update(records, ["Status"]); |
|
|
|
await _ghrh_InterviewRecordServices.Update(records, ["Status"]); |
|
|
|
await LogRecord(order.Id, isOffer == true ? "标记为已报到!" : "标记为未报到!", id, null, "CheckIn"); |
|
|
|
await LogRecord(order.Id, isOffer == true ? "标记为已报到!" : "标记为未报到!", id, null, "CheckIn"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
@ -2517,6 +2532,21 @@ END"; |
|
|
|
await UpdateResumeStatus(entity, DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer); |
|
|
|
await UpdateResumeStatus(entity, DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer); |
|
|
|
|
|
|
|
|
|
|
|
var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); |
|
|
|
var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (order == null) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
var orderId = await _ghrh_InterviewOrderServices.Add(new InsertGhrh_InterviewOrderInput() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
ResumeId = id, |
|
|
|
|
|
|
|
RecommendTime = DateTime.Now, |
|
|
|
|
|
|
|
RecommendId = App.User.ID, |
|
|
|
|
|
|
|
Round = 1, |
|
|
|
|
|
|
|
OrderNo = await GenerateContinuousSequence("Ghrh_InterviewOrder", "OrderNo", "V"), |
|
|
|
|
|
|
|
Status = DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer, |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (order != null) |
|
|
|
if (order != null) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|