报表导出
This commit is contained in:
parent
c540fcab47
commit
550015b588
@ -265,13 +265,40 @@ async def man_gander_form(
|
||||
|
||||
# 处理数据
|
||||
for interview_data in data.values():
|
||||
i_name = interview_data.get('name', '默认名字')
|
||||
i_name = interview_data.get('name', '')
|
||||
i_gander = interview_data.get('gander', '男')
|
||||
if i_gander == '男':
|
||||
gander['男'].append(i_name)
|
||||
else:
|
||||
gander['女'].append(i_name)
|
||||
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量性别报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
len1 = len(gander['男'])
|
||||
len2 = len(gander['女'])
|
||||
chk_data = []
|
||||
columns = ['男', '女']
|
||||
if len1 >= len2:
|
||||
for index, i in enumerate(gander['男']):
|
||||
if index >= len2:
|
||||
add_data = [i, '']
|
||||
else:
|
||||
add_data = [i, gander['女'][index]]
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
else:
|
||||
for index, i in enumerate(gander['女']):
|
||||
if index >= len1:
|
||||
add_data = ['', i]
|
||||
else:
|
||||
add_data = [gander['男'][index], i]
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
res_msg = {
|
||||
'data': gander,
|
||||
'table_data': table_data
|
||||
@ -313,7 +340,7 @@ async def man_age_form(
|
||||
|
||||
# 处理数据
|
||||
for interview_data in data.values():
|
||||
i_name = interview_data.get('name', '默认名字')
|
||||
i_name = interview_data.get('name', '')
|
||||
i_age = interview_data.get('age', 20)
|
||||
if i_age <= 29:
|
||||
age['20-29'].append(i_name)
|
||||
@ -325,7 +352,29 @@ async def man_age_form(
|
||||
age['50-59'].append(i_name)
|
||||
else:
|
||||
age['60-100'].append(i_name)
|
||||
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量年龄报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = ['20-29', '30-39', '40-49', '50-59', '60-100']
|
||||
# 取出最大长度key
|
||||
max_key = max(columns, key=lambda x: len(age[x]))
|
||||
for index, i in enumerate(age[max_key]):
|
||||
add_data = []
|
||||
for key in columns:
|
||||
if key == max_key:
|
||||
add_data.append(i)
|
||||
continue
|
||||
if index >= len(age[key]):
|
||||
add_data.append('')
|
||||
continue
|
||||
add_data.append(age[key][index])
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
res_msg = {
|
||||
'data': age,
|
||||
'table_data': table_data
|
||||
@ -379,6 +428,29 @@ async def man_education_form(
|
||||
education['博士'].append(i_name)
|
||||
else:
|
||||
education['硕士'].append(i_name)
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量学历报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = ['大专', '本科', '研究生', '博士', '硕士']
|
||||
# 取出最大长度key
|
||||
max_key = max(columns, key=lambda x: len(education[x]))
|
||||
for index, i in enumerate(education[max_key]):
|
||||
add_data = []
|
||||
for key in columns:
|
||||
if key == max_key:
|
||||
add_data.append(i)
|
||||
continue
|
||||
if index >= len(education[key]):
|
||||
add_data.append('')
|
||||
continue
|
||||
add_data.append(education[key][index])
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_msg = {
|
||||
'data': education,
|
||||
@ -433,6 +505,29 @@ async def man_work_exp_form(
|
||||
work_exp['10-20'].append(i_name)
|
||||
else:
|
||||
work_exp['20-40'].append(i_name)
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量工作经验报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = ['0-2', '3-6', '6-10', '10-20', '20-40']
|
||||
# 取出最大长度key
|
||||
max_key = max(columns, key=lambda x: len(work_exp[x]))
|
||||
for index, i in enumerate(work_exp[max_key]):
|
||||
add_data = []
|
||||
for key in columns:
|
||||
if key == max_key:
|
||||
add_data.append(i)
|
||||
continue
|
||||
if index >= len(work_exp[key]):
|
||||
add_data.append('')
|
||||
continue
|
||||
add_data.append(work_exp[key][index])
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_msg = {
|
||||
'data': work_exp,
|
||||
@ -477,6 +572,29 @@ async def man_account_form(
|
||||
account[i_account].append(i_name)
|
||||
else:
|
||||
account[i_account] = [i_name]
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量所在地报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(account.keys())
|
||||
# 取出最大长度key
|
||||
max_key = max(columns, key=lambda x: len(account[x]))
|
||||
for index, i in enumerate(account[max_key]):
|
||||
add_data = []
|
||||
for key in columns:
|
||||
if key == max_key:
|
||||
add_data.append(i)
|
||||
continue
|
||||
if index >= len(account[key]):
|
||||
add_data.append('')
|
||||
continue
|
||||
add_data.append(account[key][index])
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_msg = {
|
||||
'data': account,
|
||||
@ -521,6 +639,29 @@ async def man_school_form(
|
||||
school[i_school].append(i_name)
|
||||
else:
|
||||
school[i_school] = [i_name]
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量毕业院校报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(school.keys())
|
||||
# 取出最大长度key
|
||||
max_key = max(columns, key=lambda x: len(school[x]))
|
||||
for index, i in enumerate(school[max_key]):
|
||||
add_data = []
|
||||
for key in columns:
|
||||
if key == max_key:
|
||||
add_data.append(i)
|
||||
continue
|
||||
if index >= len(school[key]):
|
||||
add_data.append('')
|
||||
continue
|
||||
add_data.append(school[key][index])
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_msg = {
|
||||
'data': school,
|
||||
@ -568,6 +709,29 @@ async def man_work_for_form(
|
||||
work_for[i_work_for].append(i_name)
|
||||
else:
|
||||
work_for[i_work_for] = [i_name]
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量就职公司报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(work_for.keys())
|
||||
# 取出最大长度key
|
||||
max_key = max(columns, key=lambda x: len(work_for[x]))
|
||||
for index, i in enumerate(work_for[max_key]):
|
||||
add_data = []
|
||||
for key in columns:
|
||||
if key == max_key:
|
||||
add_data.append(i)
|
||||
continue
|
||||
if index >= len(work_for[key]):
|
||||
add_data.append('')
|
||||
continue
|
||||
add_data.append(work_for[key][index])
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_msg = {
|
||||
'data': work_for,
|
||||
@ -622,6 +786,29 @@ async def man_owner_name_form(
|
||||
owner_name['Boss直聘'].append(i_name)
|
||||
else:
|
||||
owner_name['58同城'].append(i_name)
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量渠道报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(owner_name.keys())
|
||||
# 取出最大长度key
|
||||
max_key = max(columns, key=lambda x: len(owner_name[x]))
|
||||
for index, i in enumerate(owner_name[max_key]):
|
||||
add_data = []
|
||||
for key in columns:
|
||||
if key == max_key:
|
||||
add_data.append(i)
|
||||
continue
|
||||
if index >= len(owner_name[key]):
|
||||
add_data.append('')
|
||||
continue
|
||||
add_data.append(owner_name[key][index])
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_msg = {
|
||||
'data': owner_name,
|
||||
@ -667,6 +854,29 @@ async def man_job_name_form(
|
||||
job_name[i_job_name].append(i_name)
|
||||
else:
|
||||
job_name[i_job_name] = [i_name]
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量职位报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(job_name.keys())
|
||||
# 取出最大长度key
|
||||
max_key = max(columns, key=lambda x: len(job_name[x]))
|
||||
for index, i in enumerate(job_name[max_key]):
|
||||
add_data = []
|
||||
for key in columns:
|
||||
if key == max_key:
|
||||
add_data.append(i)
|
||||
continue
|
||||
if index >= len(job_name[key]):
|
||||
add_data.append('')
|
||||
continue
|
||||
add_data.append(job_name[key][index])
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_msg = {
|
||||
'data': job_name,
|
||||
@ -727,6 +937,29 @@ async def man_school_type_form(
|
||||
school_type['211'].append(i_name)
|
||||
else:
|
||||
school_type['其他'].append(i_name)
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量学校类型报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(school_type.keys())
|
||||
# 取出最大长度key
|
||||
max_key = max(columns, key=lambda x: len(school_type[x]))
|
||||
for index, i in enumerate(school_type[max_key]):
|
||||
add_data = []
|
||||
for key in columns:
|
||||
if key == max_key:
|
||||
add_data.append(i)
|
||||
continue
|
||||
if index >= len(school_type[key]):
|
||||
add_data.append('')
|
||||
continue
|
||||
add_data.append(school_type[key][index])
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_msg = {
|
||||
'data': school_type,
|
||||
@ -801,6 +1034,23 @@ async def man_info_form(
|
||||
"phone": "电话",
|
||||
"work_for": "上家公司"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(level_list.values())
|
||||
key_dict = {v: k for k, v in level_list.items()}
|
||||
for i in res_data:
|
||||
add_data = []
|
||||
for key in columns:
|
||||
add_data.append(i.get(key_dict[key], ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_true_data = {
|
||||
'data': res_data,
|
||||
'level_list': level_list
|
||||
@ -894,6 +1144,23 @@ async def every_stage_form(
|
||||
"wait_work_num": "待入职",
|
||||
"work_in_num": "已入职"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(level_list.values())
|
||||
key_dict = {v: k for k, v in level_list.items()}
|
||||
for i in res_data:
|
||||
add_data = []
|
||||
for key in columns:
|
||||
add_data.append(i.get(key_dict[key], ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_true_data = {
|
||||
'data': res_data,
|
||||
'level_list': level_list
|
||||
@ -1061,6 +1328,23 @@ async def hr_works_form(
|
||||
"wait_work_num": "待入职",
|
||||
"work_num": "已入职"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(level_list.values())
|
||||
key_dict = {v: k for k, v in level_list.items()}
|
||||
for i in res_data1:
|
||||
add_data = []
|
||||
for key in columns:
|
||||
add_data.append(i.get(key_dict[key], ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_true_msg = {
|
||||
'data': res_data1,
|
||||
'level_list': level_list,
|
||||
@ -1195,6 +1479,23 @@ async def stage_success_form(
|
||||
"chance_4": "offer通过率",
|
||||
"chance_5": "待入职通过率"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(level_list.values())
|
||||
key_dict = {v: k for k, v in level_list.items()}
|
||||
for i in res_data1:
|
||||
add_data = []
|
||||
for key in columns:
|
||||
add_data.append(i.get(key_dict[key], ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_true_data = {
|
||||
'data': res_data1,
|
||||
'level_list': level_list
|
||||
@ -1252,6 +1553,20 @@ async def interview_funnel_form(
|
||||
res_msg['待入职'] += 1
|
||||
if stage >= 7:
|
||||
res_msg['已入职'] += 1
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量毕业院校报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(res_msg.keys())
|
||||
add_data = []
|
||||
for key in columns:
|
||||
add_data.append(res_msg[key])
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_data = {
|
||||
'data': res_msg,
|
||||
@ -1291,6 +1606,17 @@ async def interview_start_form(
|
||||
stage = i_data['interview_stage']
|
||||
if stage >= 1:
|
||||
res_msg['value'] += 1
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '初筛数量' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = ['初筛数量']
|
||||
add_data = [res_msg['value']]
|
||||
chk_data.append(add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_data = {
|
||||
'data': res_msg,
|
||||
@ -1330,6 +1656,17 @@ async def interview_exam_form(
|
||||
stage = i_data['interview_stage']
|
||||
if stage >= 3:
|
||||
res_msg['value'] += 1
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '安排面试总次数' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = ['安排面试总次数']
|
||||
add_data = [res_msg['value']]
|
||||
chk_data.append(add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_data = {
|
||||
'data': res_msg,
|
||||
@ -1369,6 +1706,17 @@ async def interview_wait_in_form(
|
||||
stage = i_data['interview_stage']
|
||||
if stage >= 5:
|
||||
res_msg['value'] += 1
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '待入职数量' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = ['待入职数量']
|
||||
add_data = [res_msg['value']]
|
||||
chk_data.append(add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_data = {
|
||||
'data': res_msg,
|
||||
@ -1414,7 +1762,31 @@ async def interview_stage1_owner_form(
|
||||
for i in data.values():
|
||||
owner_name = owner_dict[i['owner_name']]
|
||||
i_data = deepcopy(i)
|
||||
chk_data[owner_name].append(i_data)
|
||||
chk_data[owner_name].append(i_data['name'])
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '初筛阶段渠道' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data1 = []
|
||||
columns = list(chk_data.keys())
|
||||
# 取出最大长度key
|
||||
max_key = max(columns, key=lambda x: len(chk_data[x]))
|
||||
for index, i in enumerate(chk_data[max_key]):
|
||||
add_data = []
|
||||
for key in columns:
|
||||
if key == max_key:
|
||||
add_data.append(i)
|
||||
continue
|
||||
if index >= len(chk_data[key]):
|
||||
add_data.append('')
|
||||
continue
|
||||
add_data.append(chk_data[key][index])
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data1.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data1, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_data = {
|
||||
'data': chk_data,
|
||||
'table_data': table_data,
|
||||
@ -1445,6 +1817,18 @@ async def interview_job_num_form(
|
||||
res_msg = {
|
||||
'value': len(value)
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '开放中的职位数量' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = ['开放中的职位数量']
|
||||
add_data = [res_msg['value']]
|
||||
chk_data.append(add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
# 简历渠道
|
||||
res_data = {
|
||||
'data': res_msg,
|
||||
@ -1453,7 +1837,7 @@ async def interview_job_num_form(
|
||||
return schemas.Msg(code=200, msg='ok', data=res_data)
|
||||
|
||||
|
||||
# 招聘职位总人数数
|
||||
# 招聘职位总人数
|
||||
@router.post("/interview_job_need_num_form")
|
||||
async def interview_job_need_num_form(
|
||||
request: Request,
|
||||
@ -1476,7 +1860,18 @@ async def interview_job_need_num_form(
|
||||
res_msg = {
|
||||
'value': sum(value)
|
||||
}
|
||||
# 简历渠道
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '招聘职位总人数' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = ['招聘职位总人数']
|
||||
add_data = [res_msg['value']]
|
||||
chk_data.append(add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_data = {
|
||||
'data': res_msg,
|
||||
'table_data': table_data
|
||||
@ -1576,6 +1971,23 @@ async def owner_form(
|
||||
"offer_chance": "面试通过率",
|
||||
"work_chance": "入职率",
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(level_list.values())
|
||||
key_dict = {v: k for k, v in level_list.items()}
|
||||
for i in res_data:
|
||||
add_data = []
|
||||
for key in columns:
|
||||
add_data.append(i.get(key_dict[key], ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_true_data = {
|
||||
'data': res_data,
|
||||
'level_list': level_list
|
||||
@ -1687,6 +2099,23 @@ async def owner_effect(
|
||||
"year_money": "成本",
|
||||
"one_money": "人均成本",
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(level_list.values())
|
||||
key_dict = {v: k for k, v in level_list.items()}
|
||||
for i in res_data:
|
||||
add_data = []
|
||||
for key in columns:
|
||||
add_data.append(i.get(key_dict[key], ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_true_msg = {
|
||||
'data': res_data,
|
||||
'level_list': level_list
|
||||
@ -1744,6 +2173,22 @@ async def interview_trend_form(
|
||||
res_msg[chk_date]['初筛'] += 1 * count_num
|
||||
if chk_stage >= 3:
|
||||
res_msg[chk_date]['创建面试的申请数'] += 1 * count_num
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = ['日期', '初筛简历数', '初筛', '创建面试的申请数']
|
||||
for i, value in res_msg.items():
|
||||
add_data = [i]
|
||||
for key in columns[1:]:
|
||||
add_data.append(value.get(key, ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_data = {
|
||||
'data': res_msg,
|
||||
'table_data': table_data
|
||||
@ -1837,6 +2282,23 @@ async def year_trend_form(
|
||||
"out_self_num": "主动离职",
|
||||
"out_must_num": "被动离职"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(level_list.values())
|
||||
key_dict = {v: k for k, v in level_list.items()}
|
||||
for i in res_data:
|
||||
add_data = []
|
||||
for key in columns:
|
||||
add_data.append(i.get(key_dict[key], ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_true_data = {
|
||||
'data': res_data,
|
||||
'level_list': level_list
|
||||
@ -1959,6 +2421,23 @@ async def year_job_form(
|
||||
"work_num": "入职人数",
|
||||
"out_num": "离职人数"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(level_list.values())
|
||||
key_dict = {v: k for k, v in level_list.items()}
|
||||
for i in res_data1:
|
||||
add_data = []
|
||||
for key in columns:
|
||||
add_data.append(i.get(key_dict[key], ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_true_msg = {
|
||||
'data': res_data1,
|
||||
'level_list': level_list,
|
||||
@ -2021,6 +2500,22 @@ async def year_in_out(
|
||||
continue
|
||||
value = out_data['value']
|
||||
res_msg[out_date]['离职'] += value
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = ['日期', '入职', '离职']
|
||||
for i, value in res_msg.items():
|
||||
add_data = [i]
|
||||
for key in columns[1:]:
|
||||
add_data.append(value.get(key, ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_data = {
|
||||
'data': res_msg,
|
||||
'table_data': table_data
|
||||
@ -2117,6 +2612,23 @@ async def find_worker_form(
|
||||
'm3': 'm3',
|
||||
'm4': 'm4'
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(level_list.values())
|
||||
key_dict = {v: k for k, v in level_list.items()}
|
||||
for i in res_data:
|
||||
add_data = []
|
||||
for key in columns:
|
||||
add_data.append(i.get(key_dict[key], ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_true_msg = {
|
||||
'data': res_data,
|
||||
'level_list': level_list
|
||||
@ -2160,6 +2672,23 @@ async def find_count_info(
|
||||
level_list.update({
|
||||
'count_id': '月份'
|
||||
})
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
chk_data = []
|
||||
columns = list(level_list.values())
|
||||
key_dict = {v: k for k, v in level_list.items()}
|
||||
for i in data:
|
||||
add_data = []
|
||||
for key in columns:
|
||||
add_data.append(i.get(key_dict[key], ''))
|
||||
true_add_data = deepcopy(add_data)
|
||||
chk_data.append(true_add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
download_xls = Download_xlsx(chk_df, xls_name)
|
||||
return download_xls
|
||||
|
||||
res_msg = {
|
||||
'data': data,
|
||||
'level_list': level_list
|
||||
|
Loading…
Reference in New Issue
Block a user