diff --git a/PythonProject/dao/statistics_dao.py b/PythonProject/dao/statistics_dao.py index bb9c068..de2fd06 100644 --- a/PythonProject/dao/statistics_dao.py +++ b/PythonProject/dao/statistics_dao.py @@ -1,6 +1,8 @@ +from datetime import datetime + from fastapi import HTTPException,Depends from sqlalchemy import func -from model.all_model import Student_Model,WlScore +from model.all_model import Student_Model,WlScore,Employment_info from util.database import get_db # 实现根据年龄查询学生信息的功能 @@ -43,4 +45,17 @@ def select_score(min_score,max_score,session=Depends(get_db)): except HTTPException: raise except Exception: - raise HTTPException(status_code=500,detail="查询异常") \ No newline at end of file + raise HTTPException(status_code=500,detail="查询异常") + +#实现查询每个学生的就业时长 +def select_emp_duration(stu_id:int,session): + try: + l2 = session.query(Employment_info,Student_Model.name.label('stu_name'),).join(Student_Model,stu_id==Student_Model.stu_id).filter(Employment_info.stu_id == stu_id,Employment_info.delete_status == 0).all() + list=[] + today=datetime.today() + for i in l2: + duration_days = (today - i.start_date).days + list.append({Employment_info.stu_id:i.stu_id, + + Employment_info.offer_issuance_date:i.offer_issuance_date, + Employment_info.company_name:i.company_name})