报表
This commit is contained in:
parent
7b52af6f25
commit
1f4e4d26c4
@ -177,7 +177,7 @@ async def man_mass_form(
|
|||||||
|
|
||||||
i_job_name = interview_data.get('job_names', '')
|
i_job_name = interview_data.get('job_names', '')
|
||||||
if i_job_name:
|
if i_job_name:
|
||||||
if i_job_name in account:
|
if i_job_name in job_name:
|
||||||
job_name[i_job_name].append(i_name)
|
job_name[i_job_name].append(i_name)
|
||||||
else:
|
else:
|
||||||
job_name[i_job_name] = [i_name]
|
job_name[i_job_name] = [i_name]
|
||||||
@ -215,6 +215,390 @@ async def man_mass_form(
|
|||||||
return schemas.Msg(code=200, msg='ok', data=res_msg)
|
return schemas.Msg(code=200, msg='ok', data=res_msg)
|
||||||
|
|
||||||
|
|
||||||
|
# 候选人质量性别报表
|
||||||
|
@router.post("/man_gander_form")
|
||||||
|
async def man_gander_form(
|
||||||
|
request: Request,
|
||||||
|
interview: InterviewDo = Depends(InterviewDo),
|
||||||
|
db: CKDrive = Depends(get_ck_db),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
""" 候选人质量性别报表 """
|
||||||
|
await interview.init()
|
||||||
|
res = interview.get_man_mass_form_sql()
|
||||||
|
sql = res['sql']
|
||||||
|
data = await db.execute(sql)
|
||||||
|
# 性别
|
||||||
|
gander = {
|
||||||
|
'男': [],
|
||||||
|
'女': []
|
||||||
|
}
|
||||||
|
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
|
# 处理数据
|
||||||
|
for interview_data in data.values():
|
||||||
|
i_name = interview_data.get('name', '默认名字')
|
||||||
|
i_gander = interview_data.get('gander', '男')
|
||||||
|
if i_gander == '男':
|
||||||
|
gander['男'].append(i_name)
|
||||||
|
else:
|
||||||
|
gander['女'].append(i_name)
|
||||||
|
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=gander)
|
||||||
|
|
||||||
|
|
||||||
|
# 候选人质量年龄报表
|
||||||
|
@router.post("/man_age_form")
|
||||||
|
async def man_age_form(
|
||||||
|
request: Request,
|
||||||
|
interview: InterviewDo = Depends(InterviewDo),
|
||||||
|
db: CKDrive = Depends(get_ck_db),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
""" 候选人质量年龄报表 """
|
||||||
|
await interview.init()
|
||||||
|
res = interview.get_man_mass_form_sql()
|
||||||
|
sql = res['sql']
|
||||||
|
data = await db.execute(sql)
|
||||||
|
# 年龄
|
||||||
|
age = {
|
||||||
|
'20-29': [],
|
||||||
|
'30-39': [],
|
||||||
|
'40-49': [],
|
||||||
|
'50-59': [],
|
||||||
|
'60-100': [],
|
||||||
|
}
|
||||||
|
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
|
# 处理数据
|
||||||
|
for interview_data in data.values():
|
||||||
|
i_name = interview_data.get('name', '默认名字')
|
||||||
|
i_age = interview_data.get('age', 20)
|
||||||
|
if i_age <= 29:
|
||||||
|
age['20-29'].append(i_name)
|
||||||
|
elif 30 <= i_age <= 39:
|
||||||
|
age['30-39'].append(i_name)
|
||||||
|
elif 40 <= i_age <= 49:
|
||||||
|
age['40-49'].append(i_name)
|
||||||
|
elif 50 <= i_age <= 59:
|
||||||
|
age['50-59'].append(i_name)
|
||||||
|
else:
|
||||||
|
age['60-100'].append(i_name)
|
||||||
|
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=age)
|
||||||
|
|
||||||
|
|
||||||
|
# 候选人质量学历报表
|
||||||
|
@router.post("/man_education_form")
|
||||||
|
async def man_education_form(
|
||||||
|
request: Request,
|
||||||
|
interview: InterviewDo = Depends(InterviewDo),
|
||||||
|
db: CKDrive = Depends(get_ck_db),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
""" 候选人质量学历报表 """
|
||||||
|
await interview.init()
|
||||||
|
res = interview.get_man_mass_form_sql()
|
||||||
|
sql = res['sql']
|
||||||
|
data = await db.execute(sql)
|
||||||
|
# 学历
|
||||||
|
education = {
|
||||||
|
'大专': [],
|
||||||
|
'本科': [],
|
||||||
|
'研究生': [],
|
||||||
|
'博士': [],
|
||||||
|
'硕士': []
|
||||||
|
}
|
||||||
|
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
|
# 处理数据
|
||||||
|
for interview_data in data.values():
|
||||||
|
i_name = interview_data.get('name', '默认名字')
|
||||||
|
i_education = interview_data.get('education', 1)
|
||||||
|
if i_education == 1:
|
||||||
|
education['大专'].append(i_name)
|
||||||
|
elif i_education == 2:
|
||||||
|
education['本科'].append(i_name)
|
||||||
|
elif i_education == 3:
|
||||||
|
education['研究生'].append(i_name)
|
||||||
|
elif i_education == 4:
|
||||||
|
education['博士'].append(i_name)
|
||||||
|
else:
|
||||||
|
education['硕士'].append(i_name)
|
||||||
|
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=education)
|
||||||
|
|
||||||
|
|
||||||
|
# 候选人质量工作经验报表
|
||||||
|
@router.post("/man_work_exp_form")
|
||||||
|
async def man_work_exp_form(
|
||||||
|
request: Request,
|
||||||
|
interview: InterviewDo = Depends(InterviewDo),
|
||||||
|
db: CKDrive = Depends(get_ck_db),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
""" 候选人质量工作经验报表 """
|
||||||
|
await interview.init()
|
||||||
|
res = interview.get_man_mass_form_sql()
|
||||||
|
sql = res['sql']
|
||||||
|
data = await db.execute(sql)
|
||||||
|
# 工作经验
|
||||||
|
work_exp = {
|
||||||
|
'0-2': [],
|
||||||
|
'3-6': [],
|
||||||
|
'6-10': [],
|
||||||
|
'10-20': [],
|
||||||
|
'20-40': []
|
||||||
|
}
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
|
# 处理数据
|
||||||
|
for interview_data in data.values():
|
||||||
|
i_name = interview_data.get('name', '默认名字')
|
||||||
|
i_work_exp = interview_data.get('work_exp', 1)
|
||||||
|
if i_work_exp <= 2:
|
||||||
|
work_exp['0-2'].append(i_name)
|
||||||
|
elif 3 <= i_work_exp < 6:
|
||||||
|
work_exp['3-6'].append(i_name)
|
||||||
|
elif 6 <= i_work_exp < 10:
|
||||||
|
work_exp['6-10'].append(i_name)
|
||||||
|
elif 10 <= i_work_exp < 20:
|
||||||
|
work_exp['10-20'].append(i_name)
|
||||||
|
else:
|
||||||
|
work_exp['20-40'].append(i_name)
|
||||||
|
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=work_exp)
|
||||||
|
|
||||||
|
|
||||||
|
# 候选人质量所在地报表
|
||||||
|
@router.post("/man_account_form")
|
||||||
|
async def man_account_form(
|
||||||
|
request: Request,
|
||||||
|
interview: InterviewDo = Depends(InterviewDo),
|
||||||
|
db: CKDrive = Depends(get_ck_db),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
""" 候选人质量所在地报表 """
|
||||||
|
await interview.init()
|
||||||
|
res = interview.get_man_mass_form_sql()
|
||||||
|
sql = res['sql']
|
||||||
|
data = await db.execute(sql)
|
||||||
|
# 所在地
|
||||||
|
account = {
|
||||||
|
}
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
|
# 处理数据
|
||||||
|
for interview_data in data.values():
|
||||||
|
i_name = interview_data.get('name', '默认名字')
|
||||||
|
i_account = interview_data.get('account', '')
|
||||||
|
if i_account:
|
||||||
|
if i_account in account:
|
||||||
|
account[i_account].append(i_name)
|
||||||
|
else:
|
||||||
|
account[i_account] = [i_name]
|
||||||
|
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=account)
|
||||||
|
|
||||||
|
|
||||||
|
# 候选人质量毕业院校报表
|
||||||
|
@router.post("/man_school_form")
|
||||||
|
async def man_school_form(
|
||||||
|
request: Request,
|
||||||
|
interview: InterviewDo = Depends(InterviewDo),
|
||||||
|
db: CKDrive = Depends(get_ck_db),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
""" 候选人质量毕业院校报表 """
|
||||||
|
await interview.init()
|
||||||
|
res = interview.get_man_mass_form_sql()
|
||||||
|
sql = res['sql']
|
||||||
|
data = await db.execute(sql)
|
||||||
|
# 毕业院校
|
||||||
|
school = {
|
||||||
|
}
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
|
# 处理数据
|
||||||
|
for interview_data in data.values():
|
||||||
|
i_name = interview_data.get('name', '默认名字')
|
||||||
|
i_school = interview_data.get('school', '')
|
||||||
|
if i_school:
|
||||||
|
if i_school in school:
|
||||||
|
school[i_school].append(i_name)
|
||||||
|
else:
|
||||||
|
school[i_school] = [i_name]
|
||||||
|
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=school)
|
||||||
|
|
||||||
|
|
||||||
|
# 候选人质量就职公司报表
|
||||||
|
@router.post("/man_work_for_form")
|
||||||
|
async def man_work_for_form(
|
||||||
|
request: Request,
|
||||||
|
interview: InterviewDo = Depends(InterviewDo),
|
||||||
|
db: CKDrive = Depends(get_ck_db),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
""" 候选人质量就职公司报表 """
|
||||||
|
await interview.init()
|
||||||
|
res = interview.get_man_mass_form_sql()
|
||||||
|
sql = res['sql']
|
||||||
|
data = await db.execute(sql)
|
||||||
|
# 就职公司
|
||||||
|
work_for = {
|
||||||
|
}
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
|
# 处理数据
|
||||||
|
for interview_data in data.values():
|
||||||
|
i_name = interview_data.get('name', '默认名字')
|
||||||
|
i_work_list = interview_data.get('work_list', '')
|
||||||
|
if i_work_list:
|
||||||
|
data_work = eval(i_work_list[0])
|
||||||
|
i_work_for = data_work.get('name', '')
|
||||||
|
if i_work_for:
|
||||||
|
if i_work_for in work_for:
|
||||||
|
work_for[i_work_for].append(i_name)
|
||||||
|
else:
|
||||||
|
work_for[i_work_for] = [i_name]
|
||||||
|
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=work_for)
|
||||||
|
|
||||||
|
|
||||||
|
# 候选人质量渠道报表
|
||||||
|
@router.post("/man_owner_name_form")
|
||||||
|
async def man_owner_name_form(
|
||||||
|
request: Request,
|
||||||
|
interview: InterviewDo = Depends(InterviewDo),
|
||||||
|
db: CKDrive = Depends(get_ck_db),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
""" 候选人质量渠道报表 """
|
||||||
|
await interview.init()
|
||||||
|
res = interview.get_man_mass_form_sql()
|
||||||
|
sql = res['sql']
|
||||||
|
data = await db.execute(sql)
|
||||||
|
# 渠道
|
||||||
|
owner_name = {
|
||||||
|
'前程无忧': [],
|
||||||
|
'人才库': [],
|
||||||
|
'智联招聘': [],
|
||||||
|
'Boss直聘': [],
|
||||||
|
'58同城': []
|
||||||
|
}
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
|
# 处理数据
|
||||||
|
for interview_data in data.values():
|
||||||
|
i_name = interview_data.get('name', '默认名字')
|
||||||
|
i_owner_name = interview_data.get('owner_name', 2)
|
||||||
|
if i_owner_name == 1:
|
||||||
|
owner_name['前程无忧'].append(i_name)
|
||||||
|
elif i_owner_name == 2:
|
||||||
|
owner_name['人才库'].append(i_name)
|
||||||
|
elif i_owner_name == 3:
|
||||||
|
owner_name['智联招聘'].append(i_name)
|
||||||
|
elif i_owner_name == 4:
|
||||||
|
owner_name['Boss直聘'].append(i_name)
|
||||||
|
else:
|
||||||
|
owner_name['58同城'].append(i_name)
|
||||||
|
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=owner_name)
|
||||||
|
|
||||||
|
|
||||||
|
# 候选人质量职位报表
|
||||||
|
@router.post("/man_job_name_form")
|
||||||
|
async def man_job_name_form(
|
||||||
|
request: Request,
|
||||||
|
interview: InterviewDo = Depends(InterviewDo),
|
||||||
|
db: CKDrive = Depends(get_ck_db),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
""" 候选人质量职位报表 """
|
||||||
|
await interview.init()
|
||||||
|
res = interview.get_man_mass_form_sql()
|
||||||
|
sql = res['sql']
|
||||||
|
data = await db.execute(sql)
|
||||||
|
|
||||||
|
# 职位
|
||||||
|
job_name = {
|
||||||
|
}
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
|
# 处理数据
|
||||||
|
for interview_data in data.values():
|
||||||
|
i_name = interview_data.get('name', '默认名字')
|
||||||
|
i_job_name = interview_data.get('job_names', '')
|
||||||
|
if i_job_name:
|
||||||
|
if i_job_name in job_name:
|
||||||
|
job_name[i_job_name].append(i_name)
|
||||||
|
else:
|
||||||
|
job_name[i_job_name] = [i_name]
|
||||||
|
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=job_name)
|
||||||
|
|
||||||
|
|
||||||
|
# 候选人质量学校类型报表
|
||||||
|
@router.post("/man_school_type_form")
|
||||||
|
async def man_school_type_form(
|
||||||
|
request: Request,
|
||||||
|
interview: InterviewDo = Depends(InterviewDo),
|
||||||
|
db: CKDrive = Depends(get_ck_db),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
""" 候选人质量学校类型报表 """
|
||||||
|
await interview.init()
|
||||||
|
res = interview.get_man_mass_form_sql()
|
||||||
|
sql = res['sql']
|
||||||
|
data = await db.execute(sql)
|
||||||
|
school_985 = ['清华大学', '北京大学', '中国人民大学', '北京理工大学', '北京航空航天大学', '中央民族大学', '北京师范大学',
|
||||||
|
'中国农业大学', '天津大学', '南开大学', '复旦大学', '上海交通大学', '同济大学', '华东师范大学', '重庆大学', '四川大学',
|
||||||
|
'电子科技大学', '湖南大学', '国防科技大学', '中南大学', '厦门大学']
|
||||||
|
|
||||||
|
school_211 = ['上海外国语大学', '东华大学', '上海财经大学', '华东理工大学', '上海大学', '天津医科大学', '吉林大学', '东北师范大学',
|
||||||
|
'延边大学', '哈尔滨工业大学', '哈尔滨工程大学', '东北农业大学', '东北林业大学', '南京大学', '东南大学', '苏州大学',
|
||||||
|
'中国矿业大学', '中国药科大学', '河海大学', '南京航空航天大学', '江南大学', '南京农业大学', '南京理工大学', '浙江大学',
|
||||||
|
'中国科技大学', '安徽大学', '合肥工业大学', '福州大学', '南昌大学', '山东大学', '中国海洋大学', '石油大学',
|
||||||
|
'湖南师范大学', '广西大学', '中山大学', '暨南大学', '华南理工大学', '华南师范大学', '广州中医药大学', '武汉大学',
|
||||||
|
'华中科技大学', '中国地质大学', '武汉理工大学', '华中师范大学', '华中农业大学', '中南财经政法大学']
|
||||||
|
# 学校类型
|
||||||
|
school_type = {
|
||||||
|
'985': [],
|
||||||
|
'211': [],
|
||||||
|
'其他': [],
|
||||||
|
}
|
||||||
|
if not data:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
|
# 处理数据
|
||||||
|
for interview_data in data.values():
|
||||||
|
i_name = interview_data.get('name', '默认名字')
|
||||||
|
i_school = interview_data.get('school', '')
|
||||||
|
if i_school:
|
||||||
|
if i_school in school_985:
|
||||||
|
school_type['985'].append(i_name)
|
||||||
|
school_type['211'].append(i_name)
|
||||||
|
elif i_school in school_211:
|
||||||
|
school_type['211'].append(i_name)
|
||||||
|
else:
|
||||||
|
school_type['其他'].append(i_name)
|
||||||
|
|
||||||
|
return schemas.Msg(code=200, msg='ok', data=school_type)
|
||||||
|
|
||||||
|
|
||||||
# 候选人明细报表
|
# 候选人明细报表
|
||||||
@router.post("/man_info_form")
|
@router.post("/man_info_form")
|
||||||
async def man_info_form(
|
async def man_info_form(
|
||||||
@ -273,7 +657,8 @@ async def man_info_form(
|
|||||||
"work_for": "上家公司"
|
"work_for": "上家公司"
|
||||||
}
|
}
|
||||||
res_msg = {
|
res_msg = {
|
||||||
'info': {'data': res_data, 'level_list': level_list}
|
'data': res_data,
|
||||||
|
'level_list': level_list
|
||||||
}
|
}
|
||||||
return schemas.Msg(code=200, msg='ok', data=res_msg)
|
return schemas.Msg(code=200, msg='ok', data=res_msg)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user