导入候选人
This commit is contained in:
parent
a48b54ac0d
commit
c6fd194614
@ -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='')
|
||||
|
@ -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']
|
||||
|
@ -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
|
||||
|
@ -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": [
|
||||
"教育经历"
|
||||
]
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user