diff --git a/Abfrage_Sivas.py b/Abfrage_Sivas.py index bd0fe2e..3f7f746 100644 --- a/Abfrage_Sivas.py +++ b/Abfrage_Sivas.py @@ -8,11 +8,20 @@ Diese soll in einer config-Datei für die Berechnung der rieter-eKalkulation ver Den Parametern der rieter_ekalk werden die entsprechenden Sivas-Nummern zugewiesen, und damit die aktuellen Preise. Diese Zuordnung von Parametern und ihren aktuellen Preisen wird wieder in eine config-Datei geschrieben, die mit den Preisen der Daten_cfg.txt-Datei abzugleichen ist, auf die rieter_ekalk zugreift. """ +faktoren_sivas_Nummern = { +"zuleitung_75_m_unterverteiler_4x4mm2_400vac":75, +"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc":75, +"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc":75, +"zuleitung_55_m_klemmkasten_rsm_mitte_14g1_5_mm":55, +"zuleitung_55_m_klemmkasten_rsm_mitte_14g1_0_mm":55, +"schnittstellen_8x1mm2_30m":30 +} class Kosten(): """ Liest die Sivas-Excel-Liste ein und schreibt eine neue config Datei mit den aktuellen Preisen der in rieter-ekalk verwendeten Sivas-IDs. """ + def __init__(self, pathNew="Zuordnung_Teilenummern.txt", pathOld="Daten_cfg.txt", sivasData="grid_export.xlsx"): """ :param pathNew: cfg-Datei, die den Bauteilen ihre Sivas-Nummern zuweist z.B. "schaltschrankgehaeuse_b2x800_zubehoer = 790821101" @@ -33,7 +42,10 @@ class Kosten(): self._default = configparser.ConfigParser(inline_comment_prefixes="#") self._default.read_file(open(pathOld)) - + + # wird verwendet, um die Werte der alten config zu speichern + self._HW_Einzelpreise = None + def exists(self): return self._given @@ -114,8 +126,28 @@ class Kosten(): with open(name, 'w') as configfile: config.write(configfile) + def writePriceIncrements(self, name='Preis_Increments.xlsx'): + not_found_in_sivas = dict() + latest_costs = self.getNewPricesAsDict(not_found_in_sivas) + sivas_numbers = list() + old_prices = list() + new_prices = list() + for sivas_number in latest_costs.keys(): + sivas_numbers.append(sivas_number) + old_prices.append(self.getDefaultDictAsFloat().get(sivas_number)) + new_prices.append(latest_costs.get(sivas_number)) + data = {"Sivas-Nummern":sivas_numbers, "Alte Preise":old_prices, "Neue Preise":new_prices} + df = pd.DataFrame.from_dict(data) + df.to_excel(name, sheet_name="Preisänderungen", index_label="Sivas-Nummern") + + +# lies die alte config und die Excel-Liste mit den Sivas-Daten costs = Kosten() not_found_in_sivas = dict() latest_costs = costs.getNewPricesAsDict(not_found_in_sivas) +# schreibe die neue config mit den aktuellen Preisen costs.writeNewConfig('Sivas_Abgleich.cfg') +# schreibe die Preisänderungen in eine Excel-Datei +costs.writePriceIncrements('Preis_Increments.xlsx') +