Refactoring codice

This commit is contained in:
2024-12-27 12:21:29 +01:00
parent 4fe612bc9a
commit ef0646de29
5 changed files with 728 additions and 332 deletions

View File

@ -1,40 +1,120 @@
from datetime import date
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKCYAN = '\033[96m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
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
def search_article(connection, codice_articolo):
cursor_art = connection.cursor(buffered=True)
try:
query = "SELECT codice FROM art WHERE codice = %s"
cursor_1.execute(query, (codice,))
result_1 = cursor_1.fetchone()
cursor_art.execute(query, (codice_articolo,))
result = cursor_art.fetchone()
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
if result_2:
print('codice listino trovato')
return True
else:
print('codice listino non trovato')
return 'not code art'
if result:
return True
else:
print('codice non esiste')
return False
except Exception as e:
print(f"Errore durante la ricerca: {e}")
print(bcolors.FAIL+f"Errore durante la ricerca: {e}")
return None
finally:
if cursor_1:
cursor_1.close()
if cursor_2 and query_executed_cursor_2:
cursor_2.fetchall()
cursor_2.close()
if cursor_art:
cursor_art.close()
def search_barcode(connection, codice_articolo, codice_barre):
cursor_bar = connection.cursor(buffered=True)
try:
query = "SELECT ID FROM bar WHERE ART_CODICE = %s AND CODICE_BARRE= %s"
cursor_bar.execute(query, (codice_articolo, codice_barre))
result = cursor_bar.fetchone()
if result:
return True
else:
return False
except Exception as e:
print(bcolors.FAIL+f"Errore durante la ricerca: {e}")
return None
finally:
if cursor_bar:
cursor_bar.close()
def search_um(connection, um):
cursor_um = connection.cursor(buffered=True)
try:
query = "SELECT codice FROM tum WHERE codice = %s"
cursor_um.execute(query, (um,))
result = cursor_um.fetchone()
if result:
return True
else:
return False
except Exception as e:
print(bcolors.FAIL+f"Errore durante la ricerca: {e}")
return None
finally:
if cursor_um:
cursor_um.close()
def search_lsv(connection, codice_articolo, ricarica, listino):
cursor_lsv = connection.cursor(buffered=True)
try:
query = "SELECT ID FROM lsv WHERE ART_CODICE = %s AND TLV_CODICE = %s AND DATA_FINE > %s ORDER BY DATA_INIZIO DESC"
cursor_lsv.execute(query, (codice_articolo, listino, date.today().strftime("%Y-%m-%d")))
result = cursor_lsv.fetchone()
if result: # se il listino esiste
return result
else:
return False
except Exception as e:
print(bcolors.FAIL+f"Errore durante la ricerca: {e}")
return None
finally:
if cursor_lsv:
cursor_lsv.close()
def search_lsa(connection, codice_articolo, tsm_codice):
cursor_lsa = connection.cursor(buffered=True)
try:
if tsm_codice != '':
query = "SELECT ID FROM lsa WHERE ART_CODICE = %s AND TSM_CODICE = %s AND TLA_CODICE = '1' AND DATA_FINE > %s ORDER BY DATA_INIZIO DESC"
cursor_lsa.execute(query, (codice_articolo, tsm_codice, date.today().strftime("%Y-%m-%d")))
else:
query = "SELECT ID FROM lsa WHERE ART_CODICE = %s AND TLA_CODICE = '1' AND DATA_FINE > %s ORDER BY DATA_INIZIO DESC"
cursor_lsa.execute(query, (codice_articolo, date.today().strftime("%Y-%m-%d")))
result = cursor_lsa.fetchone()
if result: # se il listino esiste
return result
else:
return False
except Exception as e:
print(bcolors.FAIL+f"Errore durante la ricerca: {e}")
return None
finally:
if cursor_lsa:
cursor_lsa.close()