导入候选人
This commit is contained in:
parent
a48b54ac0d
commit
c6fd194614
@ -87,8 +87,8 @@ async def interview_insert(
|
|||||||
file: UploadFile = File(...),
|
file: UploadFile = File(...),
|
||||||
db: CKDrive = Depends(get_ck_db),
|
db: CKDrive = Depends(get_ck_db),
|
||||||
) -> schemas.Msg:
|
) -> schemas.Msg:
|
||||||
""" interview面试数据写入 """
|
""" interview面试数据导入 """
|
||||||
path_data = os.getcwd() + '/jianli' # 当前文件所在的目录
|
path_data = os.getcwd() + '/jianli/' # 当前文件所在的目录
|
||||||
contents = await file.read()
|
contents = await file.read()
|
||||||
filename = file.filename
|
filename = file.filename
|
||||||
try:
|
try:
|
||||||
@ -98,9 +98,8 @@ async def interview_insert(
|
|||||||
f.close()
|
f.close()
|
||||||
except:
|
except:
|
||||||
return schemas.Msg(code=400, msg='上传文件有误', data=None)
|
return schemas.Msg(code=400, msg='上传文件有误', data=None)
|
||||||
insert_data = get_resume(filename, path_data)
|
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"
|
print(data)
|
||||||
data = await db.execute_dict(sql, insert_data)
|
|
||||||
return schemas.Msg(code=200, msg='ok', data=data)
|
return schemas.Msg(code=200, msg='ok', data=data)
|
||||||
|
|
||||||
|
|
||||||
@ -127,4 +126,4 @@ async def event_edit(
|
|||||||
) -> schemas.Msg:
|
) -> schemas.Msg:
|
||||||
"""新增职位"""
|
"""新增职位"""
|
||||||
await crud.jobs.insert_job(db, data_in)
|
await crud.jobs.insert_job(db, data_in)
|
||||||
return schemas.Msg(code=200, msg='ok', data='')
|
return schemas.Msg(code=200, msg='ok', data='')
|
||||||
|
@ -43,7 +43,7 @@ class InterviewDo:
|
|||||||
if isinstance(self.data_in, list):
|
if isinstance(self.data_in, list):
|
||||||
insert_data = self.data_in
|
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:
|
for data in insert_data:
|
||||||
s1 = data['star_time']
|
s1 = data['star_time']
|
||||||
s2 = data['end_time']
|
s2 = data['end_time']
|
||||||
|
@ -9,13 +9,52 @@ from win32com import client as wc
|
|||||||
from pdf2docx import Converter
|
from pdf2docx import Converter
|
||||||
|
|
||||||
# 文件路径
|
# 文件路径
|
||||||
schema = ['姓名', '所在地', '户口所在地', '籍贯', '婚姻状况', '民族', '身高', '电话', 'tel', '应聘职位', '到岗时间', '学历', '毕业学校', '专业',
|
schema = ['姓名', '所在地', '户口所在地', '籍贯', '婚姻状况', '民族', '电话', 'tel', '应聘职位', '到岗时间', '学历', '毕业学校', '专业', '期望薪资',
|
||||||
'期望薪资', '在校时间', '电子邮箱', '工作经验', 'Email', '性别', '年龄'
|
'在校时间', '电子邮箱', '工作经验', 'Email', '性别', '年龄', '身份证号', '技能特长'
|
||||||
]
|
]
|
||||||
schema_dict = {'姓名': 'name', '所在地': 'location', '户口所在地': 'account', '婚姻状况': 'gam', '民族': 'nation', '身高': 'height',
|
schema_dict = {'姓名': 'name', '所在地': 'account', '户口所在地': 'accounts', '婚姻状况': 'gam', '民族': 'nation',
|
||||||
'电话': 'phone', '应聘职位': 'job', '到岗时间': 'come_time', '学历': 'education', '毕业学校': 'school', '专业': 'career',
|
'电话': 'phone', '应聘职位': 'job_name', '到岗时间': 'come_time', '学历': 'education', '毕业学校': 'school',
|
||||||
'期望薪资': 'money', '在校时间': 'at_school', '电子邮箱': 'mail', '工作经验': 'work_exp', 'Email': 'mails',
|
'专业': 'specialty', '期望薪资': 'hope_money', '在校时间': 'at_school', '电子邮箱': 'mail', '工作经验': 'work_exp',
|
||||||
'性别': 'gender', '年龄': 'age', '籍贯': 'accounts', 'tel': 'tels'}
|
'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):
|
def chkworlkandtime(listdata):
|
||||||
@ -145,7 +184,7 @@ def get_date(schema, dates, schema_dict):
|
|||||||
:param schema_dict:对应中文的英文
|
:param schema_dict:对应中文的英文
|
||||||
:return: 返回取出概率最大的基本信息数据
|
:return: 返回取出概率最大的基本信息数据
|
||||||
"""
|
"""
|
||||||
date = {}
|
date = data_mode
|
||||||
for i in schema:
|
for i in schema:
|
||||||
text = dates[0].get(i, '')
|
text = dates[0].get(i, '')
|
||||||
# 如果数据中没有搜到对应的键,返回空字符串
|
# 如果数据中没有搜到对应的键,返回空字符串
|
||||||
@ -352,20 +391,17 @@ def fmtList(txtlist, dates):
|
|||||||
# review自我评价, project项目经验,work工作经验,work具体工作的公司和时间,upgrade教育经历,specialty技能特长
|
# review自我评价, project项目经验,work工作经验,work具体工作的公司和时间,upgrade教育经历,specialty技能特长
|
||||||
dates.update({
|
dates.update({
|
||||||
'review': review,
|
'review': review,
|
||||||
'project': project,
|
'project_undergo': project,
|
||||||
'work': work,
|
'work_undergo': work,
|
||||||
'work_list': work_list,
|
'work_list': work_list,
|
||||||
'upgrade': upgrade,
|
'upgrade': upgrade,
|
||||||
'specialty': specialty,
|
'specialty_do': specialty,
|
||||||
})
|
})
|
||||||
|
|
||||||
return dates
|
return dates
|
||||||
|
|
||||||
|
|
||||||
def get_resume(file, path_data):
|
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}"
|
url = path_data + f"/{file}"
|
||||||
if os.path.splitext(file)[1] == '.pdf':
|
if os.path.splitext(file)[1] == '.pdf':
|
||||||
pdf_docx(path_data, file) # 转为docx
|
pdf_docx(path_data, file) # 转为docx
|
||||||
|
@ -8,5 +8,52 @@
|
|||||||
{
|
{
|
||||||
"code": 200,
|
"code": 200,
|
||||||
"msg": "ok",
|
"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": [
|
||||||
|
"教育经历"
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user