Initial commit
This commit is contained in:
57
app/models/albaran.py
Normal file
57
app/models/albaran.py
Normal file
@@ -0,0 +1,57 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional, List, Dict, Any
|
||||
from datetime import datetime, date
|
||||
from decimal import Decimal
|
||||
|
||||
|
||||
class ReferenciaAlbaranBase(BaseModel):
|
||||
referencia: str
|
||||
denominacion: str
|
||||
unidades: int = 1
|
||||
precio_unitario: Decimal = Decimal("0")
|
||||
impuesto_tipo: str = "21"
|
||||
impuesto_valor: Decimal = Decimal("0")
|
||||
|
||||
|
||||
class ReferenciaAlbaranResponse(ReferenciaAlbaranBase):
|
||||
id: int
|
||||
albaran_id: int
|
||||
referencia_pedido_proveedor_id: Optional[int] = None
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class AlbaranBase(BaseModel):
|
||||
proveedor_id: Optional[int] = None
|
||||
numero_albaran: Optional[str] = None
|
||||
fecha_albaran: Optional[date] = None
|
||||
archivo_path: str
|
||||
estado_procesado: str = "pendiente"
|
||||
|
||||
|
||||
class AlbaranCreate(AlbaranBase):
|
||||
datos_ocr: Optional[Dict[str, Any]] = {}
|
||||
|
||||
|
||||
class AlbaranUpdate(BaseModel):
|
||||
proveedor_id: Optional[int] = None
|
||||
numero_albaran: Optional[str] = None
|
||||
fecha_albaran: Optional[date] = None
|
||||
estado_procesado: Optional[str] = None
|
||||
datos_ocr: Optional[Dict[str, Any]] = None
|
||||
|
||||
|
||||
class AlbaranResponse(AlbaranBase):
|
||||
id: int
|
||||
fecha_procesado: Optional[datetime] = None
|
||||
datos_ocr: Dict[str, Any] = {}
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
proveedor: Optional[dict] = None
|
||||
referencias: Optional[List[ReferenciaAlbaranResponse]] = []
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
Reference in New Issue
Block a user