weiter die Logiken einprogrammiert

This commit is contained in:
2024-02-29 14:49:28 +01:00
parent 4d42f82e6a
commit 95e4c366d6
+369 -91
View File
@@ -255,12 +255,7 @@ class CadItem(DataModel):
def get_all_gui_data(self):
return self._gui_data
def csv2guidata(self, data):
translated_data = dict()
for k,v in data.items():
if k in self.excel_to_gui and v is not None:
translated_data[self.excel_to_gui[k]] = v
def _transform_content_from_csv(self, translated_data):
# Spezial: Abkürzungen .kpl rausschmeissen. Text eventuell kürzen
if "bezeichnung1_sivas" in translated_data:
text = translated_data["bezeichnung1_sivas"]
@@ -274,10 +269,41 @@ class CadItem(DataModel):
else:
translated_data["halbzeugOhneSaege_sivas"] = "Sägeliste nicht benötigt"
# Spezial Beschaffungsart
if "beschaffungsart_sivas" in translated_data:
text = translated_data["beschaffungsart_sivas"]
if text =="Eigenbaugruppe":
translated_data["beschaffungsart_sivas"] = "Eigenbau"
# Spezial TOS Gruppe
if "tosgruppe_sivas" in translated_data:
text = translated_data["tosgruppe_sivas"]
if text =="":
translated_data["beschaffungsart_neu"] = "6"
else:
translated_data["beschaffungsart_neu"] = ""
# Spezial Hersteller
if "tosgruppe_sivas" in translated_data:
text = translated_data["tosgruppe_sivas"]
if text =="":
translated_data["beschaffungsart_neu"] = "6"
return translated_data
def csv2guidata(self, data):
translated_data = dict()
for k,v in data.items():
if k in self.excel_to_gui and v is not None:
translated_data[self.excel_to_gui[k]] = v
# Spezial: Befüllung von Änderungstext mit dem Author, falls in der .csv vorhanden
if "Indexerfasser" in data and "Aenderungstext" in data:
translated_data["aenderungstext_sivas"] = '{aenderungstext} (von {author})'.format(aenderungstext=data["Aenderungstext"], author=data["Indexerfasser"])
# Indexerfasser wird nicht in der gui verwaltet. Deshalb Modifikation aus den Rohdaten
translated_data = self._transform_content_from_csv(translated_data)
self.set_gui_dict(translated_data)
return translated_data
@@ -425,6 +451,11 @@ class CadItemRepository:
return
raise Exception("CadItem not found")
def message_info(self, title, key, questions='ok'):
return self._controller.message_info(title, key, questions)
def message_error(self, title, key):
return self._controller.message_error(title, key)
class GuiLogic():
@@ -777,123 +808,332 @@ class GuiLogic():
def cb_ruestcode_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
ret['cb_ruestcode_neu'] = ''
ret['ruestcode_neu'] = ''
ruestcode_sivas = self._model.get_gui_data("ruestcode_sivas")
truemmer = self._model.get_gui_data("truemmer")
if pdm_kategorie_neu == "Baugruppe":
lrstcodes = self._config.Allgemein.get_options("RuestcodeBaugruppe")
else:
lrstcodes = self._config.Allgemein.get_options("RuestcodeStandard")
ret['cb_ruestcode_neu'] = lrstcodes
ret['ruestcode_neu'] = ''
if selected is None:
ret['ruestcode_neu'] = lrstcodes[0]
ret['cb_ruestcode_neu'] = lrstcodes
# Default Vorbelegung
if ruestcode_sivas == "" or truemmer == "J":
if pdm_kategorie_neu == "Baugruppe":
default = lrstcodes[0]
else:
self._model.message_info('Rüstcodeinformationen', 'rüstcode_infos')
default = ''
else:
default = ''
ret['ruestcode_neu'] = default
else:
ret['ruestcode_neu'] = selected
# self._controller.message_info('Rüstcodeinformationen', 'rüstcode_infos')
return ret
def cb_fertigungsart_neu(self, value):
def cb_fertigungsart_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
fertigungsart_sivas = self._model.get_gui_data("fertigungsart_sivas")
ret['cb_halbzeugOhneSaege_neu'] = ''
ret['fertigungsart_neu'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
cblist = self._config.Fertigung.get_options("FertigungsartenBaugruppe")
ret['cb_fertigungsart_neu'] = cblist
elif pdm_kategorie_neu == "Einzelteil":
cblist = self._config.Fertigung.get_options("Fertigungsarten")
ret['cb_fertigungsart_neu'] = cblist
else:
pass
ret['cb_fertigungsart_neu'] = ''
if selected is None:
# Default Vorbelegung
default = ''
if pdm_kategorie_neu == "Schweissbaugruppe":
if fertigungsart_sivas == "schweißen":
default = "schweissen"
ret['fertigungsart_neu'] = default
else:
ret['fertigungsart_neu'] = selected
return ret
def cb_allgemeintoleranz_neu(self, value):
def cb_allgemeintoleranz_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
fertigungsart = self._model.get_gui_data("fertigungsart_sivas")
ret['cb_allgemeintoleranz_neu'] = ''
ret['allgemeintoleranz_neu'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
cblist = self._config.Fertigung.get_options("AllgemeintoleranzBaugruppe")
elif pdm_kategorie_neu == "Kaufteil" or pdm_kategorie_neu == "Schweissbaugruppe":
cblist = None
if pdm_kategorie_neu == "Einzelteil":
if fertigungsart == "3D-drucken":
section = "Allgemeintoleranz3DDruck"
elif fertigungsart == "biegen":
section = "AllgemeintoleranzSpanen"
elif fertigungsart == "drehen":
section = "AllgemeintoleranzSpanen"
elif fertigungsart == "extrudieren":
section = "AllgemeintoleranzExtrudieren"
elif fertigungsart == "fräsen":
section = "AllgemeintoleranzSpanen"
elif fertigungsart == "gießen":
section = "AllgemeintoleranzGiessen"
elif fertigungsart == "laser-/wasserstrahlschneiden":
section = "AllgemeintoleranzSpanen"
elif fertigungsart == "verpressen":
section = "AllgemeintoleranzVerpressen"
elif fertigungsart == "sägen":
section = "AllgemeintoleranzSpanen"
elif fertigungsart == "strangpressen":
section = "AllgemeintoleranzStrangpressen"
elif fertigungsart == "spritzgießen":
section = "AllgemeintoleranzSpritzgiessen"
elif fertigungsart == "stanzen":
section = "AllgemeintoleranzStanzen"
elif fertigungsart == "schweißen":
section = "AllgemeintoleranzSchweissen"
else:
raise Exception("no such fertigungsart "+ fertigungsart)
cblist = self._config.Fertigung.get_options(section)
else:
pass
return ret
def cb_fosGruppe_neu(self, value):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
cblist = None
ret['cb_allgemeintoleranz_neu'] = cblist
ret['cb_fosGruppe_neu'] = ''
ret['fosGruppe_neu'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
if selected is None:
# Default Vorbelegung
if pdm_kategorie_neu == "Bauteil" or pdm_kategorie_neu == "Kaufteil":
default = ''
elif pdm_kategorie_neu == "Schweissbaugruppe":
default = "EN ISO 13920-BF"
else:
if fertigungsart == "3D-drucken":
default = "ISO 2768:1991-mK"
elif fertigungsart == "biegen":
default = "ISO 2768:1991-mK"
elif fertigungsart == "drehen":
default = "ISO 2768:1991-mK"
elif fertigungsart == "extrudieren":
default = "DIN 16941 - 3A"
elif fertigungsart == "fräsen":
default = "ISO 2768:1991-mK"
elif fertigungsart == "gießen":
default = "ISO 8062-3 - DCTG 10"
elif fertigungsart == "laser-/wasserstrahlschneiden":
default = "ISO 2768:1991-mK"
elif fertigungsart == "verpressen":
default = "ISO 2768:1991-mK"
elif fertigungsart == "sägen":
default = "ISO 2768:1991-mK"
elif fertigungsart == "strangpressen":
default = "EN 12020-2"
elif fertigungsart == "spritzgießen":
default = "ISO 20457 - TG5"
elif fertigungsart == "stanzen":
default = "DIN 6930-2 - m"
elif fertigungsart == "schweißen":
# TODO
default = ""
else:
raise Exception("no such fertigungsart "+ fertigungsart)
ret['fertigungsart_neu'] = default
else:
pass
ret['fertigungsart_neu'] = selected
return ret
def cb_kalkulationsart_neu(self, value):
def cb_fosGruppe_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
fos_gruppe = self._model.get_gui_data("fosGruppe_sivas")
ret['fosGruppe_neu'] = ''
if pdm_kategorie_neu == "Kaufteil":
cblist = self._config.Allgemein.get_options("FOS_Gruppe")
else:
cblist = None
ret['cb_fosGruppe_neu'] = cblist
if selected is None:
# Default Vorbelegung
default = ''
if pdm_kategorie_neu == "Baugruppe":
if fos_gruppe == "0 - Einzelteil" or fos_gruppe == "":
default = "1 - Baugruppe"
else:
if fos_gruppe == "1 - Baugruppe" or fos_gruppe == "":
default = "0 - Einzelteil"
ret['fosGruppe_neu'] = default
else:
ret['fosGruppe_neu'] = selected
return ret
def cb_kalkulationsart_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
calc_art = self._model.get_gui_data("kalkulationsart_sivas")
ret['cb_kalkulationsart_neu'] = ''
if pdm_kategorie_neu == "Kaufteil":
cblist = self._config.Allgemein.get_options("Kalkulationsart")
else:
cblist = None
ret['cb_kalkulationsart_neu'] = cblist
ret['kalkulationsart_neu'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
if selected is None:
# Default Vorbelegung
default = ''
if pdm_kategorie_neu == "Kaufteil":
if calc_art == "Eigenbau" or calc_art == "":
default = "Kaufteil"
else:
if calc_art == "Kaufteil" or calc_art == "":
default = "Eigenbau"
ret['kalkulationsart_neu'] = default
else:
pass
ret['kalkulationsart_neu'] = selected
return ret
def cb_beschaffungsart_neu(self, value):
def cb_beschaffungsart_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
bart = self._model.get_gui_data("beschaffungsart_sivas")
if pdm_kategorie_neu == "Einzelteil":
cblist = self._config.Allgemein.get_options("Beschaffungsart")
else:
cblist = None
ret['cb_beschaffungsart_neu'] = cblist
ret['beschaffungsart_neu'] = ''
if selected is None:
# Default Vorbelegung
default = ''
if bart == "Eigenbau":
if pdm_kategorie_neu == "Kaufteil":
default = "Kaufteil"
else:
default = ""
elif bart == "Kaufteil":
if pdm_kategorie_neu == "Baugruppe":
default = "Eigenbau"
elif pdm_kategorie_neu == "Einzelteil" or pdm_kategorie_neu == "Kaufteil":
default = ""
elif pdm_kategorie_neu == "Schweissbaugruppe":
default = "Eigenbau"
self._model.message_info('Beschaffungsart', 'beschaffungsart_infos')
ret['beschaffungsart_neu'] = default
else:
ret['beschaffungsart_neu'] = selected
return ret
def cb_mengeneinheit_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
rcode = self._model.get_gui_data("ruestcode_sivas")
# TODO oder ruestcode_neu?
mengeneinheit = self._model.get_gui_data("mengeneinheit_sivas")
cblist = None
if rcode == "SRC Standard Rüstcode" or rcode == "Trümmerbaugruppe":
pass # cblist = None
elif rcode == "HZS Halbzeuge Sägeteile":
if pdm_kategorie_neu == "Einzelteil" or pdm_kategorie_neu == "Kaufteil":
cblist = self._config.Allgemein.get_options("EinheitAusw")
elif pdm_kategorie_neu == "Schweissbaugruppe":
pass # cblist = None
else:
pass # cblist = None
ret['cb_mengeneinheit_neu'] = cblist
if selected is None:
# Default Vorbelegung
default = ''
if rcode == "SRC Standard Rüstcode":
if mengeneinheit != "Stck - Stück":
default = "Stck - Stück"
else:
default = ""
elif rcode == "HZS Halbzeuge Sägeteile":
if mengeneinheit != "M - Meter":
if pdm_kategorie_neu == "Schweissbaugruppe":
default = "M - Meter"
elif pdm_kategorie_neu == "Einzelteil" or pdm_kategorie_neu == "Kaufteil":
default = ""
self._model.message_info('Mengeneinheit', 'mengeneinheit_infos')
ret['mengeneinheit_neu'] = default
else:
ret['mengeneinheit_neu'] = selected
return ret
def cb_halbzeug_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
rcode = self._model.get_gui_data("ruestcode_sivas")
halbzeug = self._model.get_gui_data("halbzeug_sivas")
if rcode == "SRC Standard Rüstcode" or rcode == "Trümmerbaugruppe":
cblist = "FALSCH"
elif rcode == "HZS Halbzeuge Sägeteile":
cblist = self._config.Allgemein.get_options("Halbzeug")
ret['cb_halbzeug_neu'] = cblist
if selected is None:
# Default Vorbelegung
default = ''
if halbzeug == "WAHR":
if rcode == "SRC Standard Rüstcode" or rcode == "Trümmerbaugruppe":
default = "FALSCH"
# elif rcode == "HZS Halbzeuge Sägeteile":
# default = ""
ret['halbzeug_neu'] = default
else:
ret['halbzeug_neu'] = selected
return ret
def cb_dispogruppe_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
ret['cb_beschaffungsart_neu'] = ''
ret['beschaffungsart_neu'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
cblist = self._config.Allgemein.get_options("Dispogruppe")
ret['cb_dispogruppe_neu'] = cblist
if selected is None:
# Default Vorbelegung
ret['dispogruppe_neu'] = ''
else:
pass
ret['dispogruppe_neu'] = selected
return ret
def cb_mengeneinheit_neu(self, value):
def cb_dispolaufgruppe_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
ret['cb_mengeneinheit_neu'] = ''
ret['mengeneinheit_neu'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
cblist = self._config.Allgemein.get_options("Dispogruppe")
ret['cb_dispolaufgruppe_neu'] = cblist
if selected is None:
# Default Vorbelegung
ret['dispolaufgruppe_neu'] = ''
else:
pass
ret['dispolaufgruppe_neu'] = selected
return ret
def cb_halbzeug_neu(self, value):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
ret['cb_halbzeug_neu'] = ''
ret['halbzeug_neu'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
else:
pass
return ret
def cb_dispogruppe_neu(self, value):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
ret['cb_dispogruppe_neu'] = ''
ret['dispogruppe_neu'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
else:
pass
return ret
def cb_dispolaufgruppe_neu(self, value):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
ret['cb_dispolaufgruppe_neu'] = ''
ret['dispolaufgruppe_neu'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
else:
pass
return ret
def cb_hersteller_neu(self, value):
def cb_hersteller_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
@@ -903,8 +1143,18 @@ class GuiLogic():
pass
else:
pass
if selected is None:
# Default Vorbelegung
default = ''
ret['hersteller_neu'] = default
else:
ret['hersteller_neu'] = selected
return ret
def cb_werkstoffdiskrepanz(self, value):
def cb_werkstoffdiskrepanz(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
@@ -913,6 +1163,8 @@ class GuiLogic():
pass
else:
pass
return ret
# def cb_werkstofftyp_neu(self, selected_werkstoff):
@@ -952,7 +1204,7 @@ class GuiLogic():
# }
# return ret
def cb_material_neu(self, value):
def cb_material_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
@@ -962,8 +1214,16 @@ class GuiLogic():
pass
else:
pass
if selected is None:
# Default Vorbelegung
default = ''
ret['material_neu'] = default
else:
ret['material_neu'] = selected
return ret
def cb_oberflaeche_neu(self, value):
def cb_oberflaeche_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
@@ -973,6 +1233,14 @@ class GuiLogic():
pass
else:
pass
if selected is None:
# Default Vorbelegung
default = ''
ret['oberflaeche_neu'] = default
else:
ret['oberflaeche_neu'] = selected
return ret
# def oberfläche(self, selected):
@@ -996,17 +1264,27 @@ class GuiLogic():
# return ret
def cb_farbe_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
farben_alle = self._config.Farben.get_farbauswahl()
farben_elox = self._config.Farben.get_farben_eloxieren()
# setze die Inhalte der abhängigen Comboboxen neu und den Wert im Modell
ret = {
# das Feld selbst mit dem Selektierten beschreiben
'farbe_neu': selected,
# die neuen Inhalte der comboboxen setzen
'cb_farben': farben_alle,
# der angezeigte Wert der Combos sollte anfangs dem ersten der Liste entsprechen
'farbe_neu': farben_alle[0],
}
ret['cb_farben'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
else:
pass
if selected is None:
# Default Vorbelegung
default = ''
ret['farbe_neu'] = default
else:
ret['farbe_neu'] = selected
return ret
if __name__ == "__main__":