diff --git a/PythonProject/api/employment_api.py b/PythonProject/api/employment_api.py index 2a09422..785aa3c 100644 --- a/PythonProject/api/employment_api.py +++ b/PythonProject/api/employment_api.py @@ -27,6 +27,8 @@ def get_emp_info3(stu_id:int = Path(description='学生编号') , company_name=company_name , min_salary=min_salary , max_salary=max_salary) + if not l1: + raise HTTPException(status_code=404,detail='该学生就业信息不存在!') return l1 @emp_api.post('/employment/students/{stu_id}',response_model=EmploymentResponse,summary='新增学生就业信息') diff --git a/PythonProject/api/statistics_api.py b/PythonProject/api/statistics_api.py index c5f0032..a5f2867 100644 --- a/PythonProject/api/statistics_api.py +++ b/PythonProject/api/statistics_api.py @@ -44,4 +44,4 @@ def get_emp(db=Depends(get_db)): @StatisticsAPI.get('/salaries',summary='统计薪资分布') def get_salaries(db=Depends(get_db)): s=classify_salary(db) - return s \ No newline at end of file + return s diff --git a/PythonProject/dao/employment_dao.py b/PythonProject/dao/employment_dao.py index 2a7e1fc..9e0f8b7 100644 --- a/PythonProject/dao/employment_dao.py +++ b/PythonProject/dao/employment_dao.py @@ -31,12 +31,9 @@ def get_emp_dao(db,stu_id=None,class_id=None,company_name=None,min_salary=None,m q = q.filter(Employment_info.salary <= max_salary) r = q.all() - if not r: - raise HTTPException(status_code=500,detail='查询异常,没有结果!') return r - def add_emp_dao(o,db): try: stu = db.query(Student_Model).filter(Student_Model.stu_id == o['stu_id'] diff --git a/PythonProject/dao/statistics_dao.py b/PythonProject/dao/statistics_dao.py index edcc645..fd8251d 100644 --- a/PythonProject/dao/statistics_dao.py +++ b/PythonProject/dao/statistics_dao.py @@ -23,16 +23,22 @@ def select_all(db): try: l1 = db.query(Student_Model.class_id,Student_Model.gender,func.count(1).label('cnt'))\ .group_by(Student_Model.class_id,Student_Model.gender).all() - all_cnt = sum(i.cnt for i in l1) + + d1 = {} + for i in l1: + if i.class_id not in d1: + d1[i.class_id] = 0 + d1[i.class_id] += i.cnt l2 = [] for i in l1: l2.append({ - "all_cnt": all_cnt, + "all_cnt": d1[i.class_id], "class_id": i.class_id, "gender": i.gender, "cnt": i.cnt }) + return l2 except Exception: raise HTTPException(status_code=500,detail="查询异常") @@ -69,11 +75,11 @@ def select_score(min_score,max_score,db): # 实现统计每次考试每个班级的平均分并排序的功能 def select_avg_score(db): try: - l1 = db.query(Student_Model.class_id,func.avg(WlScore.score).label('avg_score'))\ + l1 = db.query(Student_Model.class_id,func.round(func.avg(WlScore.score),1).label('avg_score'))\ .join(Student_Model,WlScore.stu_id == Student_Model.stu_id)\ .filter(WlScore.delete_status==0,Student_Model.delete_status == 0)\ .group_by(Student_Model.class_id)\ - .order_by(func.avg(WlScore.score)).all() + .order_by(func.round(func.avg(WlScore.score),1)).all() return l1 except Exception: raise HTTPException(status_code=500,detail="查询异常") diff --git a/PythonProject/model/all_model.py b/PythonProject/model/all_model.py index 55a9790..5408a44 100644 --- a/PythonProject/model/all_model.py +++ b/PythonProject/model/all_model.py @@ -60,19 +60,19 @@ class ClassManagement(Base): class_name = Column(String(100), comment='班级名字') - start_class_date = Column(DATE,comment='开课时间') + start_class_date = Column(Date,default=date.today,comment='开课时间') head_teacher_id= Column(Integer,ForeignKey('wl_teacher.teac_id'),comment='班主任') class_teacher_id = Column(Integer,ForeignKey('wl_teacher.teac_id'),comment='授课教师') - Entry_date= Column(Date,default=date.today,comment='录入时间') + Entry_date= Column(DATETIME,default=datetime.now,comment='录入时间') update_date = Column(DATETIME,default=datetime.now,onupdate=datetime.now,comment='更新时间') delete_status = Column(Integer,default=0,comment='删除状态:0未删除,1已删除') - delete_time = Column(DATETIME,default=datetime.now,onupdate=datetime.now,comment='删除时间') + delete_time = Column(DATETIME,comment='删除时间') class Teacher_Model(Base): __tablename__ = 'wl_teacher' @@ -149,7 +149,7 @@ class Employment_info(Base): delete_status = Column( Integer,default=0,comment='删除状态:0未删除,1已删除') - delete_time = Column(DATETIME,default=None,comment='删除时间') + delete_time = Column(DATETIME,comment='删除时间') class WlScore(Base): __tablename__ = 'wl_score'