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..4891bd1 --- /dev/null +++ b/PythonProject/model/cla_model.py @@ -0,0 +1,36 @@ + +from sqlalchemy import DateTime,Date,Column,Integer,ForeignKey,Boolean +from util.database import Base,engine + +class ClassManagement(Base): + __tablename__ = "wl_class" + + class_id= Column(Integer, primary_key=True, autoincrement=True,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( + Boolean, + nullable=False, + default=False, + server_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..88d22ad --- /dev/null +++ b/PythonProject/model/employment_model.py @@ -0,0 +1,48 @@ +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='薪资') + deletion_status = Column(Integer + ,default=0 + ,comment='信息留存状态【0:初始值;1:已删除】' + ) + create_time = Column(DATETIME + ,default=datetime.now + ,comment='创建时间' + ) + update_time = Column(DATETIME + ,default=datetime.now + ,onupdate=datetime.now + ,comment='更新时间' + ) + +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..6fb849a --- /dev/null +++ b/PythonProject/model/grade_model.py @@ -0,0 +1,35 @@ +from sqlalchemy import Column, BigInteger, Integer, String, Numeric, TinyInteger, DateTime +from sqlalchemy.orm import declarative_base +from datetime import datetime +from util.database import Base,engine +# 成绩、删除状态(0:已删除,1:初始值)、作成时间、更新时间 +class WlScore(Base): + __tablename__ = 'Assessment grade' + stu_id = Column( Integer + ,primary_key=True + ,autoincrement=True + ,comment='学生编号,自增主键') + exam_order = Column(Integer + , nullable=False + , comment="考核序次") + + score=Column(Numeric(5, 2) + , comment="成绩") + + del_flag = Column(Integer + , nullable=False + , default=1 + , comment="删除状态(0:已删除,1:初始值)") + + create_time = Column(DateTime + , nullable=False + , default=datetime.now + , comment="作成时间") + + update_time = Column(DateTime + , nullable=False + , default=datetime.now + , onupdate=datetime.now + , comment="更新时间") +Base.metadata.create_all(engine) + diff --git a/PythonProject/model/teacher_model.py b/PythonProject/model/teacher_model.py index eff69dc..b72dbcf 100644 --- a/PythonProject/model/teacher_model.py +++ b/PythonProject/model/teacher_model.py @@ -9,7 +9,7 @@ class Teacher_Model(Base): 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') + status=Column(Integer,default=0,comment='删除状态:已删除=0,初始值=1') create_date=Column(DATETIME,default=datetime.now) update_date=Column(DATETIME,default=datetime.now,onupdate=datetime.now) 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 做成中**