简历查看页面接口开发

master
xiaochanghai 6 months ago
parent 7409fe365b
commit 4c32357f09
  1. 10
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  2. 10
      Tiobon.Core.Model/ViewModels/Extend/ResumeViewTab.cs
  3. 20
      Tiobon.Core.Services/Ghrh/Ghrh_OfferApplyOrderServices.cs
  4. 39
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
  5. 15
      Tiobon.Core.Services/Ghrh/Ghrh_YearHumanSettingsServices.cs

@ -29432,6 +29432,16 @@
人力需求单Id 人力需求单Id
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeLogItem.FlowSignID">
<summary>
FlowSignID
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeLogItem.WorkId">
<summary>
workId
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeLogItem.Attachments"> <member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeLogItem.Attachments">
<summary> <summary>
附件 附件

@ -365,6 +365,16 @@ public class ResumeLogItem
/// </summary> /// </summary>
public long? RequestId { get; set; } public long? RequestId { get; set; }
/// <summary>
/// FlowSignID
/// </summary>
public long? FlowSignID { get; set; }
/// <summary>
/// workId
/// </summary>
public long? WorkId { get; set; }
/// <summary> /// <summary>
/// 附件 /// 附件
/// </summary> /// </summary>

@ -1,4 +1,6 @@
namespace Tiobon.Core.Services; using Tiobon.Core.IServices;
namespace Tiobon.Core.Services;
/// <summary> /// <summary>
/// 录用审批单 (服务) /// 录用审批单 (服务)
@ -150,6 +152,22 @@ public class Ghrh_OfferApplyOrderServices : BaseServices<Ghrh_OfferApplyOrder, G
if (message.IsNotEmptyOrNull()) if (message.IsNotEmptyOrNull())
throw new Exception(message); throw new Exception(message);
var order = await Db.Queryable<Ghrh_InterviewOrder>().FirstAsync(x => x.ResumeId == entity.ResumeId);
var dict = new Dictionary<string, object>
{
{ "Id", SnowFlakeSingle.Instance.NextId() },
{ "CreateBy", App.User.ID },
{ "CreateTime", DateTime.Now },
{ "InterviewOrderId", order.Id },
{ "ResumeId", entity.ResumeId },
{ "Source", "ApplyOffer" },
{ "UserId", App.User.ID },
{ "UserName", App.User.Name },
{ "RemarkSz", "发起录用审批!" },
{ "ReverseI2", id }
};
await Db.Insertable(dict).AS("Ghrh_InterviewLog").ExecuteCommandAsync();
#endregion #endregion
return id; return id;

@ -2368,7 +2368,7 @@ END";
} }
#endregion #endregion
#region 发起录用审批 #region 发起录用审批-作废
public async Task<ServiceResult> ApplyOfferApproval(List<long> ids) public async Task<ServiceResult> ApplyOfferApproval(List<long> ids)
{ {
for (int i = 0; i < ids.Count; i++) for (int i = 0; i < ids.Count; i++)
@ -2951,10 +2951,11 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status";
var order = new Ghrh_InterviewOrder(); var order = new Ghrh_InterviewOrder();
if (orderId is null) if (orderId is null)
{ {
order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id);
if (order == null) if (order == null)
return ServiceResult<dynamic>.OprateFailed("无效的简历ID!"); return ServiceResult<dynamic>.OprateFailed("无效的简历ID!");
orderId = order.Id;
} }
else else
order = await Db.Ado.SqlQuerySingleAsync<Ghrh_InterviewOrder>($"SELECT * from Ghrh_InterviewOrder where Id={orderId} "); order = await Db.Ado.SqlQuerySingleAsync<Ghrh_InterviewOrder>($"SELECT * from Ghrh_InterviewOrder where Id={orderId} ");
@ -3360,7 +3361,7 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status";
await UpdateResumeStatus(entity, Status); await UpdateResumeStatus(entity, Status);
await LogRecord(order.Id, $"提交了面试评估,轮数:{order.Round},是否通过:{(isPass == true ? "" : "")},内容:{evaluateContent}!", id, null, "AssessInterview"); await LogRecord(order.Id, $"提交了面试评估,轮数:{order.Round},是否通过:{(isPass == true ? "" : "")},内容:{evaluateContent}!", id, null, "TempAssessInterview");
} }
else else
await LogRecord(order.Id, $"暂存了面试评估,轮数:{order.Round},是否通过:{(isPass == true ? "" : "")},内容:{evaluateContent}!", id, null, "AssessInterview"); await LogRecord(order.Id, $"暂存了面试评估,轮数:{order.Round},是否通过:{(isPass == true ? "" : "")},内容:{evaluateContent}!", id, null, "AssessInterview");
@ -3553,28 +3554,40 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status";
var interviewLog = interviewLogs[j]; var interviewLog = interviewLogs[j];
var attachments = new List<Ghrs_Attachment>(); var attachments = new List<Ghrs_Attachment>();
var item = new ResumeLogItem()
{
Time = interviewLog.CreateTime,
Operator = interviewLog.UserName,
Content = interviewLog.RemarkSz,
Source = interviewLog.Source,
Attachments = attachments,
};
switch (interviewLog.Source) switch (interviewLog.Source)
{ {
case "Recommended": case "Recommended":
attachments = await Db.Queryable<Ghrs_Attachment>().Where(x => x.TableName == interviewLog.InterviewOrderId.ObjToString()).ToListAsync(); attachments = await Db.Queryable<Ghrs_Attachment>().Where(x => x.TableName == interviewLog.InterviewOrderId.ObjToString()).ToListAsync();
item.RequestId = interviewLog.Source == "Recommended" ? orders[i].RequestId : null;
break; break;
case "ScheduleInterview": case "ScheduleInterview":
attachments = await Db.Queryable<Ghrs_Attachment>().Where(x => x.TableName == interviewLog.InterviewRecordId.ObjToString()).ToListAsync(); attachments = await Db.Queryable<Ghrs_Attachment>().Where(x => x.TableName == interviewLog.InterviewRecordId.ObjToString()).ToListAsync();
break;
case "ApplyOffer":
if (interviewLog.ReverseI2 != null && interviewLog.ReverseI2 != 0)
{
var order = await Db.Queryable<Ghrh_OfferApplyOrder>().FirstAsync(x => x.Id == interviewLog.ReverseI2);
if (order != null)
{
item.WorkId = order.WorkID;
item.FlowSignID = await Db.Ado.GetIntAsync($"Select FlowSignID from Ghrw_FlowSign where WorkID ={order.WorkID} and IsBegin=1");
}
}
break; break;
default: default:
break; break;
} }
items.Add(new ResumeLogItem() items.Add(item);
{
Time = interviewLog.CreateTime,
Operator = interviewLog.UserName,
Content = interviewLog.RemarkSz,
Source = interviewLog.Source,
Attachments = attachments,
RequestId = interviewLog.Source == "Recommended" ? orders[i].RequestId : null
});
} }
logs.Add(new ResumeLog() logs.Add(new ResumeLog()
{ {

@ -20,6 +20,17 @@ public class Ghrh_YearHumanSettingsServices : BaseServices<Ghrh_YearHumanSetting
_commonServices = commonServices; _commonServices = commonServices;
} }
public override async Task<long> Add(InsertGhrh_YearHumanSettingsInput entity)
{
entity.WorkState = 1;
var result = await base.Add(entity);
return result;
}
public override async Task<ServicePageResult<Ghrh_YearHumanSettingsDto>> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true) public override async Task<ServicePageResult<Ghrh_YearHumanSettingsDto>> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true)
{ {
var result = await base.QueryFilterPage(filter, "WorkState = 1", IsEnable); var result = await base.QueryFilterPage(filter, "WorkState = 1", IsEnable);
@ -118,8 +129,8 @@ public class Ghrh_YearHumanSettingsServices : BaseServices<Ghrh_YearHumanSetting
if (x.GroupName == "预算编制数") if (x.GroupName == "预算编制数")
{ {
int month = x.field.Replace("M", null).Replace("F", null).ObjToInt(); int month = x.field.Replace("M", null).Replace("_F", null).ObjToInt();
x.label = year + "-" + x.field.Replace("M", null).Replace("F", null); x.label = year + "-" + x.field.Replace("M", null).Replace("_F", null);
if (month == 12) if (month == 12)
year++; year++;
} }

Loading…
Cancel
Save