add write excel/insert

This commit is contained in:
2024-12-09 17:39:02 +01:00
parent bc4be7f9a7
commit 03389e1365
6 changed files with 336 additions and 4 deletions

112
main.py
View File

@ -0,0 +1,112 @@
import pandas as pd
import mysql.connector
import math
import xlsxwriter
import tkinter as tk
from tkinter import filedialog,messagebox
from datetime import datetime
from mysql.connector import Error
from connection import create_connection
from connection import close_connection
from search import search_article
from update import update_records
from insert import insert_records
from write import write_excel
from write_excel_insert import write_excel_insert
host = "62.86.98.170"
user = "root"
password = "masterkey"
database = "arc_rumo"
port = 3307
#creao la connessione al database
conn = create_connection(host, user, password, database, port)
#leggo il file excel
df = pd.read_excel('TEST.xlsx', usecols='A:M')
#leggo le colonne del file excel
for index, row in df.iterrows():
codice = row['CODICE']
descrizione = row['DESCRIZIONE']
um = row['UN']
costo = row['COSTO']
sc1 = str(row['SC1']) ## tsm_codice per la tabella lsa
sc2 = str(row['SC2']) ## tsm_codice per la tabella lsv
if math.isnan(row['RICARICA1']):
ricarica1 = row['RICARICA1']
else:
ricarica1 = int(row['RICARICA1']) ## trl_codice per codice listino 1
if math.isnan(row['RICARICA2']):
ricarica2 = row['RICARICA2']
else:
ricarica2 = int(row['RICARICA2']) ## trl_codice per codice listino 2
if math.isnan(row['RICARICA3']):
ricarica3 = row['RICARICA3']
else:
ricarica3 = int(row['RICARICA3']) ## trl_codice per codice listino 3
if math.isnan(row['RICARICA4']):
ricarica4 = row['RICARICA4']
else:
ricarica4 = int(row['RICARICA4']) ## trl_codice per codice listino 4
codice_barre = str(row['CODICE_BARRE'])
codice_alternativo = str(row['CODICE ALTERNATIVO'])
prezzo = float(row['COSTO'])
if conn :
## cerco codice articlo
## se non esiste chiamo l funzione di insert
## se esiste controllo cosice listino
## se non esiste chiamo la funzione di insert
## se esiste chiamo la funzione di update
if ricarica1 is not None and not math.isnan(ricarica1):
listino = 1
ricarica = ricarica1
elif ricarica2 is not None and not math.isnan(ricarica2):
listino = 2
ricarica = ricarica2
elif ricarica3 is not None and not math.isnan(ricarica3):
listino = 3
ricarica = ricarica3
elif ricarica4 is not None and not math.isnan(ricarica4):
listino = 4
ricarica = ricarica4
art = search_article(conn,codice,listino)
if art == True :
value_update = update_records(conn,codice,prezzo,sc1,sc2,listino,ricarica,codice_barre,codice_alternativo)
print(value_update)
if value_update is not None:
write_excel(value_update)
else:
costo = 0.00
if descrizione is None :
descrizione = ' '
if um is None:
um = ' '
if sc1 is None:
sc1 = ' '
if sc2 is None:
sc2 = ' '
if math.isnan(ricarica):
ricarica = ' '
if codice_alternativo is None:
codice_alternativo = ' '
if codice_barre is None:
codice_barre = ' '
value_insert = insert_records(conn,codice,descrizione,um,costo,sc1,sc2,ricarica,listino,codice_alternativo,codice_barre,art)
write_excel_insert(value_insert)
if conn :
conn.close()