- Introduced new routes for processing invoices in the router. - Added `InvoiceStatus` enum to manage invoice states. - Enhanced `InvoiceHeader` and `InvoiceFinancials` models with new fields for status tracking and total packages. - Updated schemas to include new fields for invoice processing. - Implemented API methods for processing invoices and checking process status in the frontend. - Removed outdated validation files related to invoice processing.
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
from typing import Optional
|
|
|
|
from sqlalchemy import DateTime, Integer, String, UniqueConstraint
|
|
from sqlalchemy.orm import Mapped, mapped_column
|
|
|
|
from api.v1.common.base_models import TenantScopedMixin, TimestampMixin
|
|
from core.database import Base
|
|
|
|
class OctavePermission(Base, TenantScopedMixin, TimestampMixin):
|
|
"""
|
|
Permisos para la Regla Octava.
|
|
Paridad: GPermisoReglaOct (Clarion SCAII).
|
|
"""
|
|
|
|
__tablename__ = "permission_rule_octave"
|
|
__table_args__ = (
|
|
UniqueConstraint(
|
|
"tenant_id",
|
|
"company_id",
|
|
"permission",
|
|
name="uq_permissions_rule_octave_permission",
|
|
),
|
|
{"schema": "a76"},
|
|
)
|
|
|
|
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
|
|
|
|
permission: Mapped[str] = mapped_column(String(20), nullable=False) # PERMISO
|
|
start_date: Mapped[Optional[DateTime]] = mapped_column(DateTime()) # FECHAINICIO
|
|
end_date: Mapped[Optional[DateTime]] = mapped_column(DateTime()) # FECHAFINAL
|
|
sector: Mapped[Optional[str]] = mapped_column(String(8)) # SECTOR
|
|
system: Mapped[Optional[str]] = mapped_column(String(5)) # SISTEMA
|