|
|
|
@ -1,4 +1,7 @@ |
|
|
|
|
namespace Tiobon.Core.Services; |
|
|
|
|
using System.Threading.Channels; |
|
|
|
|
using Tiobon.Core.IServices; |
|
|
|
|
|
|
|
|
|
namespace Tiobon.Core.Services; |
|
|
|
|
|
|
|
|
|
/// <summary> |
|
|
|
|
/// 录用审批单 (服务) |
|
|
|
@ -112,7 +115,7 @@ public class Ghrh_OfferApplyOrderServices : BaseServices<Ghrh_OfferApplyOrder, G |
|
|
|
|
#region 写入数据,并判断是否有错误 |
|
|
|
|
var sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghrh_OfferApplyOrder WHERE Id !='{id}'"; |
|
|
|
|
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); |
|
|
|
|
id = id1; |
|
|
|
|
#endregion |
|
|
|
@ -160,4 +163,80 @@ public class Ghrh_OfferApplyOrderServices : BaseServices<Ghrh_OfferApplyOrder, G |
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
} |