报表导出1
This commit is contained in:
parent
550015b588
commit
9b943ec14b
@ -273,9 +273,8 @@ async def man_gander_form(
|
||||
gander['女'].append(i_name)
|
||||
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量性别报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '候选人质量性别' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
len1 = len(gander['男'])
|
||||
len2 = len(gander['女'])
|
||||
chk_data = []
|
||||
@ -353,9 +352,8 @@ async def man_age_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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
|
||||
@ -429,9 +427,8 @@ async def man_education_form(
|
||||
else:
|
||||
education['硕士'].append(i_name)
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人质量学历报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '候选人质量学历' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = ['大专', '本科', '研究生', '博士', '硕士']
|
||||
# 取出最大长度key
|
||||
@ -506,9 +503,8 @@ async def man_work_exp_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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
|
||||
@ -573,9 +569,8 @@ async def man_account_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '候选人质量所在地' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = list(account.keys())
|
||||
# 取出最大长度key
|
||||
@ -640,9 +635,8 @@ async def man_school_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '候选人质量毕业院校' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = list(school.keys())
|
||||
# 取出最大长度key
|
||||
@ -710,9 +704,8 @@ async def man_work_for_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '候选人质量就职公司' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = list(work_for.keys())
|
||||
# 取出最大长度key
|
||||
@ -787,9 +780,8 @@ async def man_owner_name_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '候选人质量渠道' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = list(owner_name.keys())
|
||||
# 取出最大长度key
|
||||
@ -855,9 +847,8 @@ async def man_job_name_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '候选人质量职位' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = list(job_name.keys())
|
||||
# 取出最大长度key
|
||||
@ -938,9 +929,8 @@ async def man_school_type_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '候选人质量学校类型' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = list(school_type.keys())
|
||||
# 取出最大长度key
|
||||
@ -1035,9 +1025,8 @@ async def man_info_form(
|
||||
"work_for": "上家公司"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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()}
|
||||
@ -1145,9 +1134,8 @@ async def every_stage_form(
|
||||
"work_in_num": "已入职"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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()}
|
||||
@ -1329,9 +1317,8 @@ async def hr_works_form(
|
||||
"work_num": "已入职"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = 'hr工作量' + 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()}
|
||||
@ -1480,9 +1467,8 @@ async def stage_success_form(
|
||||
"chance_5": "待入职通过率"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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()}
|
||||
@ -1554,9 +1540,8 @@ async def interview_funnel_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '招聘漏斗' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = list(res_msg.keys())
|
||||
add_data = []
|
||||
@ -1607,9 +1592,8 @@ async def interview_start_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '初筛数量' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = ['初筛数量']
|
||||
add_data = [res_msg['value']]
|
||||
@ -1657,11 +1641,10 @@ async def interview_exam_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '面试数量' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = ['安排面试总次数']
|
||||
columns = ['面试数量']
|
||||
add_data = [res_msg['value']]
|
||||
chk_data.append(add_data)
|
||||
chk_df = pd.DataFrame(data=chk_data, columns=columns)
|
||||
@ -1707,9 +1690,8 @@ async def interview_wait_in_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '待入职数量' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = ['待入职数量']
|
||||
add_data = [res_msg['value']]
|
||||
@ -1764,9 +1746,8 @@ async def interview_stage1_owner_form(
|
||||
i_data = deepcopy(i)
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '初筛阶段渠道' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data1 = []
|
||||
columns = list(chk_data.keys())
|
||||
# 取出最大长度key
|
||||
@ -1818,9 +1799,8 @@ async def interview_job_num_form(
|
||||
'value': len(value)
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '开放中的职位数量' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '开放中的职位数量' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = ['开放中的职位数量']
|
||||
add_data = [res_msg['value']]
|
||||
@ -1861,9 +1841,8 @@ async def interview_job_need_num_form(
|
||||
'value': sum(value)
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '招聘职位总人数' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.out_form == 'out':
|
||||
xls_name = '招聘职位总人数' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time', '')
|
||||
chk_data = []
|
||||
columns = ['招聘职位总人数']
|
||||
add_data = [res_msg['value']]
|
||||
@ -1972,9 +1951,8 @@ async def owner_form(
|
||||
"work_chance": "入职率",
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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()}
|
||||
@ -2100,9 +2078,8 @@ async def owner_effect(
|
||||
"one_money": "人均成本",
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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()}
|
||||
@ -2174,9 +2151,8 @@ async def interview_trend_form(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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():
|
||||
@ -2205,7 +2181,7 @@ async def year_trend_form(
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
) -> schemas.Msg:
|
||||
""" 招聘趋势分析报表 """
|
||||
""" 年度招聘趋势报表 """
|
||||
await interview.init()
|
||||
res = interview.get_year_form_sql()
|
||||
sql = res['sql']
|
||||
@ -2283,9 +2259,8 @@ async def year_trend_form(
|
||||
"out_must_num": "被动离职"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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()}
|
||||
@ -2422,9 +2397,8 @@ async def year_job_form(
|
||||
"out_num": "离职人数"
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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()}
|
||||
@ -2501,9 +2475,8 @@ async def year_in_out(
|
||||
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',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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():
|
||||
@ -2613,9 +2586,8 @@ async def find_worker_form(
|
||||
'm4': 'm4'
|
||||
}
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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()}
|
||||
@ -2673,9 +2645,8 @@ async def find_count_info(
|
||||
'count_id': '月份'
|
||||
})
|
||||
# 导出报表
|
||||
if interview.where.get('out_form', '') == 'out':
|
||||
xls_name = '候选人明细报表' + interview.where.get('start_time', '') + '~' + interview.where.get('start_time',
|
||||
'') + '(包含起止日)'
|
||||
if interview.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()}
|
||||
|
@ -31,11 +31,16 @@ class InterviewDo:
|
||||
self.data_in = {}
|
||||
self.where = {}
|
||||
self.data = {}
|
||||
self.out_form = ''
|
||||
|
||||
async def init(self, *args, **kwargs):
|
||||
self.find_column = self.query_in.find_column
|
||||
self.data_in = self.query_in.data_in
|
||||
self.where = self.query_in.interview_query
|
||||
if 'out_form' in self.where:
|
||||
out_form = self.where.pop('out_form')
|
||||
self.out_form = out_form
|
||||
|
||||
self.data = self.query_in.data
|
||||
|
||||
def handler_filts(self, where):
|
||||
|
Loading…
Reference in New Issue
Block a user