74 lines
1.9 KiB
Python
74 lines
1.9 KiB
Python
from flask import render_template
|
|
|
|
TEMPLATE = 'components/modul_neff_achberg.html'
|
|
|
|
def get_formular_html():
|
|
return render_template(TEMPLATE)
|
|
|
|
def berechne(form_data):
|
|
positionen = []
|
|
l = _float(form_data.get('laenge', 0))
|
|
typ = form_data.get('typ', 'haus')
|
|
|
|
if l <= 0:
|
|
return positionen
|
|
|
|
if typ == 'haus':
|
|
positionen.append({
|
|
'pos_nr': '10043001',
|
|
'kurztext': 'Leitungsgraben HA Neff-Achberg',
|
|
'menge': l,
|
|
'einheit': 'M',
|
|
'laenge': l,
|
|
'bemerkung': form_data.get('bemerkung', ''),
|
|
})
|
|
elif typ == 'tb':
|
|
positionen.append({
|
|
'pos_nr': '10043002',
|
|
'kurztext': 'Leitungsgraben TB Neff-Achberg',
|
|
'menge': l,
|
|
'einheit': 'M',
|
|
'laenge': l,
|
|
'bemerkung': form_data.get('bemerkung', ''),
|
|
})
|
|
|
|
if form_data.get('rohr_4x20') == 'an':
|
|
positionen.append({
|
|
'pos_nr': '10043003',
|
|
'kurztext': 'Rohr 4x20mm (Neff-Achberg)',
|
|
'menge': l,
|
|
'einheit': 'M',
|
|
'laenge': l,
|
|
})
|
|
|
|
if form_data.get('trassenband') == 'an':
|
|
positionen.append({
|
|
'pos_nr': '10043004',
|
|
'kurztext': 'Trassenband einlegen',
|
|
'menge': l,
|
|
'einheit': 'M',
|
|
'laenge': l,
|
|
})
|
|
|
|
if form_data.get('kopfloch') == 'an':
|
|
positionen.append({
|
|
'pos_nr': '10043005',
|
|
'kurztext': 'Kopfloch herstellen',
|
|
'menge': _int(form_data.get('kopfloch_anzahl', 1)),
|
|
'einheit': 'ST',
|
|
})
|
|
|
|
return positionen
|
|
|
|
def _float(val, default=0):
|
|
try:
|
|
return float(str(val).replace(',', '.'))
|
|
except (ValueError, TypeError):
|
|
return default
|
|
|
|
def _int(val, default=0):
|
|
try:
|
|
return int(float(str(val).replace(',', '.')))
|
|
except (ValueError, TypeError):
|
|
return default
|