from flask import render_template TEMPLATE = 'components/modul_stoerung.html' def get_formular_html(): return render_template(TEMPLATE) def berechne(form_data): pos = [] cu_gr = _int(form_data.get('cu_da_gr_anz', 0)) cu_kl = _int(form_data.get('cu_da_kl_anz', 0)) kabel_kl30 = _float(form_data.get('kabel_kl30', 0)) kabel_gr30 = _float(form_data.get('kabel_gr30', 0)) gf_ausbl = _float(form_data.get('gf_ausbl_m', 0)) gf_einbl = _float(form_data.get('gf_einbl_m', 0)) gf_unge = _float(form_data.get('gf_unge_kas', 0)) gf_indoor = _int(form_data.get('gf_verb_indoor', 0)) gf_outdoor = _int(form_data.get('gf_verb_outdoor', 0)) vao = _float(form_data.get('vao_preis', 0)) if form_data.get('cu_fehlerortung') == 'an': pos.append(dict(pos_nr='10037600', kurztext='Fehlerortung von Kabelfehlern an Cu-Kabel', menge=1, einheit='ST')) if form_data.get('cu_zul_instan') == 'an': pos.append(dict(pos_nr='10037601', kurztext='Zulage Instandsetzung v. Kabelfehlern', menge=1, einheit='ST')) if form_data.get('cu_schaden_beweiss') == 'an': pos.append(dict(pos_nr='10037602', kurztext='Schadens-/Beweissicherung an TK-Anlagen', menge=1, einheit='ST')) if form_data.get('cu_instan_beweis') == 'an': pos.append(dict(pos_nr='10037603', kurztext='Instands. nach Schadensbeweis', menge=1, einheit='ST')) if cu_gr > 0: pos.append(dict(pos_nr='10037604', kurztext=f'Cu-DA > 0,8 mm verbinden ({cu_gr} Stk)', menge=cu_gr, einheit='ST')) if cu_kl > 0: pos.append(dict(pos_nr='10037605', kurztext=f'Cu-DA ≤ 0,8 mm verbinden ({cu_kl} Stk)', menge=cu_kl, einheit='ST')) if kabel_kl30 > 0: pos.append(dict(pos_nr='10037606', kurztext='Kabel bis 30mm auslegen', menge=kabel_kl30, einheit='M')) if kabel_gr30 > 0: pos.append(dict(pos_nr='10037607', kurztext='Kabel größer 30mm auslegen', menge=kabel_gr30, einheit='M')) if form_data.get('gf_fehlerortung') == 'an': pos.append(dict(pos_nr='10037608', kurztext='Fehlerortung v. Kabelfehlern an GF-Kabel', menge=1, einheit='ST')) if form_data.get('gf_inst_n_fehl') == 'an': pos.append(dict(pos_nr='10037609', kurztext='Instands. v. GF-Kabel nach Fehlerortung', menge=1, einheit='ST')) if form_data.get('gf_beweis') == 'an': pos.append(dict(pos_nr='10037610', kurztext='Schadens-/Beweissicherung an TK-Anlagen (GF)', menge=1, einheit='ST')) if form_data.get('gf_instand_ohne') == 'an': pos.append(dict(pos_nr='10037611', kurztext='Instands. v. GF-Kabel ohne Fehlerortung', menge=1, einheit='ST')) if gf_ausbl > 0: pos.append(dict(pos_nr='10037612', kurztext='GF-Kabel ausblasen', menge=gf_ausbl, einheit='M')) if gf_einbl > 0: pos.append(dict(pos_nr='10037613', kurztext='GF-Kabel einblasen', menge=gf_einbl, einheit='M')) if gf_unge > 0: pos.append(dict(pos_nr='10037614', kurztext='GF ungeschweißt in Kassetten ablegen', menge=gf_unge, einheit='M')) if gf_indoor > 0: pos.append(dict(pos_nr='10037615', kurztext=f'Glasfasern verbinden Indoor ({gf_indoor} Stk)', menge=gf_indoor, einheit='ST')) if gf_outdoor > 0: pos.append(dict(pos_nr='10037616', kurztext=f'Glasfasern verbinden Outdoor ({gf_outdoor} Stk)', menge=gf_outdoor, einheit='ST')) if form_data.get('gf_muffe_neu') == 'an': pos.append(dict(pos_nr='10037617', kurztext='Neue GF-Muffe öffnen', menge=1, einheit='ST')) if form_data.get('gf_muffe_bestand') == 'an': pos.append(dict(pos_nr='10037618', kurztext='Bestandsmuffe öffnen', menge=1, einheit='ST')) if form_data.get('anfahrt_montage') == 'an': pos.append(dict(pos_nr='10037619', kurztext='Anfahrt Montagestelle', menge=1, einheit='ST')) if vao > 0: pos.append(dict(pos_nr='10037620', kurztext='VAO', menge=1, einheit='ST', einzelpreis=vao)) return pos def _float(val, default=0): try: return float(str(val).replace(',', '.')) except: return default def _int(val, default=0): try: return int(float(str(val).replace(',', '.'))) except: return default