This commit is contained in:
Giuseppe Nucifora 2024-11-07 10:50:50 +01:00
parent 0e0b4b103f
commit e9ec5af072
21 changed files with 7026 additions and 6128 deletions

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,22 @@
Unnamed: 0,Varietà di Olive,Produzione (tonnellate/ettaro),Tecnica di Coltivazione,Produzione Olio (tonnellate/ettaro),Produzione Olio (litri/ettaro),Min % Resa,Max % Resa,Min Produzione Olio (litri/ettaro),Max Produzione Olio (litri/ettaro),Media Produzione Olio (litri/ettaro),Litri per Tonnellata,Min Litri per Tonnellata,Max Litri per Tonnellata,Media Litri per Tonnellata
0,Nocellara dell'Etna,3.5,Tradizionale,0.7000000000000001,687.7729257641921,0.18,0.22,687.7729257641921,840.6113537117903,764.1921397379913,196.5065502183406,196.5065502183406,240.17467248908295,218.34061135371178
1,Nocellara dell'Etna,5.0,Intensiva,1.0,1091.703056768559,0.18,0.22,982.532751091703,1200.8733624454148,1091.7030567685588,218.3406113537118,196.50655021834058,240.17467248908298,218.34061135371178
2,Nocellara dell'Etna,6.5,Superintensiva,1.3,1561.135371179039,0.18,0.22,1277.292576419214,1561.135371179039,1419.2139737991265,240.17467248908295,196.5065502183406,240.17467248908295,218.34061135371178
6,Leccino,4.0,Tradizionale,0.8,698.6899563318777,0.16,0.2,698.6899563318777,873.3624454148471,786.0262008733624,174.67248908296943,174.67248908296943,218.34061135371178,196.5065502183406
7,Leccino,6.0,Intensiva,1.2000000000000002,1179.0393013100436,0.16,0.2,1048.0349344978165,1310.043668122271,1179.0393013100438,196.5065502183406,174.6724890829694,218.3406113537118,196.5065502183406
8,Leccino,7.5,Superintensiva,1.5,1637.5545851528384,0.16,0.2,1310.043668122271,1637.5545851528384,1473.7991266375543,218.34061135371178,174.67248908296946,218.34061135371178,196.50655021834064
9,Frantoio,5.0,Tradizionale,1.0,1091.703056768559,0.2,0.25,1091.703056768559,1364.6288209606987,1228.165938864629,218.3406113537118,218.3406113537118,272.92576419213975,245.6331877729258
10,Frantoio,7.5,Intensiva,1.5,1883.187772925764,0.2,0.25,1637.5545851528384,2046.943231441048,1842.2489082969432,251.09170305676852,218.34061135371178,272.92576419213975,245.63318777292577
11,Frantoio,9.0,Superintensiva,1.8,2456.331877729257,0.2,0.25,1965.065502183406,2456.331877729257,2210.698689956332,272.9257641921397,218.34061135371178,272.9257641921397,245.63318777292574
15,Coratina,4.5,Tradizionale,0.9,1080.7860262008733,0.22,0.25,1080.7860262008733,1228.1659388646287,1154.475982532751,240.17467248908295,240.17467248908295,272.9257641921397,256.5502183406113
16,Coratina,6.0,Intensiva,1.2000000000000002,1572.0524017467249,0.22,0.25,1441.0480349344978,1637.5545851528384,1539.301310043668,262.0087336244541,240.17467248908295,272.92576419213975,256.55021834061137
17,Coratina,7.0,Superintensiva,1.4,1910.480349344978,0.22,0.25,1681.2227074235807,1910.480349344978,1795.8515283842794,272.92576419213975,240.17467248908295,272.92576419213975,256.55021834061137
21,Taggiasca,2.5,Tradizionale,0.5,463.9737991266376,0.17,0.2,463.9737991266376,545.8515283842795,504.91266375545854,185.58951965065503,185.58951965065503,218.3406113537118,201.96506550218342
22,Taggiasca,4.0,Intensiva,0.8,829.6943231441047,0.17,0.2,742.35807860262,873.3624454148471,807.8602620087336,207.42358078602618,185.589519650655,218.34061135371178,201.9650655021834
23,Taggiasca,6.0,Superintensiva,1.2000000000000002,1310.043668122271,0.17,0.2,1113.53711790393,1310.043668122271,1211.7903930131006,218.3406113537118,185.589519650655,218.3406113537118,201.9650655021834
24,Pendolino,4.0,Tradizionale,0.8,655.0218340611353,0.15,0.18,655.0218340611353,786.0262008733624,720.5240174672489,163.75545851528383,163.75545851528383,196.5065502183406,180.13100436681222
25,Pendolino,5.0,Intensiva,1.0,927.9475982532751,0.15,0.18,818.7772925764192,982.532751091703,900.655021834061,185.58951965065503,163.75545851528383,196.50655021834058,180.1310043668122
26,Pendolino,7.0,Superintensiva,1.4,1375.5458515283842,0.15,0.18,1146.2882096069868,1375.5458515283842,1260.9170305676855,196.5065502183406,163.75545851528383,196.5065502183406,180.13100436681222
27,Moraiolo,3.2,Tradizionale,0.6400000000000001,628.82096069869,0.18,0.22,628.82096069869,768.5589519650656,698.6899563318777,196.5065502183406,196.5065502183406,240.17467248908298,218.34061135371178
28,Moraiolo,4.8,Intensiva,0.96,1048.0349344978165,0.18,0.22,943.2314410480348,1152.838427947598,1048.0349344978165,218.34061135371178,196.50655021834058,240.1746724890829,218.34061135371172
29,Moraiolo,6.5,Superintensiva,1.3,1561.135371179039,0.18,0.22,1277.292576419214,1561.135371179039,1419.2139737991265,240.17467248908295,196.5065502183406,240.17467248908295,218.34061135371178
1 Unnamed: 0 Varietà di Olive Produzione (tonnellate/ettaro) Tecnica di Coltivazione Produzione Olio (tonnellate/ettaro) Produzione Olio (litri/ettaro) Min % Resa Max % Resa Min Produzione Olio (litri/ettaro) Max Produzione Olio (litri/ettaro) Media Produzione Olio (litri/ettaro) Litri per Tonnellata Min Litri per Tonnellata Max Litri per Tonnellata Media Litri per Tonnellata
2 0 Nocellara dell'Etna 3.5 Tradizionale 0.7000000000000001 687.7729257641921 0.18 0.22 687.7729257641921 840.6113537117903 764.1921397379913 196.5065502183406 196.5065502183406 240.17467248908295 218.34061135371178
3 1 Nocellara dell'Etna 5.0 Intensiva 1.0 1091.703056768559 0.18 0.22 982.532751091703 1200.8733624454148 1091.7030567685588 218.3406113537118 196.50655021834058 240.17467248908298 218.34061135371178
4 2 Nocellara dell'Etna 6.5 Superintensiva 1.3 1561.135371179039 0.18 0.22 1277.292576419214 1561.135371179039 1419.2139737991265 240.17467248908295 196.5065502183406 240.17467248908295 218.34061135371178
5 6 Leccino 4.0 Tradizionale 0.8 698.6899563318777 0.16 0.2 698.6899563318777 873.3624454148471 786.0262008733624 174.67248908296943 174.67248908296943 218.34061135371178 196.5065502183406
6 7 Leccino 6.0 Intensiva 1.2000000000000002 1179.0393013100436 0.16 0.2 1048.0349344978165 1310.043668122271 1179.0393013100438 196.5065502183406 174.6724890829694 218.3406113537118 196.5065502183406
7 8 Leccino 7.5 Superintensiva 1.5 1637.5545851528384 0.16 0.2 1310.043668122271 1637.5545851528384 1473.7991266375543 218.34061135371178 174.67248908296946 218.34061135371178 196.50655021834064
8 9 Frantoio 5.0 Tradizionale 1.0 1091.703056768559 0.2 0.25 1091.703056768559 1364.6288209606987 1228.165938864629 218.3406113537118 218.3406113537118 272.92576419213975 245.6331877729258
9 10 Frantoio 7.5 Intensiva 1.5 1883.187772925764 0.2 0.25 1637.5545851528384 2046.943231441048 1842.2489082969432 251.09170305676852 218.34061135371178 272.92576419213975 245.63318777292577
10 11 Frantoio 9.0 Superintensiva 1.8 2456.331877729257 0.2 0.25 1965.065502183406 2456.331877729257 2210.698689956332 272.9257641921397 218.34061135371178 272.9257641921397 245.63318777292574
11 15 Coratina 4.5 Tradizionale 0.9 1080.7860262008733 0.22 0.25 1080.7860262008733 1228.1659388646287 1154.475982532751 240.17467248908295 240.17467248908295 272.9257641921397 256.5502183406113
12 16 Coratina 6.0 Intensiva 1.2000000000000002 1572.0524017467249 0.22 0.25 1441.0480349344978 1637.5545851528384 1539.301310043668 262.0087336244541 240.17467248908295 272.92576419213975 256.55021834061137
13 17 Coratina 7.0 Superintensiva 1.4 1910.480349344978 0.22 0.25 1681.2227074235807 1910.480349344978 1795.8515283842794 272.92576419213975 240.17467248908295 272.92576419213975 256.55021834061137
14 21 Taggiasca 2.5 Tradizionale 0.5 463.9737991266376 0.17 0.2 463.9737991266376 545.8515283842795 504.91266375545854 185.58951965065503 185.58951965065503 218.3406113537118 201.96506550218342
15 22 Taggiasca 4.0 Intensiva 0.8 829.6943231441047 0.17 0.2 742.35807860262 873.3624454148471 807.8602620087336 207.42358078602618 185.589519650655 218.34061135371178 201.9650655021834
16 23 Taggiasca 6.0 Superintensiva 1.2000000000000002 1310.043668122271 0.17 0.2 1113.53711790393 1310.043668122271 1211.7903930131006 218.3406113537118 185.589519650655 218.3406113537118 201.9650655021834
17 24 Pendolino 4.0 Tradizionale 0.8 655.0218340611353 0.15 0.18 655.0218340611353 786.0262008733624 720.5240174672489 163.75545851528383 163.75545851528383 196.5065502183406 180.13100436681222
18 25 Pendolino 5.0 Intensiva 1.0 927.9475982532751 0.15 0.18 818.7772925764192 982.532751091703 900.655021834061 185.58951965065503 163.75545851528383 196.50655021834058 180.1310043668122
19 26 Pendolino 7.0 Superintensiva 1.4 1375.5458515283842 0.15 0.18 1146.2882096069868 1375.5458515283842 1260.9170305676855 196.5065502183406 163.75545851528383 196.5065502183406 180.13100436681222
20 27 Moraiolo 3.2 Tradizionale 0.6400000000000001 628.82096069869 0.18 0.22 628.82096069869 768.5589519650656 698.6899563318777 196.5065502183406 196.5065502183406 240.17467248908298 218.34061135371178
21 28 Moraiolo 4.8 Intensiva 0.96 1048.0349344978165 0.18 0.22 943.2314410480348 1152.838427947598 1048.0349344978165 218.34061135371178 196.50655021834058 240.1746724890829 218.34061135371172
22 29 Moraiolo 6.5 Superintensiva 1.3 1561.135371179039 0.18 0.22 1277.292576419214 1561.135371179039 1419.2139737991265 240.17467248908295 196.5065502183406 240.17467248908295 218.34061135371178

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -617,47 +617,7 @@ app.layout = dbc.Container([
# Sezione Costi # Sezione Costi
dbc.Row([ dbc.Row([
dbc.Col([ dbc.Col([
dbc.Card([ create_costs_config_section()
dbc.CardHeader("Costi di Produzione"),
dbc.CardBody([
dbc.Row([
dbc.Col([
html.H5("Costi Fissi Annuali", className="mb-3"),
dbc.ListGroup([
dbc.ListGroupItem([
html.Strong("Ammortamento impianto: "),
"€2,000.00/ha"
]),
dbc.ListGroupItem([
html.Strong("Assicurazione: "),
"€500.00/ha"
]),
dbc.ListGroupItem([
html.Strong("Manutenzione: "),
"€800.00/ha"
])
], flush=True)
], md=6),
dbc.Col([
html.H5("Costi Variabili", className="mb-3"),
dbc.ListGroup([
dbc.ListGroupItem([
html.Strong("Manodopera raccolta: "),
"€0.35/kg olive"
]),
dbc.ListGroupItem([
html.Strong("Potatura: "),
"€600.00/ha"
]),
dbc.ListGroupItem([
html.Strong("Fertilizzanti: "),
"€400.00/ha"
])
], flush=True)
], md=6)
])
])
], style=CARD_STYLE)
], md=12) ], md=12)
]), ]),
@ -1123,6 +1083,209 @@ app.layout = dbc.Container([
]) ])
], fluid=True, className="px-4 py-3") ], fluid=True, className="px-4 py-3")
def create_costs_config_section():
return dbc.Card([
dbc.CardHeader([
html.H4("Configurazione Costi e Marketing", className="text-primary mb-0")
], className="bg-light"),
dbc.CardBody([
# Costi Fissi Annuali (totali)
html.H5("Costi Fissi Annuali Totali", className="mb-3"),
dbc.Row([
dbc.Col([
dbc.Label("Ammortamento impianto (€):", className="fw-bold"),
dbc.Input(
id='cost-ammortamento',
type='number',
value=10000,
min=0,
className="mb-2"
)
], md=6),
dbc.Col([
dbc.Label("Assicurazioni (€):", className="fw-bold"),
dbc.Input(
id='cost-assicurazioni',
type='number',
value=2500,
min=0,
className="mb-2"
)
], md=6)
]),
dbc.Row([
dbc.Col([
dbc.Label("Manutenzione attrezzature (€):", className="fw-bold"),
dbc.Input(
id='cost-manutenzione',
type='number',
value=4000,
min=0,
className="mb-2"
)
], md=6),
dbc.Col([
dbc.Label("Certificazioni e licenze (€):", className="fw-bold"),
dbc.Input(
id='cost-certificazioni',
type='number',
value=3000,
min=0,
className="mb-2"
)
], md=6)
], className="mb-4"),
# Costi Variabili (per ettaro)
html.H5("Costi Variabili per Ettaro", className="mb-3"),
dbc.Row([
dbc.Col([
dbc.Label("Manodopera raccolta (€/ha):", className="fw-bold"),
dbc.Input(
id='cost-raccolta',
type='number',
value=1200,
min=0,
className="mb-2"
)
], md=6),
dbc.Col([
dbc.Label("Potatura (€/ha):", className="fw-bold"),
dbc.Input(
id='cost-potatura',
type='number',
value=600,
min=0,
className="mb-2"
)
], md=6)
]),
dbc.Row([
dbc.Col([
dbc.Label("Fertilizzanti (€/ha):", className="fw-bold"),
dbc.Input(
id='cost-fertilizzanti',
type='number',
value=400,
min=0,
className="mb-2"
)
], md=6),
dbc.Col([
dbc.Label("Irrigazione (€/ha):", className="fw-bold"),
dbc.Input(
id='cost-irrigazione',
type='number',
value=300,
min=0,
className="mb-2"
)
], md=6)
], className="mb-4"),
# Costi di Trasformazione
html.H5("Costi di Trasformazione", className="mb-3"),
dbc.Row([
dbc.Col([
dbc.Label("Molitura (€/kg olive):", className="fw-bold"),
dbc.Input(
id='cost-molitura',
type='number',
value=0.15,
min=0,
step=0.01,
className="mb-2"
)
], md=6),
dbc.Col([
dbc.Label("Stoccaggio (€/L olio):", className="fw-bold"),
dbc.Input(
id='cost-stoccaggio',
type='number',
value=0.20,
min=0,
step=0.01,
className="mb-2"
)
], md=6)
]),
dbc.Row([
dbc.Col([
dbc.Label("Bottiglia 1L (€/unità):", className="fw-bold"),
dbc.Input(
id='cost-bottiglia',
type='number',
value=1.20,
min=0,
step=0.01,
className="mb-2"
)
], md=6),
dbc.Col([
dbc.Label("Etichettatura (€/bottiglia):", className="fw-bold"),
dbc.Input(
id='cost-etichettatura',
type='number',
value=0.30,
min=0,
step=0.01,
className="mb-2"
)
], md=6)
], className="mb-4"),
# Marketing e Vendita
html.H5("Marketing e Vendita", className="mb-3"),
dbc.Row([
dbc.Col([
dbc.Label("Budget Marketing Annuale (€):", className="fw-bold"),
dbc.Input(
id='cost-marketing',
type='number',
value=15000,
min=0,
className="mb-2"
)
], md=6),
dbc.Col([
dbc.Label("Costi commerciali (€/L):", className="fw-bold"),
dbc.Input(
id='cost-commerciali',
type='number',
value=0.50,
min=0,
step=0.01,
className="mb-2"
)
], md=6)
]),
dbc.Row([
dbc.Col([
dbc.Label("Prezzo vendita olio (€/L):", className="fw-bold"),
dbc.Input(
id='price-olio',
type='number',
value=12.00,
min=0,
step=0.01,
className="mb-2"
)
], md=6),
dbc.Col([
dbc.Label("% Vendita diretta:", className="fw-bold"),
dbc.Input(
id='perc-vendita-diretta',
type='number',
value=30,
min=0,
max=100,
className="mb-2"
)
], md=6)
], className="mb-4"),
])
])
@app.callback( @app.callback(
Output("save-config-message", "children"), Output("save-config-message", "children"),

View File

@ -10,12 +10,7 @@
{ {
"variety": "Frantoio", "variety": "Frantoio",
"technique": "Tradizionale", "technique": "Tradizionale",
"percentage": 10 "percentage": 30
},
{
"variety": "Taggiasca",
"technique": "Tradizionale",
"percentage": 20
} }
] ]
}, },

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff