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