报表
This commit is contained in:
parent
ebc686d80d
commit
e2efda9bc8
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user