1.获取人才库数据
This commit is contained in:
parent
6247661e14
commit
89667d16a0
@ -403,12 +403,15 @@ async def interview_update(
|
|||||||
user_ids1 = ','.join(user_id1)
|
user_ids1 = ','.join(user_id1)
|
||||||
sql = sql.replace('interview_stage = 1 ,',
|
sql = sql.replace('interview_stage = 1 ,',
|
||||||
f"interview_stage = 1 ,hr_name = '{nicknames1}',hr_id = '{user_ids1}',", 1)
|
f"interview_stage = 1 ,hr_name = '{nicknames1}',hr_id = '{user_ids1}',", 1)
|
||||||
|
interviews = int(interview.data.get('interview_stage', '0')) # 当前简历阶段
|
||||||
|
if interview.data_in.get('interview_stage', '') == 11: # 当是淘汰时则把淘汰的时间,阶段等都记录下来
|
||||||
|
now = str(datetime.datetime.now()).split('.')[0]
|
||||||
|
sql = sql.replace("interview_stage = 11", f"interview_stage = 11,ago={interviews},pass_time='{now}'")
|
||||||
data = await ckdb.execute(sql)
|
data = await ckdb.execute(sql)
|
||||||
print(sql)
|
print(sql)
|
||||||
# except:
|
# except:
|
||||||
# return schemas.Msg(code=-9, msg='数据有误', data=None)
|
# return schemas.Msg(code=-9, msg='数据有误', data=None)
|
||||||
interviews = int(interview.data.get('interview_stage', '0')) # 简历阶段
|
if interview.data_in.get('interview_stage', '') == 11 and interviews > 2: # 淘汰的时候发送钉钉消息通知面试官该求职者被淘汰(面试之后的阶段才会发通知)
|
||||||
if interview.data_in.get('interview_stage', '') == 11 and interviews > 2: # 淘汰的时候发送钉钉消息通知面试官该求职者被淘汰
|
|
||||||
send_sql = f"""
|
send_sql = f"""
|
||||||
select interview_id,name,job_names from HR.resumes where uid = '{interview.where.get('uid')}' limit 1
|
select interview_id,name,job_names from HR.resumes where uid = '{interview.where.get('uid')}' limit 1
|
||||||
"""
|
"""
|
||||||
@ -2477,6 +2480,7 @@ async def add_interviewee(
|
|||||||
ckdb: CKDrive = Depends(get_ck_db),
|
ckdb: CKDrive = Depends(get_ck_db),
|
||||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
) -> schemas.Msg:
|
) -> schemas.Msg:
|
||||||
|
"""添加面试"""
|
||||||
name = await crud.user.get_users(db, data_in.user_id)
|
name = await crud.user.get_users(db, data_in.user_id)
|
||||||
name_list = [i['nickname'] for i in name]
|
name_list = [i['nickname'] for i in name]
|
||||||
interview_name = ','.join(name_list)
|
interview_name = ','.join(name_list)
|
||||||
@ -2807,6 +2811,7 @@ async def interviews(
|
|||||||
return schemas.Msg(code=200, msg='ok', data=datas)
|
return schemas.Msg(code=200, msg='ok', data=datas)
|
||||||
|
|
||||||
|
|
||||||
|
# 废除了,有默认加反馈模版的地方
|
||||||
@router.post("/interview_teacher")
|
@router.post("/interview_teacher")
|
||||||
async def interview_teacher(
|
async def interview_teacher(
|
||||||
request: Request,
|
request: Request,
|
||||||
@ -2840,17 +2845,12 @@ async def interview_teacher(
|
|||||||
data['survey'][k]['type'] = True
|
data['survey'][k]['type'] = True
|
||||||
|
|
||||||
await crud.feedback.up_feedback(db, schemas.Feedback(uid=data_in.uid, survey=data['survey']))
|
await crud.feedback.up_feedback(db, schemas.Feedback(uid=data_in.uid, survey=data['survey']))
|
||||||
a = 1
|
res = await crud.feedback.one_feedback(db, {'uid': data_in.uid})
|
||||||
# user_list=list(data_in.survey.keys())
|
teacher_back = [v['teacher_back'] for v in res['survey'].values()]
|
||||||
# sql = f"""select hr_id,interview_id from HR.resumes WHERE uid = '{data_in.uid}' limit 1"""
|
types = [v['type'] for v in res['survey'].values()]
|
||||||
# res=await ckdb.query_dataframe(sql)
|
if 0 not in teacher_back and False not in types: # 当所有的反馈都处理完后,修改简历状态
|
||||||
# res_list=res.values.tolist()
|
up_sql = f"""ALTER TABLE HR.resumes update teacher_state = 2 WHERE uid = '{data_in.uid}'"""
|
||||||
# # 判断是否所有人都反馈完成,全部反馈完整则修改反馈状态
|
await ckdb.execute(up_sql)
|
||||||
# d = [False for c in res_list if c not in user_list]
|
|
||||||
# if not d:
|
|
||||||
# up_sql = f"""ALTER TABLE HR.resumes update teacher_state = 2 WHERE uid = '{data_in.uid}'"""
|
|
||||||
# await ckdb.execute(up_sql)
|
|
||||||
|
|
||||||
return schemas.Msg(code=200, msg='ok', data='')
|
return schemas.Msg(code=200, msg='ok', data='')
|
||||||
|
|
||||||
|
|
||||||
@ -2882,3 +2882,64 @@ async def hint(
|
|||||||
res.append(i)
|
res.append(i)
|
||||||
data = sorted(res, key=operator.itemgetter('times'))
|
data = sorted(res, key=operator.itemgetter('times'))
|
||||||
return schemas.Msg(code=200, msg='ok', data=data)
|
return schemas.Msg(code=200, msg='ok', data=data)
|
||||||
|
|
||||||
|
|
||||||
|
@router.post("/talent_pool")
|
||||||
|
async def talent_pool(
|
||||||
|
request: Request,
|
||||||
|
data_in: schemas.find,
|
||||||
|
ckdb: CKDrive = Depends(get_ck_db),
|
||||||
|
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
"""获取人才库数据,分页查询"""
|
||||||
|
find_column = ["uid", "gender", "at_school", "name", "event_time", "education", "school", "specialty",
|
||||||
|
"work_exp", "job_id", "job_names", "ago", "pass_time""job_name", "pass_why", "pass_text"]
|
||||||
|
find_columns = ','.join(find_column)
|
||||||
|
if data_in.date != {}:
|
||||||
|
strs = []
|
||||||
|
for k, v in data_in.date.items():
|
||||||
|
if v != '':
|
||||||
|
str_s = f"{k} like '%{v}%'"
|
||||||
|
strs.append(str_s)
|
||||||
|
where = ' and '.join(strs)
|
||||||
|
sql = f"""
|
||||||
|
select {find_columns} from HR.resumes where interview_stage = -1 and {where} ORDER BY event_time
|
||||||
|
LIMIT 10 OFFSET {(data_in.pages - 1) * 10}
|
||||||
|
"""
|
||||||
|
else:
|
||||||
|
sql = f"""
|
||||||
|
select {find_columns} from HR.resumes where interview_stage = -1 ORDER BY event_time
|
||||||
|
LIMIT 10 OFFSET {(data_in.pages - 1) * 10}
|
||||||
|
"""
|
||||||
|
data = await ckdb.execute(sql)
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data='')
|
||||||
|
res = chkData(data)
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=res)
|
||||||
|
|
||||||
|
|
||||||
|
@router.post("/talent_pool_nu")
|
||||||
|
async def talent_pool_nu(
|
||||||
|
request: Request,
|
||||||
|
data_in: schemas.find,
|
||||||
|
ckdb: CKDrive = Depends(get_ck_db),
|
||||||
|
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
"""获取人才库数据数量"""
|
||||||
|
if data_in.date != {}:
|
||||||
|
strs = []
|
||||||
|
for k, v in data_in.date.items():
|
||||||
|
if v != '':
|
||||||
|
str_s = f"{k} like '%{v}%'"
|
||||||
|
strs.append(str_s)
|
||||||
|
where = ' and '.join(strs)
|
||||||
|
sql = f"""select count(*) from HR.resumes where interview_stage = -1 and {where}"""
|
||||||
|
else:
|
||||||
|
sql = f"""select count(*) from HR.resumes where interview_stage = -1"""
|
||||||
|
data = await ckdb.query_dataframe(sql)
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data='')
|
||||||
|
res = len(data)
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=res)
|
||||||
|
@ -178,3 +178,8 @@ class get_teacher(BaseModel):
|
|||||||
|
|
||||||
class record(BaseModel):
|
class record(BaseModel):
|
||||||
uid: str # 求职者唯一id
|
uid: str # 求职者唯一id
|
||||||
|
|
||||||
|
|
||||||
|
class find(BaseModel):
|
||||||
|
date: dict={} # 查询条件
|
||||||
|
pages: int = 1 # 分页的当前页
|
||||||
|
Loading…
Reference in New Issue
Block a user