推荐记录表

master
xiaochanghai 6 months ago
parent 7be2c47d32
commit ed17c3a24f
  1. 1300
      Model/Tiobon.Web.pdm
  2. 45
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 40
      Tiobon.Core.Model/View/Ghrh/Ghrh_InterviewOrder.Dto.View.cs
  4. 2
      Tiobon.Core.Services/CommonServices.cs
  5. 81
      Tiobon.Core.Services/Ghrh/Ghrh_InterviewOrderServices.cs
  6. 1
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
  7. 45
      Tiobon.Core/Tiobon.Core.Model.xml

File diff suppressed because it is too large Load Diff

@ -27997,6 +27997,51 @@
面试地点 面试地点
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.StaffName">
<summary>
候选人姓名
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.CertificateType">
<summary>
证照类型
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.IdCardNo">
<summary>
身份证号
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.Tag">
<summary>
标签
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.TitleName">
<summary>
应聘岗位
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.Gender">
<summary>
性别
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.Age">
<summary>
年龄
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.EduDegree">
<summary>
学历
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.StatusLabel">
<summary>
状态
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrh_InterviewRecordDto"> <member name="T:Tiobon.Core.Model.Models.Ghrh_InterviewRecordDto">
<summary> <summary>
面试记录(Dto.View1) 面试记录(Dto.View1)

@ -46,4 +46,44 @@ public class Ghrh_InterviewOrderDto : Ghrh_InterviewOrder
/// 面试地点 /// 面试地点
/// </summary> /// </summary>
public string InterviewAddress { get; set; } public string InterviewAddress { get; set; }
/// <summary>
/// 候选人姓名
/// </summary>
public string StaffName { get; set; }
/// <summary>
/// 证照类型
/// </summary>
public string CertificateType { get; set; }
/// <summary>
/// 身份证号
/// </summary>
public string IdCardNo { get; set; }
/// <summary>
/// 标签
/// </summary>
public string Tag { get; set; }
/// <summary>
/// 应聘岗位
/// </summary>
public string TitleName { get; set; }
/// <summary>
/// 性别
/// </summary>
public string Gender { get; set; }
/// <summary>
/// 年龄
/// </summary>
public int Age { get; set; }
/// <summary>
/// 学历
/// </summary>
public string EduDegree { get; set; }
/// <summary>
/// 状态
/// </summary>
public string StatusLabel { get; set; }
} }

@ -1178,6 +1178,8 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
case "F_ManReqMainten": case "F_ManReqMainten":
case "F_ManReqMaintenActive": case "F_ManReqMaintenActive":
case "F_ManReqMaintenDisabled": case "F_ManReqMaintenDisabled":
case "F_InterviewTranscripts":
case "F_RecommendRecordForm":
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "NewYN").FirstOrDefault(); toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "NewYN").FirstOrDefault();
if (toolbar != null) { toolbar.fnKey = "TBD1YN"; } if (toolbar != null) { toolbar.fnKey = "TBD1YN"; }
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "UpdateYN").FirstOrDefault(); toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "UpdateYN").FirstOrDefault();

@ -1,4 +1,7 @@
namespace Tiobon.Core.Services; using Tiobon.Core.IServices;
using static Tiobon.Core.Model.Consts;
namespace Tiobon.Core.Services;
/// <summary> /// <summary>
/// 面试工单 (服务) /// 面试工单 (服务)
@ -55,4 +58,80 @@ public class Ghrh_InterviewOrderServices : BaseServices<Ghrh_InterviewOrder, Ghr
return data; return data;
} }
#region 查询
public override async Task<ServicePageResult<Ghrh_InterviewOrderDto>> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true)
{
var result = await base.QueryFilterPage(filter, condition, null);
var list = result.result.DT_TableDataT1;
var resumeIds = list.Where(x => x.ResumeId != null).Select(x => x.ResumeId).ToList();
var resumes = await Db.Queryable<Ghrh_Resume>().Where(x => resumeIds.Contains(x.Id)).ToListAsync();
var titleIds = resumes.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 tagIds = new List<long>();
resumes.ForEach(x =>
{
if (x.Tags.IsNotEmptyOrNull())
tagIds.AddRange(JsonHelper.JsonToObj<List<long>>(x.Tags));
});
tagIds = tagIds.Distinct().ToList();
var tags = await Db.Queryable<Ghrh_ResumeTag>().Where(x => tagIds.Contains(x.Id)).ToListAsync();
for (int i = 0; i < list.Count; i++)
{
var entity = list[i];
var resume = resumes.Where(x => x.Id == entity.ResumeId).FirstOrDefault();
if (resume != null)
{
entity.StaffName = resume.StaffName;
entity.IdCardNo = resume.IdCardNo;
entity.CertificateType = await GetParaLabel("D51", resume.CertificateType);
entity.EduDegree = await GetParaLabel("EducationalBGLevel", resume.EduDegree);
entity.Gender = await GetParaLabel("Gender", resume.Gender);
if (resume.TitleId != null) entity.TitleName = titles.Where(o => o.TitleID == resume.TitleId).FirstOrDefault()?.TitleName;
if (resume.Tags.IsNotEmptyOrNull())
{
var tagIds1 = JsonHelper.JsonToObj<List<long>>(resume.Tags);
var TagList = tags.Where(o => tagIds1.Contains(o.Id)).Select(o => o.TagName).ToList();
entity.Tag = string.Join(",", TagList);
}
#region 计算年龄
if (resume.Birthday != null && resume.Birthday > DateTime.MinValue)
{
DateTime birthdate = (DateTime)resume.Birthday;
DateTime now = DateTime.Now;
int age = now.Year - birthdate.Year;
if (now.Month < birthdate.Month || (now.Month == birthdate.Month && now.Day < birthdate.Day))
age--;
entity.Age = age;
}
#endregion
switch (entity.Status)
{
case "Fail":
entity.StatusLabel = "不合适";
break;
case "HasRecommended":
entity.StatusLabel = "待预约";
break;
case "Hire":
entity.StatusLabel = "不合适";
break;
default:
entity.StatusLabel = "已约面";
break;
}
}
}
return result;
}
#endregion
} }

@ -3,7 +3,6 @@ using DinkToPdf.Contracts;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Microsoft.VisualBasic;
using System.IO.Compression; using System.IO.Compression;
using static Tiobon.Core.Model.Consts; using static Tiobon.Core.Model.Consts;

@ -27997,6 +27997,51 @@
面试地点 面试地点
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.StaffName">
<summary>
候选人姓名
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.CertificateType">
<summary>
证照类型
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.IdCardNo">
<summary>
身份证号
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.Tag">
<summary>
标签
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.TitleName">
<summary>
应聘岗位
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.Gender">
<summary>
性别
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.Age">
<summary>
年龄
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.EduDegree">
<summary>
学历
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderDto.StatusLabel">
<summary>
状态
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrh_InterviewRecordDto"> <member name="T:Tiobon.Core.Model.Models.Ghrh_InterviewRecordDto">
<summary> <summary>
面试记录(Dto.View1) 面试记录(Dto.View1)

Loading…
Cancel
Save