Typen in den Parametern ergänzt. pandas Aufruf in Abfrage_Sivas geändert. Configs verschoenert, da parser sonst nicht richtig arbeitete

This commit is contained in:
2023-04-26 17:14:52 +02:00
parent efdb57fd52
commit cda9a6713d
4 changed files with 352 additions and 351 deletions
+2 -3
View File
@@ -28,9 +28,8 @@ class Kosten():
:param pathOld: cfg-Datei, die in rieter_ekalk verwendet wird und den Bauteilen Preise zuweist z.B. "schaltschrankgehaeuse_b2x800_zubehoer = 4663.45" :param pathOld: cfg-Datei, die in rieter_ekalk verwendet wird und den Bauteilen Preise zuweist z.B. "schaltschrankgehaeuse_b2x800_zubehoer = 4663.45"
:param sivasData: Excel-Datei mit Sivas-Nummern und entsprechenden Preisen, Überschrift: Teilenummer, Herstellkosten :param sivasData: Excel-Datei mit Sivas-Nummern und entsprechenden Preisen, Überschrift: Teilenummer, Herstellkosten
""" """
df = pd.read_excel(sivasData, header=0, index_col="Teilenummer") df = pd.read_excel(sivasData, header=0, index_col=0, usecols=["Teilenummer", "Herstellkosten" ])
tab = df.drop(columns=["Bezeichnung1"]) self._kosten = df.to_dict()
self._kosten = tab.to_dict()
self._given = True self._given = True
if os.path.exists(pathNew): if os.path.exists(pathNew):
+7 -2
View File
@@ -92,8 +92,11 @@
seil_fuer_seilzugschalter = 0.40 seil_fuer_seilzugschalter = 0.40
blitzleuchte = 72 # 790000006 blitzleuchte = 72 # 790000006
spulenumsetzstation = 0 spulenumsetzstation = 0
# Angabe im Sivas je 40m
sensorkabel_je_20m = 25 # 722001xxx sensorkabel_je_20m = 25 # 722001xxx
# Angabe im Sivas je 50m
stopper_weichenkabel_je_5m = 20 # 722001xxx stopper_weichenkabel_je_5m = 20 # 722001xxx
# Angabe im Sivas je 50m
motorkabel_je_30m = 26 motorkabel_je_30m = 26
kabelpritschen_leitern_200_60 = 15 kabelpritschen_leitern_200_60 = 15
kabelpritsche_rsm_100_60 = 12 # 715000020 kabelpritsche_rsm_100_60 = 12 # 715000020
@@ -251,9 +254,11 @@
1.1=2.55 1.1=2.55
# ERGEBNIS # ERGEBNIS
[Kosten pro h] #[€/h] der jeweiligen Kostenart #[€/h] der jeweiligen Kostenart
[Kosten pro h]
E_Werkstatt = 32 E_Werkstatt = 32
Schaltschrankbau_extern_Mehrkosten = 0 #Wenn Schaltschrankbau extern die Mehrkosten eintragen Standard = 18 € Hier wird nur die Diverenz zwischen Kosten intern(32€) und dem externen Kosten eingetragen. Beispiel= extern = 50€ intern 32 € = Wert= 18€ # Wenn Schaltschrankbau extern die Mehrkosten eintragen Standard = 18 € Hier wird nur die Diverenz zwischen Kosten intern(32€) und dem externen Kosten eingetragen. Beispiel= extern = 50€ intern 32 € = Wert= 18€
Schaltschrankbau_extern_Mehrkosten = 0
Dienstleistung_in_LL = 45 Dienstleistung_in_LL = 45
Pflichtenheft = 60 Pflichtenheft = 60
SPS_Programmierung = 75 SPS_Programmierung = 75
+8 -11
View File
@@ -54,7 +54,6 @@ antrieb_unidirektional_schuetz = 703001049
antrieb_bidirektional_schuetz = 703001059 antrieb_bidirektional_schuetz = 703001059
motorschutzschalter = 703001007 motorschutzschalter = 703001007
wendeschuetzschaltung = 703001026 wendeschuetzschaltung = 703001026
#frequenzumrichter = löschen, wird nicht mehr verwedet
bedienstation_1fach_kpl = 790002022 bedienstation_1fach_kpl = 790002022
@@ -68,7 +67,6 @@ wendeschuetzschaltung = 703001026
bedienstation_6fach_kpl = 790000033 bedienstation_6fach_kpl = 790000033
halter_bedientableau_6fach = 825304002 halter_bedientableau_6fach = 825304002
drucktaster_automatische_umfahrung = 400102435 drucktaster_automatische_umfahrung = 400102435
#halter_fuer_drucktaster = löschen
# ET200_SP # ET200_SP
et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45 = 709000006 et_200sp_bundle_profinet_im_155_6pn_st_ba_2xrj45 = 709000006
@@ -93,19 +91,18 @@ wendeschuetzschaltung = 703001026
slio_8_x_dc_0v = 709000010 slio_8_x_dc_0v = 709000010
# MATERIAL VOR ORT # MATERIAL VOR ORT
#movimot_fu_mit_anschaltung = löschen
sensor_optisch_traverse = 827072200 sensor_optisch_traverse = 827072200
#sensorhalter_ohne_sensor = löschen
reflexionslichtschranke_rsm_direct = 827072207 reflexionslichtschranke_rsm_direct = 827072207
stoppersensor_induktiv_mit_halter = 827072205 stoppersensor_induktiv_mit_halter = 827072205
sensor_spulenpruefung_voll_leer = 827072204 + 721000041 sensor_spulenpruefung_voll_leer = 827072204 + 721000041
seilzugschalter = 827336009 # rsm fa seilzugschalter wenn deckblatt d5 ja *1 nicht mehr *2 # rsm fa seilzugschalter wenn deckblatt d5 ja *1 nicht mehr *2
seil_fuer_seilzugschalter = 719001012 # pro maschinenlänge doppelte länge(dann muss die Maschinenlänge aber noch angegeben werden) seilzugschalter = 827336009
# pro maschinenlänge doppelte länge(dann muss die Maschinenlänge aber noch angegeben werden)
seil_fuer_seilzugschalter = 719001012
blitzleuchte = 790000006 blitzleuchte = 790000006
#spulenumsetzstation = ---- löschen sensorkabel_je_20m = 722001022
sensorkabel_je_20m = 722001022 (je 40m) stopper_weichenkabel_je_5m = 722001040
stopper_weichenkabel_je_5m = 722001040 (je 50m) motorkabel_je_30m = 725000015
motorkabel_je_30m = 725000015 (1 m)
kabelpritschen_leitern_200_60 = ---- kabelpritschen_leitern_200_60 = ----
kabelpritsche_rsm_100_60 = 715000020 kabelpritsche_rsm_100_60 = 715000020
kabelpritsche_rsm_50_35 = 715003010 kabelpritsche_rsm_50_35 = 715003010
@@ -120,7 +117,7 @@ wendeschuetzschaltung = 703001026
zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc = 725000057 zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc = 725000057
zuleitung_55_m_klemmkasten_rsm_mitte_14g1_5_mm = 725000007 zuleitung_55_m_klemmkasten_rsm_mitte_14g1_5_mm = 725000007
zuleitung_55_m_klemmkasten_rsm_mitte_14g1_0_mm = 725000004 zuleitung_55_m_klemmkasten_rsm_mitte_14g1_0_mm = 725000004
profinetkabel = 726001043 profinetkabel = 726001053
schnittstellen_8x1mm2_30m = 725000019 schnittstellen_8x1mm2_30m = 725000019
+5 -5
View File
@@ -27,7 +27,7 @@ class cfg():
def exists(self): def exists(self):
return self._hasConfig return self._hasConfig
def getDictAsFloat(self, section): def getDictAsFloat(self, section:str):
""" """
Schreibt die Zuordnungen von Bauteil:Stückpreis/Zeiteinheit (je nach gewählter Überschrift) aus der config-Datei in ein Dictionary. Schreibt die Zuordnungen von Bauteil:Stückpreis/Zeiteinheit (je nach gewählter Überschrift) aus der config-Datei in ein Dictionary.
:param section: Überschrift in der config-Datei z.B. "HW_Einzelpreise" :param section: Überschrift in der config-Datei z.B. "HW_Einzelpreise"
@@ -189,7 +189,7 @@ class MG():
""" """
return self._deckblatt.get(key, 0) return self._deckblatt.get(key, 0)
def get_value_of_object(self, objectname, key): def get_value_of_object(self, objectname:str, key:str):
""" """
:param objectname: Name der Klasse, zu der das Bauteil gehört, dessen Wert man wissen will z.B. "puffer" :param objectname: Name der Klasse, zu der das Bauteil gehört, dessen Wert man wissen will z.B. "puffer"
:param key: Name des Bauteils, dessen Wert ermittelt werden soll z.B. "Sensor_optisch_Traverse" :param key: Name des Bauteils, dessen Wert ermittelt werden soll z.B. "Sensor_optisch_Traverse"
@@ -926,7 +926,7 @@ class Puffer():
self._Mengen["Meldelampe_Überstrom_Korrektur"] = anzahl.get("Meldelampe_Überstrom_Korrektur", 0) self._Mengen["Meldelampe_Überstrom_Korrektur"] = anzahl.get("Meldelampe_Überstrom_Korrektur", 0)
self._Mengen["Hauptschalter_Ein_Meldung"] = self._Puffer_Anzahl + anzahl.get("Hauptschalter_Ein-Meldung_Korrektur", 0) self._Mengen["Hauptschalter_Ein_Meldung"] = self._Puffer_Anzahl + anzahl.get("Hauptschalter_Ein-Meldung_Korrektur", 0)
self._Mengen["Hauptschalter_Ein-Meldung_Korrektur"] = anzahl.get("Hauptschalter_Ein-Meldung_Korrektur", 0) self._Mengen["Hauptschalter_Ein-Meldung_Korrektur"] = anzahl.get("Hauptschalter_Ein-Meldung_Korrektur", 0)
def anzahl(self, partname, defaultv = 0): def anzahl(self, partname:str, defaultv = 0):
return self._Mengen.get(partname, defaultv) return self._Mengen.get(partname, defaultv)
# Turm # Turm
class Turm(): class Turm():
@@ -2056,8 +2056,8 @@ class HW():
l.append(k) l.append(k)
for item in l: for item in l:
del self._anzahl[item] del self._anzahl[item]
with open('HW_Daten.txt', 'w') as convert_file: # with open('HW_Daten.txt', 'w') as convert_file:
convert_file.write(json.dumps(self._anzahl)) # convert_file.write(json.dumps(self._anzahl))
def __repr__(self): def __repr__(self):
return repr(self._anzahl) return repr(self._anzahl)