Bindestriche aus Keys entfernt(für TOS). ein paar Methoden dazu gebaut

This commit is contained in:
2022-04-07 20:32:03 +02:00
parent 44da168c6a
commit 99971464db
+148 -167
View File
@@ -65,9 +65,9 @@ class MG():
system = deckblatt.get("SYSTEM", "")
self._rsm_direct = RSM_direct({})
self._rsm_fa = RSM_FA({})
if(system.lower() == "direct"):
if (system.lower() == "direct"):
self._rsm_direct = RSM_direct(rsm_direct_mengen)
elif(system.lower() == "fa"):
elif (system.lower() == "fa"):
self._rsm_fa = RSM_FA(rsm_fa_mengen)
self._flyer_f40 = Flyer_F40_EJet_inc_Putz(flyer_f40_mengen)
@@ -78,29 +78,8 @@ class MG():
self._turm = Turm(turm_mengen)
def get_deckblatt(self, key):
# deckblatt_eingabe = {
# "SYSTEM":"",
# "RSM":13,
# "Flyer":7,
# "Flyer_Puffer":13,
# "Flyer_Electrojet_incl_intergrierte_Putzmaschine":4,
# "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2,
# "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":3,
# "Neuenhauser-Putzmaschine":11,
# "Neuenhauser-Putzmaschine_Vorpuffer":12,
# "Neuenhauser-Putzmaschine_Nachpuffer":14,
# "Cason-Putzmaschine":0,
# "Cason-Putzmaschine_Vorpuffer":0,
# "Cason-Putzmaschine_Nachpuffer":0,
# "Puffer":5,
# "Anzahl_der_Pufferstrecken_pro_Puffer":11,
# "Begegnungsstrecke_Bypass":0,
# "Turm":2,
# "Turm_Anzahl_Wendlungen":5,
# }
pass
def get_deckblatt_value(self, key):
return self._deckblatt.get(key, 0)
def getresult(self):
res = {
@@ -136,9 +115,9 @@ class MG():
"Sensor_Spulenprüfung_voll/leer": 0,
"Seilzugsschalter": 0,
"Drucktaster_automatische_Umfahrung": 0,
"Bedientableau_1-fach": 0,
"Bedientableau_2-fach": 0,
"Bedientableau_14-fach": 0,
"Bedientableau_1fach": 0,
"Bedientableau_2fach": 0,
"Bedientableau_14fach": 0,
"Interface_Putzmaschine": 0,
"Interface_Doffer": 0,
"Weiche": 0,
@@ -178,15 +157,15 @@ class MG():
zmengen["Sensor_Spulenprüfung_voll/leer"] = self._neuenhauser._Mengen.get("Sensor_WT18_Spulenprüfung_voll/leer",0)
zmengen["Seilzugsschalter"] = self._rsm_fa._Mengen.get("Seilzugsschalter", 0)
zmengen["Drucktaster_automatische_Umfahrung"] = self._rsm_fa._Mengen.get("Mit_Drucktaster", 0)
zmengen["Bedientableau_1-fach"] = self._rsm_fa._Mengen.get("Bedientableau_1-fach", 0) + self._verbindungsstrecken_w._Mengen.get("Bedientableau_1-fach", 0)
zmengen["Bedientableau_2-fach"] = self._rsm_direct._Mengen.get("Bedientableau_2-fach", 0) +\
self._rsm_fa._Mengen.get("Bedientableau_2-fach", 0) +\
self._flyer_f40._Mengen.get("Bedientableau_2-fach", 0) +\
self._neuenhauser._Mengen.get("Bedientableau_2-fach", 0) +\
self._flyer._Mengen.get("Bedientableau_2-fach", 0) +\
self._verbindungsstrecken_w._Mengen.get("Bedientableau_2-fach", 0) +\
self._turm._Mengen.get("Bedientableau_2-fach", 0)
zmengen["Bedientableau_14-fach"] = self._verbindungsstrecken_w._Mengen.get("Bedientableau_14-fach", 0)
zmengen["Bedientableau_1fach"] = self._rsm_fa._Mengen.get("Bedientableau_1fach", 0) + self._verbindungsstrecken_w._Mengen.get("Bedientableau_1fach", 0)
zmengen["Bedientableau_2fach"] = self._rsm_direct._Mengen.get("Bedientableau_2fach", 0) +\
self._rsm_fa._Mengen.get("Bedientableau_2fach", 0) +\
self._flyer_f40._Mengen.get("Bedientableau_2fach", 0) +\
self._neuenhauser._Mengen.get("Bedientableau_2fach", 0) +\
self._flyer._Mengen.get("Bedientableau_2fach", 0) +\
self._verbindungsstrecken_w._Mengen.get("Bedientableau_2fach", 0) +\
self._turm._Mengen.get("Bedientableau_2fach", 0)
zmengen["Bedientableau_14fach"] = self._verbindungsstrecken_w._Mengen.get("Bedientableau_14fach", 0)
zmengen["Interface_Putzmaschine"] = self._neuenhauser._Mengen.get("Interface_Putzmaschine", 0)
zmengen["Interface_Doffer"] = self._flyer_f40._Mengen.get("Interface_Doffer", 0) + self._flyer._Mengen.get("Interface_Doffer", 0)
zmengen["Weiche"] = self._rsm_direct._Mengen.get("Weiche", 0) +\
@@ -271,9 +250,9 @@ class RSM_direct():
#"Anzahl_Strecken/RSM":8,
"Sensor_optisch_Traverse":0,
#"Lichtschranke_Traverse":0,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":0,
#"Bedientableau_2-fach_Direct":0,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0,
#"Bedientableau_2fach_Direct":0,
#"Weiche":0,
"Weiche_Korrektur":0,
#"Weiche_Gemeinsame_Rückstellung":0,
@@ -297,9 +276,9 @@ class RSM_direct():
self._Mengen["Anzahl_Strecken/RSM"] = 8
self._Mengen["Sensor_optisch_Traverse"] = anzahl.get("Sensor_optisch_Traverse", 0)
self._Mengen["Lichtschranke_Traverse"] = self._RSM_Anzahl * 6
self._Mengen["Bedientableau_2-fach"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Bedientableau_2-fach_Korrektur", 0)
self._Mengen["Bedientableau_2-fach_Korrektur"] = anzahl.get("Bedientableau_2-fach_Korrektur", 0)
self._Mengen["Bedientableau_2-fach_Direct"] = self._RSM_Anzahl
self._Mengen["Bedientableau_2fach"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Bedientableau_2fach_Korrektur", 0)
self._Mengen["Bedientableau_2fach_Korrektur"] = anzahl.get("Bedientableau_2fach_Korrektur", 0)
self._Mengen["Bedientableau_2fach_Direct"] = self._RSM_Anzahl
self._Mengen["Weiche"] = self._RSM_Anzahl * 4 + anzahl.get("Weiche_Korrektur", 0)
self._Mengen["Weiche_Gemeinsame_Rückstellung"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Weiche_Gemeinsame_Rückstellung_Korrektur", 0)
self._Mengen["Weiche_Gemeinsame_Rückstellung_Korrektur"] = anzahl.get("Weiche_Gemeinsame_Rückstellung_Korrektur", 0)
@@ -328,16 +307,16 @@ class RSM_FA():
mengen = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
"Anzahl_RSM":0,
#"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex-A_Premium' sind eine Zelle -> identischer Wert
"Flex-A_Premium":False,
#"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex_A_Premium' sind eine Zelle -> identischer Wert
"Flex_A_Premium":False,
"Getriebe_in_der_Mitte":False,
"RSM-Einfahrt_Ein-/Beidseitig":False,
"RSM_Einfahrt_Ein_Beidseitig":False,
#"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_zusätzlich":0,
#"Bedientableau_1-fach":0,
"Bedientableau_1-fach_Korrektur":0,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":0,
#"Bedientableau_1fach":0,
"Bedientableau_1fach_Korrektur":0,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0,
#"Weiche":0,
"Weiche_Korrektur":0,
#"RRA_bi":0,
@@ -357,15 +336,15 @@ class RSM_FA():
self._Mengen = {}
self._RSM_Anzahl = anzahl.get("Anzahl_RSM", 0)
self._Mengen["Anzahl_RSM"] = self._RSM_Anzahl
self._Mengen["Flex-A_Premium"] = anzahl.get("Flex-A_Premium", False)
self._Mengen["Flex_A_Premium"] = anzahl.get("Flex_A_Premium", False)
self._Mengen["Getriebe_in_der_Mitte"] = anzahl.get("Getriebe_in_der_Mitte", False)
self._Mengen["RSM-Einfahrt_Ein-/Beidseitig"] = anzahl.get("RSM-Einfahrt_Ein-/Beidseitig", False)
self._Mengen["RSM_Einfahrt_Ein_Beidseitig"] = anzahl.get("RSM_Einfahrt_Ein_Beidseitig", False)
sensorfaktor_premium = 1
sensorfaktor_beidseitig = 0
if(anzahl.get("Flex-A_Premium", False)):
if self.flex_a_premium():
sensorfaktor_premium = 4
if(anzahl.get("RSM-Einfahrt_Ein-/Beidseitig", False)):
if (anzahl.get("RSM_Einfahrt_Ein_Beidseitig", False)):
sensorfaktor_beidseitig = 1
self._Mengen["Sensor_optisch_Traverse"] = self._RSM_Anzahl*(sensorfaktor_premium + sensorfaktor_beidseitig) + anzahl.get("Sensor_optisch_Traverse_zusätzlich", 0)
self._Mengen["Sensor_optisch_Traverse_zusätzlich"] = anzahl.get("Sensor_optisch_Traverse_zusätzlich", 0)
@@ -373,35 +352,35 @@ class RSM_FA():
tableaufaktor_premium = 1
tableaufaktor_beidseitig = 0
if(anzahl.get("Flex-A_Premium", False)):
if self.flex_a_premium():
tableaufaktor_premium = 0
if(anzahl.get("RSM-Einfahrt_Ein-/Beidseitig", False)):
if (anzahl.get("RSM_Einfahrt_Ein_Beidseitig", False)):
tableaufaktor_beidseitig = 1
self._Mengen["Bedientableau_1-fach"] = self._RSM_Anzahl*(tableaufaktor_premium + tableaufaktor_beidseitig) + anzahl.get("Bedientableau_1-fach_Korrektur", 0)
self._Mengen["Bedientableau_1-fach_Korrektur"] = anzahl.get("Bedientableau_1-fach_Korrektur", 0)
self._Mengen["Bedientableau_2-fach"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Bedientableau_2-fach_Korrektur", 0)
self._Mengen["Bedientableau_2-fach_Korrektur"] = anzahl.get("Bedientableau_2-fach_Korrektur", 0)
self._Mengen["Bedientableau_1fach"] = self._RSM_Anzahl*(tableaufaktor_premium + tableaufaktor_beidseitig) + anzahl.get("Bedientableau_1fach_Korrektur", 0)
self._Mengen["Bedientableau_1fach_Korrektur"] = anzahl.get("Bedientableau_1fach_Korrektur", 0)
self._Mengen["Bedientableau_2fach"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Bedientableau_2fach_Korrektur", 0)
self._Mengen["Bedientableau_2fach_Korrektur"] = anzahl.get("Bedientableau_2fach_Korrektur", 0)
weichefaktor_premium = 1
weichefaktor_beidseitig = 0
if(anzahl.get("Flex-A_Premium", False)):
if self.flex_a_premium():
weichefaktor_premium = 3
if(anzahl.get("RSM-Einfahrt_Ein-/Beidseitig", False)):
if (anzahl.get("RSM_Einfahrt_Ein_Beidseitig", False)):
weichefaktor_beidseitig = 1
self._Mengen["Weiche"] = self._RSM_Anzahl * (weichefaktor_premium + weichefaktor_beidseitig) + anzahl.get("Weiche_Korrektur", 0)
self._Mengen["Weiche_Korrektur"] = anzahl.get("Weiche_Korrektur", 0)
rrafaktor_premium = 1
rrafaktor_beidseitig = 0
if(anzahl.get("Flex-A_Premium", False)):
if self.flex_a_premium():
rrafaktor_premium = 2
if(anzahl.get("RSM-Einfahrt_Ein-/Beidseitig", False)):
if (anzahl.get("RSM_Einfahrt_Ein_Beidseitig", False)):
rrafaktor_beidseitig = 1
self._Mengen["RRA_bi"] = self._RSM_Anzahl * (rrafaktor_premium + rrafaktor_beidseitig) + anzahl.get("RRA_bi_auf_Haupstrecke", 0) + anzahl.get("RRA_bi_Korrektur", 0)
self._Mengen["RRA_bi_Korrektur"] = anzahl.get("RRA_bi_Korrektur", 0)
self._Mengen["RRA_bi_auf_Haupstrecke"] = anzahl.get("RRA_bi_auf_Haupstrecke", 0)
if(anzahl.get("Flex-A_Premium", False)):
if self.flex_a_premium():
self._Mengen["RRA_bi_ohne_SPS-Ansteuerung"] = self._RSM_Anzahl * 4
else:
self._Mengen["RRA_bi_ohne_SPS-Ansteuerung"] = 0
@@ -410,13 +389,13 @@ class RSM_FA():
seilzfaktor_premium = 0
seilzfaktor_getriebe_mitte = 0
if(anzahl.get("Flex-A_Premium", False)):
if self.flex_a_premium():
seilzfaktor_premium = 2
if(anzahl.get("Getriebe_in_der_Mitte", False)):
if (anzahl.get("Getriebe_in_der_Mitte", False)):
seilzfaktor_getriebe_mitte = 2
self._Mengen["Seilzugschalter"] = self._RSM_Anzahl * (seilzfaktor_premium + seilzfaktor_getriebe_mitte)
if(anzahl.get("Flex-A_Premium", False)):
if self.flex_a_premium():
self._Mengen["Mit_Drucktaster"] = self._RSM_Anzahl * 8
else:
self._Mengen["Mit_Drucktaster"] = 0
@@ -428,6 +407,9 @@ class RSM_FA():
self._Mengen["Werma_Rundumleuchte_Störung"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Werma_Rundumleuchte_Störung_Korrektur", 0)
self._Mengen["Werma_Rundumleuchte_Störung_Korrektur"] = anzahl.get("Werma_Rundumleuchte_Störung_Korrektur", 0)
def flex_a_premium(self):
return self._Mengen.get("Flex_A_Premium", False)
def anzahl(self, partname):
return self._Mengen.get(partname, 0)
@@ -453,8 +435,8 @@ class Flyer_F40_EJet_inc_Putz():
"Sensor_optisch_Traverse_Korrektur":0,
#"Sensor_induktiv_Spulenhalter":0,
"Sensor_induktiv_Spulenhalter_Korrektur":0,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":0,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0,
#"Interface_Doffer":0,
"Interface_Doffer_Korrektur":0,
#"Weiche":0,
@@ -499,20 +481,20 @@ class Flyer_F40_EJet_inc_Putz():
self._Mengen["Single-Line_/_Durchfahrt"] = anzahl.get("Single-Line_/_Durchfahrt", False)
self._Mengen["Nachpuffer"] = anzahl.get("Nachpuffer", False)
sensorfaktor_nachpuffer = 7
if(anzahl.get("Nachpuffer", False)):
if (anzahl.get("Nachpuffer", False)):
sensorfaktor_nachpuffer = 5
self._Mengen["Sensor_optisch_Traverse"] = self._Flyer_Anzahl * (self._Mengen.get("Anzahl_Schienen", 0) + sensorfaktor_nachpuffer) + anzahl.get("Dreifachweiche", 0) * 2 + anzahl.get("Sensor_optisch_Traverse_Korrektur", 0)
self._Mengen["Sensor_optisch_Traverse_Korrektur"] = anzahl.get("Sensor_optisch_Traverse_Korrektur", 0)
self._Mengen["Sensor_induktiv_Spulenhalter"] = self._Flyer_Anzahl * 2 + anzahl.get("Sensor_induktiv_Spulenhalter_Korrektur", 0)
self._Mengen["Sensor_induktiv_Spulenhalter_Korrektur"] = anzahl.get("Sensor_induktiv_Spulenhalter_Korrektur", 0)
self._Mengen["Bedientableau_2-fach"] = self._Flyer_Anzahl + anzahl.get("Bedientableau_2-fach_Korrektur", 0)
self._Mengen["Bedientableau_2-fach_Korrektur"] = anzahl.get("Bedientableau_2-fach_Korrektur", 0)
self._Mengen["Bedientableau_2fach"] = self._Flyer_Anzahl + anzahl.get("Bedientableau_2fach_Korrektur", 0)
self._Mengen["Bedientableau_2fach_Korrektur"] = anzahl.get("Bedientableau_2fach_Korrektur", 0)
self._Mengen["Interface_Doffer"] = self._Flyer_Anzahl + anzahl.get("Interface_Doffer_Korrektur", 0)
self._Mengen["Interface_Doffer_Korrektur"] = anzahl.get("Interface_Doffer_Korrektur", 0)
self._Mengen["Weiche"] = self._Flyer_Anzahl * self._Mengen.get("Anzahl_Schienen", 0) + anzahl.get("Weiche_Korrektur", 0) + anzahl.get("Wechsel", 0)
self._Mengen["Weiche_Korrektur"] = anzahl.get("Weiche_Korrektur", 0)
if(anzahl.get("Single-Line_/_Durchfahrt", False)):
if (anzahl.get("Single-Line_/_Durchfahrt", False)):
self._Mengen["Weiche_nach_Flyer_(bipolar)"] = self._Flyer_Anzahl + anzahl.get("Weiche_nach_Flyer_(bipolar)_Korrektur", 0)
else:
self._Mengen["Weiche_nach_Flyer_(bipolar)"] = anzahl.get("Weiche_nach_Flyer_(bipolar)_Korrektur", 0)
@@ -524,20 +506,20 @@ class Flyer_F40_EJet_inc_Putz():
rraunifaktor_durchfahrt = 0
rraunifaktor_nachpuffer = 1
if(anzahl.get("Single-Line_/_Durchfahrt", False)):
if (anzahl.get("Single-Line_/_Durchfahrt", False)):
rraunifaktor_durchfahrt = 1
if(anzahl.get("Nachpuffer", False)):
if (anzahl.get("Nachpuffer", False)):
rraunifaktor_nachpuffer = 0
self._Mengen["RA_uni_abhebbar"] = self._Flyer_Anzahl * (rraunifaktor_durchfahrt + rraunifaktor_nachpuffer) + anzahl.get("RA_uni_abhebbar_Korrektur", 0)
self._Mengen["RA_uni_abhebbar_Korrektur"] = anzahl.get("RA_uni_abhebbar_Korrektur", 0)
if(anzahl.get("Single-Line_/_Durchfahrt", False)):
if (anzahl.get("Single-Line_/_Durchfahrt", False)):
self._Mengen["RA_uni_ohne_SPS-Ansteuerung"] = self._Flyer_Anzahl
else:
self._Mengen["RA_uni_ohne_SPS-Ansteuerung"] = anzahl.get("RA_uni_ohne_SPS-Ansteuerung_Korrektur", 0)
self._Mengen["RA_uni_ohne_SPS-Ansteuerung_Korrektur"] = anzahl.get("RA_uni_ohne_SPS-Ansteuerung_Korrektur", 0)
if(anzahl.get("Single-Line_/_Durchfahrt", False)):
if (anzahl.get("Single-Line_/_Durchfahrt", False)):
self._Mengen["RRA_BI_abhebbar"] = self._Flyer_Anzahl
else:
self._Mengen["RRA_BI_abhebbar"] = anzahl.get("RRA_BI_abhebbar_Korrektur", 0)
@@ -545,12 +527,12 @@ class Flyer_F40_EJet_inc_Putz():
self._Mengen["RRA_bi"] = anzahl.get("RRA_bi", 0)
if(anzahl.get("Single-Line_/_Durchfahrt", False)):
if (anzahl.get("Single-Line_/_Durchfahrt", False)):
self._Mengen["RRA_bi_ohne_SPS-Ansteuerung"] = anzahl.get("RRA_bi_ohne_SPS-Ansteuerung_Korrektur", 0)
else:
self._Mengen["RRA_bi_ohne_SPS-Ansteuerung"] = self._Flyer_Anzahl
if(anzahl.get("Single-Line_/_Durchfahrt", False)):
if (anzahl.get("Single-Line_/_Durchfahrt", False)):
self._Mengen["Doppelstreckenantrieb"] = self._Flyer_Anzahl * math.floor(self._Mengen.get("Anzahl_Schienen", 0)/2) + self._Flyer_Anzahl
else:
self._Mengen["Doppelstreckenantrieb"] = self._Flyer_Anzahl * math.floor(self._Mengen.get("Anzahl_Schienen", 0)/2) + anzahl.get("Doppelstreckenantrieb_Korrektur", 0)
@@ -587,8 +569,8 @@ class Putzmaschine_Neuenhauser():
"Sensor_optisch_Traverse_Korrektur":0,
#"Sensorik_Zugpositionierung":0,
#"Sensor_WT18_Spulenprüfung_voll/leer":0,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":0,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0,
#"Interface_Putzmaschine":0,
#"Weiche":0,
"Weiche_Korrektur":0,
@@ -624,8 +606,8 @@ class Putzmaschine_Neuenhauser():
self._Mengen["Sensorik_Zugpositionierung"] = self._Putze_Anzahl * 4
self._Mengen["Sensor_WT18_Spulenprüfung_voll/leer"] = self._Putze_Anzahl * 2
self._Mengen["Bedientableau_2-fach"] = self._Putze_Anzahl + anzahl.get("Bedientableau_2-fach_Korrektur", 0)
self._Mengen["Bedientableau_2-fach_Korrektur"] = anzahl.get("Bedientableau_2-fach_Korrektur", 0)
self._Mengen["Bedientableau_2fach"] = self._Putze_Anzahl + anzahl.get("Bedientableau_2fach_Korrektur", 0)
self._Mengen["Bedientableau_2fach_Korrektur"] = anzahl.get("Bedientableau_2fach_Korrektur", 0)
self._Mengen["Interface_Putzmaschine"] = self._Putze_Anzahl
self._Mengen["Weiche"] = self._Putze_Anzahl * self._Vorpuffer_Anzahl + anzahl.get("Weiche_Korrektur", 0)
@@ -663,7 +645,7 @@ class Flyer_EJet():
#"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_Korrektur":0,
#"Sensor_induktiv_Spulenalter_(Zug_positionierung)":0,
#"Bedientableau_2-fach":0,
#"Bedientableau_2fach":0,
#"Interface_Doffer":0,
#"Weiche":0,
"Weiche_Korrektur":0,
@@ -695,7 +677,7 @@ class Flyer_EJet():
self._Mengen["Sensor_optisch_Traverse"] = self._Flyer_Anzahl * (2*self._Schienen_Anzahl + 3) + anzahl.get("Sensor_optisch_Traverse_Korrektur", 0)
self._Mengen["Sensor_optisch_Traverse_Korrektur"] = anzahl.get("Sensor_optisch_Traverse_Korrektur", 0)
self._Mengen["Sensor_induktiv_Spulenalter_(Zug_positionierung)"] = self._Flyer_Anzahl
self._Mengen["Bedientableau_2-fach"] = self._Flyer_Anzahl
self._Mengen["Bedientableau_2fach"] = self._Flyer_Anzahl
self._Mengen["Interface_Doffer"] = self._Flyer_Anzahl
self._Mengen["Weiche"] = self._Flyer_Anzahl * self._Schienen_Anzahl + anzahl.get("Weiche_Korrektur", 0)
self._Mengen["Weiche_Korrektur"] = anzahl.get("Weiche_Korrektur", 0)
@@ -729,9 +711,9 @@ class Verbindungsstrecken_Wechsel():
mengen = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
"Sensor_optisch_Traverse":0,
"Bedientableau_1-fach":0,
"Bedientableau_2-fach":0,
"Bedientableau_14-fach":0,
"Bedientableau_1fach":0,
"Bedientableau_2fach":0,
"Bedientableau_14fach":0,
"Weiche":0,
"Dreifachweiche":0,
"Kreuzungsweiche":0,
@@ -744,9 +726,9 @@ class Verbindungsstrecken_Wechsel():
}
self._Mengen = {}
self._Mengen["Sensor_optisch_Traverse"] = anzahl.get("Sensor_optisch_Traverse", 0)
self._Mengen["Bedientableau_1-fach"] = anzahl.get("Bedientableau_1-fach", 0)
self._Mengen["Bedientableau_2-fach"] = anzahl.get("Bedientableau_2-fach", 0)
self._Mengen["Bedientableau_14-fach"] = anzahl.get("Bedientableau_14-fach", 0)
self._Mengen["Bedientableau_1fach"] = anzahl.get("Bedientableau_1fach", 0)
self._Mengen["Bedientableau_2fach"] = anzahl.get("Bedientableau_2fach", 0)
self._Mengen["Bedientableau_14fach"] = anzahl.get("Bedientableau_14fach", 0)
self._Mengen["Weiche"] = anzahl.get("Weiche", 0)
self._Mengen["Dreifachweiche"] = anzahl.get("Dreifachweiche", 0)
self._Mengen["Kreuzungsweiche"] = anzahl.get("Kreuzungsweiche", 0)
@@ -822,7 +804,7 @@ class Turm():
"RA_bi_Korrektur":0,
#"RA_bi_ohne_SPS":0,
"RA_bi_ohne_SPS_Korrektur":0,
#"Bedientableau_2-fach":0,
#"Bedientableau_2fach":0,
}
def __init__(self, anzahl:dict):
self._Mengen = {}
@@ -837,7 +819,7 @@ class Turm():
self._Mengen["RA_bi_Korrektur"] = anzahl.get("RA_bi_Korrektur", 0)
self._Mengen["RA_bi_ohne_SPS"] = self._Turm_Anzahl*self._Staustrecken_Anzahl*2 + anzahl.get("RA_bi_ohne_SPS_Korrektur", 0)
self._Mengen["RA_bi_ohne_SPS_Korrektur"] = anzahl.get("RA_bi_ohne_SPS_Korrektur", 0)
self._Mengen["Bedientableau_2-fach"] = self._Turm_Anzahl*2
self._Mengen["Bedientableau_2fach"] = self._Turm_Anzahl*2
def anzahl(self, partname):
return self._Mengen.get(partname, 0)
@@ -1324,37 +1306,36 @@ class HW():
self._anzahl["anlagenrechner"] = anzahl.get("anlagenrechner", 0)
self._anzahl["zusaetzlicher_bildschirm"] = anzahl.get("zusaetzlicher_bildschirm", 0) # end Violett
#self._anzahl["unterverteiler_fuer_1neuenhauser_pm"] = mg.("", 0)
#self._anzahl[""] = anzahl.get("", 0)
self._anzahl["unterverteiler_fuer_1neuenhauser_pm"] = mg.get_deckblatt_value("RSM")
self._anzahl["unterverteiler_fuer_1flyer"] = anzahl.get("unterverteiler_fuer_1flyer", 0)
self._anzahl["unterverteiler_fuer_2flyer"] = anzahl.get("unterverteiler_fuer_2flyer", 0)
self._anzahl["unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine"] = anzahl.get("unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine", 0)
self._anzahl["unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine"] = anzahl.get("unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine", 0)
self._anzahl["unterverteiler_fuer_puffer"] = anzahl.get("unterverteiler_fuer_puffer", 0)
# "unterverteiler_fuer_1neuenhauser_pm":0,
# "unterverteiler_fuer_1flyer":0,
# "unterverteiler_fuer_2flyer":0,
# "unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine":0,
# "unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine":0,
# "unterverteiler_fuer_puffer":0,
# "unterverteiler_fuer_5_rsm_fa":0,
# "korrektur_1_rsm_zusaetzlich_im_unterverteiler":0,
# self._anzahl[] = anzahl.get(, 0)
# "unterverteiler_fuer_5_rsm_fa"
# "korrektur_1_rsm_zusaetzlich_im_unterverteiler"
# "unterverteiler_fuer_10_rsm_fa":0,
# "unterverteiler_fuer_10_rsm_fa"
# "unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar":0,
# "korrektur_3_rsm_zusaetzlich_im_unterverteiler":0,
# "unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar"
# "korrektur_3_rsm_zusaetzlich_im_unterverteiler"
# "unterverteiler_fuer_4_rsm_direct":0,
# "korrektur_4_rsm_zusaetzlich_im_unterverteiler":0,
# "unterverteiler_fuer_4_rsm_direct"
# "korrektur_4_rsm_zusaetzlich_im_unterverteiler"
# "unterverteiler_fuer_12_rsm_direct":0,
# "korrektur_12_rsm_zusaetzlich_im_unterverteiler":0,
# "unterverteiler_fuer_8_rsm_direct":0,
# "korrektur_8_rsm_zusaetzlich_im_unterverteiler":0,
# "unterverteiler_fuer_12_rsm_direct"
# "korrektur_12_rsm_zusaetzlich_im_unterverteiler"
# "unterverteiler_fuer_8_rsm_direct"
# "korrektur_8_rsm_zusaetzlich_im_unterverteiler"
# "busverteiler_6_rsm_direct":0,
# "korrektur_6_rsm_zusaetzlich_im_unterverteiler":0,
# "busverteiler_6_rsm_direct"
# "korrektur_6_rsm_zusaetzlich_im_unterverteiler"
# "busverteiler_8_rsm_direct":0,
# "korrektur_8_rsm_zusaetzlich_im_unterverteiler":0,
# "busverteiler_8_rsm_direct"
# "korrektur_8_rsm_zusaetzlich_im_unterverteiler"
@@ -1780,7 +1761,7 @@ def test_deckblatt_neuenhauser(self, deckblatt:MG):
self.assertEqual(deckblatt._neuenhauser.anzahl("Sensor_optisch_Traverse"), 319)
self.assertEqual(deckblatt._neuenhauser.anzahl("Sensorik_Zugpositionierung"), 44)
self.assertEqual(deckblatt._neuenhauser.anzahl("Sensor_WT18_Spulenprüfung_voll/leer"), 22)
self.assertEqual(deckblatt._neuenhauser.anzahl("Bedientableau_2-fach"), 11)
self.assertEqual(deckblatt._neuenhauser.anzahl("Bedientableau_2fach"), 11)
self.assertEqual(deckblatt._neuenhauser.anzahl("Interface_Putzmaschine"), 11)
self.assertEqual(deckblatt._neuenhauser.anzahl("Weiche"), 132)
@@ -1815,9 +1796,9 @@ class TestObjectMethods(unittest.TestCase):
#"Anzahl_Strecken/RSM":8,
"Sensor_optisch_Traverse":4,
#"Lichtschranke_Traverse":0,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":4,
#"Bedientableau_2-fach_Direct":0,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":4,
#"Bedientableau_2fach_Direct":0,
#"Weiche":0,
"Weiche_Korrektur":4,
#"Weiche_Gemeinsame_Rückstellung":0,
@@ -1836,17 +1817,17 @@ class TestObjectMethods(unittest.TestCase):
rsm_fa_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Anzahl_RSM":0,
#"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex-A_Premium' sind eine Zelle -> identischer Wert
"Flex-A_Premium":False,
#"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex_A_Premium' sind eine Zelle -> identischer Wert
"Flex_A_Premium":False,
"Getriebe_in_der_Mitte":True,
"RSM-Einfahrt_Ein-/Beidseitig":True,
"RSM_Einfahrt_Ein_Beidseitig":True,
#"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_zusätzlich":3,
"Sensor_optisch_Traverse_Korrektur":3,
#"Bedientableau_1-fach":0,
"Bedientableau_1-fach_Korrektur":3,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":3,
#"Bedientableau_1fach":0,
"Bedientableau_1fach_Korrektur":3,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":3,
#"Weiche":0,
"Weiche_Korrektur":3,
#"RRA_bi":0,
@@ -1878,8 +1859,8 @@ class TestObjectMethods(unittest.TestCase):
"Sensor_optisch_Traverse_Korrektur":3,
#"Sensor_induktiv_Spulenhalter":0,
"Sensor_induktiv_Spulenhalter_Korrektur":2,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":3,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":3,
#"Interface_Doffer":0,
"Interface_Doffer_Korrektur":2,
#"Weiche":0,
@@ -1922,8 +1903,8 @@ class TestObjectMethods(unittest.TestCase):
"Sensor_optisch_Traverse_Korrektur":3,
#"Sensorik_Zugpositionierung":0,
#"Sensor_WT18_Spulenprüfung_voll/leer":0,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":3,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":3,
#"Interface_Putzmaschine":0,
#"Weiche":0,
"Weiche_Korrektur":2,
@@ -1948,7 +1929,7 @@ class TestObjectMethods(unittest.TestCase):
#"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_Korrektur":3,
#"Sensor_induktiv_Spulenalter_(Zug_positionierung)":0,
#"Bedientableau_2-fach":0,
#"Bedientableau_2fach":0,
#"Interface_Doffer":0,
#"Weiche":0,
"Weiche_Korrektur":4,
@@ -1999,7 +1980,7 @@ class TestObjectMethods(unittest.TestCase):
"RA_bi_Korrektur":5,
#"RA_bi_ohne_SPS":0,
"RA_bi_ohne_SPS_Korrektur":6,
#"Bedientableau_2-fach":0,
#"Bedientableau_2fach":0,
}
@@ -2010,8 +1991,8 @@ class TestObjectMethods(unittest.TestCase):
# self.assertEqual(deckblatt._rsm_direct.anzahl("Anzahl_Strecken/RSM"), 8)
# self.assertEqual(deckblatt._rsm_direct.anzahl("Sensor_optisch_Traverse"), 4)
# self.assertEqual(deckblatt._rsm_direct.anzahl("Lichtschranke_Traverse"), 78)
# self.assertEqual(deckblatt._rsm_direct.anzahl("Bedientableau_2-fach"), 6)
# self.assertEqual(deckblatt._rsm_direct.anzahl("Bedientableau_2-fach_Direct"), 13)
# self.assertEqual(deckblatt._rsm_direct.anzahl("Bedientableau_2fach"), 6)
# self.assertEqual(deckblatt._rsm_direct.anzahl("Bedientableau_2fach_Direct"), 13)
# self.assertEqual(deckblatt._rsm_direct.anzahl("Weiche"), 56)
# self.assertEqual(deckblatt._rsm_direct.anzahl("Weiche_Gemeinsame_Rückstellung"), 6)
# self.assertEqual(deckblatt._rsm_direct.anzahl("RA_bi_abhebbar"), 9)
@@ -2024,8 +2005,8 @@ class TestObjectMethods(unittest.TestCase):
# self.assertEqual(deckblatt._rsm_fa.anzahl("Anzahl_RSM"), 13)
# self.assertEqual(deckblatt._rsm_fa.anzahl("Sensor_optisch_Traverse"), 32)
# self.assertEqual(deckblatt._rsm_fa.anzahl("Sensor_optisch_Traverse_zusätzlich"), 3)
# self.assertEqual(deckblatt._rsm_fa.anzahl("Bedientableau_1-fach"), 29)
# self.assertEqual(deckblatt._rsm_fa.anzahl("Bedientableau_2-fach"), 5)
# self.assertEqual(deckblatt._rsm_fa.anzahl("Bedientableau_1fach"), 29)
# self.assertEqual(deckblatt._rsm_fa.anzahl("Bedientableau_2fach"), 5)
# self.assertEqual(deckblatt._rsm_fa.anzahl("Weiche"), 29)
# self.assertEqual(deckblatt._rsm_fa.anzahl("RRA_bi"), 32)
# self.assertEqual(deckblatt._rsm_fa.anzahl("RRA_bi_auf_Haupstrecke"), 3)
@@ -2041,7 +2022,7 @@ class TestObjectMethods(unittest.TestCase):
self.assertEqual(deckblatt._flyer_f40.anzahl("Anzahl_Schienen"), 5)
#self.assertEqual(deckblatt._flyer_f40.anzahl("Sensor_optisch_Traverse"), 80) # TODO: Wenn Nachpuffer == True, dann wird Sensor_optisch_Traverse_Korrektur doppelt addiert => =WENN(B49="ja";B46*(B47*1)+(B46*5)+(B56*2);B46*(B47*1)+(B46*7)+(B56*2))+C50
self.assertEqual(deckblatt._flyer_f40.anzahl("Sensor_induktiv_Spulenhalter"), 14)
self.assertEqual(deckblatt._flyer_f40.anzahl("Bedientableau_2-fach"), 9)
self.assertEqual(deckblatt._flyer_f40.anzahl("Bedientableau_2fach"), 9)
self.assertEqual(deckblatt._flyer_f40.anzahl("Interface_Doffer"), 8)
self.assertEqual(deckblatt._flyer_f40.anzahl("Weiche"), 39)
self.assertEqual(deckblatt._flyer_f40.anzahl("Weiche_nach_Flyer_(bipolar)"), 8)
@@ -2065,7 +2046,7 @@ class TestObjectMethods(unittest.TestCase):
self.assertEqual(deckblatt._neuenhauser.anzahl("Sensor_optisch_Traverse"), 322)
self.assertEqual(deckblatt._neuenhauser.anzahl("Sensorik_Zugpositionierung"), 44)
self.assertEqual(deckblatt._neuenhauser.anzahl("Sensor_WT18_Spulenprüfung_voll/leer"), 22)
self.assertEqual(deckblatt._neuenhauser.anzahl("Bedientableau_2-fach"), 14)
self.assertEqual(deckblatt._neuenhauser.anzahl("Bedientableau_2fach"), 14)
self.assertEqual(deckblatt._neuenhauser.anzahl("Interface_Putzmaschine"), 11)
self.assertEqual(deckblatt._neuenhauser.anzahl("Weiche"), 134)
self.assertEqual(deckblatt._neuenhauser.anzahl("Weiche_nach_PM_(bipolar)"), 143)
@@ -2081,7 +2062,7 @@ class TestObjectMethods(unittest.TestCase):
self.assertEqual(deckblatt._flyer.anzahl("Anzahl_Schienen"), 13)
self.assertEqual(deckblatt._flyer.anzahl("Sensor_optisch_Traverse"), 206)
self.assertEqual(deckblatt._flyer.anzahl("Sensor_induktiv_Spulenalter_(Zug_positionierung)"), 7)
self.assertEqual(deckblatt._flyer.anzahl("Bedientableau_2-fach"), 7)
self.assertEqual(deckblatt._flyer.anzahl("Bedientableau_2fach"), 7)
self.assertEqual(deckblatt._flyer.anzahl("Interface_Doffer"), 7)
self.assertEqual(deckblatt._flyer.anzahl("Weiche"), 95)
self.assertEqual(deckblatt._flyer.anzahl("Weiche_nach_Flyer_(bipolar)"), 7)
@@ -2108,14 +2089,14 @@ class TestObjectMethods(unittest.TestCase):
self.assertEqual(deckblatt._turm.anzahl("Weiche"), 6)
self.assertEqual(deckblatt._turm.anzahl("RA_bi"), 9)
self.assertEqual(deckblatt._turm.anzahl("RA_bi_ohne_SPS"), 26)
self.assertEqual(deckblatt._turm.anzahl("Bedientableau_2-fach"), 4)
self.assertEqual(deckblatt._turm.anzahl("Bedientableau_2fach"), 4)
'''
self.assertEqual(deckblatt._turm.anzahl("Anzahl"), 2)
self.assertEqual(deckblatt._turm.anzahl("Anzahl_Staustrecken"), 5)
self.assertEqual(deckblatt._turm.anzahl("Weiche"), 6)
self.assertEqual(deckblatt._turm.anzahl("RA_bi"), 9)
self.assertEqual(deckblatt._turm.anzahl("RA_bi_ohne_SPS"), 26)
self.assertEqual(deckblatt._turm.anzahl("Bedientableau_2-fach"), 4)
self.assertEqual(deckblatt._turm.anzahl("Bedientableau_2fach"), 4)
@@ -2123,7 +2104,7 @@ class TestObjectMethods(unittest.TestCase):
Anzahl_RSM = {
"Anzahl":0,
"Sensor_optisch_Traverse":0,
"Bedientableau_2-fach_Korrektur":0,
"Bedientableau_2fach_Korrektur":0,
"Weiche_Korrektur":0,
"Weiche_Gemeinsame_Rückstellung_Korrektur":0,
"RA_bi_abhebbar_Korrektur":0,
@@ -2136,9 +2117,9 @@ class TestObjectMethods(unittest.TestCase):
"Anzahl_Strecken/RSM":0,
"Sensor_optisch_Traverse":0,
"Lichtschranke_Traverse":0,
"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":0,
"Bedientableau_2-fach_Direct":0,
"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0,
"Bedientableau_2fach_Direct":0,
"Weiche":0,
"Weiche_Korrektur":0,
"Weiche_Gemeinsame_Rückstellung":0,
@@ -2459,9 +2440,9 @@ if __name__ == '__main__':
#"Anzahl_Strecken/RSM":8,
"Sensor_optisch_Traverse":0,
#"Lichtschranke_Traverse":0,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":0,
#"Bedientableau_2-fach_Direct":0,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0,
#"Bedientableau_2fach_Direct":0,
#"Weiche":0,
"Weiche_Korrektur":0,
#"Weiche_Gemeinsame_Rückstellung":0,
@@ -2480,16 +2461,16 @@ if __name__ == '__main__':
rsm_fa_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
#"Anzahl_RSM":0,
#"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex-A_Premium' sind eine Zelle -> identischer Wert
"Flex-A_Premium":False,
#"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex_A_Premium' sind eine Zelle -> identischer Wert
"Flex_A_Premium":False,
"Getriebe_in_der_Mitte":False,
"RSM-Einfahrt_Ein-/Beidseitig":False,
"RSM_Einfahrt_Ein_Beidseitig":False,
#"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_zusätzlich":0,
#"Bedientableau_1-fach":0,
"Bedientableau_1-fach_Korrektur":0,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":0,
#"Bedientableau_1fach":0,
"Bedientableau_1fach_Korrektur":0,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0,
#"Weiche":0,
"Weiche_Korrektur":0,
#"RRA_bi":0,
@@ -2521,8 +2502,8 @@ if __name__ == '__main__':
"Sensor_optisch_Traverse_Korrektur":0,
#"Sensor_induktiv_Spulenhalter":0,
"Sensor_induktiv_Spulenhalter_Korrektur":0,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":0,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0,
#"Interface_Doffer":0,
"Interface_Doffer_Korrektur":0,
#"Weiche":0,
@@ -2565,8 +2546,8 @@ if __name__ == '__main__':
"Sensor_optisch_Traverse_Korrektur":0,
#"Sensorik_Zugpositionierung":0,
#"Sensor_WT18_Spulenprüfung_voll/leer":0,
#"Bedientableau_2-fach":0,
"Bedientableau_2-fach_Korrektur":0,
#"Bedientableau_2fach":0,
"Bedientableau_2fach_Korrektur":0,
#"Interface_Putzmaschine":0,
#"Weiche":0,
"Weiche_Korrektur":0,
@@ -2591,7 +2572,7 @@ if __name__ == '__main__':
#"Sensor_optisch_Traverse":0,
"Sensor_optisch_Traverse_Korrektur":0,
#"Sensor_induktiv_Spulenalter_(Zug_positionierung)":0,
#"Bedientableau_2-fach":0,
#"Bedientableau_2fach":0,
#"Interface_Doffer":0,
#"Weiche":0,
"Weiche_Korrektur":0,
@@ -2615,9 +2596,9 @@ if __name__ == '__main__':
verbindungsstrecken_w_eingabe = {
#auskommentiert => kein Übergabeparameter, wird in Klasse berechnet
"Sensor_optisch_Traverse":0,
"Bedientableau_1-fach":0,
"Bedientableau_2-fach":0,
"Bedientableau_14-fach":0,
"Bedientableau_1fach":0,
"Bedientableau_2fach":0,
"Bedientableau_14fach":0,
"Weiche":0,
"Dreifachweiche":0,
"Kreuzungsweiche":0,
@@ -2657,7 +2638,7 @@ if __name__ == '__main__':
"RA_bi_Korrektur":0,
#"RA_bi_ohne_SPS":0,
"RA_bi_ohne_SPS_Korrektur":0,
#"Bedientableau_2-fach":0,
#"Bedientableau_2fach":0,
}
mg = MG(Anzahl_MG, rsm_direct_eingabe, rsm_fa_eingabe, flyer_f40_eingabe, neuenhauser_eingabe, flyer_eingabe, verbindungsstrecken_w_eingabe, puffer_eingabe, turm_eingabe)
#mg.tofile()