167 lines
7.7 KiB
Python
167 lines
7.7 KiB
Python
from sqlalchemy import Integer, Column, DateTime, String, Boolean, Numeric, Date
|
|
from util.database import Base,engine
|
|
|
|
|
|
class Class(Base):
|
|
"""对应 Excel Sheet:班级表。"""
|
|
|
|
__tablename__ = "wl_class"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True, comment="id")
|
|
class_number = Column(String(50), comment="班级编号")
|
|
name = Column(String(100), comment="班级名字")
|
|
start_date = Column(DateTime, comment="开班时间")
|
|
planned_end_date = Column(DateTime, comment="计划结课时间")
|
|
actual_end_date = Column(DateTime, comment="实际结课时间")
|
|
created_at = Column(DateTime, comment="数据创建时间")
|
|
updated_at = Column(DateTime, comment="数据更新时间")
|
|
is_deleted = Column(default=False, nullable=False, comment="逻辑删除字段")
|
|
|
|
class CodeValue(Base):
|
|
"""对应 Excel Sheet:码值表。"""
|
|
|
|
__tablename__ = "wl_code_value"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True, comment="id")
|
|
code = Column(String(50), comment="编码")
|
|
meaning = Column(String(200), comment="意义")
|
|
type = Column(String(100), comment="类型")
|
|
is_enabled = Column(Boolean, comment="状态(是否可用)")
|
|
created_at = Column(DateTime, comment="数据创建时间")
|
|
updated_at = Column(DateTime, comment="数据更新时间")
|
|
is_deleted = Column(default=False, nullable=False, comment="逻辑删除字段")
|
|
|
|
class Company(Base):
|
|
"""对应 Excel Sheet:企业信息表。"""
|
|
|
|
__tablename__ = "wl_company"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True, comment="id")
|
|
company_number = Column(String(50), comment="企业编号")
|
|
name = Column(String(200), comment="企业名称")
|
|
industry = Column(String(100), comment="所属行业")
|
|
employee_scale = Column(String(50), comment="人员规模")
|
|
main_business = Column(String(1000), comment="主营业务")
|
|
registered_capital = Column(Numeric(16, 2), comment="注册资金")
|
|
created_at = Column(DateTime, comment="数据创建时间")
|
|
updated_at = Column(DateTime, comment="数据更新时间")
|
|
is_deleted = Column(default=False, nullable=False, comment="逻辑删除字段")
|
|
|
|
class Course(Base):
|
|
"""对应 Excel Sheet:课程表。"""
|
|
|
|
__tablename__ = "wl_course"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True, comment="id")
|
|
course_number = Column(String(50), comment="课程编号")
|
|
name = Column(String(100), comment="课程名字")
|
|
planned_training_hours = Column(Numeric(8, 2), comment="计划培训课时")
|
|
created_at = Column(DateTime, comment="数据创建时间")
|
|
updated_at = Column(DateTime, comment="数据更新时间")
|
|
is_deleted = Column(default=False, nullable=False, comment="逻辑删除字段")
|
|
|
|
class Employee(Base):
|
|
"""对应 Excel Sheet:员工表。"""
|
|
|
|
__tablename__ = "wl_employee"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True, comment="id")
|
|
employee_number = Column(String(50), comment="工号")
|
|
name = Column(String(100), comment="姓名")
|
|
gender = Column(String(20), comment="性别")
|
|
birth_date = Column(Date, comment="生日")
|
|
id_card_number = Column(String(18), comment="身份证号")
|
|
hometown = Column(String(100), comment="籍贯")
|
|
salary = Column(Numeric(12, 2), comment="薪资")
|
|
position_type = Column(String(50), comment="岗位类型")
|
|
position_level = Column(String(50), comment="岗位级别")
|
|
created_at = Column(DateTime, comment="数据创建时间")
|
|
updated_at = Column(DateTime, comment="数据更新时间")
|
|
is_deleted = Column(default=False, nullable=False, comment="逻辑删除字段")
|
|
|
|
class EmploymentInfo(Base):
|
|
"""对应 Excel Sheet:就业信息表。"""
|
|
|
|
__tablename__ = "wl_employment_info"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True, comment="id")
|
|
student_id = Column(Integer, comment="学生id")
|
|
employment_salary = Column(Numeric(12, 2), comment="就业薪资")
|
|
company_number = Column(String(50), comment="就业的企业编号")
|
|
resume_opened_at = Column(DateTime, comment="简历开放时间")
|
|
offer_received_at = Column(DateTime, comment="拿到offer时间")
|
|
created_at = Column(DateTime, comment="数据创建时间")
|
|
updated_at = Column(DateTime, comment="数据更新时间")
|
|
is_deleted = Column(default=False, nullable=False, comment="逻辑删除字段")
|
|
|
|
class Grade(Base):
|
|
"""对应 Excel Sheet:成绩表。"""
|
|
|
|
__tablename__ = "wl_grade"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True, comment="id")
|
|
student_number = Column(String(50), comment="学生编号")
|
|
course_number = Column(String(50), comment="课程编号")
|
|
exam_sequence = Column(Integer, comment="考试序次")
|
|
score = Column(Numeric(5, 2), comment="分数")
|
|
created_at = Column(DateTime, comment="数据创建时间")
|
|
updated_at = Column(DateTime, comment="数据更新时间")
|
|
is_deleted = Column(default=False, nullable=False, comment="逻辑删除字段")
|
|
|
|
class Interview(Base):
|
|
"""对应 Excel Sheet:面试信息表。"""
|
|
|
|
__tablename__ = "wl_interview"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True, comment="面试id")
|
|
interview_at = Column(DateTime, comment="面试时间")
|
|
student_id = Column(Integer, comment="学生id")
|
|
room = Column(String(100), comment="面试间")
|
|
sequence = Column(Integer, comment="面试序次")
|
|
company_id = Column(Integer, comment="面试的企业id")
|
|
result = Column(Boolean, comment="面试结果")
|
|
created_at = Column(DateTime, comment="数据创建时间")
|
|
updated_at = Column(DateTime, comment="数据更新时间")
|
|
is_deleted = Column(default=False, nullable=False, comment="逻辑删除字段")
|
|
|
|
class Relation(Base):
|
|
"""对应 Excel Sheet:关联关系表。"""
|
|
|
|
__tablename__ = "wl_relation"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True, comment="id")
|
|
source_id = Column(String(50), comment="关系来源标识")
|
|
destination_id = Column(Integer, comment="关系目标标识")
|
|
relation_type = Column(String(50), comment="关系类型")
|
|
created_at = Column(DateTime, comment="数据创建时间")
|
|
updated_at = Column(DateTime, comment="数据更新时间")
|
|
is_deleted = Column(default=False, nullable=False, comment="逻辑删除字段")
|
|
|
|
class Student(Base):
|
|
"""对应 Excel Sheet:学生表。"""
|
|
|
|
__tablename__ = "wl_student"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True, comment="id(逻辑主键)")
|
|
student_number = Column(String(50), nullable=False, comment="学号(业务主键)")
|
|
name = Column(String(100), comment="姓名")
|
|
gender = Column(String(20), comment="性别")
|
|
birth_date = Column(Date, comment="出生年月")
|
|
id_card_number = Column(String(18), comment="身份证号")
|
|
phone_number = Column(String(30), comment="电话号码")
|
|
hometown = Column(String(100), comment="籍贯")
|
|
graduate_school = Column(String(200), comment="毕业学校")
|
|
education = Column(String(50), comment="学历")
|
|
hobbies = Column(String(500), comment="兴趣爱好")
|
|
trial_date = Column(Date, comment="试听日期")
|
|
expected_salary = Column(Numeric(12, 2), comment="就业期望薪资")
|
|
consultant_id = Column(Integer, comment="顾问id")
|
|
class_id = Column(Integer, comment="班级id")
|
|
payment_method = Column(String(20), comment="支付方式")
|
|
emergency_contact = Column(String(100), comment="紧急联系人")
|
|
remark = Column(String(1000), comment="备注")
|
|
created_at = Column(DateTime, comment="数据创建时间")
|
|
updated_at = Column(DateTime, comment="数据更新时间")
|
|
is_deleted = Column(default=False, nullable=False, comment="逻辑删除字段")
|
|
|
|
Base.metadate.create_all(engine) |