add tsa_codice

This commit is contained in:
2024-12-10 10:25:04 +01:00
parent 03389e1365
commit 53ed39fe10
14 changed files with 49 additions and 27 deletions

1
.~lock.TEST.xlsx# Normal file
View File

@ -0,0 +1 @@
,pc-sviluppo1,pcsviluppo1,10.12.2024 10:17,file:///home/pc-sviluppo1/.config/libreoffice/4;

Binary file not shown.

BIN
TEST.xlsx Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -13,13 +13,13 @@ data_fine = datetime.datetime.strptime(data_str, "%Y-%m-%d").date()
tla = 1 tla = 1
value_insert = [] value_insert = []
def insert_records(connection,codice,descrizione,um,costo,sc1,sc2,ricarica,listino,codice_alternativo,codice_barre,art): def insert_records(connection,codice,descrizione,um,costo,sc1,sc2,ricarica,listino,codice_alternativo,codice_barre,art,tsa_codice):
try: try:
result = [] result = []
cursor = connection.cursor() cursor = connection.cursor()
if art == False: if art == False:
query_art = "INSERT INTO art (codice,DESCRIZIONE1,TUM_CODICE,codice_alternativo,TUB_CODICE,TCM_CODICE,TGM_CODICE,TIV_CODICE_VENDITE,TIV_CODICE_ACQUISTI,TCA_CODICE,TAQ_CODICE,TS3_CODICE,TP2_CODICE,TSA_CODICE,TIN_CODICE,TNI_CODICE,TAA_CODICE) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)" query_art = "INSERT INTO art (codice,DESCRIZIONE1,TUM_CODICE,codice_alternativo,TSA_CODICE,TUB_CODICE,TCM_CODICE,TGM_CODICE,TIV_CODICE_VENDITE,TIV_CODICE_ACQUISTI,TCA_CODICE,TAQ_CODICE,TS3_CODICE,TP2_CODICE,TIN_CODICE,TAA_CODICE) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
cursor.execute(query_art,(codice,descrizione,um,codice_alternativo,'0','0','0','0','0','0','0','0','0','0','0','0','0')) cursor.execute(query_art,(codice,descrizione,um,codice_alternativo,tsa_codice,'0','0','0','22','22','0','0','0','0','0','0'))
count = cursor.rowcount count = cursor.rowcount
result.append(count) result.append(count)
@ -48,7 +48,7 @@ def insert_records(connection,codice,descrizione,um,costo,sc1,sc2,ricarica,listi
connection.commit() connection.commit()
if any(val != 0 for val in result): if any(val != 0 for val in result):
row = [codice,descrizione,um,costo,sc1,sc2,ricarica,codice_alternativo,codice_barre] row = [codice,descrizione,um,costo,sc1,sc2,ricarica,codice_alternativo,codice_barre,tsa_codice]
value_insert.append(row) value_insert.append(row)
return value_insert return value_insert

46
main.py
View File

@ -21,10 +21,10 @@ password = "masterkey"
database = "arc_rumo" database = "arc_rumo"
port = 3307 port = 3307
#creao la connessione al database #creo la connessione al database
conn = create_connection(host, user, password, database, port) conn = create_connection(host, user, password, database, port)
#leggo il file excel #leggo il file excel
df = pd.read_excel('TEST.xlsx', usecols='A:M') df = pd.read_excel('TEST.xlsx', usecols='A:N')
#leggo le colonne del file excel #leggo le colonne del file excel
for index, row in df.iterrows(): for index, row in df.iterrows():
@ -32,8 +32,16 @@ for index, row in df.iterrows():
descrizione = row['DESCRIZIONE'] descrizione = row['DESCRIZIONE']
um = row['UN'] um = row['UN']
costo = row['COSTO'] costo = row['COSTO']
sc1 = str(row['SC1']) ## tsm_codice per la tabella lsa
sc2 = str(row['SC2']) ## tsm_codice per la tabella lsv if math.isnan(row['SC1']):
sc1 = row['SC1']
else:
sc1 = int(row['SC1']) ## tsm_codice per la tabella lsa
if math.isnan(row['SC2']):
sc2 = row['SC2']
else :
sc2 = int(row['SC2'])
if math.isnan(row['RICARICA1']): if math.isnan(row['RICARICA1']):
ricarica1 = row['RICARICA1'] ricarica1 = row['RICARICA1']
@ -59,14 +67,13 @@ for index, row in df.iterrows():
codice_barre = str(row['CODICE_BARRE']) codice_barre = str(row['CODICE_BARRE'])
codice_alternativo = str(row['CODICE ALTERNATIVO']) codice_alternativo = str(row['CODICE ALTERNATIVO'])
prezzo = float(row['COSTO']) prezzo = float(row['COSTO'])
if math.isnan(row['TSA_CODICE']):
tsa_codice = row['TSA_CODICE']
else:
tsa_codice = int(row['TSA_CODICE'])
if conn : if conn :
## cerco codice articlo
## se non esiste chiamo l funzione di insert
## se esiste controllo cosice listino
## se non esiste chiamo la funzione di insert
## se esiste chiamo la funzione di update
if ricarica1 is not None and not math.isnan(ricarica1): if ricarica1 is not None and not math.isnan(ricarica1):
listino = 1 listino = 1
ricarica = ricarica1 ricarica = ricarica1
@ -80,22 +87,22 @@ for index, row in df.iterrows():
listino = 4 listino = 4
ricarica = ricarica4 ricarica = ricarica4
art = search_article(conn,codice,listino) art = search_article(conn,codice,listino) #cerco codice articolo
if art == True : if art == True : ## se l'atricolo esiste eseguo l'update dei valori
value_update = update_records(conn,codice,prezzo,sc1,sc2,listino,ricarica,codice_barre,codice_alternativo) value_update = update_records(conn,codice,prezzo,sc1,sc2,listino,ricarica,codice_barre,codice_alternativo,tsa_codice)
print(value_update) print(value_update)
if value_update is not None: if value_update is not None:
write_excel(value_update) write_excel(value_update)
else: else: ## se non esiste o non esiste con quel listino effettuo l'inserimento
costo = 0.00 costo = 0.00
if descrizione is None : if descrizione is None :
descrizione = ' ' descrizione = ' '
if um is None: if um is None:
um = ' ' um = ' '
if sc1 is None: if math.isnan(sc1):
sc1 = ' ' sc1 = ' '
if sc2 is None: if math.isnan(sc2):
sc2 = ' ' sc2 = ' '
if math.isnan(ricarica): if math.isnan(ricarica):
ricarica = ' ' ricarica = ' '
@ -103,7 +110,10 @@ for index, row in df.iterrows():
codice_alternativo = ' ' codice_alternativo = ' '
if codice_barre is None: if codice_barre is None:
codice_barre = ' ' codice_barre = ' '
value_insert = insert_records(conn,codice,descrizione,um,costo,sc1,sc2,ricarica,listino,codice_alternativo,codice_barre,art) if math.isnan(tsa_codice):
tsa_codice = ' '
value_insert = insert_records(conn,codice,descrizione,um,costo,sc1,sc2,ricarica,listino,codice_alternativo,codice_barre,art,tsa_codice)
write_excel_insert(value_insert) write_excel_insert(value_insert)
if conn : if conn :

View File

@ -5,19 +5,19 @@ import math
value_update = [] value_update = []
def update_records(connection,codice,prezzo,sc1,sc2,listino,ricarica,codice_barre,codice_alternativo): def update_records(connection,codice,prezzo,sc1,sc2,listino,ricarica,codice_barre,codice_alternativo,tsa_codice):
try: try:
result = [] result = []
cursor = connection.cursor() cursor = connection.cursor()
if sc1 is not None : if sc1 is not None and not math.isnan(sc1):
query_lsa = "UPDATE lsa SET TSM_CODICE = %s WHERE ART_CODICE = %s AND TLA_CODICE = '1'" query_lsa = "UPDATE lsa SET TSM_CODICE = %s WHERE ART_CODICE = %s AND TLA_CODICE = '1'"
cursor.execute(query_lsa, (sc1, codice)) cursor.execute(query_lsa, (sc1, codice))
count = cursor.rowcount count = cursor.rowcount
result.append(count) result.append(count)
if sc2 is not None: if sc2 is not None and not math.isnan(sc2):
query_lsv_tsm = "UPDATE lsv SET TSM_CODICE = %s WHERE ART_CODICE = %s AND TLV_CODICE = %s" query_lsv_tsm = "UPDATE lsv SET TSM_CODICE = %s WHERE ART_CODICE = %s AND TLV_CODICE = %s"
cursor.execute(query_lsv_tsm, (sc2, codice,listino)) cursor.execute(query_lsv_tsm, (sc2, codice,listino))
count = cursor.rowcount count = cursor.rowcount
@ -47,6 +47,12 @@ def update_records(connection,codice,prezzo,sc1,sc2,listino,ricarica,codice_barr
count = cursor.rowcount count = cursor.rowcount
result.append(count) result.append(count)
if tsa_codice is not None and not math.isnan(tsa_codice):
query_tsa = "UPDATE art SET TSA_CODICE = %s WHERE codice = %s"
cursor.execute(query_tsa, (tsa_codice, codice))
count = cursor.rowcount
result.append(count)
connection.commit() connection.commit()
if all(value == 0 for value in result): if all(value == 0 for value in result):
@ -72,9 +78,12 @@ def update_records(connection,codice,prezzo,sc1,sc2,listino,ricarica,codice_barr
codice_barre = 0 codice_barre = 0
if pd.isna(codice_alternativo): if pd.isna(codice_alternativo):
codice_alternativo = 0; codice_alternativo = 0
if math.isnan(tsa_codice):
tsa_codice = 0
row = [codice,prezzo,listino,sc1,ricarica,codice_barre,codice_alternativo,sc2] row = [codice,prezzo,listino,sc1,ricarica,codice_barre,codice_alternativo,sc2,tsa_codice]
value_update.append(row) value_update.append(row)
return value_update return value_update

View File

@ -19,6 +19,7 @@ def write_excel(value_update):
worksheet.write('F1', 'CODICE BARRE') worksheet.write('F1', 'CODICE BARRE')
worksheet.write('G1', 'CODICE ALTERNATIVO') worksheet.write('G1', 'CODICE ALTERNATIVO')
worksheet.write('H1', 'TSM_CODICE_LSV') worksheet.write('H1', 'TSM_CODICE_LSV')
worksheet.write('I1', 'TSA_CODICE')
for row_index, row_data in enumerate(value_update): for row_index, row_data in enumerate(value_update):

View File

@ -20,6 +20,7 @@ def write_excel_insert(value_insert):
worksheet.write('G1', 'RICARICA') worksheet.write('G1', 'RICARICA')
worksheet.write('H1', 'CODICE_ALTERNATIVO') worksheet.write('H1', 'CODICE_ALTERNATIVO')
worksheet.write('I1', 'CODICE_BARRE') worksheet.write('I1', 'CODICE_BARRE')
worksheet.write('L1', 'TSA_CODICE')
for row_index, row_data in enumerate(value_insert): for row_index, row_data in enumerate(value_insert):