faktoren Sivas Nummern begonnen

This commit is contained in:
2023-03-15 17:00:37 +01:00
parent be776feee4
commit 3140a15d8a
+33 -1
View File
@@ -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')