diff --git a/.~lock.TEST.xlsx# b/.~lock.TEST.xlsx# new file mode 100644 index 0000000..19bc168 --- /dev/null +++ b/.~lock.TEST.xlsx# @@ -0,0 +1 @@ +,pc-sviluppo1,pcsviluppo1,10.12.2024 10:17,file:///home/pc-sviluppo1/.config/libreoffice/4; \ No newline at end of file diff --git a/Articoli_Inseriti10-12-2024_09-27.xlsx b/Articoli_Inseriti10-12-2024_09-27.xlsx new file mode 100644 index 0000000..1c82592 Binary files /dev/null and b/Articoli_Inseriti10-12-2024_09-27.xlsx differ diff --git a/TEST.xlsx b/TEST.xlsx new file mode 100644 index 0000000..d14f19a Binary files /dev/null and b/TEST.xlsx differ diff --git a/__pycache__/connection.cpython-310.pyc b/__pycache__/connection.cpython-310.pyc new file mode 100644 index 0000000..da63a4c Binary files /dev/null and b/__pycache__/connection.cpython-310.pyc differ diff --git a/__pycache__/insert.cpython-310.pyc b/__pycache__/insert.cpython-310.pyc new file mode 100644 index 0000000..177eb66 Binary files /dev/null and b/__pycache__/insert.cpython-310.pyc differ diff --git a/__pycache__/search.cpython-310.pyc b/__pycache__/search.cpython-310.pyc new file mode 100644 index 0000000..b7ff92d Binary files /dev/null and b/__pycache__/search.cpython-310.pyc differ diff --git a/__pycache__/update.cpython-310.pyc b/__pycache__/update.cpython-310.pyc new file mode 100644 index 0000000..f2d0ad5 Binary files /dev/null and b/__pycache__/update.cpython-310.pyc differ diff --git a/__pycache__/write.cpython-310.pyc b/__pycache__/write.cpython-310.pyc new file mode 100644 index 0000000..32c317d Binary files /dev/null and b/__pycache__/write.cpython-310.pyc differ diff --git a/__pycache__/write_excel_insert.cpython-310.pyc b/__pycache__/write_excel_insert.cpython-310.pyc new file mode 100644 index 0000000..4938d6a Binary files /dev/null and b/__pycache__/write_excel_insert.cpython-310.pyc differ diff --git a/insert.py b/insert.py index 8332441..04e262d 100644 --- a/insert.py +++ b/insert.py @@ -13,13 +13,13 @@ data_fine = datetime.datetime.strptime(data_str, "%Y-%m-%d").date() tla = 1 value_insert = [] -def insert_records(connection,codice,descrizione,um,costo,sc1,sc2,ricarica,listino,codice_alternativo,codice_barre,art): +def insert_records(connection,codice,descrizione,um,costo,sc1,sc2,ricarica,listino,codice_alternativo,codice_barre,art,tsa_codice): try: result = [] cursor = connection.cursor() if art == False: - query_art = "INSERT INTO art (codice,DESCRIZIONE1,TUM_CODICE,codice_alternativo,TUB_CODICE,TCM_CODICE,TGM_CODICE,TIV_CODICE_VENDITE,TIV_CODICE_ACQUISTI,TCA_CODICE,TAQ_CODICE,TS3_CODICE,TP2_CODICE,TSA_CODICE,TIN_CODICE,TNI_CODICE,TAA_CODICE) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)" - cursor.execute(query_art,(codice,descrizione,um,codice_alternativo,'0','0','0','0','0','0','0','0','0','0','0','0','0')) + query_art = "INSERT INTO art (codice,DESCRIZIONE1,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) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)" + cursor.execute(query_art,(codice,descrizione,um,codice_alternativo,tsa_codice,'0','0','0','22','22','0','0','0','0','0','0')) count = cursor.rowcount result.append(count) @@ -48,7 +48,7 @@ def insert_records(connection,codice,descrizione,um,costo,sc1,sc2,ricarica,listi connection.commit() if any(val != 0 for val in result): - row = [codice,descrizione,um,costo,sc1,sc2,ricarica,codice_alternativo,codice_barre] + row = [codice,descrizione,um,costo,sc1,sc2,ricarica,codice_alternativo,codice_barre,tsa_codice] value_insert.append(row) return value_insert diff --git a/main.py b/main.py index 5035d99..3ff7c7e 100644 --- a/main.py +++ b/main.py @@ -21,10 +21,10 @@ password = "masterkey" database = "arc_rumo" port = 3307 -#creao la connessione al database +#creo 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') +df = pd.read_excel('TEST.xlsx', usecols='A:N') #leggo le colonne del file excel for index, row in df.iterrows(): @@ -32,8 +32,16 @@ for index, row in df.iterrows(): 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['SC1']): + sc1 = row['SC1'] + else: + sc1 = int(row['SC1']) ## tsm_codice per la tabella lsa + + if math.isnan(row['SC2']): + sc2 = row['SC2'] + else : + sc2 = int(row['SC2']) if math.isnan(row['RICARICA1']): ricarica1 = row['RICARICA1'] @@ -59,14 +67,13 @@ for index, row in df.iterrows(): codice_barre = str(row['CODICE_BARRE']) codice_alternativo = str(row['CODICE ALTERNATIVO']) prezzo = float(row['COSTO']) + + if math.isnan(row['TSA_CODICE']): + tsa_codice = row['TSA_CODICE'] + else: + tsa_codice = int(row['TSA_CODICE']) - 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 conn : if ricarica1 is not None and not math.isnan(ricarica1): listino = 1 ricarica = ricarica1 @@ -80,22 +87,22 @@ for index, row in df.iterrows(): listino = 4 ricarica = ricarica4 - art = search_article(conn,codice,listino) + art = search_article(conn,codice,listino) #cerco codice articolo - if art == True : - value_update = update_records(conn,codice,prezzo,sc1,sc2,listino,ricarica,codice_barre,codice_alternativo) + if art == True : ## se l'atricolo esiste eseguo l'update dei valori + value_update = update_records(conn,codice,prezzo,sc1,sc2,listino,ricarica,codice_barre,codice_alternativo,tsa_codice) print(value_update) if value_update is not None: write_excel(value_update) - else: + else: ## se non esiste o non esiste con quel listino effettuo l'inserimento costo = 0.00 if descrizione is None : descrizione = ' ' if um is None: um = ' ' - if sc1 is None: + if math.isnan(sc1): sc1 = ' ' - if sc2 is None: + if math.isnan(sc2): sc2 = ' ' if math.isnan(ricarica): ricarica = ' ' @@ -103,7 +110,10 @@ for index, row in df.iterrows(): 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) + if math.isnan(tsa_codice): + tsa_codice = ' ' + + value_insert = insert_records(conn,codice,descrizione,um,costo,sc1,sc2,ricarica,listino,codice_alternativo,codice_barre,art,tsa_codice) write_excel_insert(value_insert) if conn : diff --git a/update.py b/update.py index 8f5f767..1680fed 100644 --- a/update.py +++ b/update.py @@ -5,19 +5,19 @@ import math value_update = [] -def update_records(connection,codice,prezzo,sc1,sc2,listino,ricarica,codice_barre,codice_alternativo): +def update_records(connection,codice,prezzo,sc1,sc2,listino,ricarica,codice_barre,codice_alternativo,tsa_codice): try: result = [] cursor = connection.cursor() - if sc1 is not None : + if sc1 is not None and not math.isnan(sc1): query_lsa = "UPDATE lsa SET TSM_CODICE = %s WHERE ART_CODICE = %s AND TLA_CODICE = '1'" cursor.execute(query_lsa, (sc1, codice)) count = cursor.rowcount result.append(count) - if sc2 is not None: + if sc2 is not None and not math.isnan(sc2): query_lsv_tsm = "UPDATE lsv SET TSM_CODICE = %s WHERE ART_CODICE = %s AND TLV_CODICE = %s" cursor.execute(query_lsv_tsm, (sc2, codice,listino)) count = cursor.rowcount @@ -47,6 +47,12 @@ def update_records(connection,codice,prezzo,sc1,sc2,listino,ricarica,codice_barr count = cursor.rowcount result.append(count) + if tsa_codice is not None and not math.isnan(tsa_codice): + query_tsa = "UPDATE art SET TSA_CODICE = %s WHERE codice = %s" + cursor.execute(query_tsa, (tsa_codice, codice)) + count = cursor.rowcount + result.append(count) + connection.commit() if all(value == 0 for value in result): @@ -72,9 +78,12 @@ def update_records(connection,codice,prezzo,sc1,sc2,listino,ricarica,codice_barr codice_barre = 0 if pd.isna(codice_alternativo): - codice_alternativo = 0; + codice_alternativo = 0 + + if math.isnan(tsa_codice): + tsa_codice = 0 - row = [codice,prezzo,listino,sc1,ricarica,codice_barre,codice_alternativo,sc2] + row = [codice,prezzo,listino,sc1,ricarica,codice_barre,codice_alternativo,sc2,tsa_codice] value_update.append(row) return value_update diff --git a/write.py b/write.py index 22d7673..914e463 100644 --- a/write.py +++ b/write.py @@ -19,6 +19,7 @@ def write_excel(value_update): worksheet.write('F1', 'CODICE BARRE') worksheet.write('G1', 'CODICE ALTERNATIVO') worksheet.write('H1', 'TSM_CODICE_LSV') + worksheet.write('I1', 'TSA_CODICE') for row_index, row_data in enumerate(value_update): diff --git a/write_excel_insert.py b/write_excel_insert.py index 820c9be..dcea928 100644 --- a/write_excel_insert.py +++ b/write_excel_insert.py @@ -20,6 +20,7 @@ def write_excel_insert(value_insert): worksheet.write('G1', 'RICARICA') worksheet.write('H1', 'CODICE_ALTERNATIVO') worksheet.write('I1', 'CODICE_BARRE') + worksheet.write('L1', 'TSA_CODICE') for row_index, row_data in enumerate(value_insert):