riempimento campi secondari
This commit is contained in:
parent
1a6053e2cd
commit
fafd5cca18
@ -2,4 +2,8 @@ NOME_PROGETTO = "ManganelliOrdiniAPI"
|
|||||||
VERSIONE = "1.0.0"
|
VERSIONE = "1.0.0"
|
||||||
DEFAULT_CODICE_CLIENTE = "000000"
|
DEFAULT_CODICE_CLIENTE = "000000"
|
||||||
MESSAGGIO_SUCCESSO = "Operazione completata con successo"
|
MESSAGGIO_SUCCESSO = "Operazione completata con successo"
|
||||||
API_SECRET_KEY = "Z9KPT3QD2MAVNX81HJRY"
|
API_SECRET_KEY = "Z9KPT3QD2MAVNX81HJRY"
|
||||||
|
VALUTA = "EUR"
|
||||||
|
FL_SCOR = "N"
|
||||||
|
TIPO_RIGA_ART="R"
|
||||||
|
FL_OMAG="X"
|
||||||
56
main.py
56
main.py
@ -9,7 +9,8 @@ from models import (
|
|||||||
MetodoPagamento, DisponibilitaArticolo,
|
MetodoPagamento, DisponibilitaArticolo,
|
||||||
OrdineTestata, OrdineRiga,Magazzini
|
OrdineTestata, OrdineRiga,Magazzini
|
||||||
)
|
)
|
||||||
from contants import NOME_PROGETTO, MESSAGGIO_SUCCESSO,API_SECRET_KEY
|
from contants import NOME_PROGETTO, MESSAGGIO_SUCCESSO,API_SECRET_KEY,VALUTA,FL_SCOR,TIPO_RIGA_ART,FL_OMAG
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
app = FastAPI()
|
app = FastAPI()
|
||||||
|
|
||||||
@ -17,6 +18,10 @@ def genera_codice_random(lunghezza: int = 50) -> str:
|
|||||||
caratteri = string.ascii_letters + string.digits # a-z A-Z 0-9
|
caratteri = string.ascii_letters + string.digits # a-z A-Z 0-9
|
||||||
return ''.join(random.choices(caratteri, k=lunghezza))
|
return ''.join(random.choices(caratteri, k=lunghezza))
|
||||||
|
|
||||||
|
def genera_cpccchk(lunghezza: int = 10) -> str:
|
||||||
|
lettere = string.ascii_uppercase # solo lettere maiuscole A-Z
|
||||||
|
return ''.join(random.choices(lettere, k=lunghezza))
|
||||||
|
|
||||||
def genera_nuovo_codice_cliente():
|
def genera_nuovo_codice_cliente():
|
||||||
conn = None
|
conn = None
|
||||||
try:
|
try:
|
||||||
@ -70,7 +75,7 @@ def get_sedi_consegna(codice_cliente: str,secret: str = Depends(verifica_secret_
|
|||||||
def get_articoli(secret: str = Depends(verifica_secret_key)):
|
def get_articoli(secret: str = Depends(verifica_secret_key)):
|
||||||
conn = get_connection()
|
conn = get_connection()
|
||||||
cursor = conn.cursor()
|
cursor = conn.cursor()
|
||||||
cursor.execute("select ARCODART, ARDESART,ARDESSUP,ARUNMIS1 from MANGAART_ICOL where ardtobso is null")
|
cursor.execute("select ARCODART, ARDESART,ARDESSUP,ARUNMIS1,ARCODIVA from MANGAART_ICOL where ardtobso is null")
|
||||||
rows = cursor.fetchall()
|
rows = cursor.fetchall()
|
||||||
return [Articolo(arcodart=r[0], ardesart=r[1], ardessup=r[2], arunmis1=r[3]) for r in rows]
|
return [Articolo(arcodart=r[0], ardesart=r[1], ardessup=r[2], arunmis1=r[3]) for r in rows]
|
||||||
|
|
||||||
@ -139,10 +144,14 @@ def crea_ordine(ordine: OrdineTestata):
|
|||||||
# Genera codice ordine
|
# Genera codice ordine
|
||||||
seriale_ordine = genera_codice_random()
|
seriale_ordine = genera_codice_random()
|
||||||
ordine.orserial = seriale_ordine
|
ordine.orserial = seriale_ordine
|
||||||
|
cpccchk=genera_cpccchk()
|
||||||
|
data_ora_corrente = datetime.now()
|
||||||
|
ordine.or_stato=0 #stato iniziale
|
||||||
|
|
||||||
cursor.execute("""
|
cursor.execute("""
|
||||||
INSERT INTO MANGAZORDWEBM (orserial, or_stato, ortipdoc, ornumdoc, oralfdoc, ortipcon, orcodcon, orcodage, orcodpag, ortotord, ordatdoc)
|
INSERT INTO MANGAZORDWEBM (orserial, or_stato, ortipdoc, ornumdoc, oralfdoc, ortipcon, orcodcon, orcodage, orcodpag,
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
ortotord, ordatdoc,cpccchk,orcodval,orflscor,oralfest,utdc,utdv,orcodpor,or__note,orrifest,orvalnaz,orcaoval,orvalacc)
|
||||||
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
""", (
|
""", (
|
||||||
ordine.orserial,
|
ordine.orserial,
|
||||||
ordine.or_stato,
|
ordine.or_stato,
|
||||||
@ -154,17 +163,32 @@ def crea_ordine(ordine: OrdineTestata):
|
|||||||
ordine.orcodage,
|
ordine.orcodage,
|
||||||
ordine.orcodpag,
|
ordine.orcodpag,
|
||||||
ordine.ortotord,
|
ordine.ortotord,
|
||||||
ordine.ordatdoc
|
ordine.ordatdoc,
|
||||||
|
cpccchk,
|
||||||
|
VALUTA,
|
||||||
|
FL_SCOR,
|
||||||
|
" ",
|
||||||
|
data_ora_corrente,
|
||||||
|
data_ora_corrente,
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
1,
|
||||||
|
" "
|
||||||
))
|
))
|
||||||
conn.commit()
|
#conn.commit()
|
||||||
cursor.execute("SELECT SCOPE_IDENTITY()")
|
cursor.execute("SELECT SCOPE_IDENTITY()")
|
||||||
id_ordine = cursor.fetchone()[0]
|
id_ordine = cursor.fetchone()[0]
|
||||||
|
|
||||||
# Inserisce righe ordine
|
# Inserisce righe ordine
|
||||||
for riga in ordine.righe:
|
for riga in ordine.righe:
|
||||||
|
cproword=riga.cprownum * 10
|
||||||
cursor.execute("""
|
cursor.execute("""
|
||||||
INSERT INTO MANGAZORDWEBD (orserial, cprownum, ordesart, ordessup, orqtamov, orcodart,orcodice)
|
INSERT INTO MANGAZORDWEBD (orserial, cprownum, ordesart, ordessup, orqtamov, orcodart,orcodice,
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?)
|
cproword,ortiprig,orcodvar,orunimis,orcodiva,orflomag,orcodlis,orcontra,
|
||||||
|
orscolis,orprolis,orprosco,cpccchk)
|
||||||
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||||
""", (
|
""", (
|
||||||
ordine.orserial,
|
ordine.orserial,
|
||||||
riga.cprownum,
|
riga.cprownum,
|
||||||
@ -172,7 +196,19 @@ def crea_ordine(ordine: OrdineTestata):
|
|||||||
riga.ordessup,
|
riga.ordessup,
|
||||||
riga.orqtamov,
|
riga.orqtamov,
|
||||||
riga.orcodart,
|
riga.orcodart,
|
||||||
riga.orcodice
|
riga.orcodice,
|
||||||
|
cproword,
|
||||||
|
TIPO_RIGA_ART,
|
||||||
|
" ",
|
||||||
|
riga.orunimis,
|
||||||
|
riga.orcodiva,
|
||||||
|
FL_OMAG,
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
genera_cpccchk()
|
||||||
))
|
))
|
||||||
conn.commit()
|
conn.commit()
|
||||||
|
|
||||||
|
|||||||
@ -27,6 +27,7 @@ class Articolo(BaseModel):
|
|||||||
ardesart: Optional[str]= Field(None, description="Descrizione articolo")
|
ardesart: Optional[str]= Field(None, description="Descrizione articolo")
|
||||||
ardessup: Optional[str]= Field(None, description="Descrizione supplementare")
|
ardessup: Optional[str]= Field(None, description="Descrizione supplementare")
|
||||||
arunmis1: Optional[str]= Field(None, description="Unità di misura")
|
arunmis1: Optional[str]= Field(None, description="Unità di misura")
|
||||||
|
arcodiva: Optional[str]= Field(None, description="Codice Iva articolo")
|
||||||
|
|
||||||
class CodiceRicerca(BaseModel):
|
class CodiceRicerca(BaseModel):
|
||||||
cacodice: str = Field(..., description="Chiave primaria")
|
cacodice: str = Field(..., description="Chiave primaria")
|
||||||
@ -54,6 +55,8 @@ class OrdineRiga(BaseModel):
|
|||||||
ordessup: str = Field(..., description="descrizione suppl. articolo")
|
ordessup: str = Field(..., description="descrizione suppl. articolo")
|
||||||
orqtamov: int = Field(..., description="quantità")
|
orqtamov: int = Field(..., description="quantità")
|
||||||
orcodice: str = Field(..., description="chiave di ricerca articolo")
|
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):
|
class OrdineTestata(BaseModel):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user