This commit is contained in:
2026-09-22 18:26:40 +08:00
parent 5020eeb640
commit b497e6e2a1
4 changed files with 24 additions and 29 deletions
+2 -2
View File
@@ -10,7 +10,7 @@ CURD=APIRouter()
@CURD.get('/emp',summary='查询就业信息')
def get_stuinfo( #查询学生就业信息
sname:str| None = Query(None,description='学生姓名')
,class_num:int| None = Query(None,description='班级编号')
,class_id:int| None = Query(None,description='班级编号')
,employment_company:str|None=Query(None,description='公司名称')
,min_salary:int|None=Query(None,description='最小薪资范围')
,max_salary:int|None=Query(None,description='最大薪资范围')
@@ -23,7 +23,7 @@ def get_stuinfo( #查询学生就业信息
): #查询条件
r=get_emp_dao( #调用函数
sname,
class_num,
class_id,
employment_company,
min_salary,
max_salary,
+11 -9
View File
@@ -1,7 +1,7 @@
from stu_jiuye.model import Employments,Address,Company
from students.model.students_model import *
from class_management.model.class_management_model import *
def add_employment_dao(o,db): #新增就业信息函数
try:
# r = db.query(Employments).filter(Employments.id == o['id'] ).all() #
@@ -68,7 +68,7 @@ def update_emp_dao(id,update_data,db): #更新数据函数
def get_emp_dao( #获取学生就业信息函数
# stuid,
sname
,class_num
,class_id
,employment_company
,min_salary
,max_salary
@@ -82,7 +82,9 @@ def get_emp_dao( #获取学生
# ,page
# ,page_size
): #根据选择条件获取信息
q = db.query(Employments,Company.employment_company,Address.somewhere)\
q = db.query(Employments,Company.employment_company,Address.somewhere) \
.outerjoin(Company, Students.id == Employments.stuid) \
.outerjoin(Company, ClassInfo.id == Employments.class_id)\
.outerjoin(Company,Employments.company_id==Company.id)\
.outerjoin(Address,Company.address_id==Address.id)\
.filter(Employments.is_deleted == 0) #连接公司表和地址表,筛选未被删除信息
@@ -90,9 +92,9 @@ def get_emp_dao( #获取学生
# q = q.filter( Employments.id == stuid )
if sname: #根据学生姓名筛选
q = q.filter( Employments.sname == sname )
if class_num:
q = q.filter(Employments.class_num == class_num)
q = q.filter( Students.name == sname )
if class_id:
q = q.filter(ClassInfo.id == class_id)
if somewhere:
q = q.filter(Address.somewhere.like(f'%{somewhere}%'))
if employment_company: #根据公司姓名筛选
@@ -115,7 +117,7 @@ def get_emp_dao( #获取学生
if r:
return [ {"id": i.id,
'学生姓名':i.sname,
'学生班级编号':i.class_num,
'学生班级编号':i.class_id,
"公司": employment_company or '未就业',
"公司区域":somewhere or '-',
# "company_id": i.company_id,
@@ -126,7 +128,7 @@ def get_emp_dao( #获取学生
# , "创建时间": i.create_time,
# "更新时间": i.update_time,
# "是否删除":i.is_deleted
} for i,employment_company,somewhere in r ] #返回信息列表
} for i,sname,class_id,employment_company,somewhere in r ] #返回信息列表
def delete_emp_dao(id,db): #删除函数
+10 -17
View File
@@ -1,4 +1,3 @@
from databases import engine_all,Base_all,Session
from sqlalchemy import ForeignKey
from stu_jiuye.database import DATETIME,Base,Column,Integer,String,DATE
@@ -6,7 +5,7 @@ from datetime import datetime
class Employments(Base_all): #学生就业信息基类
class Employments(Base): #学生就业信息基类
__tablename__ = 'Employments' #表名
id = Column(Integer #主键,自增主键
, primary_key=True
@@ -14,25 +13,19 @@ class Employments(Base_all): #学生
# , ForeignKey('student.id')
, comment='自增主键'
)
sname = Column(String(50)
# , ForeignKey='student.name'
) #学生姓名,冗余字段
class_num = Column(Integer
# , ForeignKey='class.id'
) #学生班级,冗余字段
# compname=Column(String(50)
# ,nullable=False
# )
stuid = Column(Integer
, ForeignKey('students.id')
) #学生姓名,冗余字段
class_id = Column(Integer
, ForeignKey('classes.id')
) #学生班级,冗余字段
company_id = Column(Integer #公司id,外键匹配公司表
, ForeignKey('Company.id')
, nullable=True
)
# address_id = Column(Integer
# , ForeignKey('Address.id')
# , nullable=False
# )
employment_salary = Column(Integer, nullable=True) #薪资
employment_open_time = Column(DATE, nullable=True) #就业开放时间
@@ -48,7 +41,7 @@ class Employments(Base_all): #学生
)
is_deleted = Column(Integer, default=0) #是否为删除信息,默认为0
class Company(Base_all): #公司信息基类
class Company(Base): #公司信息基类
__tablename__ = 'Company' #表名
id = Column(Integer
, primary_key=True
@@ -70,7 +63,7 @@ class Company(Base_all): #公司
)
is_deleted = Column(Integer, default=0)
class Address(Base_all):
class Address(Base):
__tablename__ = 'Address'
id = Column(Integer #地址id,自增主键
, primary_key=True
+1 -1
View File
@@ -5,7 +5,7 @@ from pydantic import BaseModel
class PostRequest(BaseModel): #学生就业信息请求体模型
# compname: str|None=None
sname: str|None=None
class_num: int|None=None
class_id: int|None=None
company_id:int|None=None
# address_id: int|None=None
employment_salary: int|None=None