|
|
|
@ -2450,7 +2450,7 @@ A.DataType, A.ColumnType, A.IsRequired, A.DataSourceType, A.DataSource, A.DataSo |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region 处理人力需求单 录用人数 |
|
|
|
|
if (order.RequestId.IsNotEmptyOrNull() ) |
|
|
|
|
if (order.RequestId.IsNotEmptyOrNull()) |
|
|
|
|
{ |
|
|
|
|
var sql = $@"UPDATE Ghrh_HumanRequest
|
|
|
|
|
SET OfferCount = ISNULL (OfferCount, 0) + 1 |
|
|
|
@ -3161,19 +3161,58 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 |
|
|
|
|
#region 回收站中的简历30天后自动删除 |
|
|
|
|
public async Task<ServiceResult> OverTimeDeleteResume() |
|
|
|
|
{ |
|
|
|
|
var dt = Db.GetDate().AddDays(-30); |
|
|
|
|
int day = 30; |
|
|
|
|
|
|
|
|
|
var list = await base.Query(x => x.Status == "Recycled" && x.RecycledTime <= dt); |
|
|
|
|
var config = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "Recruit_Over_Time_Delete_Resume").FirstAsync(); |
|
|
|
|
if (config != null) |
|
|
|
|
day = config.ConfigValue.ObjToInt(); |
|
|
|
|
|
|
|
|
|
var dt = Db.GetDate().AddDays(-day); |
|
|
|
|
|
|
|
|
|
var list = await base.Query(x => x.Status == DIC_INTERVIEW_ORDER_STATUS.Recycled && x.RecycledTime <= dt); |
|
|
|
|
var ids = list.Select(x => x.Id).ToList(); |
|
|
|
|
if (ids.Any()) |
|
|
|
|
await Db.Updateable<Ghrh_Resume>() |
|
|
|
|
.SetColumns(it => new Ghrh_Resume() |
|
|
|
|
{ |
|
|
|
|
IsEnable = 0 |
|
|
|
|
}, true) |
|
|
|
|
.Where(it => ids.Contains(it.Id)) |
|
|
|
|
.ExecuteCommandAsync(); |
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region 面试超时逾期 |
|
|
|
|
public async Task<ServiceResult> InterviewOrderOverTime() |
|
|
|
|
{ |
|
|
|
|
int day = 3; |
|
|
|
|
|
|
|
|
|
var config = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "Recruit_Interview_Order_Over_Time").FirstAsync(); |
|
|
|
|
if (config != null) |
|
|
|
|
day = config.ConfigValue.ObjToInt(); |
|
|
|
|
|
|
|
|
|
var dt = Db.GetDate().AddDays(-day); |
|
|
|
|
|
|
|
|
|
var list = await Db.Queryable<Ghrh_InterviewOrder>().Where(x => x.Status == DIC_INTERVIEW_ORDER_STATUS.HasRecommended && x.RecommendTime <= dt).ToListAsync(); |
|
|
|
|
var ids = list.Select(x => x.Id).ToList(); |
|
|
|
|
var resumeIds = list.Select(x => x.ResumeId).ToList(); |
|
|
|
|
if (ids.Any()) |
|
|
|
|
await Db.Updateable<Ghrh_InterviewOrder>() |
|
|
|
|
.SetColumns(it => new Ghrh_InterviewOrder() |
|
|
|
|
{ |
|
|
|
|
Status = DIC_INTERVIEW_ORDER_STATUS.Expire |
|
|
|
|
}, true) |
|
|
|
|
.Where(it => ids.Contains(it.Id)) |
|
|
|
|
.ExecuteCommandAsync(); |
|
|
|
|
if (resumeIds.Any()) |
|
|
|
|
await Db.Updateable<Ghrh_Resume>() |
|
|
|
|
.SetColumns(it => new Ghrh_Resume() |
|
|
|
|
{ |
|
|
|
|
IsEnable = 0, |
|
|
|
|
UpdateBy = App.User.ID, |
|
|
|
|
UpdateTime = DateTime.Now, |
|
|
|
|
}) |
|
|
|
|
.Where(it => ids.Contains(it.Id)).ExecuteCommandAsync(); |
|
|
|
|
Status = DIC_INTERVIEW_ORDER_STATUS.Expire |
|
|
|
|
}, true) |
|
|
|
|
.Where(it => resumeIds.Contains(it.Id)) |
|
|
|
|
.ExecuteCommandAsync(); |
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
@ -5012,7 +5051,7 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 |
|
|
|
|
var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); |
|
|
|
|
if (order.RequestId.IsNotEmptyOrNull()) |
|
|
|
|
{ |
|
|
|
|
sql = $@"UPDATE Ghrh_HumanRequest
|
|
|
|
|
sql = $@"UPDATE Ghrh_HumanRequest
|
|
|
|
|
SET CheckInCount = ISNULL (CheckInCount, 0) + 1 |
|
|
|
|
WHERE Id = {order.RequestId}";
|
|
|
|
|
await Db.Ado.ExecuteCommandAsync(sql); |
|
|
|
|