54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
from flask import render_template
|
|
|
|
TEMPLATE = 'components/modul_ftth.html'
|
|
|
|
def get_formular_html():
|
|
return render_template(TEMPLATE)
|
|
|
|
def berechne(form_data):
|
|
positionen = []
|
|
anzahl = _int(form_data.get('anzahl_ha', 0))
|
|
|
|
if anzahl <= 0:
|
|
return positionen
|
|
|
|
# Hausanschluss GF-Montage
|
|
positionen.append({
|
|
'pos_nr': '10039001',
|
|
'kurztext': 'GF-Hausanschluss herstellen',
|
|
'menge': anzahl,
|
|
'einheit': 'ST',
|
|
'bemerkung': form_data.get('bemerkung', ''),
|
|
})
|
|
|
|
if form_data.get('tiefbau') == 'an':
|
|
positionen.append({
|
|
'pos_nr': '10039002',
|
|
'kurztext': 'Tiefbau für Hausanschluss',
|
|
'menge': anzahl * _float(form_data.get('trassenlaenge', 5)),
|
|
'einheit': 'M',
|
|
'bemerkung': 'Trassenlänge pro HA',
|
|
})
|
|
|
|
if form_data.get('muffe') == 'an':
|
|
positionen.append({
|
|
'pos_nr': '10038002',
|
|
'kurztext': 'Muffe bauen (FTTH)',
|
|
'menge': anzahl,
|
|
'einheit': 'ST',
|
|
})
|
|
|
|
return positionen
|
|
|
|
def _int(val, default=0):
|
|
try:
|
|
return int(float(str(val).replace(',', '.')))
|
|
except (ValueError, TypeError):
|
|
return default
|
|
|
|
def _float(val, default=0):
|
|
try:
|
|
return float(str(val).replace(',', '.'))
|
|
except (ValueError, TypeError):
|
|
return default
|