1.提交的关于反馈的更新
This commit is contained in:
parent
b2ccffe0d8
commit
bd8d5d3953
@ -2118,7 +2118,9 @@ async def add_interviewee(
|
|||||||
# 同步发送邮件通知被安排了面试
|
# 同步发送邮件通知被安排了面试
|
||||||
find_sql = f"""select job_names,name from HR.resumes where uid = '{data_in.uid}' limit 1"""
|
find_sql = f"""select job_names,name from HR.resumes where uid = '{data_in.uid}' limit 1"""
|
||||||
df = await ckdb.query_dataframe(find_sql)
|
df = await ckdb.query_dataframe(find_sql)
|
||||||
send = f"""【面试通知】\n面试岗位:{df['job_names'][0]}\n面试时间:{data_in.star_time}\n面试者:{df['name'][0]}\nHR:{hr_name}\n面试官:{interview_name}"""
|
interview_names=','.join(name_list)
|
||||||
|
hr_names=','.join(hr_list)
|
||||||
|
send = f"""【面试通知】\n面试岗位:{df['job_names'][0]}\n面试时间:{data_in.star_time}\n面试者:{df['name'][0]}\nHR:{hr_names}\n面试官:{interview_names}"""
|
||||||
hr_user = data_in.hr_user
|
hr_user = data_in.hr_user
|
||||||
hr_user.extend(data_in.user_id)
|
hr_user.extend(data_in.user_id)
|
||||||
send_dates(send, hr_user)
|
send_dates(send, hr_user)
|
||||||
@ -2144,6 +2146,19 @@ async def add_interviewee(
|
|||||||
'back_status': 0, # 反馈状态
|
'back_status': 0, # 反馈状态
|
||||||
'type': 'interview' # 记录的类型
|
'type': 'interview' # 记录的类型
|
||||||
})
|
})
|
||||||
|
# 创建空白的面试反馈到mdb数据库
|
||||||
|
survey={}
|
||||||
|
for us in [name,hr]:
|
||||||
|
for i in us:
|
||||||
|
survey[i['user_id']]={
|
||||||
|
"name": i['nickname'],
|
||||||
|
"voice": 0,
|
||||||
|
"thought": 0,
|
||||||
|
"diathesis": 0,
|
||||||
|
"evaluate": "",
|
||||||
|
"teacher_back": 0,
|
||||||
|
'type':False}
|
||||||
|
await crud.feedback.ins_feedback(db,schemas.Feedback(uid=data_in.uid,survey=survey))
|
||||||
|
|
||||||
return schemas.Msg(code=200, msg='ok', data='')
|
return schemas.Msg(code=200, msg='ok', data='')
|
||||||
|
|
||||||
@ -2297,23 +2312,7 @@ async def interview_find(
|
|||||||
return schemas.Msg(code=200, msg='ok', data=res_data)
|
return schemas.Msg(code=200, msg='ok', data=res_data)
|
||||||
|
|
||||||
|
|
||||||
@router.post("/interview_teacher")
|
|
||||||
async def interview_teacher(
|
|
||||||
request: Request,
|
|
||||||
data_in: schemas.interview_teacher,
|
|
||||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
|
||||||
ckdb: CKDrive = Depends(get_ck_db),
|
|
||||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
|
||||||
) -> schemas.Msg:
|
|
||||||
""" 面试反馈 """
|
|
||||||
date = json.dumps(data_in.date)
|
|
||||||
sql = f"""
|
|
||||||
ALTER TABLE HR.resumes update teacher_state = 2,teacher_back={data_in.teacher_back},teacher_txt='{date}'
|
|
||||||
WHERE uid = '{data_in.uid}'
|
|
||||||
"""
|
|
||||||
await ckdb.execute(sql)
|
|
||||||
await crud.interview_record.update_back_status(db, data_in.uid, data_in.teacher_back)
|
|
||||||
return schemas.Msg(code=200, msg='ok', data='')
|
|
||||||
|
|
||||||
|
|
||||||
@router.post("/interview")
|
@router.post("/interview")
|
||||||
@ -2429,22 +2428,50 @@ 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")
|
||||||
|
async def interview_teacher(
|
||||||
|
request: Request,
|
||||||
|
data_in: schemas.Feedback,
|
||||||
|
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||||
|
ckdb: CKDrive = Depends(get_ck_db),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
""" 新增面试反馈 """
|
||||||
|
await crud.feedback.ins_feedback(db, data_in)
|
||||||
|
|
||||||
|
# sql = f"""ALTER TABLE HR.resumes update teacher_state = 2 WHERE uid = '{data_in.uid}'"""
|
||||||
|
# await ckdb.execute(sql)
|
||||||
|
# await crud.interview_record.update_back_status(db, data_in.uid, data_in.teacher_back)
|
||||||
|
return schemas.Msg(code=200, msg='ok', data='')
|
||||||
|
|
||||||
|
|
||||||
@router.post("/up_teacher")
|
@router.post("/up_teacher")
|
||||||
async def interview_teacher(
|
async def interview_teacher(
|
||||||
request: Request,
|
request: Request,
|
||||||
data_in: schemas.interview_teacher,
|
data_in: schemas.Feedback,
|
||||||
ckdb: 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)
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
) -> schemas.Msg:
|
) -> schemas.Msg:
|
||||||
""" 修改面试反馈 """
|
""" 修改面试反馈 """
|
||||||
date = json.dumps(data_in.date)
|
data = await crud.feedback.one_feedback(db, {'uid': data_in.uid})
|
||||||
sql = f"""
|
for k,v in data['survey'].items():
|
||||||
ALTER TABLE HR.resumes update teacher_back={data_in.teacher_back},teacher_txt='{date}'
|
if k == list(data_in.survey.keys())[0]:
|
||||||
WHERE uid = '{data_in.uid}'
|
data['survey'][k]=data_in.survey[k]
|
||||||
"""
|
data['survey'][k]['type']=True
|
||||||
print(sql)
|
|
||||||
await ckdb.execute(sql)
|
await crud.feedback.up_feedback(db, schemas.Feedback(uid=data_in.uid,survey=data['survey']))
|
||||||
|
a=1
|
||||||
|
# user_list=list(data_in.survey.keys())
|
||||||
|
# sql = f"""select hr_id,interview_id from HR.resumes WHERE uid = '{data_in.uid}' limit 1"""
|
||||||
|
# res=await ckdb.query_dataframe(sql)
|
||||||
|
# res_list=res.values.tolist()
|
||||||
|
# # 判断是否所有人都反馈完成,全部反馈完整则修改反馈状态
|
||||||
|
# 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='')
|
||||||
|
|
||||||
|
|
||||||
@ -2453,13 +2480,11 @@ async def interview_teacher(
|
|||||||
request: Request,
|
request: Request,
|
||||||
data_in: schemas.get_teacher,
|
data_in: schemas.get_teacher,
|
||||||
ckdb: 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)
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
) -> schemas.Msg:
|
) -> schemas.Msg:
|
||||||
""" 获取面试反馈 """
|
""" 获取面试反馈 """
|
||||||
sql = f"""select uid,teacher_back,teacher_txt,teacher_state,star_time,end_time,interview_stage from HR.resumes WHERE uid = '{data_in.uid}' limit 1"""
|
data=await crud.feedback.one_feedback(db,{'uid':data_in.uid})
|
||||||
print(sql)
|
|
||||||
res = await ckdb.execute(sql)
|
|
||||||
data = chkData(res)
|
|
||||||
return schemas.Msg(code=200, msg='ok', data=data)
|
return schemas.Msg(code=200, msg='ok', data=data)
|
||||||
|
|
||||||
|
|
||||||
@ -2478,3 +2503,4 @@ 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)
|
||||||
|
|
||||||
|
@ -33,3 +33,4 @@ from .crud_owner_info import owner_info
|
|||||||
from .crud_count_in_worker import count_in_worker
|
from .crud_count_in_worker import count_in_worker
|
||||||
from .crud_basic_data import basic_data
|
from .crud_basic_data import basic_data
|
||||||
from .crud_section import section
|
from .crud_section import section
|
||||||
|
from .crud_feedback import feedback
|
29
crud/crud_feedback.py
Normal file
29
crud/crud_feedback.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
from motor.motor_asyncio import AsyncIOMotorDatabase
|
||||||
|
import schemas
|
||||||
|
from crud.base import CRUDBase
|
||||||
|
|
||||||
|
__all__ = 'feedback',
|
||||||
|
|
||||||
|
from utils import get_uid
|
||||||
|
|
||||||
|
|
||||||
|
class CRUDfeedback(CRUDBase):
|
||||||
|
# 获取所有数据
|
||||||
|
async def all_xiangmu(self, db: AsyncIOMotorDatabase):
|
||||||
|
return await self.find_many(db, {})
|
||||||
|
|
||||||
|
# 获取对应条件的数据
|
||||||
|
async def one_feedback(self, db: AsyncIOMotorDatabase,where):
|
||||||
|
return await self.find_one(db, where,{'_id':0})
|
||||||
|
|
||||||
|
# 修改数据
|
||||||
|
async def up_feedback(self, db: AsyncIOMotorDatabase, data_in: schemas.Feedback):
|
||||||
|
|
||||||
|
await self.update_one(db, {'uid': data_in.uid}, {'$set': {'survey': data_in.survey}})
|
||||||
|
|
||||||
|
# 插入数据
|
||||||
|
async def ins_feedback(self, db: AsyncIOMotorDatabase, data_in: schemas.Feedback):
|
||||||
|
await self.insert_one(db,data_in.dict())
|
||||||
|
|
||||||
|
|
||||||
|
feedback = CRUDfeedback('feedback')
|
@ -39,3 +39,4 @@ from .owner_info import *
|
|||||||
from .count_in_worker import *
|
from .count_in_worker import *
|
||||||
from .basic_data import *
|
from .basic_data import *
|
||||||
from .section import *
|
from .section import *
|
||||||
|
from .feedback import *
|
||||||
|
9
schemas/feedback.py
Normal file
9
schemas/feedback.py
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
|
class Feedback(BaseModel):
|
||||||
|
survey: dict # 存储的面试反馈
|
||||||
|
uid: str # 求职者唯一id
|
||||||
|
# survey数据
|
||||||
|
# {'voice':1,'thought':1,'diathesis':1,'evaluate':'评价','teacher_back':1}
|
@ -168,12 +168,7 @@ class nterview(BaseModel):
|
|||||||
# interview_round: int # 面试轮次
|
# interview_round: int # 面试轮次
|
||||||
|
|
||||||
|
|
||||||
class interview_teacher(BaseModel):
|
|
||||||
date: dict # 存储的面试反馈
|
|
||||||
teacher_back: int # 面试反馈选择
|
|
||||||
uid: str # 求职者唯一id
|
|
||||||
# date数据
|
|
||||||
# {'voice':1,'thought':1,'diathesis':1,'evaluate':'评价'}
|
|
||||||
|
|
||||||
|
|
||||||
class interviews(BaseModel):
|
class interviews(BaseModel):
|
||||||
|
Loading…
Reference in New Issue
Block a user