json export gebaut. Weitere Ausgaben wie EMO hinzugefügt

This commit is contained in:
2023-06-29 14:31:43 +02:00
parent 7b4c761656
commit 844aedc02b
3 changed files with 145 additions and 58 deletions
+56 -13
View File
@@ -2233,6 +2233,14 @@ class HW():
summe_h_schaltschrank_hardware = self.summe_h_schaltschrank_hardware()
summe_h_unterverteiler_hardware = self.summe_h_unterverteiler_hardware()
return (summe_h_schaltschrank_hardware + summe_h_unterverteiler_hardware)
def to_dict(self):
dhardware = self.get_anzahl()
dhardware["Summe_vorOrt"] = self.summe_vorort()
dhardware["Summe_Landsberg"] = self.summe_in_LL()
dhardware["Zeiten_Hardwareplanung"] = self.summe_h_zeiten_hardwareplanung()
dhardware["Zeiten_Unterverteiler_Werkstatt"] = self.summe_h_unterverteiler_e_werkstatt()
dhardware["Summe_gesamt"] = self.summe_gesamt()
return dhardware
class Dienstleistung():
# Angaben in h
@@ -2356,6 +2364,12 @@ class Dienstleistung():
def stunden_elektro_Landsberg(self):
return 0
def to_dict(self):
dDienstleistung = self.get_hours()
dDienstleistung["Summe_Dienstleistungen_Hardwareplanung"] = self.stunden_diensleistung_hardwareplanung()
dDienstleistung["Summe_Dienstleistungen_Elektrowerkstatt"] = self.stunden_elektrowerkstatt()
dDienstleistung["Summe_Dienstleistungen_in_LL"] = self.summe_stunden_dienstleistung_in_landsberg()
return dDienstleistung
#EMO
class EMO():
@@ -2379,6 +2393,7 @@ class EMO():
def __init__(self, emoz=None):
if emoz:
self.set_config_data("Elektro-Montagezeiten", emoz)
self._Mengen = {}
def calc(self, ea: type[EA], hw: type[HW], mg: type[MG]):
#für jede Zeile (Eintrag im dict 'mengen') muss ein Wert übergeben werden, der aus den Klassen HW(), MG() oder EA() stammt
@@ -2436,16 +2451,16 @@ class EMO():
self._mehraufwand = PS
def dauer_emo_h(self):
keys_tätigkeiten_1 = [
"Unterverteiler_montieren",
"Sensoren_montieren",
"Seilzugschalter_installieren",
"Blitzleuchte_installieren",
"Weiche_Stopper_anschliessen",
"Erdung",
"Schaltschrank_aufstellen",
"Motor_verdrahten_und_anschliessen",
"Tableau_befestigen_und_anschliessen",
"Schnittstelle_Flyer_Putzmaschine"
"Unterverteiler_montieren",
"Sensoren_montieren",
"Seilzugschalter_installieren",
"Blitzleuchte_installieren",
"Weiche_Stopper_anschliessen",
"Erdung",
"Schaltschrank_aufstellen",
"Motor_verdrahten_und_anschliessen",
"Tableau_befestigen_und_anschliessen",
"Schnittstelle_Flyer_Putzmaschine"
]
keys_1 = 0
for k in keys_tätigkeiten_1:
@@ -2460,10 +2475,38 @@ class EMO():
for k in keys_tätigkeiten_2:
dauer = self._Mengen.get(k) / self.montagezeiten.get(k)
keys_2 += dauer
return math.ceil((keys_1 + keys_2))
def dauer_emo_h_incl_mehrauwand(self):
def dauer_emo_h_incl_mehraufwand(self):
return (self.dauer_emo_h() * (1 + self._mehraufwand))
def get_dict_of_hours(self):
res = dict()
keys_tätigkeiten_1 = [
"Unterverteiler_montieren",
"Sensoren_montieren",
"Seilzugschalter_installieren",
"Blitzleuchte_installieren",
"Weiche_Stopper_anschliessen",
"Erdung",
"Schaltschrank_aufstellen",
"Motor_verdrahten_und_anschliessen",
"Tableau_befestigen_und_anschliessen",
"Schnittstelle_Flyer_Putzmaschine"
]
for k in keys_tätigkeiten_1:
res[k] = self.montagezeiten.get(k) * self._Mengen.get(k)
keys_tätigkeiten_2 = [
"Pritsche_montieren_umbauen_demontieren",
"Pritsche_in_RSM_montieren"
]
for k in keys_tätigkeiten_2:
res[k] = self._Mengen.get(k) / self.montagezeiten.get(k)
return res
def to_dict(self):
hoursEMO = self.get_dict_of_hours()
hoursEMO['Summe'] = self.dauer_emo_h()
hoursEMO['Summe inkl. Mehraufwand'] = self.dauer_emo_h_incl_mehraufwand()
return hoursEMO
class Anschlussl():
"""
@@ -2631,7 +2674,7 @@ class Ergebnis():
self._anzahl["Pflichtenheft"] = anzahl_h.get("Pflichtenheft", 0)
self._anzahl["SPS_Programmierung"] = anzahl_h.get("SPS_Programmierung", 0) * (1 + self._Abweichung_softwareerstellung)
self._anzahl["PC_Programmierung_Visualisierung"] = anzahl_h.get("SPS_Programmierung", 0) * self._Anteil_PC_Visualisierung_an_SPS
self._anzahl["Montage_elektrisch"] = emo.dauer_emo_h_incl_mehrauwand()
self._anzahl["Montage_elektrisch"] = emo.dauer_emo_h_incl_mehraufwand()
self._anzahl["Inbetriebnahmetest_Hardware_durch_Montage"] = anzahl_h.get("Montage_elektrisch", 0) * 0.1
self._anzahl["SPS_Inbetriebsetzung"] = anzahl_h.get("SPS_Inbetriebsetzung", 0)
self._anzahl["PC_Inbetriebsetzung"] = anzahl_h.get("PC_Inbetriebsetzung", 0)