from sqlalchemy import String, Column, Integer, Text, ForeignKey from sqlalchemy.orm import relationship from app.modle import Base class Company(Base): """公司表""" __tablename__ = "company" id = Column(Integer, primary_key=True, autoincrement=True, nullable=False, unique=True, doc='id') company_name = Column(String, nullable=False, unique=True, index=False, doc='公司名') logo = Column(String, nullable=True, unique=False, index=False, doc='商标') abbreviation = Column(String, nullable=True, unique=False, index=False, doc='公司简称') code = Column(Integer, nullable=True, unique=False, index=False, doc='统一社会信用代码') registered_address = Column(String, nullable=True, unique=False, index=False, doc='注册地址') business_address = Column(String, nullable=True, unique=False, index=False, doc='经营地址') legal_person_name = Column(String, nullable=True, unique=False, index=False, doc='法人姓名') company_code = Column(Integer, nullable=True, unique=False, index=False, doc='公司编码') staff_size = Column(Integer, nullable=True, unique=False, index=False, doc='编制人数') on_guard_size = Column(Integer, nullable=True, unique=False, index=False, doc='在岗人数') department = relationship('Department', cascade='all, delete-orphan') class Department(Base): """部门表""" __tablename__ = "department" id = Column(Integer, primary_key=True, autoincrement=True, nullable=False, unique=True, doc='id') company_id = Column(Integer, ForeignKey(Company.id), doc='上级公司') department_name = Column(String, nullable=False, unique=False, index=False, doc='部门名') principal = Column(String, nullable=True, unique=False, index=False, doc='负责人') liaison_officer = Column(String, nullable=True, unique=False, index=False, doc='接口人') duplicate_name = Column(String, nullable=True, unique=False, index=False, doc='拍重名') on_guard = Column(Integer, nullable=True, unique=False, index=False, doc='在岗人数') freelance_staff = Column(Integer, nullable=True, unique=False, index=False, doc='自由员工') cooperation_staff = Column(Integer, nullable=True, unique=False, index=False, doc='协作员工') thirdparty_staff = Column(Integer, nullable=True, unique=False, index=False, doc='第三方员工') censure = Column(Text, nullable=True, unique=False, index=False, doc='职责')