1.优化职位,新增职位计数

This commit is contained in:
李伟 2022-07-20 11:28:06 +08:00
parent 9b1dd4a252
commit b810dcdbd6
4 changed files with 38 additions and 18 deletions

View File

@ -285,16 +285,21 @@ async def event_edit(
res = await crud.jobs.all_fields(db, data_in) res = await crud.jobs.all_fields(db, data_in)
# 获取职位数量 # 获取职位数量
num = len(res) num = len(res)
job_list = []
job_id = [] job = []
for i in res: for i in res:
# 获取职位名称 # 获取职位名称
job_list = []
job_list.append(i['job_id'])
job_list.append(i['job_name']) job_list.append(i['job_name'])
job_id.append(i['job_id']) job_list.append(i['job_sector'])
job_list.append(i['principal'])
job_list.append(i['owner_name'])
job_list.append(i['job_num'])
job.append(job_list)
data = { data = {
'num': num, 'num': num,
'job_list': job_list, 'job': job
'job_id': job_id
} }
return schemas.Msg(code=200, msg='ok', data=data) return schemas.Msg(code=200, msg='ok', data=data)
@ -390,13 +395,18 @@ async def event_edit(
async def event_edit( async def event_edit(
request: Request, request: Request,
data_in: schemas.Entry, data_in: schemas.Entry,
ckdb: CKDrive = Depends(get_ck_db) ckdb: CKDrive = Depends(get_ck_db),
db: AsyncIOMotorDatabase = Depends(get_database)
) -> schemas.Msg: ) -> schemas.Msg:
"""修改入职状态""" """修改入职状态"""
sql = f""" sql = f"""
ALTER table HR.resumes update interview_stage = {data_in.interview_stage} WHERE uid = '{data_in.uid}' ALTER table HR.resumes update interview_stage = {data_in.interview_stage} WHERE uid = '{data_in.uid}'
""" """
await ckdb.execute(sql) await ckdb.execute(sql)
# 给招聘中职位计入职数
res=await crud.jobs.find_job(db,data_in.job_id)
num=res['now_job_num']+1
await crud.jobs.update_job(db,schemas.Jobs(job_id=data_in.job_id,now_job_num=num))
return schemas.Msg(code=200, msg='ok', data='') return schemas.Msg(code=200, msg='ok', data='')
@ -487,8 +497,8 @@ async def event_edit(
# 同步钉钉发消息给面试官 # 同步钉钉发消息给面试官
try: try:
now_time = str(datetime.now()).split('.')[0] now_time = str(datetime.now()).split('.')[0]
content=f"【催促反馈】\n请面试官尽快给{data_in.name}做面试反馈\n提醒时间:{now_time}" content = f"【催促反馈】\n请面试官尽快给{data_in.name}做面试反馈\n提醒时间:{now_time}"
send_dates(content,data_in.user_id) send_dates(content, data_in.user_id)
return schemas.Msg(code=200, msg='发送成功', data='') return schemas.Msg(code=200, msg='发送成功', data='')
except Exception: except Exception:
return schemas.Msg(code=-9, msg='发送失败', data='') return schemas.Msg(code=-9, msg='发送失败', data='')
@ -533,12 +543,12 @@ async def event_edit(
db: AsyncIOMotorDatabase = Depends(get_database), db: AsyncIOMotorDatabase = Depends(get_database),
) -> schemas.Msg: ) -> schemas.Msg:
"""获取所有用户角色""" """获取所有用户角色"""
res = await crud.user.get_all_users(db,{}) res = await crud.user.get_all_users(db, {})
data=[] data = []
for i in res: for i in res:
data_dict={} data_dict = {}
data_dict['name']=i.get('name') data_dict['name'] = i.get('name')
data_dict['email']=i.get('email') data_dict['email'] = i.get('email')
data.append(data_dict) data.append(data_dict)
return schemas.Msg(code=200, msg='ok', data=data) return schemas.Msg(code=200, msg='ok', data=data)
@ -552,4 +562,3 @@ async def event_edit(
"""修改职位信息,修改职位招聘状态""" """修改职位信息,修改职位招聘状态"""
await crud.jobs.update_job(db, data_in) await crud.jobs.update_job(db, data_in)
return schemas.Msg(code=200, msg='ok', data='') return schemas.Msg(code=200, msg='ok', data='')

View File

@ -29,12 +29,17 @@ class CRUDJobs(CRUDBase):
for k, v in data_dict.items(): for k, v in data_dict.items():
if v != None and k != 'job_id': if v != None and k != 'job_id':
update[k] = v update[k] = v
await self.update_one(db, {'job_id': int(data_in.job_id)}, {'$set': update}) await self.update_one(db, {'job_id': data_in.job_id}, {'$set': update})
# 插入一条新的职位数据 # 插入一条新的职位数据
async def insert_job(self, db: AsyncIOMotorDatabase, data_in: schemas.Ins_Job): async def insert_job(self, db: AsyncIOMotorDatabase, data_in: schemas.Ins_Job):
await self.insert_one(db, data_in.dict()) await self.insert_one(db, data_in.dict())
# 获取对应jobid的信息
async def find_job(self, db: AsyncIOMotorDatabase, job_id):
return await self.find_one(db, {'job_id':job_id})
jobs = CRUDJobs('jobs') jobs = CRUDJobs('jobs')

View File

@ -35,6 +35,7 @@ class get_uid(BaseModel):
class Entry(BaseModel): class Entry(BaseModel):
uid: str # 面试者简历在CK中的唯一标识 uid: str # 面试者简历在CK中的唯一标识
interview_stage: int # 修改入职状态 interview_stage: int # 修改入职状态
job_id:str #招聘职位的id
class Email_str(BaseModel): class Email_str(BaseModel):

View File

@ -48,7 +48,8 @@ class Jobs(BaseModel):
auto_repeater: bool = None # 是否自动转发 auto_repeater: bool = None # 是否自动转发
cacsi_count: int = None # 面试满意度反馈次数 cacsi_count: int = None # 面试满意度反馈次数
state: bool = None # 职位招聘状态 state: bool = None # 职位招聘状态
job_num: int = None # 招聘人数 job_num: int = None # 目标招聘人数
now_job_num: int = None # 实际招聘人数
education: str = None # 学历要求 education: str = None # 学历要求
job_rank: str = None # 职位级别 job_rank: str = None # 职位级别
work_exp: str = None # 工作经验 work_exp: str = None # 工作经验
@ -59,7 +60,7 @@ class Jobs(BaseModel):
class Ins_Job(BaseModel): class Ins_Job(BaseModel):
job_id: str = int(time.time()) # 职位的唯一id job_id: str = str(int(time.time())) # 职位的唯一id
job_name: str # 职位名称 job_name: str # 职位名称
job_sector: str # 职位部门 job_sector: str # 职位部门
job_nature: str # 职位性质 job_nature: str # 职位性质
@ -74,7 +75,8 @@ class Ins_Job(BaseModel):
auto_repeater: bool # 是否自动转发 auto_repeater: bool # 是否自动转发
cacsi_count: int = 0 # 面试满意度反馈次数 cacsi_count: int = 0 # 面试满意度反馈次数
state: bool = True # 职位招聘状态 state: bool = True # 职位招聘状态
job_num: int # 招聘人数 job_num: int = None # 目标招聘人数
now_job_num: int = None # 实际招聘人数
education: str # 学历要求 education: str # 学历要求
job_rank: str # 职位级别 job_rank: str # 职位级别
work_exp: str # 工作经验 work_exp: str # 工作经验
@ -82,3 +84,6 @@ class Ins_Job(BaseModel):
min_money: int # 薪资范围min min_money: int # 薪资范围min
max_money: int # 薪资范围max max_money: int # 薪资范围max
requirement: str # 需求描述 requirement: str # 需求描述