@ -2103,11 +2103,27 @@ END";
throw new Exception ( $"传入时间【{input.Time}】无效,请检查格式!" ) ;
throw new Exception ( $"传入时间【{input.Time}】无效,请检查格式!" ) ;
}
}
await Db . Updateable < Ghrh_InterviewOrder > ( )
var order = await _ ghrh_InterviewOrderServices . QuerySingle ( x = > x . ResumeId = = id ) ;
if ( order ! = null )
{
var records = await _ ghrh_InterviewRecordServices . Query ( x = > x . Round = = order . Round & & x . OrderId = = order . Id & & x . Status = = DIC_INTERVIEW_ORDER_STATUS . WaitInterview ) ;
if ( records ! = null & & records . Any ( ) )
{
for ( int j = 0 ; j < records . Count ; j + + )
{
records [ j ] . Status = DIC_INTERVIEW_ORDER_STATUS . HasInterview ;
var staff = await Db . Queryable < Ghra_Staff > ( ) . Where ( x = > x . StaffID = = records [ j ] . StaffId ) . FirstAsync ( ) ;
await LogRecord ( order . Id , $"因发起一个新面试,【{staff?.StaffName}({staff?.StaffNo})】未及时提交评估,自动转入【已面试】!" , id , records [ j ] . Id , "TransferWaitSendOffer" ) ;
}
await _ ghrh_InterviewRecordServices . Update ( records , [ "Status" , "UpdateTime" , "UpdateBy" ] ) ;
}
await Db . Updateable < Ghrh_InterviewOrder > ( )
. SetColumns ( it = > it . IsEnable = = 0 )
. SetColumns ( it = > it . IsEnable = = 0 )
. Where ( it = > it . ResumeId = = id )
. Where ( it = > it . ResumeId = = id )
. ExecuteCommandAsync ( ) ;
. ExecuteCommandAsync ( ) ;
}
var interviewIds = input . InterviewStaffs . Select ( o = > o . StaffId . Value ) . ToList ( ) ;
var interviewIds = input . InterviewStaffs . Select ( o = > o . StaffId . Value ) . ToList ( ) ;
var interviewer = await Db . Queryable < Ghra_Staff > ( ) . Where ( o = > interviewIds . Contains ( o . StaffID ) ) . ToListAsync ( ) ;
var interviewer = await Db . Queryable < Ghra_Staff > ( ) . Where ( o = > interviewIds . Contains ( o . StaffID ) ) . ToListAsync ( ) ;
@ -2150,7 +2166,7 @@ END";
} ) ;
} ) ;
}
}
await LogRecord ( orderId , $"向【{string.Join(" 、 ", interviewer.Select(o => o.StaffName))}】发起一个新的面试,面试时间:{input.Time}" , id , null , "ReRecommended" ) ;
await LogRecord ( orderId , $"向【{string.Join(" 、 ", interviewer.Select(o => o.StaffName + $" ( { o . StaffNo } ) " ))}】发起一个新的面试,面试时间:{input.Time}" , id , null , "ReRecommended" ) ;
entity . Status = DIC_INTERVIEW_ORDER_STATUS . WaitInterview ;
entity . Status = DIC_INTERVIEW_ORDER_STATUS . WaitInterview ;
await Update ( entity , [ "Status" , "UpdateTime" , "UpdateBy" ] ) ;
await Update ( entity , [ "Status" , "UpdateTime" , "UpdateBy" ] ) ;
@ -2164,12 +2180,26 @@ END";
if ( order ! = null )
if ( order ! = null )
{
{
var records = await _ ghrh_InterviewRecordServices . Query ( x = > x . Round = = order . Round & & x . OrderId = = order . Id & & x . Status = = DIC_INTERVIEW_ORDER_STATUS . WaitInterview ) ;
if ( records ! = null & & records . Any ( ) )
{
for ( int j = 0 ; j < records . Count ; j + + )
{
records [ j ] . Status = DIC_INTERVIEW_ORDER_STATUS . HasInterview ;
var staff = await Db . Queryable < Ghra_Staff > ( ) . Where ( x = > x . StaffID = = records [ j ] . StaffId ) . FirstAsync ( ) ;
await LogRecord ( order . Id , $"因发起一个新一轮面试,【{staff?.StaffName}({staff?.StaffNo})】未及时提交评估,自动转入【已面试】!" , id , records [ j ] . Id , "TransferWaitSendOffer" ) ;
}
await _ ghrh_InterviewRecordServices . Update ( records , [ "Status" , "UpdateTime" , "UpdateBy" ] ) ;
}
order . Round + + ;
order . Round + + ;
order . Status = DIC_INTERVIEW_ORDER_STATUS . HasRecommended ;
order . Status = DIC_INTERVIEW_ORDER_STATUS . WaitInterview ;
await _ ghrh_InterviewOrderServices . Update ( order , [ "Status" , "Round" ] ) ;
await _ ghrh_InterviewOrderServices . Update ( order , [ "Status" , "Round" ] ) ;
entity . Status = DIC_INTERVIEW_ORDER_STATUS . HasRecommended ;
entity . Status = DIC_INTERVIEW_ORDER_STATUS . WaitInterview ;
await Update ( entity , [ "Status" , "UpdateTime" , "UpdateBy" ] ) ;
await Update ( entity , [ "Status" , "UpdateTime" , "UpdateBy" ] ) ;
for ( int i = 0 ; i < input . InterviewStaffs . Count ; i + + )
for ( int i = 0 ; i < input . InterviewStaffs . Count ; i + + )
@ -2177,7 +2207,7 @@ END";
{
{
OrderId = order . Id ,
OrderId = order . Id ,
Round = order . Round ,
Round = order . Round ,
Status = DIC_INTERVIEW_ORDER_STATUS . HasRecommended ,
Status = DIC_INTERVIEW_ORDER_STATUS . WaitInterview ,
Email = input . InterviewStaffs [ i ] . Email ,
Email = input . InterviewStaffs [ i ] . Email ,
StaffId = input . InterviewStaffs [ i ] . StaffId ,
StaffId = input . InterviewStaffs [ i ] . StaffId ,
IsPrimary = i = = 0 ? true : false
IsPrimary = i = = 0 ? true : false
@ -2185,7 +2215,7 @@ END";
var interviewIds = input . InterviewStaffs . Select ( o = > o . StaffId . Value ) . ToList ( ) ;
var interviewIds = input . InterviewStaffs . Select ( o = > o . StaffId . Value ) . ToList ( ) ;
var interviewer = await Db . Queryable < Ghra_Staff > ( ) . Where ( o = > interviewIds . Contains ( o . StaffID ) ) . ToListAsync ( ) ;
var interviewer = await Db . Queryable < Ghra_Staff > ( ) . Where ( o = > interviewIds . Contains ( o . StaffID ) ) . ToListAsync ( ) ;
await LogRecord ( order . Id , $"向【{string.Join(" 、 ", interviewer.Select(o => o.StaffName))}】发起一个新一轮面试,面试时间:{input.Time}" , id , null , "ReScheduleInterview" ) ;
await LogRecord ( order . Id , $"向【{string.Join(" 、 ", interviewer.Select(o => o.StaffName + $" ( { o . StaffNo } ) " ))}】发起一个新一轮面试,面试时间:{input.Time}" , id , null , "ReScheduleInterview" ) ;
if ( input . InterviewStaffs . IsNotEmptyOrNull ( ) )
if ( input . InterviewStaffs . IsNotEmptyOrNull ( ) )
await SendMessage ( input . InterviewStaffs . Select ( x = > x . StaffId . Value ) . ToList ( ) , "简历提醒" , "您有个新的推荐简历,请及时查看!" , "/M_ESS_Recruit/F_ESS_Candidate" ) ;
await SendMessage ( input . InterviewStaffs . Select ( x = > x . StaffId . Value ) . ToList ( ) , "简历提醒" , "您有个新的推荐简历,请及时查看!" , "/M_ESS_Recruit/F_ESS_Candidate" ) ;
@ -2546,7 +2576,7 @@ END";
OrderNo = await GenerateContinuousSequence ( "Ghrh_InterviewOrder" , "OrderNo" , "V" ) ,
OrderNo = await GenerateContinuousSequence ( "Ghrh_InterviewOrder" , "OrderNo" , "V" ) ,
Status = DIC_INTERVIEW_ORDER_STATUS . WaitSendOffer ,
Status = DIC_INTERVIEW_ORDER_STATUS . WaitSendOffer ,
} ) ;
} ) ;
await _ ghrh_InterviewOrderServices . QuerySingle ( x = > x . ResumeId = = id ) ;
order = await _ ghrh_InterviewOrderServices . QuerySingle ( x = > x . ResumeId = = id ) ;
}
}
if ( order ! = null )
if ( order ! = null )
@ -2554,6 +2584,18 @@ END";
await UpdateInterviewOrderStatus ( order , DIC_INTERVIEW_ORDER_STATUS . WaitSendOffer ) ;
await UpdateInterviewOrderStatus ( order , DIC_INTERVIEW_ORDER_STATUS . WaitSendOffer ) ;
//await UpdateInterviewRecordStatus(order, DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer);
//await UpdateInterviewRecordStatus(order, DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer);
var records = await _ ghrh_InterviewRecordServices . Query ( x = > x . Round = = order . Round & & x . OrderId = = order . Id & & x . Status = = DIC_INTERVIEW_ORDER_STATUS . WaitInterview ) ;
for ( int j = 0 ; j < records . Count ; j + + )
{
records [ j ] . Status = DIC_INTERVIEW_ORDER_STATUS . HasInterview ;
var staff = await Db . Queryable < Ghra_Staff > ( ) . Where ( x = > x . StaffID = = records [ j ] . StaffId ) . FirstAsync ( ) ;
await LogRecord ( order . Id , $"因状态转入待发Offer,【{staff?.StaffName}({staff?.StaffNo})】未及时提交评估,自动转入【已面试】!" , id , records [ j ] . Id , "TransferWaitSendOffer" ) ;
}
await _ ghrh_InterviewRecordServices . Update ( records , [ "Status" , "UpdateTime" , "UpdateBy" ] ) ;
await LogRecord ( order . Id , "转入待发Offer!" , id , null , "TransferWaitSendOffer" ) ;
await LogRecord ( order . Id , "转入待发Offer!" , id , null , "TransferWaitSendOffer" ) ;
}
}
}
}
@ -2707,13 +2749,19 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1
break ;
break ;
case "WaitInterview" :
case "WaitInterview" :
if ( jsonParam . columnValue . ObjToInt ( ) = = 1 )
if ( jsonParam . columnValue . ObjToInt ( ) = = 1 )
sql + = $" AND B.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitInterview}'" ;
{
sql + = $" AND C.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitInterview}'" ;
//sql += $" AND B.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitInterview}'";
//sql += $" AND (B.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasInterview}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.InterviewFail}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasSendOffer}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasOffer}')";
}
break ;
break ;
case "HasInterview" :
case "HasInterview" :
if ( jsonParam . columnValue . ObjToInt ( ) = = 1 )
if ( jsonParam . columnValue . ObjToInt ( ) = = 1 )
{
{
sql + = $" AND (B.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasInterview}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.InterviewFail}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasSendOffer}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasOffer}')" ;
sql + = $" AND C.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasInterview}'" ;
sql + = $" AND (C.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitInterview}' OR C.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasInterview}' OR C.Status = '{DIC_INTERVIEW_ORDER_STATUS.InterviewFail}')" ;
//sql += $" AND (B.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasInterview}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.InterviewFail}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasSendOffer}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasOffer}')";
//sql += $" AND (C.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitInterview}' OR C.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasInterview}' OR C.Status = '{DIC_INTERVIEW_ORDER_STATUS.InterviewFail}')";
}
}
break ;
break ;
case "WaitSendOffer" :
case "WaitSendOffer" :