master
xiaochanghai 7 months ago
parent f82c3dd6ec
commit 4461ae29d3
  1. 11
      Tiobon.Core.Api/Controllers/Ghrh/Ghrh_OfferApplyOrderController.cs
  2. 5
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 7
      Tiobon.Core.Api/Tiobon.Core.xml
  4. 2
      Tiobon.Core.IServices/Ghrh/IGhrh_OfferApplyOrderServices.cs
  5. 8
      Tiobon.Core.Model/View/Ghrh/Ghrh_Resume.Dto.View.cs
  6. 2
      Tiobon.Core.Services/CommonServices.cs
  7. 83
      Tiobon.Core.Services/Ghrh/Ghrh_OfferApplyOrderServices.cs
  8. 21
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
  9. 5
      Tiobon.Core/Tiobon.Core.Model.xml
  10. 7
      Tiobon.Core/Tiobon.Core.xml

@ -11,4 +11,15 @@ public class Ghrh_OfferApplyOrderController : BaseController<IGhrh_OfferApplyOrd
public Ghrh_OfferApplyOrderController(IGhrh_OfferApplyOrderServices service) : base(service) public Ghrh_OfferApplyOrderController(IGhrh_OfferApplyOrderServices service) : base(service)
{ {
} }
#region 查询简历
/// <summary>
/// 查询简历
/// </summary>
/// <param name="id">简历ID</param>
/// <returns></returns>
[HttpPost, Route("QueryResume/{id}")]
public async Task<ServiceResult<dynamic>> QueryResume(long id) => await _service.QueryResume(id);
#endregion
} }

@ -25152,6 +25152,11 @@
审批类型,线上审批or不走审批 审批类型,线上审批or不走审批
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeDto.TransferStaffType">
<summary>
已报到转入人事资料类型,Fast,快速入职;Normal,正常入职
</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)

@ -1285,6 +1285,13 @@
录用审批单(Controller) 录用审批单(Controller)
</summary> </summary>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_OfferApplyOrderController.QueryResume(System.Int64)">
<summary>
查询简历
</summary>
<param name="id">简历ID</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrh_OfferApplyOrderSalaryController"> <member name="T:Tiobon.Core.Api.Controllers.Ghrh_OfferApplyOrderSalaryController">
<summary> <summary>
录用审批单薪资(Controller) 录用审批单薪资(Controller)

@ -1,4 +1,5 @@
using Tiobon.Core.IServices.BASE; using Tiobon.Core.IServices.BASE;
using Tiobon.Core.Model;
using Tiobon.Core.Model.Models; using Tiobon.Core.Model.Models;
namespace Tiobon.Core.IServices; namespace Tiobon.Core.IServices;
@ -8,4 +9,5 @@ namespace Tiobon.Core.IServices;
/// </summary> /// </summary>
public interface IGhrh_OfferApplyOrderServices : IBaseServices<Ghrh_OfferApplyOrder, Ghrh_OfferApplyOrderDto, InsertGhrh_OfferApplyOrderInput, EditGhrh_OfferApplyOrderInput> public interface IGhrh_OfferApplyOrderServices : IBaseServices<Ghrh_OfferApplyOrder, Ghrh_OfferApplyOrderDto, InsertGhrh_OfferApplyOrderInput, EditGhrh_OfferApplyOrderInput>
{ {
Task<ServiceResult<dynamic>> QueryResume(long resumeId);
} }

@ -231,4 +231,12 @@ public class Ghrh_ResumeDto : Ghrh_Resume
/// 审批类型,线上审批or不走审批 /// 审批类型,线上审批or不走审批
/// </summary> /// </summary>
public string OfferApplyType { get; set; } public string OfferApplyType { get; set; }
/// <summary>
/// 已报到转入人事资料类型,Fast,快速入职;Normal,正常入职
/// </summary>
public string TransferStaffType { get; set; }
} }

@ -1412,7 +1412,7 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
result.JM_PageControlT1.Toolbar.Add(new Toolbar() result.JM_PageControlT1.Toolbar.Add(new Toolbar()
{ {
display = true, display = true,
fnKey = "TBD25YN", fnKey = "TBD26YN",
fnTitle = "转入待发offer", fnTitle = "转入待发offer",
fnType = "row", fnType = "row",
icon = "ess-icon-reject", icon = "ess-icon-reject",

@ -1,4 +1,7 @@
namespace Tiobon.Core.Services; using System.Threading.Channels;
using Tiobon.Core.IServices;
namespace Tiobon.Core.Services;
/// <summary> /// <summary>
/// 录用审批单 (服务) /// 录用审批单 (服务)
@ -112,7 +115,7 @@ public class Ghrh_OfferApplyOrderServices : BaseServices<Ghrh_OfferApplyOrder, G
#region 写入数据,并判断是否有错误 #region 写入数据,并判断是否有错误
var sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghrh_OfferApplyOrder WHERE Id !='{id}'"; var sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghrh_OfferApplyOrder WHERE Id !='{id}'";
var id1 = await Db.Ado.GetLongAsync(sql); var id1 = await Db.Ado.GetLongAsync(sql);
sql = $"UPDATE Ghrh_HumanRequest SET Id={id1} WHERE Id ='{id}'"; sql = $"UPDATE Ghrh_OfferApplyOrder SET Id={id1} WHERE Id ='{id}'";
await Db.Ado.ExecuteCommandAsync(sql); await Db.Ado.ExecuteCommandAsync(sql);
id = id1; id = id1;
#endregion #endregion
@ -160,4 +163,80 @@ public class Ghrh_OfferApplyOrderServices : BaseServices<Ghrh_OfferApplyOrder, G
return await base.Update(Id, editModel); return await base.Update(Id, editModel);
} }
#region 查询招聘表单信息接口
public static string NumberToChinese(int num)
{
string[] chineseDigits = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
string result = "";
foreach (char digit in num.ToString())
{
// 将每个数字字符转换为对应的中文字符
int index = int.Parse(digit.ToString());
result += chineseDigits[index];
}
return result;
}
public async Task<ServiceResult<dynamic>> QueryResume(long resumeId)
{
dynamic obj = new ExpandoObject();
var resume = await Db.Queryable<Ghrh_Resume>().Where(x => x.Id == resumeId).FirstAsync();
if (resume == null)
return ServiceResult<dynamic>.OprateFailed("无效的简历ID", obj);
obj.StaffName = resume.StaffName;
obj.IdCardNo = resume.IdCardNo;
obj.ResumeId = resume.Id;
obj.Channel = resume.Channel;
var order = await Db.Queryable<Ghrh_InterviewOrder>().Where(x => x.ResumeId == resumeId).FirstAsync();
if (order != null)
{
var columns = new JArray();
obj.TitleId = order.HireTitleId;
obj.DeptId = order.HireDeptId;
obj.IdCardNo = resume.IdCardNo;
var records = await Db.Queryable<Ghrh_InterviewRecord>().Where(x => x.OrderId == order.Id).OrderBy(x => x.Round).ToListAsync();
var recordIds = records.Select(x => x.Id).ToList();
var interviewAssessDetails = await Db.Queryable<Ghrh_InterviewAssessDetail>().Where(x => x.InterviewRecordId != null && recordIds.Contains(x.InterviewRecordId.Value)).ToListAsync();
for (int i = 0; i < records.Count; i++)
{
var record = records[i];
var staff = await Db.Queryable<Ghra_Staff>().Where(x => x.StaffID == record.StaffId).FirstAsync();
var evaluate = interviewAssessDetails.Where(x => x.InterviewRecordId == record.Id && x.AssessConfigId == "EvaluateContent").FirstOrDefault();
var pass = interviewAssessDetails.Where(x => x.InterviewRecordId == record.Id && x.AssessConfigId == "IsPass").FirstOrDefault();
var item = new JObject
{
new JProperty("Round", NumberToChinese(record.Round.Value)+"面\n"+ record.InterviewTime),
new JProperty("Interviewer", staff?.StaffName),
};
if (evaluate != null)
item.Add(new JProperty("EvaluateContent", evaluate.AssessContent));
if (pass != null)
{
if (pass.AssessContent == "1")
item.Add(new JProperty("PassLabel", "通过"));
else
item.Add(new JProperty("PassLabel", "不通过"));
}
columns.Add(item);
}
obj.InterviewRecord = columns;
}
return ServiceResult<dynamic>.OprateSuccess("查询成功", obj);
}
#endregion
} }

@ -288,7 +288,10 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
var tags = await _ghrh_ResumeTagServices.QueryDto(x => tagIds.Contains(x.Id)); var tags = await _ghrh_ResumeTagServices.QueryDto(x => tagIds.Contains(x.Id));
#region 查询审批流程状态 #region 查询审批流程状态
var config = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Custom_Offer_Apply").FirstAsync(); //【面试过程 - 已面试 - 发起录用审批】配置按钮
var offerApplyConfig = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Custom_Offer_Apply").FirstAsync();
//【简历库-录用-已发offer】配置按钮
var sendOfferConfig = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Custom_Transfer_Staff").FirstAsync();
#endregion #endregion
list.ForEach(async x => list.ForEach(async x =>
@ -341,7 +344,12 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
else if (x.Status == DIC_INTERVIEW_ORDER_STATUS.HasInterview && x.IsPass == true) else if (x.Status == DIC_INTERVIEW_ORDER_STATUS.HasInterview && x.IsPass == true)
{ {
//x.InterviewResult = "推荐中"; //x.InterviewResult = "推荐中";
x.OfferApplyType = config?.ConfigValue ?? "System"; x.OfferApplyType = offerApplyConfig?.ConfigValue ?? "System";
}
if (x.Status == DIC_INTERVIEW_ORDER_STATUS.HasSendOffer)
{
//x.InterviewResult = "推荐中";
x.TransferStaffType = sendOfferConfig?.ConfigValue ?? "System";
} }
x.InterviewTime1 = order.InterviewTime; x.InterviewTime1 = order.InterviewTime;
@ -2008,6 +2016,9 @@ END";
if (entity == null) if (entity == null)
return ServiceResult.OprateFailed("无效的简历ID!"); return ServiceResult.OprateFailed("无效的简历ID!");
//【简历库-录用-已发offer】配置按钮
var sendOfferConfig = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Custom_Transfer_Staff").FirstAsync();
//if (entity.Status != DIC_INTERVIEW_ORDER_STATUS.HasSendOffer) //if (entity.Status != DIC_INTERVIEW_ORDER_STATUS.HasSendOffer)
// return ServiceResult.OprateFailed("非【已发offer】状态下简历不可发送提醒!"); // return ServiceResult.OprateFailed("非【已发offer】状态下简历不可发送提醒!");
@ -2021,6 +2032,12 @@ END";
order.Status = DIC_INTERVIEW_ORDER_STATUS.HasOffer; order.Status = DIC_INTERVIEW_ORDER_STATUS.HasOffer;
records.ForEach(record => record.Status = DIC_INTERVIEW_ORDER_STATUS.HasOffer); records.ForEach(record => record.Status = DIC_INTERVIEW_ORDER_STATUS.HasOffer);
} }
else
{
entity.Status = DIC_INTERVIEW_ORDER_STATUS.HasSendOffer;
order.Status = DIC_INTERVIEW_ORDER_STATUS.HasSendOffer;
records.ForEach(record => record.Status = DIC_INTERVIEW_ORDER_STATUS.HasSendOffer);
}
await Update(entity, ["Status"]); await Update(entity, ["Status"]);
await _ghrh_InterviewOrderServices.Update(order, ["Status"]); await _ghrh_InterviewOrderServices.Update(order, ["Status"]);

@ -25152,6 +25152,11 @@
审批类型,线上审批or不走审批 审批类型,线上审批or不走审批
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeDto.TransferStaffType">
<summary>
已报到转入人事资料类型,Fast,快速入职;Normal,正常入职
</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)

@ -1285,6 +1285,13 @@
录用审批单(Controller) 录用审批单(Controller)
</summary> </summary>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_OfferApplyOrderController.QueryResume(System.Int64)">
<summary>
查询简历
</summary>
<param name="id">简历ID</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrh_OfferApplyOrderSalaryController"> <member name="T:Tiobon.Core.Api.Controllers.Ghrh_OfferApplyOrderSalaryController">
<summary> <summary>
录用审批单薪资(Controller) 录用审批单薪资(Controller)

Loading…
Cancel
Save