Mengenrüst als Ergebnis raus
This commit is contained in:
+59
-2
@@ -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
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user