Files
Xml_to_GO/insert.py
2024-12-12 11:38:30 +01:00

99 lines
4.1 KiB
Python

import mysql.connector
from mysql.connector import Error
import pandas as pd
import math
import datetime
today = datetime.date.today()
formatted_date = today.strftime("%Y-%m-%d")
data_str = "2999-12-31"
data_fine = datetime.datetime.strptime(data_str, "%Y-%m-%d").date()
tla = 1
value_insert = []
def insert_records(connection,codice,descrizione,descrizione2,um,prezzo,sc1,sc2,ricarica,listino,codice_alternativo,codice_barre,art,tsa_codice,frn):
try:
print(frn)
print(tsa_codice)
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:
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()
percentuale_totale = percentuale_totale[0]
percentuale_totale = float(percentuale_totale)
prezzo_netto = (prezzo * percentuale_totale)/100
ris = (prezzo_netto*ricarica)/100
prezzo_lsv = (ris*22)/100
query_price = "INSERT INTO lsv (PREZZO) VALUES (%s)"
cursor.execute(query_price, (prezzo_lsv,))
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*ricarica)/100
prezzo_lsv = ris
if listino == 4:
prezzo_lsv = (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()