This commit is contained in:
Àî×ÚÕñ 2022-09-14 18:42:05 +08:00
parent ebc686d80d
commit e2efda9bc8

View File

@ -931,42 +931,42 @@ async def hr_works_form(
if ck_job_id not in job_ids:
job_ids.append(ck_job_id)
res_msg[job_name] = {hr_name: {
'初筛': 0,
'复筛': 0,
'面试': 0,
'创建面试': 0,
'面试签到': 0,
'offer': 0,
'待入职': 0,
'已入职': 0
'start_num': 0,
'screen_num': 0,
'exam_num': 0,
'exam_set_num': 0,
'exam_ok_num': 0,
'offer_num': 0,
'wait_work_num': 0,
'work_num': 0
}}
# 已录入职位
else:
if hr_name not in res_msg[job_name]:
res_msg[job_name][hr_name] = {
'初筛': 0,
'复筛': 0,
'面试': 0,
'创建面试': 0,
'面试签到': 0,
'offer': 0,
'待入职': 0,
'已入职': 0
'start_num': 0,
'screen_num': 0,
'exam_num': 0,
'exam_set_num': 0,
'exam_ok_num': 0,
'offer_num': 0,
'wait_work_num': 0,
'work_num': 0
}
stage = ck_data['interview_stage']
if stage >= 1:
res_msg[job_name][hr_name]['初筛'] += 1
res_msg[job_name][hr_name]['start_num'] += 1
if stage >= 2:
res_msg[job_name][hr_name]['复筛'] += 1
res_msg[job_name][hr_name]['screen_num'] += 1
if stage >= 3:
res_msg[job_name][hr_name]['面试'] += 1
res_msg[job_name][hr_name]['exam_num'] += 1
if stage >= 4:
res_msg[job_name][hr_name]['offer'] += 1
res_msg[job_name][hr_name]['offer_num'] += 1
if stage >= 5:
res_msg[job_name][hr_name]['待入职'] += 1
res_msg[job_name][hr_name]['wait_work_num'] += 1
if stage >= 7:
res_msg[job_name][hr_name]['已入职'] += 1
res_msg[job_name][hr_name]['work_num'] += 1
interview_records = await crud.interview_record.find_job_some(db, hr_names)
for record in interview_records:
record_job_name = record['job_names']
@ -975,28 +975,28 @@ async def hr_works_form(
if record_job_name in res_msg:
if record_hr_name not in res_msg[record_job_name]:
res_msg[record_job_name][record_hr_name] = {
'初筛': 0,
'复筛': 0,
'面试': 0,
'创建面试': 0,
'面试签到': 0,
'offer': 0,
'待入职': 0,
'已入职': 0
'start_num': 0,
'screen_num': 0,
'exam_num': 0,
'exam_set_num': 0,
'exam_ok_num': 0,
'offer_num': 0,
'wait_work_num': 0,
'work_num': 0
}
res_msg[record_job_name][record_hr_name]['创建面试'] += 1
res_msg[record_job_name][record_hr_name]['exam_set_num'] += 1
if record_interview_sign:
res_msg[record_job_name][record_hr_name]['面试签到'] += 1
res_msg[record_job_name][record_hr_name]['exam_ok_num'] += 1
for job_name1, msg_data in res_msg.items():
count_data = {
'初筛': 0,
'复筛': 0,
'面试': 0,
'创建面试': 0,
'面试签到': 0,
'offer': 0,
'待入职': 0,
'已入职': 0
'start_num': 0,
'screen_num': 0,
'exam_num': 0,
'exam_set_num': 0,
'exam_ok_num': 0,
'offer_num': 0,
'wait_work_num': 0,
'work_num': 0
}
for key, value_data in msg_data.items():
for true_key, num in value_data.items():
@ -1015,8 +1015,36 @@ async def hr_works_form(
res_data['其他'] = {k: v}
else:
res_data['其他'].update({k: v})
res_data1 = []
for k, v in res_data.items():
data1 = {'date_name': k}
for k1, v1 in v.items():
data2 = {'job_name': k1}
for k2, v2 in v1.items():
v2.update(data1)
v2.update(data2)
v2.update({'name': k2})
true_data = deepcopy(v2)
res_data1.append(true_data)
level_list = {
"date_name": "部门",
"job_name": "职位",
"name": "HR",
"start_num": "初筛",
"screen_num": "复筛",
"exam_num": "面试",
"exam_set_num": "创建面试",
"exam_ok_num": "面试签到",
"offer_num": "offer",
"wait_work_num": "待入职",
"work_num": "已入职"
}
res_true_msg = {
'data': res_data1,
'level_list': level_list,
}
res_true_data = {
'data': res_data,
'data': res_true_msg,
'table_data': table_data
}
return schemas.Msg(code=200, msg='ok', data=res_true_data)
@ -1614,13 +1642,13 @@ async def year_job_form(
res_msg[str(i)] = {}
for job_id in job_ids:
res_msg[str(i)][job_id] = {
'简历推荐数': 0,
'有效简历数': 0,
'到场面试数': 0,
'面试通过': 0,
'offer发出数': 0,
'入职人数': 0,
'离职人数': 0
'start_num': 0,
'ok_num': 0,
'exam_num': 0,
'exam_pass_num': 0,
'offer_num': 0,
'work_num': 0,
'out_num': 0
}
for chk_data in data.values():
@ -1635,19 +1663,19 @@ async def year_job_form(
count_num = chk_data['value']
chk_job_id = chk_data['job_id']
if chk_stage >= 1:
res_msg[chk_date][chk_job_id]['简历推荐数'] += 1 * count_num
res_msg[chk_date][chk_job_id]['start_num'] += 1 * count_num
if chk_stage >= 2:
res_msg[chk_date][chk_job_id]['有效简历数'] += 1 * count_num
res_msg[chk_date][chk_job_id]['ok_num'] += 1 * count_num
if chk_stage >= 3:
res_msg[chk_date][chk_job_id]['到场面试数'] += 1 * count_num
res_msg[chk_date][chk_job_id]['exam_num'] += 1 * count_num
if chk_stage >= 4:
res_msg[chk_date][chk_job_id]['面试通过'] += 1 * count_num
res_msg[chk_date][chk_job_id]['exam_pass_num'] += 1 * count_num
if chk_stage >= 5:
res_msg[chk_date][chk_job_id]['offer发出数'] += 1 * count_num
res_msg[chk_date][chk_job_id]['offer_num'] += 1 * count_num
if chk_stage >= 7:
res_msg[chk_date][chk_job_id]['入职人数'] += 1 * count_num
res_msg[chk_date][chk_job_id]['work_num'] += 1 * count_num
if chk_stage >= 9:
res_msg[chk_date][chk_job_id]['离职人数'] += 1 * count_num
res_msg[chk_date][chk_job_id]['out_num'] += 1 * count_num
res_data = {}
for k, v in res_msg.items():
res_data[k] = {}
@ -1659,8 +1687,21 @@ async def year_job_form(
else:
res_data[k]['其他'] = {}
res_data[k]['其他'].update({'其他': v1})
res_data1 = []
for k, v in res_data.items():
data1 = {'time': k}
for k1, v1 in v.items():
data2 = {'date_name': k1}
for k2, v2 in v1.items():
v2.update(data1)
v2.update(data2)
v2.update({'job_name': k2})
true_data = deepcopy(v2)
res_data1.append(true_data)
level_list = {
"time": "时间",
"date_name": "部门",
"job_name": "职位",
"start_num": "简历推荐数",
"ok_num": "有效简历数",
"exam_num": "到场面试数",
@ -1669,8 +1710,12 @@ async def year_job_form(
"work_num": "入职人数",
"out_num": "离职人数"
}
res_true_msg = {
'data': res_data1,
'level_list': level_list,
}
res_true_data = {
'data': res_data,
'data': res_true_msg,
'table_data': table_data
}
return schemas.Msg(code=200, msg='ok', data=res_true_data)