1.优化职位,新增职位计数
This commit is contained in:
parent
9b1dd4a252
commit
b810dcdbd6
@ -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='')
|
||||||
|
|
||||||
|
@ -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')
|
||||||
|
@ -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):
|
||||||
|
@ -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 # 需求描述
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user