77 lines
4.1 KiB
Python
77 lines
4.1 KiB
Python
from decimal import Decimal
|
|
from datetime import datetime
|
|
from pydantic import BaseModel,Field
|
|
from typing import List, Optional
|
|
|
|
class Cliente(BaseModel):
|
|
antipcon: str= Field(..., description="Chiave primaria")
|
|
ancodice: str= Field(..., description="Chiave primaria")
|
|
andescri: Optional[str] = Field(None, description="Ragione sociale")
|
|
anpariva: Optional[str] = Field(None, description="Partita iva")
|
|
ancodfis: Optional[str] = Field(None, description="codice Fiscale")
|
|
anindiri: Optional[str] = Field(None, description="Indirizzo")
|
|
|
|
class SedeConsegna(BaseModel):
|
|
ddtipcon: str= Field(description="Chiave primaria")
|
|
ddcodice: str= Field(description="Chiave primaria")
|
|
ddcoddes: str= Field(description="Chiave primaria")
|
|
ddnomdes: Optional[str] = Field(None, description="Nome della sede di destinazione")
|
|
ddindiri: Optional[str] = Field(None, description="Indirizzo della sede di destinazione")
|
|
dd___cap: Optional[str] = Field(None, description="CAP della sede di destinazione")
|
|
ddlocali: Optional[str] = Field(None, description="località della sede di destinazione")
|
|
ddprovin: Optional[str] = Field(None, description="Provincia della sede di destinazione")
|
|
ddcodnaz: Optional[str] = Field(None, description="nazione della sede di destinazione")
|
|
|
|
class Articolo(BaseModel):
|
|
arcodart: str= Field(..., description="Chiave primaria")
|
|
ardesart: Optional[str]= Field(None, description="Descrizione articolo")
|
|
ardessup: Optional[str]= Field(None, description="Descrizione supplementare")
|
|
arunmis1: Optional[str]= Field(None, description="Unità di misura")
|
|
arcodiva: Optional[str]= Field(None, description="Codice Iva articolo")
|
|
|
|
class CodiceRicerca(BaseModel):
|
|
cacodice: str = Field(..., description="Chiave primaria")
|
|
cadesart: Optional[str]= Field(None, description="Descrizione codice ricerca")
|
|
cacodart: Optional[str]= Field(None, description="articolo principale")
|
|
cadessup: Optional[str]= Field(None, description="Descrizione supplementare codice ricerca")
|
|
|
|
class MetodoPagamento(BaseModel):
|
|
pacodice: str = Field(..., description="Chiave primaria")
|
|
padescri: Optional[str]= Field(None, description="Descrizione metodo pagamento")
|
|
|
|
class Magazzini(BaseModel):
|
|
mgcodmag: str = Field(..., description="Chiave primaria")
|
|
mgdesmag: Optional[str]= Field(None, description="Descrizione magazzino")
|
|
|
|
class DisponibilitaArticolo(BaseModel):
|
|
slqtaper: int = Field(..., description="qta disponibile")
|
|
slcodart: str = Field(..., description="Chiave primaria")
|
|
|
|
class OrdineRiga(BaseModel):
|
|
orserial: str = Field(..., description="Chiave primaria")
|
|
cprownum: int = Field(..., description="num riga Chiave primaria")
|
|
orcodart: str = Field(..., description="codice articolo")
|
|
ordesart: str = Field(..., description="descrizione articolo")
|
|
ordessup: str = Field(..., description="descrizione suppl. articolo")
|
|
orqtamov: int = Field(..., description="quantità")
|
|
orcodice: str = Field(..., description="chiave di ricerca articolo")
|
|
orunimis: str = Field(..., description="unità di misura")
|
|
orcodiva: str = Field(..., description="codice iva articolo")
|
|
|
|
|
|
class OrdineTestata(BaseModel):
|
|
orserial: str = Field(..., description="Chiave primaria")
|
|
or_stato: int = Field(..., description="Stato ordine def: 1")
|
|
ortipdoc: str = Field(..., description="Tipo documento def: OR=ordine")
|
|
ornumdoc: Optional[Decimal]= Field(None, description="Numero documento")
|
|
oralfdoc: Optional[str]= Field(None, description="Sezionale documento ordine")
|
|
ortipcon: str = Field(..., description="Tipo anagrafica Clienti=C")
|
|
orcodcon: str = Field(..., description="codice anagrafica cliente")
|
|
orcodage: Optional[str]= Field(None, description="codice agente")
|
|
orcodpag: Optional[str]= Field(None, description="codice pagamento")
|
|
ortotord: Optional[Decimal]= Field(None, description="Totale ordine")
|
|
ordatdoc: datetime = Field(..., description="data documento")
|
|
righe: List[OrdineRiga]
|
|
cliente: Optional[Cliente] = None
|
|
codice_cliente: Optional[str]= Field(None, description="Codice cliente nel caso l'anagrafica esista")
|