| 12345678910111213141516171819202122232425262728293031323334353637 |
- from datetime import datetime
- from sqlalchemy import DateTime, String
- from sqlalchemy.orm import Mapped, mapped_column
- from app.common.enums import PermissionFilterStrategy
- from app.core.base_model import PaymentModelMixin, TenantMixin, EnterpriseMixin
- from .enums import DepartmentStatusEnum
- class DepartmentModel(PaymentModelMixin, TenantMixin, EnterpriseMixin):
- """部门模型"""
- __tablename__ = "pay_department"
- __table_args__ = {"comment": "部门表"}
- __permission_strategy__ = PermissionFilterStrategy.ENTERPRISE_BASED
- department_id: Mapped[str | None] = mapped_column(
- String(64), unique=True, index=True, comment="部门ID(业务主键)"
- )
- name: Mapped[str] = mapped_column(String(128), comment="部门名称")
- code: Mapped[str | None] = mapped_column(String(64), comment="部门编码")
- parent_id: Mapped[str | None] = mapped_column(
- String(64), index=True, comment="上级部门ID"
- )
- leader_employee_id: Mapped[str | None] = mapped_column(
- String(64), comment="部门负责人员工ID"
- )
- sort_order: Mapped[int] = mapped_column(
- default=0, comment="排序值(越大越靠前)"
- )
- status: Mapped[str] = mapped_column(
- String(32),
- default=DepartmentStatusEnum.DEPARTMENT_ACTIVE.value,
- comment="状态",
- )
|