236 lines
9.0 KiB
Python
236 lines
9.0 KiB
Python
from mysql.connector import Error
|
|
from datetime import datetime, date
|
|
|
|
data_str = "2999-12-31"
|
|
data_fine = datetime.strptime(data_str, "%Y-%m-%d").date()
|
|
|
|
|
|
|
|
# value_insert = []
|
|
# def insert_records(connection,codice,descrizione,descrizione2,um,prezzo,sc1,sc2,ricarica,listino,codice_alternativo,codice_barre,art,tsa_codice,frn):
|
|
# try:
|
|
#
|
|
# cursor_select = connection.cursor()
|
|
# result = []
|
|
# cursor = connection.cursor()
|
|
# if art == False:
|
|
# query_art = "INSERT INTO art (codice, DESCRIZIONE1,DESCRIZIONE2, TUM_CODICE, codice_alternativo, TSA_CODICE, TUB_CODICE, TCM_CODICE, TGM_CODICE, TIV_CODICE_VENDITE, TIV_CODICE_ACQUISTI, TCA_CODICE, TAQ_CODICE, TS3_CODICE, TP2_CODICE, TIN_CODICE, TAA_CODICE, TNI_CODICE,FRN_CODICE) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
|
|
# cursor.execute(query_art,(codice, descrizione,descrizione2,um, codice_alternativo, tsa_codice,'0','0','0','22','22','0','0','0','0','0','0','0',frn))
|
|
#
|
|
# count = cursor.rowcount
|
|
# result.append(count)
|
|
#
|
|
#
|
|
# query_bar = "INSERT INTO bar (ART_CODICE,CODICE_BARRE) VALUES (%s,%s)"
|
|
# cursor.execute(query_bar,(codice,codice_barre))
|
|
# count = cursor.rowcount
|
|
# result.append(count)
|
|
#
|
|
#
|
|
# if listino == 1:
|
|
#
|
|
# select_percentuale_totale = "SELECT PERCENTUALE_TOTALE FROM tsm WHERE CODICE = %s"
|
|
# cursor_select.execute(select_percentuale_totale,(sc1, ))
|
|
# percentuale_totale = cursor_select.fetchone()
|
|
#
|
|
# percentuale_totale = percentuale_totale[0]
|
|
# percentuale_totale = float(percentuale_totale)
|
|
#
|
|
# prezzo_netto = (prezzo * percentuale_totale)/100
|
|
#
|
|
# ris = prezzo_netto + (prezzo_netto*ricarica)/100
|
|
#
|
|
# prezzo_lsv = ris + (ris*22)/100
|
|
#
|
|
# 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 :
|
|
#
|
|
# select_percentuale_totale = "SELECT PERCENTUALE_TOTALE FROM tsm WHERE CODICE = %s"
|
|
# cursor_select.execute(select_percentuale_totale,(sc1, ))
|
|
# percentuale_totale = cursor_select.fetchone()
|
|
#
|
|
# percentuale_totale = percentuale_totale[0]
|
|
# percentuale_totale = float(percentuale_totale)
|
|
#
|
|
# prezzo_netto = (prezzo * percentuale_totale)/100
|
|
#
|
|
# ris = prezzo_netto + (prezzo_netto*ricarica)/100
|
|
# prezzo_lsv = ris
|
|
# if listino == 4:
|
|
# prezzo_lsv = ris + (ris*22)/100
|
|
#
|
|
# 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)
|
|
#
|
|
#
|
|
# connection.commit()
|
|
#
|
|
# if any(val != 0 for val in result):
|
|
# row = [codice,descrizione,um,prezzo,sc1,sc2,ricarica,codice_alternativo,codice_barre,tsa_codice,frn]
|
|
# value_insert.append(row)
|
|
# return value_insert
|
|
#
|
|
# except Error as e:
|
|
# print(f"Errore durante l'inserimento: {e}")
|
|
# finally:
|
|
# cursor.close()
|
|
|
|
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 insert_article(connection, codice_articolo, descrizione, descrizione2, um, codice_alternativo, tsa_codice, frn_codice):
|
|
cursor_insert = connection.cursor()
|
|
try:
|
|
|
|
query_art = """
|
|
INSERT INTO art (codice, DESCRIZIONE1,DESCRIZIONE2, TUM_CODICE, codice_alternativo, TSA_CODICE, TUB_CODICE, TCM_CODICE, TGM_CODICE, TIV_CODICE_VENDITE, TIV_CODICE_ACQUISTI, TCA_CODICE, TAQ_CODICE, TS3_CODICE, TP2_CODICE, TIN_CODICE, TAA_CODICE, TNI_CODICE,FRN_CODICE)
|
|
VALUES (%s, %s, %s,
|
|
CASE WHEN %s != '' THEN %s ELSE NULL END,
|
|
%s,
|
|
CASE WHEN %s != '' THEN %s ELSE NULL END,
|
|
%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,
|
|
CASE WHEN %s != '' THEN %s ELSE NULL END
|
|
)
|
|
"""
|
|
cursor_insert.execute(query_art, (
|
|
codice_articolo, descrizione, descrizione2, um, um, codice_alternativo, tsa_codice, tsa_codice, '0', '0', '0', '22',
|
|
'22', '0', '0', '0',
|
|
'0', '0', '0', '0', frn_codice, frn_codice))
|
|
|
|
if cursor_insert.rowcount > 0:
|
|
return True
|
|
else:
|
|
return False
|
|
|
|
except Error as e:
|
|
print(bcolors.FAIL+f"Errore durante l'inserimento: {e}")
|
|
finally:
|
|
cursor_insert.close()
|
|
|
|
def insert_barcode(connection,codice,codice_barre):
|
|
cursor_insert = connection.cursor()
|
|
try:
|
|
query_bar = "INSERT INTO bar (ART_CODICE, CODICE_BARRE) VALUES (%s,%s)"
|
|
cursor_insert.execute(query_bar, (codice, codice_barre))
|
|
|
|
if cursor_insert.rowcount > 0:
|
|
return True
|
|
else:
|
|
return False
|
|
|
|
except Error as e:
|
|
print(bcolors.FAIL+f"Errore durante l'inserimento: {e}")
|
|
finally:
|
|
cursor_insert.close()
|
|
|
|
|
|
def insert_listino_acquisto(connection,codice,prezzo,sc1):
|
|
cursor_insert = connection.cursor()
|
|
try:
|
|
query_lsa = """
|
|
INSERT INTO lsa (ART_CODICE, TLA_CODICE, DATA_INIZIO, DATA_FINE, PREZZO, TSM_CODICE)
|
|
VALUES (%s,%s,%s,%s,%s,
|
|
CASE WHEN %s != '' THEN %s ELSE NULL END
|
|
)
|
|
"""
|
|
cursor_insert.execute(query_lsa, (codice, '1', date.today().strftime("%Y-%m-%d"), data_fine, prezzo, sc1, sc1))
|
|
|
|
if cursor_insert.rowcount > 0:
|
|
return cursor_insert.lastrowid
|
|
else:
|
|
return False
|
|
|
|
except Error as e:
|
|
print(bcolors.FAIL+f"Errore durante l'inserimento: {e}")
|
|
finally:
|
|
cursor_insert.close()
|
|
|
|
|
|
def insert_listino_vendita(connection,codice,prezzo,prezzo_pubblico,listino,sc1,sc2,ricarica):
|
|
cursor_insert = connection.cursor()
|
|
cursor_select_sc1 = connection.cursor(buffered=True)
|
|
cursor_select_sc2 = connection.cursor(buffered=True)
|
|
cursor_select_ricarica = connection.cursor(buffered=True)
|
|
|
|
try:
|
|
percentuale_totale_sc1 = percentuale_totale_sc2 = percentuale_ricarica = 0
|
|
|
|
if sc1:
|
|
select_sc1 = "SELECT PERCENTUALE_TOTALE FROM tsm WHERE CODICE = %s"
|
|
cursor_select_sc1.execute(select_sc1, (sc1,))
|
|
result_sc1 = cursor_select_sc1.fetchone()
|
|
percentuale_totale_sc1 = float(result_sc1[0]) if result_sc1 else 0
|
|
|
|
if sc2:
|
|
select_sc2 = "SELECT PERCENTUALE_TOTALE FROM tsm WHERE CODICE = %s"
|
|
cursor_select_sc2.execute(select_sc2, (sc2,))
|
|
result_sc2 = cursor_select_sc2.fetchone()
|
|
percentuale_totale_sc2 = float(result_sc2[0]) if result_sc2 else 0
|
|
|
|
if ricarica:
|
|
select_ricarica = "SELECT RICARICO FROM trl WHERE CODICE = %s"
|
|
cursor_select_ricarica.execute(select_ricarica, (ricarica,))
|
|
result_ricarica = cursor_select_ricarica.fetchone()
|
|
percentuale_ricarica = float(result_ricarica[0]) if result_ricarica else 0
|
|
|
|
if ricarica != '0':
|
|
if percentuale_totale_sc1 != 0:
|
|
prezzo = prezzo * (percentuale_totale_sc1 / 100)
|
|
|
|
if percentuale_ricarica != 0:
|
|
prezzo += prezzo * (percentuale_ricarica /100)
|
|
|
|
if percentuale_totale_sc2 != 0:
|
|
prezzo = prezzo * (percentuale_totale_sc2 /100)
|
|
|
|
if listino == '1' or listino == '4':
|
|
prezzo += prezzo * (22 / 100)
|
|
|
|
if prezzo_pubblico != '' and listino == '1':
|
|
prezzo = prezzo_pubblico
|
|
|
|
query_lsv = """
|
|
INSERT INTO lsv (ART_CODICE,TLV_CODICE,DATA_INIZIO,DATA_FINE,PREZZO,TSM_CODICE,TRL_CODICE)
|
|
VALUES (%s,%s,%s,%s,%s,
|
|
CASE WHEN %s != '' THEN %s ELSE NULL END,
|
|
CASE WHEN %s != '' THEN %s ELSE NULL END
|
|
)
|
|
"""
|
|
|
|
cursor_insert.execute(query_lsv, (codice, listino, date.today().strftime("%Y-%m-%d"), data_fine, prezzo, sc2, sc2, ricarica, ricarica))
|
|
|
|
if cursor_insert.rowcount > 0:
|
|
return cursor_insert.lastrowid
|
|
else:
|
|
return False
|
|
else:
|
|
return False
|
|
|
|
except Error as e:
|
|
print(bcolors.FAIL+f"Errore durante l'inserimento: {e}")
|
|
return None
|
|
finally:
|
|
cursor_insert.close()
|
|
cursor_select_sc1.close()
|
|
cursor_select_sc2.close()
|
|
cursor_select_ricarica.close() |