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_articolo): cursor_art = connection.cursor(buffered=True) try: query = "SELECT codice FROM art WHERE codice = %s" cursor_art.execute(query, (codice_articolo,)) result = cursor_art.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_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): cursor_lsa = connection.cursor(buffered=True) try: 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()