diff --git a/PythonProject/model/class_model.py b/PythonProject/api/Grades_api.py similarity index 100% rename from PythonProject/model/class_model.py rename to PythonProject/api/Grades_api.py diff --git a/PythonProject/dao/teacher_dao.py b/PythonProject/dao/teacher_dao.py new file mode 100644 index 0000000..c02a3f7 --- /dev/null +++ b/PythonProject/dao/teacher_dao.py @@ -0,0 +1,38 @@ +from fastapi import HTTPException,Depends + +from PythonProject.model.teacher_model import Teacher_Model +from util.database import * +from schema.teacher_schema import Teacher_RequestModel + + +def add_teacher(req:Teacher_RequestModel,session=Depends(get_db)): + try: + data=req.model_dump() + session.add(Teacher_Model(**data)) + session.commit() + except: + raise HTTPException(status_code=500,detail="添加异常!") + return req.model_dump() + +def select_teacher(session=Depends(get_db)): + try: + teacher_list=session.query(Teacher_Model).all() + return teacher_list + except: + raise HTTPException(status_code=500,detail="查询异常!") + +def update_teacher(id:int,req:Teacher_RequestModel,session=Depends(get_db)): + try: + session.query(Teacher_Model).filter(Teacher_Model.teac_id==id)\ + .update(req.model_dump(exclude_unset=True)) + session.commit() + except: + raise HTTPException(status_code=500,detail="更新异常!") + +def delete_teacher(id:int,session=Depends(get_db)): + try: + session.query(Teacher_Model).filter(Teacher_Model.teac_id==id).delete() + session.commit() + except: + raise HTTPException(status_code=500,detail="删除异常") + return {'code':200,'details':'删除成功'} \ No newline at end of file diff --git a/PythonProject/model/cla_model.py b/PythonProject/model/cla_model.py new file mode 100644 index 0000000..3371f7e --- /dev/null +++ b/PythonProject/model/cla_model.py @@ -0,0 +1,34 @@ + +from sqlalchemy import DateTime,Date,Column,Integer,ForeignKey,Boolean,String +from util.database import Base,engine + +class ClassManagement(Base): + __tablename__ = "wl_class" + + class_id= Column(Integer, primary_key=True, autoincrement=True,comment='班级编号') + + class_name = Column(String(100), comment='班级姓名') + + start_class_date = Column(Date,comment='开课时间') + + head_teacher_id= Column(Integer,ForeignKey('wl_teacher.id'),comment='班主任') + + class_teacher_id = Column(Integer,ForeignKey('wl_teacher.id'),comment='授课教师') + + Entry_date= Column(DateTime,comment='录入时间') + + update_date = Column(DateTime,comment='更新时间') + + delete_status = Column( + Integer,default=0,comment='删除状态:0未删除,1已删除') + + delete_time = Column(DateTime, nullable=True, comment='删除时间') + +Base.metadata.create_all(engine) + + + + + + + diff --git a/PythonProject/model/employment_model.py b/PythonProject/model/employment_model.py new file mode 100644 index 0000000..5d1abe3 --- /dev/null +++ b/PythonProject/model/employment_model.py @@ -0,0 +1,59 @@ +from util.database import Base,engine +from sqlalchemy import Column,Integer,String,DATE,DATETIME,ForeignKey +from datetime import datetime + +class Employment_info(Base): + __tablename__ = 'wl_employment' + + emp_id = Column(Integer + ,primary_key=True + ,autoincrement=True + ,comment='序号' + ) + + stu_id = Column(Integer + ,ForeignKey('wl_student.stu_id') + ,nullable=False + ,comment='学生编号' + ) + + email = Column(String(50) + ,unique=True + ,comment='邮箱' + ) + + employment_opening_date = Column(DATE + ,comment='就业开放日期' + ) + + offer_issuance_date = Column(DATE + ,comment='offer下发日期' + ) + + company_name = Column(String(50) + ,comment='就业公司名称' + ) + + company_address = Column(String(100) + ,comment='就业公司地址' + ) + + salary = Column(Integer + ,comment='薪资' + ) + + create_time = Column(DATETIME + ,default=datetime.now + ,comment='创建时间' + ) + + update_time = Column(DATETIME + ,default=datetime.now + ,onupdate=datetime.now + ,comment='更新时间' + ) + + delete_status = Column( + Integer,default=0,comment='删除状态:0未删除,1已删除') + +Base.metadata.create_all(engine) \ No newline at end of file diff --git a/PythonProject/model/grade_model.py b/PythonProject/model/grade_model.py new file mode 100644 index 0000000..50856a3 --- /dev/null +++ b/PythonProject/model/grade_model.py @@ -0,0 +1,42 @@ +from sqlalchemy import Column, Integer, Numeric, DateTime,ForeignKey +from datetime import datetime +from util.database import Base,engine + +# 成绩、删除状态(0:已删除,1:初始值)、作成时间、更新时间 +class WlScore(Base): + __tablename__ = 'wl_score' + + score_id = Column(Integer + ,primary_key=True + ,autoincrement=True + ,comment='序号' + ) + + stu_id = Column( Integer + ,ForeignKey('wl_student.stu_id') + ,autoincrement=True + ,comment='学生编号') + + exam_order = Column(Integer + , nullable=False + , comment="考核序次") + + score=Column(Numeric(5, 2) + , comment="成绩") + + create_time = Column(DateTime + , nullable=False + , default=datetime.now + , comment="作成时间") + + update_time = Column(DateTime + , nullable=False + , default=datetime.now + , onupdate=datetime.now + , comment="更新时间") + + delete_status = Column( + Integer,default=0,comment='删除状态:0未删除,1已删除') + +Base.metadata.create_all(engine) + diff --git a/PythonProject/model/student_model.py b/PythonProject/model/student_model.py index 4f62126..d44ebe5 100644 --- a/PythonProject/model/student_model.py +++ b/PythonProject/model/student_model.py @@ -4,29 +4,47 @@ from util.database import Base,engine class Student_Model(Base): __tablename__ = 'wl_student' + stu_id = Column(Integer , primary_key=True , autoincrement=True ,comment='学生编号') + class_id=Column(Integer ,ForeignKey('wl_class.class_id') ,nullable=False ,comment='班级编号') + stu_name=Column(String(100),comment='学生姓名') + age=Column(Integer,comment='年龄') + gender=Column(String(50),comment='性别') + native_place=Column(String(200),comment='籍贯') + birthday=Column(Date,comment='生日') + school=Column(String(100),comment='毕业学校') + major=Column(String(50),comment='专业') + degree=Column(String(50),comment='学历') + admission_date=Column(Date,comment='入学日期') + graduation_date=Column(Date,comment='毕业日期') + progress=Column(Integer,default=0,comment='课程进度:学习中=0,求职中=1,已就业=2') + create_date=Column(DATETIME ,default=datetime.now) + update_date=Column(DATETIME ,default=datetime.now ,onupdate=datetime.now) + delete_status = Column( + Integer,default=0,comment='删除状态:0未删除,1已删除') + Base.metadata.create_all(engine) diff --git a/PythonProject/model/teacher_model.py b/PythonProject/model/teacher_model.py index eff69dc..d91c4a3 100644 --- a/PythonProject/model/teacher_model.py +++ b/PythonProject/model/teacher_model.py @@ -4,14 +4,23 @@ from util.database import Base,engine class Teacher_Model(Base): __tablename__ = 'wl_teacher' + teac_id=Column(Integer,primary_key=True,autoincrement=True,comment='老师编号') + teac_name=Column(String(20),comment='老师姓名') + teac_gender=Column(String(5),comment='老师性别') + teac_age=Column(Integer,comment='老师年龄') + teac_position =Column(String(20),comment='老师职位') - status=Column(Integer,default=0,comment='课程进度:学习中=0,求职中=1,已就业=2') + create_date=Column(DATETIME,default=datetime.now) + update_date=Column(DATETIME,default=datetime.now,onupdate=datetime.now) + delete_status = Column( + Integer,default=0,comment='删除状态:0未删除,1已删除') + Base.metadata.create_all(engine) diff --git a/PythonProject/schema/teacher_schema.py b/PythonProject/schema/teacher_schema.py new file mode 100644 index 0000000..221bd85 --- /dev/null +++ b/PythonProject/schema/teacher_schema.py @@ -0,0 +1,23 @@ +from datetime import date + +from pydantic.v1 import BaseModel +from datetime import datetime + +class Teacher_RequestModel(BaseModel): + teac_id: int + teac_name:str + teac_gender:str + teac_age:int + teac_position:str + status=int + create_date:datetime + update_date:datetime + + + + + + + + + diff --git a/需求文档.md b/需求文档.md index e05005c..3d1bfa5 100644 --- a/需求文档.md +++ b/需求文档.md @@ -3,10 +3,10 @@ 在提交文件时,右键点击文件选显示差异选项,看看有没有冲突 model层 -学⽣基本信息表 **msj 作成中** +学⽣基本信息表 **msj 做完了** wl_student(学⽣编号、学⽣班级、学⽣姓名、年龄、性别、籍贯、生日、毕业院校、专业、学历、⼊学时间、毕业时间、当前进度(学习中=0,求职中=1,已就业=2)、顾问编号(人事老师)、删除状态(0:初始值,1:已删除)、班级编号(外键)、作成时间、更新时间) -学⽣考核成绩表 **xxx 做成中** +学⽣考核成绩表 **hzl 做完了** wl_score(学⽣编号、考核序次、成绩、删除状态(0:已删除,1:初始值)、作成时间、更新时间) 学⽣就业管理模表 **cyl 做成中** @@ -15,7 +15,7 @@ wl_employment(学⽣编号、就业开放时间(只有进入就业课的才 班级管理表 **xxx 做成中** wl_class(班级编号,开课时间,删除状态(0:已删除,1:初始值),班主任(老师编号),授课⽼师(老师编号),作成时间,更新时间) -⽼师管理表 **sgt 做成中** +⽼师管理表 **sgt 做完了** wl_teacher(老师编号,姓名,性别,年龄,删除状态(0:已删除,1:初始值),职位,作成时间,更新时间) dao层(每一个功能就是一个函数,判断能否功能复用) @@ -29,10 +29,10 @@ dao层(每一个功能就是一个函数,判断能否功能复用) 实现删除学生信息的功能 (更新删除状态这个列,即软删除)**xxx 做成中** 成绩模块 -实现增加学生成绩的功能 **xxx 做成中** -实现查询成绩的功能 **xxx 做成中** -实现更新成绩的功能 **xxx 做成中** -实现删除成绩的功能 **xxx 做成中** +实现增加学生成绩的功能 **hzl 做成中** +实现查询成绩的功能 **hzl 做成中** +实现更新成绩的功能 **hzl 做成中** +实现删除成绩的功能 **hzl 做成中** 就业模块 实现增加学生就业信息的功能 **xxx 做成中** @@ -47,14 +47,14 @@ dao层(每一个功能就是一个函数,判断能否功能复用) 实现删除班级的功能 **xxx 做成中** 老师模块 -实现增加老师的功能 **xxx 做成中** -实现查询老师的功能 **xxx 做成中** -实现更新老师的功能 **xxx 做成中** -实现删除老师的功能 **xxx 做成中** +实现增加老师的功能 **xxx 做完了** +实现查询老师的功能 **xxx 做完了** +实现更新老师的功能 **xxx 做完了** +实现删除老师的功能 **xxx 做完了** 统计分析模块 实现根据年龄查询学生信息的功能 **mrz 已作成** -实现统计每个班级的学员总数以及男女生的总数的功能 **xxx 做成中** +实现统计每个班级的学员总数以及男女生的总数的功能 **mrz 做成中** 实现根据成绩查询学员信息的功能 **xxx 做成中** 实现统计每次考试每个班级的平均分并排序的功能 **xxx 做成中** 实现统计薪资最高的前五名的学员信息 **xxx 做成中**