fix cursor/fetchall()
This commit is contained in:
@ -1 +0,0 @@
|
||||
,pc-sviluppo1,pcsviluppo1,12.12.2024 11:32,file:///home/pc-sviluppo1/.config/libreoffice/4;
|
||||
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.
20
insert.py
20
insert.py
@ -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 :
|
||||
|
||||
|
||||
31
search.py
31
search.py
@ -8,25 +8,40 @@ from datetime import datetime
|
||||
from mysql.connector import Error
|
||||
|
||||
def search_article(connection, codice, listino):
|
||||
cursor_1 = connection.cursor()
|
||||
cursor_2 = connection.cursor()
|
||||
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,))
|
||||
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))
|
||||
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
|
||||
|
||||
|
||||
|
||||
40
update.py
40
update.py
@ -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,29 +62,35 @@ 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"
|
||||
select_percentuale_totale = "SELECT PERCENTUALE_TOTALE FROM tsm WHERE CODICE = %s LIMIT 1;"
|
||||
cursor_select.execute(select_percentuale_totale, (sc1,))
|
||||
percentuale_totale = cursor_select.fetchone()
|
||||
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
|
||||
print(prezzo_netto)
|
||||
ris = prezzo_netto + (prezzo_netto * ricarica) / 100
|
||||
print(ris)
|
||||
prezzo_lsv = ris
|
||||
|
||||
if listino == 1 or listino == 4:
|
||||
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))
|
||||
|
||||
|
||||
|
||||
connection.commit()
|
||||
|
||||
if all(value == 0 for value in result):
|
||||
@ -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()
|
||||
Reference in New Issue
Block a user