Refactoring codice
This commit is contained in:
132
utils/search.py
132
utils/search.py
@ -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()
|
||||
|
||||
Reference in New Issue
Block a user