新增批量简历推荐接口

master
xiaochanghai 7 months ago
parent 0fbb722488
commit 57d0838afe
  1. 16
      Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeController.cs
  2. 25
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 9
      Tiobon.Core.Api/Tiobon.Core.xml
  4. 2
      Tiobon.Core.IServices/Ghrh/IGhrh_ResumeServices.cs
  5. 6
      Tiobon.Core.Model/Base/Ghrh/Ghrh_InterviewOrder.Dto.Base.cs
  6. 6
      Tiobon.Core.Model/Models/Ghrh/Ghrh_InterviewOrder.cs
  7. 15
      Tiobon.Core.Model/ViewModels/Extend/ResumeViewTab.cs
  8. 54
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
  9. 55
      Tiobon.Core/Tiobon.Core.Model.xml
  10. 9
      Tiobon.Core/Tiobon.Core.xml

@ -65,15 +65,6 @@ public class Ghrh_ResumeController : BaseController<IGhrh_ResumeServices, Ghrh_R
public async Task<ServiceResult<List<ResumeCondition>>> QueryConditions() => await _service.QueryConditions(); public async Task<ServiceResult<List<ResumeCondition>>> QueryConditions() => await _service.QueryConditions();
#endregion #endregion
#region 推荐简历
/// <summary>
/// 推荐简历
/// </summary>
/// <returns></returns>
[HttpPost("Recommend")]
public async Task<ServiceResult> Recommend([FromBody] List<long> ids) => await _service.SwitchIsRecommend(ids, true);
#endregion
#region 取消推荐简历 #region 取消推荐简历
/// <summary> /// <summary>
/// 取消推荐简历 /// 取消推荐简历
@ -224,12 +215,11 @@ public class Ghrh_ResumeController : BaseController<IGhrh_ResumeServices, Ghrh_R
/// 推荐 /// 推荐
/// </summary> /// </summary>
/// <param name="body">信息</param> /// <param name="body">信息</param>
/// <param name="id">简历Id</param>
/// <returns></returns> /// <returns></returns>
[HttpPost, Route("Recommend/{id}")] [HttpPost, Route("Recommend")]
public async Task<ServiceResult> Recommend([FromBody] ResumeRecommendForm body, long id) public async Task<ServiceResult> Recommend([FromBody] ResumeRecommendForm body)
{ {
return await _service.Recommend(id, body); return await _service.Recommend(body);
} }
#endregion #endregion

@ -6285,6 +6285,11 @@
推荐人ID 推荐人ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.RecommendRemark">
<summary>
推荐说明
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.InterviewBeginTime"> <member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.InterviewBeginTime">
<summary> <summary>
面试开始时间 面试开始时间
@ -16906,6 +16911,11 @@
推荐人ID 推荐人ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.RecommendRemark">
<summary>
推荐说明
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.InterviewBeginTime"> <member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.InterviewBeginTime">
<summary> <summary>
面试开始时间 面试开始时间
@ -22987,11 +22997,26 @@
人力需求维护ID 人力需求维护ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.ids">
<summary>
简历ID列表
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.InterviewStaffs"> <member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.InterviewStaffs">
<summary> <summary>
面试官列表 面试官列表
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.RecommendRemark">
<summary>
推荐说明
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.Attachments">
<summary>
附件
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeScheduleInterviewForm.RequestId"> <member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeScheduleInterviewForm.RequestId">
<summary> <summary>
人力需求维护ID 人力需求维护ID

@ -1272,12 +1272,6 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.Recommend(System.Collections.Generic.List{System.Int64})">
<summary>
推荐简历
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.CancelRecommend(System.Collections.Generic.List{System.Int64})"> <member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.CancelRecommend(System.Collections.Generic.List{System.Int64})">
<summary> <summary>
取消推荐简历 取消推荐简历
@ -1349,12 +1343,11 @@
<param name="status">status</param> <param name="status">status</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.Recommend(Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm,System.Int64)"> <member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.Recommend(Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm)">
<summary> <summary>
推荐 推荐
</summary> </summary>
<param name="body">信息</param> <param name="body">信息</param>
<param name="id">简历Id</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.RemindHasRecommend(System.Int64)"> <member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.RemindHasRecommend(System.Int64)">

@ -33,7 +33,7 @@ public interface IGhrh_ResumeServices : IBaseServices<Ghrh_Resume, Ghrh_ResumeDt
Task<ServiceResult<string>> Export(QueryBody filter, string condition, bool? IsEnable = true); Task<ServiceResult<string>> Export(QueryBody filter, string condition, bool? IsEnable = true);
Task<ServiceResult> Recommend(long id, ResumeRecommendForm recommend); Task<ServiceResult> Recommend(ResumeRecommendForm recommend);
Task<ServiceResult> RemindHasRecommend(long id); Task<ServiceResult> RemindHasRecommend(long id);

@ -54,6 +54,12 @@ public class Ghrh_InterviewOrderBase
/// </summary> /// </summary>
public long? RecommendId { get; set; } public long? RecommendId { get; set; }
/// <summary>
/// 推荐说明
/// </summary>
[Display(Name = "RecommendRemark"), Description("推荐说明"), MaxLength(256, ErrorMessage = "推荐说明 不能超过 256 个字符")]
public string RecommendRemark { get; set; }
/// <summary> /// <summary>
/// 面试开始时间 /// 面试开始时间
/// </summary> /// </summary>

@ -55,6 +55,12 @@ public class Ghrh_InterviewOrder : BasePoco
/// </summary> /// </summary>
public long? RecommendId { get; set; } public long? RecommendId { get; set; }
/// <summary>
/// 推荐说明
/// </summary>
[Display(Name = "RecommendRemark"), Description("推荐说明"), MaxLength(256, ErrorMessage = "推荐说明 不能超过 256 个字符")]
public string RecommendRemark { get; set; }
/// <summary> /// <summary>
/// 面试开始时间 /// 面试开始时间
/// </summary> /// </summary>

@ -71,10 +71,25 @@ public class ResumeRecommendForm
/// </summary> /// </summary>
public long RequestId { get; set; } public long RequestId { get; set; }
/// <summary>
/// 简历ID列表
/// </summary>
public List<long> ids { get; set; }
/// <summary> /// <summary>
/// 面试官列表 /// 面试官列表
/// </summary> /// </summary>
public List<ResumeRecommendFormStaff> InterviewStaffs { get; set; } public List<ResumeRecommendFormStaff> InterviewStaffs { get; set; }
/// <summary>
/// 推荐说明
/// </summary>
public string RecommendRemark { get; set; }
/// <summary>
/// 附件
/// </summary>
public List<Ghre_Attachment> Attachments { get; set; }
} }
public class ResumeScheduleInterviewForm public class ResumeScheduleInterviewForm

@ -1235,37 +1235,43 @@ END";
#endregion #endregion
#region 简历推荐 #region 简历推荐
public async Task<ServiceResult> Recommend(long id, ResumeRecommendForm recommend) public async Task<ServiceResult> Recommend(ResumeRecommendForm recommend)
{ {
if (await AnyAsync(x => x.Status == DIC_INTERVIEW_ORDER_STATUS.HasRecommended ||
x.Status == DIC_INTERVIEW_ORDER_STATUS.HasRecommended ||
x.Status == DIC_INTERVIEW_ORDER_STATUS.WaitAppointment ||
x.Status == DIC_INTERVIEW_ORDER_STATUS.WaitInterview ||
x.Status == DIC_INTERVIEW_ORDER_STATUS.HasInterview))
return ServiceResult.OprateFailed("简历正推荐中,不可重复推荐!");
await Db.Updateable<Ghrh_InterviewOrder>()
.SetColumns(it => it.IsEnable == 0)
.Where(it => it.ResumeId == id)
.ExecuteCommandAsync();
var orderId = await _ghrh_InterviewOrderServices.Add(new InsertGhrh_InterviewOrderInput() for (int m = 0; m < recommend.ids.Count; m++)
{ {
ResumeId = id, var id = recommend.ids[m];
RequestId = recommend.RequestId, if (await AnyAsync(x => x.Status == DIC_INTERVIEW_ORDER_STATUS.HasRecommended ||
RecommendTime = DateTime.Now, x.Status == DIC_INTERVIEW_ORDER_STATUS.HasRecommended ||
RecommendId = App.User.ID, x.Status == DIC_INTERVIEW_ORDER_STATUS.WaitAppointment ||
Round = 1, x.Status == DIC_INTERVIEW_ORDER_STATUS.WaitInterview ||
OrderNo = await GenerateContinuousSequence("Ghrh_InterviewOrder", "OrderNo", "V"), x.Status == DIC_INTERVIEW_ORDER_STATUS.HasInterview))
Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended continue;
}); await Db.Updateable<Ghrh_InterviewOrder>()
for (int i = 0; i < recommend.InterviewStaffs.Count; i++) .SetColumns(it => it.IsEnable == 0)
await _ghrh_InterviewRecordServices.Add(new InsertGhrh_InterviewRecordInput() .Where(it => it.ResumeId == id)
.ExecuteCommandAsync();
var orderId = await _ghrh_InterviewOrderServices.Add(new InsertGhrh_InterviewOrderInput()
{ {
OrderId = orderId, ResumeId = id,
RequestId = recommend.RequestId,
RecommendTime = DateTime.Now,
RecommendId = App.User.ID,
Round = 1, Round = 1,
OrderNo = await GenerateContinuousSequence("Ghrh_InterviewOrder", "OrderNo", "V"),
Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended, Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended,
StaffId = recommend.InterviewStaffs[i].StaffId, RecommendRemark = recommend.RecommendRemark
}); });
for (int i = 0; i < recommend.InterviewStaffs.Count; i++)
await _ghrh_InterviewRecordServices.Add(new InsertGhrh_InterviewRecordInput()
{
OrderId = orderId,
Round = 1,
Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended,
StaffId = recommend.InterviewStaffs[i].StaffId,
});
}
return ServiceResult.OprateSuccess(); return ServiceResult.OprateSuccess();
} }

@ -6285,6 +6285,11 @@
推荐人ID 推荐人ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.RecommendRemark">
<summary>
推荐说明
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.InterviewBeginTime"> <member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.InterviewBeginTime">
<summary> <summary>
面试开始时间 面试开始时间
@ -16906,6 +16911,11 @@
推荐人ID 推荐人ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.RecommendRemark">
<summary>
推荐说明
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.InterviewBeginTime"> <member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.InterviewBeginTime">
<summary> <summary>
面试开始时间 面试开始时间
@ -21847,36 +21857,6 @@
修改信息 修改信息
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeDto.OrderNo">
<summary>
订单号
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeDto.RecommendTime">
<summary>
推荐时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeDto.Round">
<summary>
轮数
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeDto.IsPass">
<summary>
是否通过
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeDto.OrderStatus">
<summary>
订单状态
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeDto.StaffId">
<summary>
员工ID
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrh_ResumeEduBGDto"> <member name="T:Tiobon.Core.Model.Models.Ghrh_ResumeEduBGDto">
<summary> <summary>
教育背景(Dto.View1) 教育背景(Dto.View1)
@ -23017,11 +22997,26 @@
人力需求维护ID 人力需求维护ID
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.ids">
<summary>
简历ID列表
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.InterviewStaffs"> <member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.InterviewStaffs">
<summary> <summary>
面试官列表 面试官列表
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.RecommendRemark">
<summary>
推荐说明
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.Attachments">
<summary>
附件
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeScheduleInterviewForm.RequestId"> <member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeScheduleInterviewForm.RequestId">
<summary> <summary>
人力需求维护ID 人力需求维护ID

@ -1272,12 +1272,6 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.Recommend(System.Collections.Generic.List{System.Int64})">
<summary>
推荐简历
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.CancelRecommend(System.Collections.Generic.List{System.Int64})"> <member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.CancelRecommend(System.Collections.Generic.List{System.Int64})">
<summary> <summary>
取消推荐简历 取消推荐简历
@ -1349,12 +1343,11 @@
<param name="status">status</param> <param name="status">status</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.Recommend(Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm,System.Int64)"> <member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.Recommend(Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm)">
<summary> <summary>
推荐 推荐
</summary> </summary>
<param name="body">信息</param> <param name="body">信息</param>
<param name="id">简历Id</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.RemindHasRecommend(System.Int64)"> <member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.RemindHasRecommend(System.Int64)">

Loading…
Cancel
Save