Ausgabe dictionary
This commit is contained in:
+47
-19
@@ -627,8 +627,6 @@ class Flyer_F40_EJet_inc_Putz():
|
||||
else:
|
||||
self._Mengen["RRA_BI_abhebbar"] = anzahl.get("RRA_BI_abhebbar_Korrektur", 0)
|
||||
self._Mengen["RRA_BI_abhebbar_Korrektur"] = self.mengen.get("RRA_BI_abhebbar_Korrektur", 0)
|
||||
###f bei utztex auch bei false 1 * anzahl Flyer und hier 0*...
|
||||
###f warum bei allen antrieben hier immer entweder anzahl oder korrektur abhängig von true or false entweder anzahl oder korrekturfaktor und bei utztex beides addiert?
|
||||
self._Mengen["RRA_bi"] = self.mengen.get("RRA_bi", 0)
|
||||
|
||||
if (anzahl.get("Single_Line_Durchfahrt", False)):
|
||||
@@ -1308,7 +1306,7 @@ class HW():
|
||||
"speicherkarte_fuer_sps_512_kb": 172.5, # 708003012
|
||||
"sps_simatic_s7_cpu317_2_pn_dp": 3957, # 708003007
|
||||
"speicherkarte_fuer_sps2_mb": 246, # 708003027
|
||||
"sps_simatic_s7_1515_2": 2173.5, # 790008100
|
||||
"sps_simatic_s7_1515_2": 2173.9, # 790008100
|
||||
"sps_simatic_s7_1517_3": 3827.8, # 790008101
|
||||
"sps_simatic_s7_1518_4": 5892, # 6ES7518-4AP00-0AB0
|
||||
"sps_et200_1512sp": 705.75, # 709000003
|
||||
@@ -1994,6 +1992,7 @@ class HW():
|
||||
else:
|
||||
preis = anz * self.ep[k]
|
||||
res += preis
|
||||
|
||||
return res
|
||||
|
||||
def summe_vorort(self):
|
||||
@@ -2220,13 +2219,13 @@ class Dienstleistung():
|
||||
|
||||
self._Hours["Klemmkastenbau_je_2h"] = (hw.anzahl("klemmkasten_rsm") +
|
||||
hw.anzahl("klemmkasten_direct_in_rsm")) * 2
|
||||
self._Hours["Bedientableaubau"] = round(hw.anzahl("bedienstation_1fach_kpl") * hw.zpe_e_werkstatt.get("bedienstation_1fach_kpl") / 60 +\
|
||||
hw.anzahl("bedienst_2fach_wechs_bcd_10f") * hw.zpe_e_werkstatt.get("bedienst_2fach_wechs_bcd_10f") / 60 +\
|
||||
hw.anzahl("bedienstation_2fach_kpl") * hw.zpe_e_werkstatt.get("bedienstation_2fach_kpl") / 60 +\
|
||||
hw.anzahl("bedienstation_3fach_kpl") * hw.zpe_e_werkstatt.get("bedienstation_3fach_kpl") / 60 +\
|
||||
hw.anzahl("bedienstation_4fach_kpl") * hw.zpe_e_werkstatt.get("bedienstation_4fach_kpl") / 60 +\
|
||||
hw.anzahl("bedienstation_6fach_kpl") * hw.zpe_e_werkstatt.get("bedienstation_6fach_kpl") / 60 +\
|
||||
hw.anzahl("drucktaster_automatische_umfahrung") * hw.zpe_e_werkstatt.get("drucktaster_automatische_umfahrung"), 2)
|
||||
self._Hours["Bedientableaubau"] = hw.get_h_of("bedienstation_1fach_kpl") +\
|
||||
hw.get_h_of("bedienst_2fach_wechs_bcd_10f")+\
|
||||
hw.get_h_of("bedienstation_2fach_kpl") +\
|
||||
hw.get_h_of("bedienstation_3fach_kpl") +\
|
||||
hw.get_h_of("bedienstation_4fach_kpl") +\
|
||||
hw.get_h_of("bedienstation_6fach_kpl") +\
|
||||
hw.get_h_of("drucktaster_automatische_umfahrung")
|
||||
self._Hours["Vormontage_im_Haus"] = self.anzahl("Vormontage_im_Haus")
|
||||
def __repr__(self):
|
||||
return repr(self._Hours)
|
||||
@@ -2380,7 +2379,7 @@ class Anschlussl():
|
||||
mengen = {
|
||||
#auskommentiert, was später berechnet wird
|
||||
#"Anschlussspannung":400, #Volt
|
||||
"Motor_Art":0.12, #kilo Watt ### dasselbe wie Antrieb?
|
||||
"Motor_Art":0.12, #kilo Watt ### dasselbe wie Antrieb? und eigtl regelmäßig oder immer anders?
|
||||
#"Anzahl_Motor":48,
|
||||
"Antrieb":0.12, #kilo Watt
|
||||
"Strom_Motor":0.55, #Ampere
|
||||
@@ -2499,7 +2498,7 @@ class Ergebnis(): ###f was sind die grünen zahlen auf dem deckblatt?
|
||||
self._anzahl["Inbetriebnahmetest_Hardware_durch_Montage"] = anzahl_h.get("Montage_elektrisch") * 0.1
|
||||
self._anzahl["SPS_Inbetriebsetzung"] = self.eingaben_h.get("SPS_Inbetriebsetzung")
|
||||
self._anzahl["PC_Inbetriebsetzung"] = self.eingaben_h.get("PC_Inbetriebsetzung")
|
||||
self._anzahl["Inbetriebnahmeunterstützung_durch_Montage"] = anzahl_h.get("SPS_Inbetriebsetzung") * self._Anteil_Inbetriebnahmeunterstützung_durch_Montage ###f prozentualer anteil der inbetriebnahmeunterstützung durch montage###f bei PC Progammierung auch % wird aber nicht verwendet; absicht?
|
||||
self._anzahl["Inbetriebnahmeunterstützung_durch_Montage"] = anzahl_h.get("SPS_Inbetriebsetzung") * self._Anteil_Inbetriebnahmeunterstützung_durch_Montage
|
||||
self._anzahl["Dokumentation"] = dl.get_hours_of("Bedienerhandbuch")
|
||||
self._anzahl["Bedienungsanleitung_Emmert"] = dl.get_hours_of("SPS_Doku")
|
||||
self._anzahl["Schulung_vor_Ort_beim_Kunden"] = self.eingaben_h.get("Schulung_vor_Ort_beim_Kunden")
|
||||
@@ -2551,6 +2550,35 @@ class Ergebnis(): ###f was sind die grünen zahlen auf dem deckblatt?
|
||||
return (res + hw.summe_vorort() + hw.summe_in_LL())
|
||||
def get_cost_of(self, partname):
|
||||
return (self._anzahl.get(partname) * self.preis_kostenart_h.get(partname))
|
||||
def summary_costs(self, hw):
|
||||
summary = {}
|
||||
keys_costs = {
|
||||
"E_Werkstatt",
|
||||
"Schaltschrankbau_extern_Mehrkosten",
|
||||
"Dienstleistung_in_LL",
|
||||
"Pflichtenheft",
|
||||
"SPS_Programmierung",
|
||||
"PC_Programmierung_Visualisierung",
|
||||
"Montage_elektrisch",
|
||||
"Inbetriebnahmetest_Hardware_durch_Montage",
|
||||
"SPS_Inbetriebsetzung",
|
||||
"PC_Inbetriebsetzung",
|
||||
"Inbetriebnahmeunterstützung_durch_Montage",
|
||||
"Dokumentation",
|
||||
"Bedienungsanleitung_Emmert",
|
||||
"Schulung_vor_Ort_beim_Kunden",
|
||||
"Abnahme",
|
||||
"SPS_Anlagenbetreuung",
|
||||
"PC_Anlagenbetreuung",
|
||||
"Anlagenbetreuung_durch_Montage"
|
||||
}
|
||||
for k in keys_costs:
|
||||
cost = self._anzahl[k] * self.preis_kostenart_h[k]
|
||||
summary.update({k: round(cost, 2)})
|
||||
summary.update({"Installationsmaterial_vor_Ort": round(hw.summe_vorort(), 2)})
|
||||
summary.update({"Material_in_LL": round(hw.summe_in_LL(), 2)})
|
||||
summary.update({"GESAMT": round(self.get_sum_of_costs(hw), 2)})
|
||||
print(summary)
|
||||
|
||||
class TestObjectMethods(unittest.TestCase):
|
||||
|
||||
@@ -3056,7 +3084,6 @@ class TestObjectMethods(unittest.TestCase):
|
||||
Anzahl_AL ={}
|
||||
al = Anschlussl(Anzahl_AL, mg)
|
||||
|
||||
|
||||
self.assertEqual(hw.anzahl("schaltschrankgehaeuse_b1x1200_zubehoer"), 0)
|
||||
self.assertEqual(hw.anzahl("schaltschrankgehaeuse_b2x800_zubehoer"), 0)
|
||||
self.assertEqual(hw.anzahl("schaltschrankgehaeuse_b1x1200+1x800_zubehoer"), 1)
|
||||
@@ -3190,7 +3217,7 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(hw.anzahl("schnittstellen_8x1mm2_30m"), 4)
|
||||
|
||||
self.assertEqual(hw.summe_vorort(), 19923.6)
|
||||
self.assertEqual(hw.summe_gesamt(), 47167.04)
|
||||
self.assertAlmostEqual(hw.summe_gesamt(), 47167.04)
|
||||
self.assertEqual(hw.summe_in_LL(), 27243.44)
|
||||
self.assertEqual(hw.summe_h_zeiten_hardwareplanung(), 167.0)
|
||||
self.assertEqual(hw.summe_h_unterverteiler_e_werkstatt(), 94.0)
|
||||
@@ -3638,8 +3665,8 @@ class TestObjectMethods(unittest.TestCase):
|
||||
Anzahl_AL ={}
|
||||
al = Anschlussl(Anzahl_AL, mg)
|
||||
self.assertEqual(dl.stunden_diensleistung_hardwareplanung(), 225.1)
|
||||
self.assertEqual(dl.stunden_elektrowerkstatt(), 196.83)
|
||||
self.assertEqual(dl.summe_stunden_dienstleistung_in_landsberg(), 421.93)
|
||||
self.assertEqual(dl.stunden_elektrowerkstatt(), 196.83333333333333333333333333)
|
||||
self.assertEqual(dl.summe_stunden_dienstleistung_in_landsberg(), 421.9333333333333333333)
|
||||
self.assertEqual(dl.get_hours_of("Pflichtenheft_Autom_Schnittstellen"), 0)
|
||||
self.assertEqual(dl.get_hours_of("Erstellung_Steuerungslayout"), 41.75)
|
||||
self.assertEqual(dl.get_hours_of("Schaltplanerstellung_incl_Korrekturen"), 100.2)
|
||||
@@ -3656,7 +3683,7 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(dl.get_hours_of("Schaltschrankbau"), 88)
|
||||
self.assertEqual(dl.get_hours_of("Unterverteilerbau"), 94)
|
||||
self.assertEqual(dl.get_hours_of("Klemmkastenbau_je_2h"), 4)
|
||||
self.assertEqual(dl.get_hours_of("Bedientableaubau"), 10.83)
|
||||
self.assertEqual(dl.get_hours_of("Bedientableaubau"), 10.833333333333333)
|
||||
self.assertEqual(dl.get_hours_of("Vormontage_im_Haus"), 0)
|
||||
|
||||
def test_anschlussleistung(self):
|
||||
@@ -4097,7 +4124,7 @@ class TestObjectMethods(unittest.TestCase):
|
||||
dl = Dienstleistung(Anzahl_DL, hw)
|
||||
Anzahl_Ergebnis = {}
|
||||
erg = Ergebnis(Anzahl_Ergebnis, hw, dl, emo)
|
||||
self.assertAlmostEqual(erg.get_cost_of("E_Werkstatt"), 6298.56)
|
||||
self.assertAlmostEqual(erg.get_cost_of("E_Werkstatt"), 6298.6666666666667)
|
||||
self.assertEqual(erg.get_cost_of("Schaltschrankbau_extern_Mehrkosten"), 0)
|
||||
self.assertEqual(erg.get_cost_of("Dienstleistung_in_LL"), 10129.5)
|
||||
self.assertEqual(erg.get_cost_of("Pflichtenheft"), 0)
|
||||
@@ -4115,7 +4142,8 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(erg.get_cost_of("SPS_Anlagenbetreuung"), 0)
|
||||
self.assertEqual(erg.get_cost_of("PC_Anlagenbetreuung"), 0)
|
||||
self.assertEqual(erg.get_cost_of("Anlagenbetreuung_durch_Montage"), 0)
|
||||
self.assertEqual(erg.get_sum_of_costs(hw), 104833.17)
|
||||
self.assertEqual(erg.get_sum_of_costs(hw), 104833.16666666666)
|
||||
erg.summary_costs(hw)
|
||||
|
||||
def test_Unittests():
|
||||
unittest.main()
|
||||
|
||||
+1
-1
@@ -293,7 +293,7 @@ class TestObjectMethods(unittest.TestCase):
|
||||
self.assertEqual(mg.get_value_of_object('puffer', 'Hauptschalter_Ein-Meldung_Korrektur'), 0)
|
||||
|
||||
zf = mg.zusammenfassung()
|
||||
#self.assertEqual(zf['Gesamtanzahl_Antriebe'], 44)
|
||||
self.assertEqual(zf['Gesamtanzahl_Antriebe'], 44)
|
||||
self.assertEqual(zf['Sensor_optisch_Traverse'], 68)
|
||||
self.assertEqual(zf['Sensor_induktiv_Spulenalter_Zug_positionierung'], 4)
|
||||
self.assertEqual(zf['Sensor_Spulenprüfung_voll_leer'], 0)
|
||||
|
||||
+2
-2
@@ -507,7 +507,7 @@ class RSM_FA():
|
||||
self._Mengen["Mit_Drucktaster"] = 0
|
||||
self._Mengen["Mit_Drucktaster_Korrektur"] = anzahl.get("Mit_Drucktaster_Korrektur",0)
|
||||
self._Mengen["Meldelampe_Überstrom"] = math.ceil(anzahl.get("Anzahl_RSM", 0)/3) + anzahl.get("Meldelampe_Überstrom_Korrektur", 0)
|
||||
self._Mengen["Meldelampe_Überstrom_Korrektur"] = anzahl.get("Meldelampe_Überstrom_Korrektur", 0) ###f bei jayjay durch 10 statt 3... generelle änderung oder immer manuell?
|
||||
self._Mengen["Meldelampe_Überstrom_Korrektur"] = anzahl.get("Meldelampe_Überstrom_Korrektur", 0)
|
||||
self._Mengen["Hauptschalter_Ein_Meldung"] = math.ceil(anzahl.get("Anzahl_RSM", 0)/3) + anzahl.get("Hauptschalter_Ein-Meldung_Korrektur", 0)
|
||||
self._Mengen["Hauptschalter_Ein-Meldung_Korrektur"] = anzahl.get("Hauptschalter_Ein-Meldung_Korrektur", 0)
|
||||
self._Mengen["Werma_Rundumleuchte_Störung"] = math.ceil(anzahl.get("Anzahl_RSM", 0)/10) + anzahl.get("Werma_Rundumleuchte_Störung_Korrektur", 0)
|
||||
@@ -588,7 +588,7 @@ class Flyer_F40_EJet_inc_Putz():
|
||||
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"] = self.mengen.get("Sensor_optisch_Traverse_Korrektur", 0)
|
||||
self._Mengen["Sensor_induktiv_Spulenhalter"] = self._Flyer_Anzahl * 1 + anzahl.get("Sensor_induktiv_Spulenhalter_Korrektur", 0) ###f bei jayjay * 2
|
||||
self._Mengen["Sensor_induktiv_Spulenhalter"] = self._Flyer_Anzahl * 1 + anzahl.get("Sensor_induktiv_Spulenhalter_Korrektur", 0)
|
||||
self._Mengen["Sensor_induktiv_Spulenhalter_Korrektur"] = self.mengen.get("Sensor_induktiv_Spulenhalter_Korrektur", 0)
|
||||
self._Mengen["Bedientableau_2fach"] = self._Flyer_Anzahl + anzahl.get("Bedientableau_2fach_Korrektur", 0)
|
||||
self._Mengen["Bedientableau_2fach_Korrektur"] = self.mengen.get("Bedientableau_2fach_Korrektur", 0)
|
||||
|
||||
Reference in New Issue
Block a user