fix cursor/fetchall()

This commit is contained in:
2024-12-13 10:01:15 +01:00
parent ef3b54cc80
commit 247d0ad1d2
13 changed files with 82 additions and 64 deletions
-1
View File
@@ -1 +0,0 @@
,pc-sviluppo1,pcsviluppo1,12.12.2024 11:32,file:///home/pc-sviluppo1/.config/libreoffice/4;
Binary file not shown.
BIN
View 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.
Binary file not shown.
+8 -12
View File
@@ -36,17 +36,7 @@ def insert_records(connection,codice,descrizione,descrizione2,um,prezzo,sc1,sc2,
if listino == 1:
query_lsv = "INSERT INTO lsv (ART_CODICE,DATA_FINE,DATA_INIZIO,TSM_CODICE,TRL_CODICE,TLV_CODICE) VALUES (%s,%s,%s,%s,%s,%s)"
cursor.execute(query_lsv,(codice,data_fine,formatted_date,sc2,ricarica,listino))
count = cursor.rowcount
result.append(count)
query_lsa = "INSERT INTO lsa (ART_CODICE,TLA_CODICE,DATA_INIZIO,DATA_FINE,PREZZO,TSM_CODICE) VALUES (%s,%s,%s,%s,%s,%s)"
cursor.execute(query_lsa,(codice,tla,formatted_date,data_fine,prezzo,sc1))
count = cursor.rowcount
result.append(count)
##sggiungere aggiunta prezzo lsv sia per listino 1 che per listino diverso
select_percentuale_totale = "SELECT PERCENTUALE_TOTALE FROM tsm WHERE CODICE = %s"
cursor_select.execute(select_percentuale_totale,(sc1, ))
percentuale_totale = cursor_select.fetchone()
@@ -60,9 +50,15 @@ def insert_records(connection,codice,descrizione,descrizione2,um,prezzo,sc1,sc2,
prezzo_lsv = ris + (ris*22)/100
query_price = "INSERT INTO lsv (PREZZO) VALUES (%s)"
cursor.execute(query_price, (prezzo_lsv,))
query_lsv = "INSERT INTO lsv (ART_CODICE,DATA_FINE,DATA_INIZIO,TSM_CODICE,TRL_CODICE,TLV_CODICE,PREZZO) VALUES (%s,%s,%s,%s,%s,%s,%s)"
cursor.execute(query_lsv,(codice,data_fine,formatted_date,sc2,ricarica,listino,prezzo_lsv))
count = cursor.rowcount
result.append(count)
query_lsa = "INSERT INTO lsa (ART_CODICE,TLA_CODICE,DATA_INIZIO,DATA_FINE,PREZZO,TSM_CODICE) VALUES (%s,%s,%s,%s,%s,%s)"
cursor.execute(query_lsa,(codice,tla,formatted_date,data_fine,prezzo,sc1))
count = cursor.rowcount
result.append(count)
else :
+26 -11
View File
@@ -7,26 +7,41 @@ from tkinter import filedialog,messagebox
from datetime import datetime
from mysql.connector import Error
def search_article(connection,codice,listino):
cursor_1 = connection.cursor()
cursor_2 = connection.cursor()
def search_article(connection, codice, listino):
cursor_1 = connection.cursor(buffered=True)
cursor_2 = connection.cursor(buffered=True)
query_executed_cursor_2 = False # Variabile per controllare se la query è stata eseguita
try:
query = "SELECT codice FROM art WHERE codice = %s"
cursor_1.execute(query,(codice,))
cursor_1.execute(query, (codice,))
result_1 = cursor_1.fetchone()
if result_1: ## se l'articolo esiste creco per codice listino
if result_1: # se l'articolo esiste
query_lsv = "SELECT TLV_CODICE FROM lsv WHERE ART_CODICE = %s AND TLV_CODICE = %s"
cursor_2.execute(query_lsv,(codice,listino))
cursor_2.execute(query_lsv, (codice, listino))
result_2 = cursor_2.fetchone()
query_executed_cursor_2 = True # Imposta a True se la query è stata eseguita
if result_2: ## se il codice listino è stato trovato
if result_2: # se il codice listino è stato trovato
print('codice listino trovato')
return True ## esistono sia articolo che codice listino
return True # esistono sia articolo che codice listino
else:
print('codice listino non trovato')
return 'not code art'
else:
print('codice non esiste')
return False ## l'articolo non esiste
return False # l'articolo non esiste
except Exception as e:
print(f"Errore durante la ricerca: {e}")
return None # Gestisci l'errore come necessario
finally:
# Assicurati di leggere tutti i risultati prima di chiudere il cursore
if cursor_1:
cursor_1.close() # Chiudi il cursore 1
if cursor_2 and query_executed_cursor_2:
cursor_2.fetchall() # Leggi eventuali risultati non letti solo se la query è stata eseguita
cursor_2.close() # Chiudi il cursore 2
+29 -21
View File
@@ -6,54 +6,55 @@ import math
value_update = []
def update_records(connection,codice,prezzo,sc1,sc2,listino,ricarica,codice_barre,codice_alternativo,tsa_codice,frn):
try:
result = []
print('test test')
cursor = connection.cursor()
cursor_select = connection.cursor()
print('cursor test')
try:
result = []
print('test 1')
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'"
cursor.execute(query_lsa, (sc1, codice))
count = cursor.rowcount
result.append(count)
print('test 2')
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"
cursor.execute(query_lsv_tsm, (sc2, codice,listino))
count = cursor.rowcount
result.append(count)
print('test 3')
if prezzo is not None and not math.isnan(prezzo):
query_lsa = "UPDATE lsa SET PREZZO = %s WHERE ART_CODICE = %s AND TLA_CODICE = '1'"
cursor.execute(query_lsa, (prezzo,codice))
count = cursor.rowcount
result.append(count)
print('test 4')
if ricarica is not None and not math.isnan(ricarica):
query_lsv = "UPDATE lsv SET TRL_CODICE = %s WHERE ART_CODICE = %s AND TLV_CODICE = %s"
cursor.execute(query_lsv, (ricarica, codice,listino))
count = cursor.rowcount
result.append(count)
print('test 5')
if codice_barre is not None:
query_bar = "UPDATE bar SET CODICE_BARRE = %s WHERE ART_CODICE = %s"
cursor.execute(query_bar, (codice_barre, codice))
count = cursor.rowcount
result.append(count)
print('test 6')
if not pd.isna(codice_alternativo):
query_alt = "UPDATE art SET CODICE_ALTERNATIVO = %s WHERE codice = %s"
cursor.execute(query_alt, (codice_alternativo, codice))
count = cursor.rowcount
result.append(count)
print('test 7')
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)
print('test 8')
if frn is not None:
query_art = "UPDATE art SET FRN_CODICE = %s WHERE codice = %s"
cursor.execute(query_art, (frn, codice))
@@ -61,27 +62,33 @@ def update_records(connection,codice,prezzo,sc1,sc2,listino,ricarica,codice_barr
result.append(count)
#parte nuova prezzo di lsv
print('test 9')
if sc1 is not None and not math.isnan(sc1) and prezzo is not None and not math.isnan(prezzo):
select_percentuale_totale = "SELECT PERCENTUALE_TOTALE FROM tsm WHERE CODICE = %s"
cursor_select.execute(select_percentuale_totale,(sc1, ))
percentuale_totale = cursor_select.fetchone()
select_percentuale_totale = "SELECT PERCENTUALE_TOTALE FROM tsm WHERE CODICE = %s LIMIT 1;"
cursor_select.execute(select_percentuale_totale, (sc1,))
percentuale_totale = cursor_select.fetchall()
print('result select')
print(percentuale_totale)
percentuale_totale = percentuale_totale[0]
percentuale_totale = float(percentuale_totale)
if percentuale_totale: # Assicurati che ci sia un risultato
percentuale_totale = percentuale_totale[0][0] # Accedi al primo elemento della tupla
percentuale_totale = float(percentuale_totale) # Converti in float
print('percentiale totale numero')
print(percentuale_totale)
prezzo_netto = (prezzo * percentuale_totale)/100
prezzo_netto = (prezzo * percentuale_totale) / 100
print(prezzo_netto)
ris = prezzo_netto + (prezzo_netto*ricarica)/100
ris = prezzo_netto + (prezzo_netto * ricarica) / 100
print(ris)
prezzo_lsv = ris
if listino == 1 or listino == 4:
prezzo_lsv = ris + (ris*22)/100
prezzo_lsv = ris + (ris * 22) / 100
print(prezzo_lsv)
query_price = "UPDATE lsv SET PREZZO = %s WHERE ART_CODICE = %s AND TLV_CODICE = %s"
cursor.execute(query_price, (prezzo_lsv, codice,listino))
cursor.execute(query_price, (prezzo_lsv, codice, listino))
connection.commit()
@@ -126,3 +133,4 @@ def update_records(connection,codice,prezzo,sc1,sc2,listino,ricarica,codice_barr
print(f"Errore durante l'aggiornamento: {e}")
finally:
cursor.close()
cursor_select.close()