40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from flask import render_template
|
|
|
|
TEMPLATE = 'components/modul_gruben.html'
|
|
|
|
def get_formular_html():
|
|
return render_template(TEMPLATE)
|
|
|
|
def berechne(form_data):
|
|
positionen = []
|
|
l = _float(form_data.get('laenge', 0))
|
|
b = _float(form_data.get('breite', 0))
|
|
t = _float(form_data.get('tiefe', 0))
|
|
|
|
if l <= 0 or b <= 0 or t <= 0:
|
|
return positionen
|
|
|
|
oberflaeche = form_data.get('oberflaeche', 'wiese')
|
|
volumen = l * b * t / 100
|
|
|
|
oberfl_map = {
|
|
'wiese': ('10037463', 'Grube in Wiese herstellen'),
|
|
'kies': ('10037464', 'Grube in Kies herstellen'),
|
|
'asphalt': ('10037465', 'Grube in Asphalt herstellen'),
|
|
'pflaster': ('10037466', 'Grube in Pflaster herstellen'),
|
|
}
|
|
if oberflaeche in oberfl_map:
|
|
pnr, txt = oberfl_map[oberflaeche]
|
|
positionen.append({
|
|
'pos_nr': pnr, 'kurztext': txt, 'menge': volumen,
|
|
'einheit': 'M3', 'laenge': l, 'breite': b, 'tiefe': t,
|
|
})
|
|
|
|
return positionen
|
|
|
|
def _float(val, default=0):
|
|
try:
|
|
return float(str(val).replace(',', '.'))
|
|
except (ValueError, TypeError):
|
|
return default
|