添加候选人接口

This commit is contained in:
Àî×ÚÕñ 2022-07-11 18:18:53 +08:00
parent f0ebc4af3c
commit 72ce65140e
4 changed files with 72 additions and 20 deletions

View File

@ -79,19 +79,19 @@ async def interview_insert(
return schemas.Msg(code=200, msg='ok', data=data) return schemas.Msg(code=200, msg='ok', data=data)
@router.post("/interview_insert") # @router.post("/interview_insert")
async def interview_insert( # async def interview_insert(
request: Request, # request: Request,
data_in: schemas.Interview, # data_in: schemas.Interview,
ckdb: CKDrive = Depends(get_ck_db), # ckdb: CKDrive = Depends(get_ck_db),
) -> schemas.Msg: # ) -> schemas.Msg:
""" 面试情况 """ # """ 面试情况 """
await interview.init() # await interview.init()
res = interview.insert_interview_sql() # res = interview.insert_interview_sql()
sql = res['sql'] # sql = res['sql']
insert_data = res['insert_data'] # insert_data = res['insert_data']
data = await db.execute_dict(sql, insert_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)
@router.post("/add_job") @router.post("/add_job")
async def event_edit( async def event_edit(

View File

@ -401,7 +401,7 @@ class Settings(BaseSettings):
# DATABASE_URI = f'mongodb://{MDB_USER}:{MDB_PASSWORD}@{MDB_HOST}:{MDB_PORT}/admin' # DATABASE_URI = f'mongodb://{MDB_USER}:{MDB_PASSWORD}@{MDB_HOST}:{MDB_PORT}/admin'
# 本地MongoDB的库测试 # 本地MongoDB的库测试
class Debug(Settings): class Debug(Settings):
MDB_HOST: str = '127.0.0.1' MDB_HOST: str = '10.0.0.240'
MDB_PORT: int = 27017 MDB_PORT: int = 27017
MDB_DB: str = 'hr_system' MDB_DB: str = 'hr_system'

View File

@ -11,9 +11,10 @@ import pandas as pd
import numpy as np import numpy as np
from sqlalchemy import func, or_, and_, not_ from sqlalchemy import func, or_, and_, not_
from copy import deepcopy
import crud import crud
import schemas import schemas
from dateutil import parser
from core.config import settings from core.config import settings
from db import get_database from db import get_database
@ -36,18 +37,31 @@ class InterviewDo:
def insert_interview_sql(self): def insert_interview_sql(self):
insert_data = [] insert_data = []
res_data = []
if isinstance(self.data_in, dict): if isinstance(self.data_in, dict):
insert_data = [self.data_in] insert_data = [self.data_in]
if isinstance(self.data_in, list): if isinstance(self.data_in, list):
insert_data = self.data_in insert_data = self.data_in
keys = ()
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"
for data in insert_data: for data in insert_data:
keys = tuple(data.keys()) s1 = data['star_time']
break s2 = data['end_time']
sql = f"insert into HR.resumes{keys} values" s3 = data['event_time']
s4 = data['graduate_time']
if s1:
data['star_time'] = parser.parse(s1)
if s2:
data['end_time'] = parser.parse(s2)
if s3:
data['event_time'] = parser.parse(s3)
if s4:
data['graduate_time'] = parser.parse(s4)
data_true = deepcopy(data)
res_data.append(data_true)
print(sql) print(sql)
return {'sql': sql, return {'sql': sql,
'insert_data': insert_data 'insert_data': res_data
} }
def update_interview_sql(self): def update_interview_sql(self):

View File

@ -0,0 +1,38 @@
路由: /api/v1/itr/interview_insert
参数:
{
"data_in": { # 插入的数据
"interview_name": "张四",
"interview_type": 0,
"interview_sign": 1,
"feedback": 0,
"interview_round": 1,
"star_time": "2022-07-11T10:30:00",
"end_time": "2022-07-11T11:00:00",
"event_time": "2022-07-01T10:00:00",
"uid": "1234567890",
"name": "李五",
"phone": "13789923799",
"job_name": "python开发",
"hr_name": "王六",
"work_exp": "2年",
"interview_stage": 1,
"owner_name": 2,
"education": 1,
"work_undergo": "",
"school": "武汉大学",
"specialty": "计算机专业",
"mmended_state": 0,
"mail": "250213000@qq.com",
"account": "湖北武汉",
"id_card": "421202199986750339",
"gender": "男",
"interview_state": 2,
"graduate_time": "2022-07-01T08:00:00",
"counts": 1
},
"interview_query": {}, # 筛选条件 添加候选人接口 传空值
"find_column": [ # 显示的字段 添加候选人接口 传空值
]
}