【简历面试记录表】

【简历推荐记录表】
master
xiaochanghai 6 months ago
parent d8b60c605b
commit 1f5830f81f
  1. 3
      Tiobon.Core.Model/View/Ghrh/Ghrh_InterviewOrder.Dto.View.cs
  2. 115
      Tiobon.Core.Services/Ghrh/Ghrh_InterviewOrderServices.cs
  3. 5
      Tiobon.Core.Services/Ghrh/Ghrh_InterviewRecordServices.cs

@ -91,5 +91,6 @@ public class Ghrh_InterviewOrderDto : Ghrh_InterviewOrder
/// 需求单号
/// </summary>
public string RequestNo { get; set; }
public DateTime? Birthday { get; set; }
}

@ -1,4 +1,6 @@
namespace Tiobon.Core.Services;
using MySqlX.XDevAPI.Common;
namespace Tiobon.Core.Services;
/// <summary>
/// 面试工单 (服务)
@ -67,18 +69,10 @@ public class Ghrh_InterviewOrderServices : BaseServices<Ghrh_InterviewOrder, Ghr
Type entityType = typeof(Ghrh_InterviewOrder);
var countSql = @$" SELECT COUNT(1) FROM {entityType.GetEntityTableName()}";
var countSql = @$" SELECT COUNT(1) FROM Ghrh_InterviewOrder_V";
var sql1 = @$"DECLARE @langId INT = {filter.langId};";
var sql = @$" SELECT *,
ISNULL ((SELECT CASE WHEN @langId = 1 THEN UserName ELSE UserEname END
FROM Ghrs_User B
WHERE B.UserId = A.CreateBy),
'') CreateDataInfo,
ISNULL ((SELECT CASE WHEN @langId = 1 THEN UserName ELSE UserEname END
FROM Ghrs_User B
WHERE B.UserId = A.UpdateBy),
'') UpdateDataInfo, ISNULL(A.UpdateTime, A.CreateTime) CreateTime1
FROM {entityType.GetEntityTableName()} A";
var sql = @$" SELECT *
FROM Ghrh_InterviewOrder_V A";
string conditions = " WHERE 1=1 ";
@ -97,7 +91,7 @@ public class Ghrh_InterviewOrderServices : BaseServices<Ghrh_InterviewOrder, Ghr
{
var name = jProperty.Name;
var value = jProperty.Value.ToString();
if (name == "page" || name == "pageSize" )
if (name == "page" || name == "pageSize")
continue;
if (!string.IsNullOrWhiteSpace(value))
conditions = DealConditions(conditions, name, value);
@ -117,79 +111,58 @@ public class Ghrh_InterviewOrderServices : BaseServices<Ghrh_InterviewOrder, Ghr
var result = new ServicePageResult<Ghrh_InterviewOrderDto>(filter.pageNum, total, filter.pageSize, entitys);
var list = result.result.DT_TableDataT1;
var resumeIds = list.Where(x => x.ResumeId != null).Select(x => x.ResumeId).ToList();
var requestIds = list.Where(x => x.RequestId != null).Select(x => x.RequestId).ToList();
var resumes = await Db.Queryable<Ghrh_Resume>().Where(x => resumeIds.Contains(x.Id)).ToListAsync();
var requests = await Db.Queryable<Ghrh_HumanRequest>().Where(x => requestIds.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 =>
list.ForEach(x =>
{
if (x.Tags.IsNotEmptyOrNull())
tagIds.AddRange(JsonHelper.JsonToObj<List<long>>(x.Tags));
if (x.Tag.IsNotEmptyOrNull())
tagIds.AddRange(JsonHelper.JsonToObj<List<long>>(x.Tag));
});
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);
}
var entity = list[i];
entity.CertificateType = await GetParaLabel("D51", entity.CertificateType);
entity.EduDegree = await GetParaLabel("EducationalBGLevel", entity.EduDegree);
entity.Gender = await GetParaLabel("Gender", entity.Gender);
#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
if (entity.Tag.IsNotEmptyOrNull())
{
var tagIds1 = JsonHelper.JsonToObj<List<long>>(entity.Tag);
switch (entity.Status)
{
case "Fail":
entity.StatusLabel = "不合适";
break;
case "HasRecommended":
entity.StatusLabel = "待预约";
break;
case "Hire":
entity.StatusLabel = "不合适";
break;
default:
entity.StatusLabel = "已约面";
break;
}
var TagList = tags.Where(o => tagIds1.Contains(o.Id)).Select(o => o.TagName).ToList();
entity.Tag = string.Join(",", TagList);
}
if (entity.RequestId != null)
#region 计算年龄
if (entity.Birthday != null && entity.Birthday > DateTime.MinValue)
{
var request = requests.Where(x => x.Id == entity.RequestId).FirstOrDefault();
entity.RequestNo = request.RequestNo;
DateTime birthdate = (DateTime)entity.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;
}
if (entity.IdCardNo.IsNotEmptyOrNull())
{
int length = entity.IdCardNo.Length;

@ -157,7 +157,10 @@ public class Ghrh_InterviewRecordServices : BaseServices<Ghrh_InterviewRecord, G
entity.CertificateType = await GetParaLabel("D51", entity.CertificateType);
entity.EduDegree = await GetParaLabel("EducationalBGLevel", entity.EduDegree);
entity.Gender = await GetParaLabel("Gender", entity.Gender);
entity.InterviewResult = entity.IsPass == true ? "面试通过" : "面试不通过";
if (entity.IsPass == true)
entity.InterviewResult = "面试通过";
else if (entity.IsPass == false)
entity.InterviewResult = "面试不通过";
}
return result;

Loading…
Cancel
Save