Mengenrüst als Ergebnis raus

This commit is contained in:
2023-06-28 17:09:58 +02:00
parent 66aa17a470
commit 7b4c761656
2 changed files with 66 additions and 3 deletions
+59 -2
View File
@@ -188,6 +188,55 @@ order_hardware = [
"Summe_vorOrt",
"Summe_gesamt",
]
order_eas = [
'bedienstation_1fach_Not_Aus',
'bedienstation_einfach_Zug_Wechseln',
'bedienstation_automatische_Umfahrung',
'bedienstation_zweifach_Wechs_BCD_10f',
'bedienstation_zweifach_Not_Aus_Reset',
'bedienst_dreifach',
'bedienst_vierfach',
'bedienst_sechsfach',
'EAs_Unterverteiler_direct',
'Sensor_Traversenabfrage_optisch',
'Reflexionslichtschranke_RSM_DIRECT',
'Sensor induktiv Flyer+PM',
'Seilzugschalter',
'Weiche',
'Weiche_nach_PM_bipolar',
'gemeinsame_Weichenrueckstellung',
'Dreifach_Weiche_DIRECT',
'Kreuzungsweiche',
'Stopper',
'Ventil_RA_3_2_abhebbar',
'Ventil_Doppelstreckenantrieb_5_2_abhebbar',
'Blitzleuchte_Stoerung',
'Schnittstelle_Flyer_ElectroJet',
'Schnittstelle_Putzmaschine_Neuhauser',
'FEldbux_UV_EinAusgang',
'Spulenumsetzstation',
'RA_unidirektional',
'RA_unidirektional_abhebbar',
'RA_unidirektional_mit_gemeinsamer_Wendung',
'RA_unidirektional_ohne_SPS_Ansteuerung',
'RA_bidirektional',
'RA_bidirektional_abhebbar',
'RA_bidirektional_abhebbar_gemeinsWend',
'RA_bidirektional_ohne_SPS_Ansteuerung',
'RA_in_RSM_bidirektional',
'Doppelstreckenantrieb',
'Doppelstreckenantriebgemeinsame_Wendung',
'gemeinsame_Wendung',
'Frequenzumrichter',
'Summe Komponenten',
'Summe Komponenten inkcl. Reserve',
]
class cfg():
"""
Liest die config-Datei ein, in der Stückpreise und Zeiteinheiten pro Bauteil wie in der rieter_ekalk Excel-Datei verwendet angegeben sind, und schreibt sie in ein Dictionary.
@@ -281,6 +330,12 @@ def run_calc(infile, outfile, SivasConfig):
Anzahl_EAS = infileCfg.getTypedDict("EAS")
eas = rek.EA(Anzahl_EAS, mg)
dEas = eas.getSEAs(order_eas)
dEas['Summe Komponenten'] = [eas.gesamt_E(), eas.gesamt_A()]
dEas['Summe Komponenten inkcl. Reserve'] = [eas.gesamt_E_incl_reserve(), eas.gesamt_A_incl_reserve()]
df_temp = pd.DataFrame.from_dict(data=dEas, orient='index', columns=['S.E', 'S.A'])
df_eas = pd.DataFrame(data=df_temp, index=order_eas)
Anzahl_HW = infileCfg.getTypedDict("HW")
@@ -310,7 +365,7 @@ def run_calc(infile, outfile, SivasConfig):
dienstleistung["Summe_Dienstleistungen_Hardwareplanung"] = dl.stunden_diensleistung_hardwareplanung()
dienstleistung["Summe_Dienstleistungen_Elektrowerkstatt"] = dl.stunden_elektrowerkstatt()
dienstleistung["Summe_Dienstleistungen_in_LL"] = dl.summe_stunden_dienstleistung_in_landsberg()
df_temp = pd.DataFrame.from_dict(data=dienstleistung, orient='index', columns=['Aufwand'])
df_temp = pd.DataFrame.from_dict(data=dienstleistung, orient='index', columns=['Aufwand [h]'])
df_dienst = pd.DataFrame(data=df_temp, index=order_dienstleistungen)
Anzahl_Ergebnis = infileCfg.getTypedDict("Ergebnis")
@@ -319,7 +374,7 @@ def run_calc(infile, outfile, SivasConfig):
erg.calc(Anzahl_Ergebnis, hw, dl, emo)
ergebnisse = erg.summary_costs(hw)
df_temp = pd.DataFrame.from_dict(data=ergebnisse, orient='index', columns=['Aufwand'])
df_temp = pd.DataFrame.from_dict(data=ergebnisse, orient='index', columns=['Aufwand [€]'])
df_aufwand = pd.DataFrame(data=df_temp, index=order_ergebnisse)
@@ -329,6 +384,8 @@ def run_calc(infile, outfile, SivasConfig):
df_aufwand.to_excel(writer, sheet_name='Kostenaufstellung')
df_hardware.to_excel(writer, sheet_name='Hardware')
df_dienst.to_excel(writer, sheet_name='Dienstleistungen')
df_eas.to_excel(writer, sheet_name='EAs')
# TODO Mengengerüst, EMO, ev. Anschlussleistung und Ausgangsstrom
if __name__ == '__main__':
+7 -1
View File
@@ -1109,7 +1109,13 @@ class EA():
return self.EAs[partname][1]
def anzahl(self, partname, defaultv = 0):
return self._Anzahl.get(partname, defaultv)
def getSEAs(self, partnames:list):
res = dict()
for partname in partnames:
if partname not in self.EAs:
continue
res[partname] = [self.get_SE(partname), self.get_SA(partname)]
return res
def get_SE(self, partname):
num_of_e = self.getE(partname)
zahl = self.anzahl(partname)