AndreiVoicuT commited on
Commit
4be03c4
·
verified ·
1 Parent(s): 42737b7

Upload 9 files

Browse files
DATA/consumuri.xlsx ADDED
Binary file (58.1 kB). View file
 
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import os
3
+ import gradio as gr
4
+ from backend import cantitati_piesa
5
+
6
+ with gr.Blocks() as consum:
7
+ gr.Markdown(
8
+ "# CPA Logistics")
9
+
10
+ with gr.Tabs():
11
+ with gr.TabItem(label="Nr.piese "):
12
+ gr.Markdown(
13
+ "Aici poti sa calulezi nr. total de unitati ce iti trbuie din fiecare produs."
14
+ "Te rog ai grija ca fisierul de input nume_fisier.xlsx sa:\n"
15
+ " \n - incepa direct cu denuirea coloanelor \n - sa aiba un format constant \n - uite mai jos un exmplu:")
16
+ exemplu_01 = gr.File(label="Exemplu fisier de input:", value="DATA/consumuri.xlsx")
17
+ with gr.Row():
18
+ with gr.Column(scale=1, min_width=400):
19
+
20
+ file_material_a = gr.File(label="Introdu aici lista de consumuri:" )
21
+
22
+
23
+ id_componente = gr.Text(label="Nume colaona id:", value="Denumire")
24
+ cantitate = gr.Text(label="Nume colaona cantitate:", value="Cantitate")
25
+
26
+ msc_button = gr.Button("Calculeaza cantitatea totala din fiecare produs:")
27
+
28
+ cantitati_totale = gr.Text(label="Cantitati totale:")
29
+ cantitati_totale_xlsx = gr.File(label="Cntitati xlsx:")
30
+
31
+ msc_button.click(cantitati_piesa,
32
+ inputs=[file_material_a,id_componente, cantitate],
33
+ outputs=[cantitati_totale, cantitati_totale_xlsx])
34
+
35
+
36
+
37
+ consum.launch(share=False)
backend/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ from .cantitati_consum import cantitati_piesa
backend/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (247 Bytes). View file
 
backend/__pycache__/__init__.cpython-39.pyc ADDED
Binary file (215 Bytes). View file
 
backend/__pycache__/cantitati_consum.cpython-311.pyc ADDED
Binary file (1.62 kB). View file
 
backend/__pycache__/cantitati_consum.cpython-39.pyc ADDED
Binary file (989 Bytes). View file
 
backend/cantitati_consum.py ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import random
3
+ import datetime
4
+
5
+ # # Specify the file path of the XLS document
6
+ # file_path = 'consumuri.xlsx'
7
+ # # Read the XLS file
8
+ # data = pd.read_excel(file_path)
9
+ # data = data.fillna('<nimic>')
10
+ pd.set_option('display.max_rows', None) # Display all rows
11
+ pd.set_option('display.max_columns', None) # Display all columns
12
+ pd.set_option('display.width', 1000) # Set the display width for showing more information
13
+ pd.set_option('display.colheader_justify', 'center') # Center justify column headers
14
+ pd.set_option('display.precision', 3) # Set precision for decimal values
15
+
16
+
17
+ def format_items(dictionary):
18
+ "pretty string"
19
+ formatted_string = "Item Details:\n"
20
+ for key, value in dictionary.items():
21
+ formatted_string += f"{key}: {value}\n"
22
+ return formatted_string
23
+
24
+ def cantitati_piesa(file, denumire_id, cantitate):
25
+ """
26
+ Calculeaza cate piese trebuie sa fie facute de fiecare data cand intlaneste id d epiese ii aduaga cantitatea..
27
+ :param file:
28
+ :type file:
29
+ :param denumire_id:
30
+ :type denumire_id:
31
+ :param cantitate:
32
+ :type cantitate:
33
+ :return:
34
+ :rtype:
35
+ """
36
+
37
+ data=pd.read_excel(file)
38
+ products = {}
39
+ for index, row in data.iterrows():
40
+ denumire = row[denumire_id]
41
+ if denumire not in ['Consumuri', '<nimic>']:
42
+
43
+ if denumire not in products:
44
+ products[denumire] = row[cantitate]
45
+ else:
46
+ products[denumire] += row[cantitate]
47
+ p={"produs":[], "cantitate":[]}
48
+ for k in products.keys():
49
+ p["produs"].append(k)
50
+ p["cantitate"].append(products[k])
51
+
52
+
53
+ df=pd.DataFrame.from_dict(p)
54
+
55
+ # Generate a random number and get the current date
56
+ random_number = random.randint(1000, 9999)
57
+ current_date = datetime.datetime.now().strftime("%Y%m%d")
58
+ filename = f"{file.name}_cantitate_{current_date}_{random_number}.xlsx"
59
+ df.to_excel(filename, index=False)
60
+ # Generate a summary string for display
61
+ summary_string = "Canitati produse:\n" + "\n".join(f"{prod}: {qty}" for prod, qty in products.items())
62
+
63
+ # Return the summary string and the path to the Excel file
64
+ return summary_string, filename
65
+
66
+ return df
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ gradio==4.26.0
2
+ pandas ==2.2
3
+ Requests==2.31.0
4
+ scipy==1.13.0
5
+ torch==2.1.1
6
+ openpyxl