From e6e35db5630afeb8527b9f5b3db82306b7ba905d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=BC=9F?= <250213850@qq.com> Date: Wed, 21 Sep 2022 14:39:37 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=81=8C=E4=BD=8D=E6=A8=A1=E7=B3=8A=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/api_v1/endpoints/interview.py | 32 ++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/api/api_v1/endpoints/interview.py b/api/api_v1/endpoints/interview.py index 2d2d25e..d699b0f 100644 --- a/api/api_v1/endpoints/interview.py +++ b/api/api_v1/endpoints/interview.py @@ -337,7 +337,8 @@ async def interview_waite_in_find( async def interview_update( request: Request, interview: InterviewDo = Depends(InterviewDo), - db: CKDrive = Depends(get_ck_db), + ckdb: CKDrive = Depends(get_ck_db), + db: AsyncIOMotorDatabase = Depends(get_database), current_user: schemas.UserDB = Depends(deps.get_current_user) ) -> schemas.Msg: """ interview面试数据更新 """ @@ -345,7 +346,31 @@ async def interview_update( res = interview.update_interview_sql() sql = res['sql'] # try: - data = await db.execute(sql) + inte_stage=interview.data_in.get('interview_stage',0) # 修改的简历阶段 + if inte_stage == 1: # 人才推荐进入初筛时分配面试官和HR + job=await crud.jobs.find_job(db,interview.data_in.get('job_id')) + #面试官 + if job.get('interview'): + nickname=[] + user_id=[] + for i in job.get('interview'): + nickname.append(i['nickname']) + user_id.append(i['user_id']) + nicknames=','.join(nickname) + user_ids=','.join(user_id) + sql = sql.replace('interview_stage = 1 ,',f"interview_stage = 1 ,interview_name = '{nicknames}',interview_id = '{user_ids}',", 1) + #hr + if job.get('patronn'): + nickname1=[] + user_id1=[] + for i in job.get('patronn'): + nickname1.append(i['nickname']) + user_id1.append(i['user_id']) + nicknames1=','.join(nickname1) + user_ids1=','.join(user_id1) + sql=sql.replace('interview_stage = 1 ,',f"interview_stage = 1 ,hr_name = '{nicknames1}',hr_id = '{user_ids1}',",1) + data = await ckdb.execute(sql) + print(sql) # except: # return schemas.Msg(code=-9, msg='数据有误', data=None) interviews = int(interview.data.get('interview_stage', '0')) # 简历阶段 @@ -353,7 +378,7 @@ async def interview_update( send_sql = f""" select interview_id,name,job_names from HR.resumes where uid = '{interview.where.get('uid')}' limit 1 """ - interview_id = await db.execute(send_sql) + interview_id = await ckdb.execute(send_sql) userid_list = interview_id[0]['interview_id'].split(',') interview_stage = interview_stage_dict[interviews] # 映射简历阶段 why = pass_why_dict[interview.data_in.get('pass_why')] # 映射淘汰原因 @@ -2336,3 +2361,4 @@ async def hint( res.append(i) data = sorted(res, key=operator.itemgetter('times')) return schemas.Msg(code=200, msg='ok', data=data) +