导入候选人

This commit is contained in:
Àî×ÚÕñ 2022-07-12 11:52:02 +08:00
parent a48b54ac0d
commit c6fd194614
4 changed files with 103 additions and 21 deletions

View File

@ -87,8 +87,8 @@ async def interview_insert(
file: UploadFile = File(...),
db: CKDrive = Depends(get_ck_db),
) -> schemas.Msg:
""" interview面试数据"""
path_data = os.getcwd() + '/jianli' # 当前文件所在的目录
""" interview面试数据"""
path_data = os.getcwd() + '/jianli/' # 当前文件所在的目录
contents = await file.read()
filename = file.filename
try:
@ -98,9 +98,8 @@ async def interview_insert(
f.close()
except:
return schemas.Msg(code=400, msg='上传文件有误', data=None)
insert_data = get_resume(filename, path_data)
sql = f"insert into HR.resumes(interview_name, interview_type, interview_sign, feedback, interview_round, star_time, end_time, event_time, uid, name, phone, job_name, hr_name, work_exp, interview_stage, owner_name, education, work_undergo, school, specialty, mmended_state, mail, account, id_card, gender, interview_state, graduate_time, counts) values"
data = await db.execute_dict(sql, insert_data)
data = get_resume(filename, path_data)
print(data)
return schemas.Msg(code=200, msg='ok', data=data)
@ -127,4 +126,4 @@ async def event_edit(
) -> schemas.Msg:
"""新增职位"""
await crud.jobs.insert_job(db, data_in)
return schemas.Msg(code=200, msg='ok', data='')
return schemas.Msg(code=200, msg='ok', data='')

View File

@ -43,7 +43,7 @@ class InterviewDo:
if isinstance(self.data_in, list):
insert_data = self.data_in
sql = f"insert into HR.resumes(interview_name, interview_type, interview_sign, feedback, interview_round, star_time, end_time, event_time, uid, name, phone, job_name, hr_name, work_exp, interview_stage, owner_name, education, work_undergo, school, specialty, mmended_state, mail, account, id_card, gender, interview_state, graduate_time, counts) values"
sql = f"insert into HR.resumes(interview_name, interview_type, interview_sign, feedback, interview_round, star_time, end_time, event_time, uid, name, phone, job_name, hr_name, work_exp, interview_stage, owner_name, education, work_undergo, project_undergo, work_list, school, at_school, specialty, specialty_do, mmended_state, mail, account, id_card, gender, age, gam, interview_state, graduate_time, counts, nation, come_time, review, upgrade) values"
for data in insert_data:
s1 = data['star_time']
s2 = data['end_time']

View File

@ -9,13 +9,52 @@ from win32com import client as wc
from pdf2docx import Converter
# 文件路径
schema = ['姓名', '所在地', '户口所在地', '籍贯', '婚姻状况', '民族', '身高', '电话', 'tel', '应聘职位', '到岗时间', '学历', '毕业学校', '专业',
'期望薪资', '在校时间', '电子邮箱', '工作经验', 'Email', '性别', '年龄'
schema = ['姓名', '所在地', '户口所在地', '籍贯', '婚姻状况', '民族', '电话', 'tel', '应聘职位', '到岗时间', '学历', '毕业学校', '专业', '期望薪资',
'在校时间', '电子邮箱', '工作经验', 'Email', '性别', '年龄', '身份证号', '技能特长'
]
schema_dict = {'姓名': 'name', '所在地': 'location', '户口所在地': 'account', '婚姻状况': 'gam', '民族': 'nation', '身高': 'height',
'电话': 'phone', '应聘职位': 'job', '到岗时间': 'come_time', '学历': 'education', '毕业学校': 'school', '专业': 'career',
'期望薪资': 'money', '在校时间': 'at_school', '电子邮箱': 'mail', '工作经验': 'work_exp', 'Email': 'mails',
'性别': 'gender', '年龄': 'age', '籍贯': 'accounts', 'tel': 'tels'}
schema_dict = {'姓名': 'name', '所在地': 'account', '户口所在地': 'accounts', '婚姻状况': 'gam', '民族': 'nation',
'电话': 'phone', '应聘职位': 'job_name', '到岗时间': 'come_time', '学历': 'education', '毕业学校': 'school',
'专业': 'specialty', '期望薪资': 'hope_money', '在校时间': 'at_school', '电子邮箱': 'mail', '工作经验': 'work_exp',
'Email': 'mails', '性别': 'gender', '年龄': 'age', '籍贯': 'account', 'tel': 'tels', '身份证号': 'id_card',
'技能特长': 'specialty_do'}
# 简历初始文档
data_mode = {
"interview_name": "",
"interview_type": 1,
"interview_sign": 0,
"hope_money": 10000,
"feedback": 0,
"interview_round": 0,
"star_time": "",
"end_time": "",
"event_time": "",
"name": "",
"phone": "",
"job_name": "",
"hr_name": "",
"work_exp": "",
"interview_stage": 1,
"owner_name": 2,
"education": 1,
"work_undergo": [],
"project_undergo": [],
"work_list": [],
"school": "",
"at_school": "",
"specialty": "",
"specialty_do": [],
"mmended_state": 0,
"mail": "",
"account": "",
"id_card": "",
"gender": "",
"age": "",
"gam": "",
"interview_state": 1,
"graduate_time": "",
"counts": 1
}
def chkworlkandtime(listdata):
@ -145,7 +184,7 @@ def get_date(schema, dates, schema_dict):
:param schema_dict:对应中文的英文
:return: 返回取出概率最大的基本信息数据
"""
date = {}
date = data_mode
for i in schema:
text = dates[0].get(i, '')
# 如果数据中没有搜到对应的键,返回空字符串
@ -352,20 +391,17 @@ def fmtList(txtlist, dates):
# review自我评价, project项目经验work工作经验work具体工作的公司和时间upgrade教育经历specialty技能特长
dates.update({
'review': review,
'project': project,
'work': work,
'project_undergo': project,
'work_undergo': work,
'work_list': work_list,
'upgrade': upgrade,
'specialty': specialty,
'specialty_do': specialty,
})
return dates
def get_resume(file, path_data):
# for root, dirs, files in os.walk(PATH_DATA):
# for file in files: # 一个file就是一份简历
url = path_data + f"/{file}"
if os.path.splitext(file)[1] == '.pdf':
pdf_docx(path_data, file) # 转为docx

View File

@ -8,5 +8,52 @@
{
"code": 200,
"msg": "ok",
"data": 1 # 成功添加的数据条数
"data": {
"interview_name": "",
"interview_type": 1,
"interview_sign": 0,
"hope_money": "",
"feedback": 0,
"interview_round": 0,
"star_time": "",
"end_time": "",
"event_time": "",
"name": "黄古森",
"phone": "18771072415",
"job_name": "android开发工程师",
"hr_name": "",
"work_exp": "6年",
"interview_stage": 1,
"owner_name": 2,
"education": "本科",
"work_undergo": [
"工作经历职位android开发工程师 负责公司整个手游运营平台的客户端部分包括手游联运sdk、手游盒子APP、渠道分发SDK、渠道分包工具等。 职位android开发工程师 负责Android应用的开发主要包括客户端框架搭建解决技术问题以及领导分配的开发任务。 "
],
"project_undergo": [
"项目经历所属公司:(武汉游侠精灵科技有限公司) 项目描述: 获取游戏的聊天记录实时发送我方服务器你的成就: ● 聊天记录的获取● TCP编码自定义协议● Netty实时发送消息● 部署和调优所属公司:(武汉游侠精灵科技有限公司) 项目描述: 包接入各大发行商的sdk各大应用市场上架出包各大硬核渠道上架其他广告投放使用分发融合工具你的成就 完成整个项目的分发体系设计,代码编写,工具开发,上架维护更新等所属公司:(武汉游侠精灵科技有限公司) 项目描述: 游侠游戏平台运营APP游戏下载渠道分发运营活动留存状态等你的成就 全部开发设计与更新跌代维护!所属公司:(武汉游侠精灵科技有限公司) 项目描述: 提供给手游厂商和渠道发行商联运的SDK你的成就 整体设计开发,更新迭代与维护所属公司:(武汉游侠精灵科技有限公司) 项目描述: 运营和合作商管理游戏玩家信息,禁言,数据统计等的管理后台你的成就: 数据统计分析,留存转化,功能定制,国际化语言!项目描述: 用手机写自己的小说,可随时随地创作小说。 支持在线和离线阅读热门小说,支持导入本地小说阅读。你的成就: 整体框架的搭建,完成写书、书架、书城模块项目描述: 新闻类app知晓—知晓知天下晓大事。权威资讯平台自己看新闻打造你专属的精致生活1、根据你的生活方式个性订阅精彩的生活资讯内容。你的成就 整体框架的搭建界面的绘制使用SQLite数据库实现兴趣搜索功能"
],
"work_list": [],
"school": "湖北师范大学",
"at_school": "",
"specialty": "电子信息工程",
"specialty_do": [],
"mmended_state": 0,
"mail": "18771072415",
"account": "",
"id_card": "",
"gender": "男",
"age": "27岁",
"gam": "",
"interview_state": 1,
"graduate_time": "",
"counts": 1,
"nation": "汉",
"come_time": "",
"review": [
"个人优势综合能力: 执行力 | 抗压能力 | 沟通协调能力 | 适应能力 | 责任心 乐于沟通能把握沟通需求关键并提供程序解决方案专注能针对性的问题进行研究以及深入掌握掌握Android逆向技术熟练掌握反编工具AndroidKiller的使用能熟练的解包编包掌握各大编译器使用Eclipse、Android Studio、IDEA等能独立开发维护Android 项目,熟练掌握各大模块的编写维护。\n"
],
"upgrade": [
"教育经历"
]
}
}