from sqlalchemy.orm import Session from database import SessionLocal, engine, Base import models import crud def init_dimensions(): # 创建会话 db = SessionLocal() try: # 检查是否已经存在维度数据 existing_dimensions = db.query(models.Dimension).count() if existing_dimensions == 0: print("初始化维度数据...") # 教师科研人才评估维度 talent_dimensions = [ {"name": "教育和工作经历", "weight": 10, "category": "talent", "description": "教育背景和工作经历评估"}, {"name": "研究方向前沿性", "weight": 8, "category": "talent", "description": "研究是否处于学科前沿"}, {"name": "主持科研项目情况", "weight": 12, "category": "talent", "description": "项目规模、数量及影响力"}, {"name": "科研成果质量", "weight": 16, "category": "talent", "description": "论文、专利等成果的质量与影响"}, {"name": "教学能力与效果", "weight": 14, "category": "talent", "description": "教学水平及学生评价"}, {"name": "学术服务与影响力", "weight": 40, "category": "talent", "description": "学术服务与社会影响力"} ] # 工程研究中心评估维度 lab_dimensions = [ {"name": "工程技术研发能力与水平", "weight": 30, "category": "lab", "description": "工程研究中心整体工程技术研发水平"}, {"name": "创新水平", "weight": 10, "category": "lab", "description": "工程研究中心科研创新程度"}, {"name": "人才与队伍", "weight": 10, "category": "lab", "description": "工程研究中心人才梯队建设情况"}, {"name": "装备与场地", "weight": 10, "category": "lab", "description": "工程研究中心设备和场地条件"}, {"name": "成果转化与行业贡献", "weight": 30, "category": "lab", "description": "成果产业化情况与行业贡献"}, {"name": "学科发展与人才培养", "weight": 20, "category": "lab", "description": "对学科发展与人才培养的贡献"}, {"name": "开放与运行管理", "weight": 20, "category": "lab", "description": "工程研究中心开放程度与管理水平"} ] # 添加教师科研人才评估维度 for dim in talent_dimensions: crud.create_dimension( db, name=dim["name"], weight=dim["weight"], category=dim["category"], description=dim["description"] ) # 添加工程研究中心评估维度 for dim in lab_dimensions: crud.create_dimension( db, name=dim["name"], weight=dim["weight"], category=dim["category"], description=dim["description"] ) print("维度数据初始化完成!") else: print("数据库中已存在维度数据,跳过初始化。") finally: db.close() if __name__ == "__main__": # 确保表已创建 Base.metadata.create_all(bind=engine) # 初始化维度数据 init_dimensions()