简历查看页面

master
xiaochanghai 6 months ago
parent 41f936b036
commit 3c7651dd8a
  1. 970
      Model/Tiobon.Web.pdm
  2. 28
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 22
      Tiobon.Core.Model/Base/Ghrh/Ghrh_InterviewLog.Dto.Base.cs
  4. 22
      Tiobon.Core.Model/Models/Ghrh/Ghrh_InterviewLog.cs
  5. 2
      Tiobon.Core.Services/BASE/BaseServices.cs
  6. 11
      Tiobon.Core.Services/Ghrh/Ghrh_InterviewOrderServices.cs
  7. 28
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
  8. 28
      Tiobon.Core/Tiobon.Core.Model.xml

File diff suppressed because it is too large Load Diff

@ -7385,9 +7385,19 @@
面试工单日志 (Dto.Base)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLogBase.OrderId">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLogBase.InterviewOrderId">
<summary>
订单ID
面试工单ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLogBase.InterviewRecordId">
<summary>
面试记录ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLogBase.Source">
<summary>
来源
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLogBase.RemarkSz">
@ -20851,9 +20861,19 @@
面试工单日志 (Model)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLog.OrderId">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLog.InterviewOrderId">
<summary>
订单ID
面试工单ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLog.InterviewRecordId">
<summary>
面试记录ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLog.Source">
<summary>
来源
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLog.RemarkSz">

@ -6,7 +6,7 @@
*
* Ver
*
*V0.01 2024/11/13 14:34:02 SimonHsiao
*V0.01 2024/12/13 14:03:44 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
@ -24,9 +24,25 @@ public class Ghrh_InterviewLogBase
{
/// <summary>
/// 单ID
/// 面试工单ID
/// </summary>
public long? OrderId { get; set; }
public long? InterviewOrderId { get; set; }
/// <summary>
/// 面试记录ID
/// </summary>
public long? InterviewRecordId { get; set; }
/// <summary>
/// 简历ID
/// </summary>
public long? ResumeId { get; set; }
/// <summary>
/// 来源
/// </summary>
[Display(Name = "Source"), Description("来源"), MaxLength(32, ErrorMessage = "来源 不能超过 32 个字符")]
public string Source { get; set; }
/// <summary>
/// 备注

@ -6,7 +6,7 @@
*
* Ver
*
*V0.01 2024/11/13 14:34:02 SimonHsiao
*V0.01 2024/12/13 14:03:44 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
@ -25,9 +25,25 @@ public class Ghrh_InterviewLog : BasePoco
{
/// <summary>
/// 单ID
/// 面试工单ID
/// </summary>
public long? OrderId { get; set; }
public long? InterviewOrderId { get; set; }
/// <summary>
/// 面试记录ID
/// </summary>
public long? InterviewRecordId { get; set; }
/// <summary>
/// 简历ID
/// </summary>
public long? ResumeId { get; set; }
/// <summary>
/// 来源
/// </summary>
[Display(Name = "Source"), Description("来源"), MaxLength(32, ErrorMessage = "来源 不能超过 32 个字符")]
public string Source { get; set; }
/// <summary>
/// 备注

@ -1438,7 +1438,7 @@ ORDER BY SortNo ASC";
}
public async Task<Ghrs_User> GetUser()
{
return await Db.Queryable<Ghrs_User>().FirstAsync();
return await Db.Queryable<Ghrs_User>().Where(x => x.UserId == App.User.ID).FirstAsync();
}
#region 获取部门列表

@ -6,17 +6,14 @@
public class Ghrh_InterviewOrderServices : BaseServices<Ghrh_InterviewOrder, Ghrh_InterviewOrderDto, InsertGhrh_InterviewOrderInput, EditGhrh_InterviewOrderInput>, IGhrh_InterviewOrderServices
{
private readonly IBaseRepository<Ghrh_InterviewOrder> _dal;
private readonly IGhrh_InterviewLogServices _ghrh_InterviewLogServices;
private readonly IGhrh_InterviewRecordServices _ghrh_InterviewRecordServices;
public Ghrh_InterviewOrderServices(ICaching caching,
IGhrh_InterviewLogServices ghrh_InterviewLogServices,
IGhrh_InterviewRecordServices ghrh_InterviewRecordServices,
IBaseRepository<Ghrh_InterviewOrder> dal)
{
this._dal = dal;
base.BaseDal = dal;
base._caching = caching;
_ghrh_InterviewLogServices = ghrh_InterviewLogServices;
_ghrh_InterviewRecordServices = ghrh_InterviewRecordServices;
}
@ -24,13 +21,7 @@ public class Ghrh_InterviewOrderServices : BaseServices<Ghrh_InterviewOrder, Ghr
public override async Task<long> Add(InsertGhrh_InterviewOrderInput entity)
{
var result = await base.Add(entity);
var usser = await GetUser();
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput()
{
OrderId = result,
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】推荐了简历!"
});
if (entity.RequestId != null)
await Db.Updateable<Ghrh_HumanRequest>()
.SetColumns(it => it.RecommendCount == it.RecommendCount + 1)
.Where(it => it.Id == entity.RequestId)

@ -2,6 +2,7 @@
using DinkToPdf.Contracts;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using MySqlX.XDevAPI.Common;
using System.IO.Compression;
using static Tiobon.Core.Model.Consts;
@ -1534,7 +1535,6 @@ END";
#region 简历推荐
public async Task<ServiceResult> Recommend(ResumeRecommendForm recommend)
{
//if (recommend.RequestId.IsNullOrEmpty())
// throw new Exception("请先选择用人申请单!");
@ -1619,6 +1619,11 @@ END";
var entity = await base.QueryById(id);
entity.Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended;
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();
@ -1644,13 +1649,19 @@ END";
var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id);
//if (record.FirstViewTime.IsNotEmptyOrNull())
// 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++)
{
if (records[i].FirstViewTime.IsNullOrEmpty())
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 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);
}
@ -3461,12 +3474,15 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status";
/// <param name="orderId">面试单ID</param>
/// <param name="content">内容</param>
/// <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();
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
});
}

@ -7385,9 +7385,19 @@
面试工单日志 (Dto.Base)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLogBase.OrderId">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLogBase.InterviewOrderId">
<summary>
订单ID
面试工单ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLogBase.InterviewRecordId">
<summary>
面试记录ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLogBase.Source">
<summary>
来源
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLogBase.RemarkSz">
@ -20851,9 +20861,19 @@
面试工单日志 (Model)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLog.OrderId">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLog.InterviewOrderId">
<summary>
订单ID
面试工单ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLog.InterviewRecordId">
<summary>
面试记录ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLog.Source">
<summary>
来源
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewLog.RemarkSz">

Loading…
Cancel
Save