Logik weiter getrieben. Debug von cb_halbzeugOhneSaege

This commit is contained in:
2024-02-29 19:05:15 +01:00
parent 466ae4afd5
commit 46d3bbd77b
+82 -81
View File
@@ -283,11 +283,10 @@ class CadItem(DataModel):
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"
# Spezial Hersteller: aus "80312 - Rehau AG & Co." wird "Rehau AG & Co."
if "hersteller_sivas" in translated_data:
text = translated_data["hersteller_sivas"]
translated_data["hersteller_sivas"] = re.sub(r"^.*-\s+", "", text, flags=re.I)
return translated_data
@@ -473,11 +472,10 @@ class GuiLogic():
def set_gui_defaults(self):
# set defaults from given logic
self.call_and_set_data('cb_pdm_kategorie_neu')
self.call_and_set_data('cb_neuaufbau')
self.call_and_set_data('cb_aus_halbzeug_neu')
self.call_and_set_data('cb_halbzeugoberflaeche')
self.call_and_set_data('cb_lebenszyklus_status_neu')
self.call_and_set_data('cb_3Dmodel_neu')
self.call_and_set_data('cb_ruestcode_neu')
# self.call_and_set_data('cb_lebenszyklus_status_neu')
# self.call_and_set_data('cb_3Dmodel_neu')
def call_and_set_data(self, callbackfunc):
eval('self._model.set_gui_dict(self.'+callbackfunc+'(None))')
@@ -545,11 +543,11 @@ class GuiLogic():
"""
ret = list()
if key == 'cb_pdm_kategorie_neu':
ret = ['cb_neuaufbau', 'cb_aus_halbzeug_neu', 'cb_3Dmodel_neu', 'cb_halbzeugOhneSaege_neu', 'cb_ruestcode_neu']
ret = ['cb_neuaufbau', 'cb_aus_halbzeug_neu', 'cb_3Dmodel_neu', 'cb_halbzeugOhneSaege_neu', 'cb_ruestcode_neu', "cb_fertigungsart_neu", "cb_allgemeintoleranz_neu", "cb_fosGruppe_neu", "cb_kalkulationsart_neu", "cb_beschaffungsart_neu", "cb_mengeneinheit_neu", "cb_halbzeug_neu", "cb_dispogruppe_neu", "cb_dispolaufgruppe_neu", "cb_hersteller_neu", "cb_werkstoffdiskrepanz", "cb_werkstofftyp_neu"]
elif key == 'cb_neuaufbau':
ret = []
elif key == 'cb_aus_halbzeug_neu':
ret = ['cb_halbzeugoberflaeche', 'cb_halbzeugfarbe']
ret = ['cb_halbzeugoberflaeche', 'cb_halbzeugfarbe', "cb_werkstoffdiskrepanz", "cb_werkstofftyp_neu"]
elif key == "cb_halbzeugoberflaeche":
ret = ['cb_halbzeugfarbe', 'cb_halbzeugfarbe']
elif key == "cb_halbzeugfarbe":
@@ -561,11 +559,11 @@ class GuiLogic():
elif key == 'cb_halbzeugOhneSaege_neu':
ret = []
elif key == 'cb_ruestcode_neu':
ret = [ 'cb_halbzeugOhneSaege_neu']
ret = [ 'cb_halbzeugOhneSaege_neu', "cb_mengeneinheit_neu", "cb_halbzeug_neu"]
elif key == 'cb_fertigungsart_neu':
ret = []
elif key == 'cb_allgemeintoleranz_neu':
ret = []
ret = ["cb_fertigungsart_neu"]
elif key == 'cb_fosGruppe_neu':
ret = []
elif key == 'cb_kalkulationsart_neu':
@@ -780,29 +778,26 @@ class GuiLogic():
def cb_halbzeugOhneSaege_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
ruestcode = self._model.get_gui_data("ruestcode_sivas")
ret['cb_halbzeugOhneSaege_neu'] = ''
ret['halbzeugOhneSaege_neu'] = ''
cblist = []
if pdm_kategorie_neu == "Baugruppe":
# Dropdownwerte = None (keine Werte)
# state = disabled
pass
else:
ruestcode = self._model.get_gui_data("cb_ruestcode_neu")
if ruestcode == "HZS Halbzeuge Sägeteile":
# [HalbzeugOhneSaegeliste]
# Sägeliste nicht benötigt
# Sägeliste benötigt
lhalbzg = self._config.Allgemein.get_options("HalbzeugOhneSaegeliste")
if selected is None:
ret['halbzeugOhneSaege_neu'] = lhalbzg[0]
ret['cb_halbzeugOhneSaege_neu'] = lhalbzg
else:
ret['halbzeugOhneSaege_neu'] = selected
else:
# Dropdownwerte = None (keine Werte)
# state = disabled
pass
cblist = self._config.Allgemein.get_options("HalbzeugOhneSaegeliste")
ret['cb_halbzeugOhneSaege_neu'] = cblist
if selected is None:
default = ''
if len(cblist) > 0:
default = cblist[0]
ret['halbzeugOhneSaege_neu'] = default
else:
ret['halbzeugOhneSaege_neu'] = selected
return ret
def cb_ruestcode_neu(self, selected):
@@ -1137,18 +1132,19 @@ class GuiLogic():
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
ret['cb_hersteller_neu'] = ''
ret['hersteller_neu'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
else:
pass
cblist = self._config.Hersteller.get_all()
ret['cb_hersteller_neu'] = cblist
# if pdm_kategorie_neu == "Kaufteil":
# # state readonly
# pass
# else:
# # disabled
# pass
if selected is None:
# Default Vorbelegung
default = ''
ret['hersteller_neu'] = default
ret['hersteller_neu'] = ""
else:
ret['hersteller_neu'] = selected
@@ -1156,53 +1152,57 @@ class GuiLogic():
def cb_werkstoffdiskrepanz(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
ret['cb_werkstoffdiskrepanz'] = ''
if pdm_kategorie_neu == "Baugruppe":
pass
else:
pass
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
if aus_halbzeug == True:
ret['cb_werkstoffdiskrepanz'] = True
#state = disabled
# else:
# state = keiner
return ret
# def cb_werkstofftyp_neu(self, selected_werkstoff):
# """bekommt Aluminium, Stahl etc. und setzt dann die anderen Felder der Oberfläche"""
def cb_werkstofftyp_neu(self, selected):
"""bekommt Aluminium, Stahl etc. und setzt dann die anderen Felder der Oberfläche"""
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
werkstoff = self._model.get_gui_data("werkstofftyp_sivas")
# Combobox:
if pdm_kategorie_neu == "Einzelteil":
if aus_halbzeug == True:
cblist = None
else:
cblist = self._config.Werkstoffe.get_options("Werkstofftyp")
else:
cblist = None
ret['cb_material_neu'] = cblist
# # Logik, die steuert, welcher Defaultwert gilt:
# # In den nachfolgenden Fällen darf kein Defaultwert eingetragen
# # werden (selbst wenn in from_siv.csv ein Wert in der Spalte
# # "Werkstoff" eingetragen sein sollte):
# # PDM-Kategorie == "Baugruppe"
# # PDM-Kategorie == "Schweissbaugruppe"
# # PDM-Kategorie == "Einzelteil" und Aus Halbzeug == True (Haken gesetzt)
# # Gilt PDM-Kategorie == "Kaufteil" soll der Defaultwert "siehe
# # Hersteller" eingetragen werden
# # Gilt PDM-Kategorie == "Einzelteil" und Aus Halbzeug == False (kein
# # Haken), dann wird der Defaultwert wie folgt bestimmt:
# ret = dict()
# # das Feld selbst mit dem Selektierten beschreiben
# ret['werkstofftyp_neu']= selected_werkstoff
# pdm_kat = self._model.get_gui_data("pdm_kategorie_neu")
# aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
# if pdm_kat == 'Einzelteil' and aus_halbzeug is False:
# wnamen = self._config.Werkstoffe.get_werkstoffe_of_name(selected_werkstoff)
# # setze die Inhalte der abhängigen Comboboxen neu und den Wert im Modell
# ret = {
# # das Feld selbst mit dem Selektierten beschreiben
# 'werkstofftyp_neu': selected_werkstoff,
# # die neuen Inhalte der comboboxen setzen
# 'cb_material_neu': wnamen,
# # der angezeigte Wert der Combos sollte anfangs dem ersten der Liste entsprechen
# 'material_neu': wnamen[0],
# }
# return ret
# Logik, die steuert, welcher Defaultwert gilt:
if selected is None:
# Default Vorbelegung
default = ''
if pdm_kategorie_neu != "Einzelteil":
pass
elif pdm_kategorie_neu == "Einzelteil" and aus_halbzeug == True:
pass
elif werkstoff == "":
pass
elif pdm_kategorie_neu == "Einzelteil" and aus_halbzeug == False:
mlist = self._config.Materialien.get_all_materials()
if werkstoff in mlist:
mat = self._config.Materialien.get_material_of_type(werkstoff)
if 'Werkstofftyp' in mat:
default = mat['Werkstofftyp']
else:
default = mat['Message']
else:
self._model.message_info('Materialinformation', 'material_infos')
else:
pass
ret['werkstofftyp_neu'] = default
else:
ret['werkstofftyp_neu'] = selected
return ret
def cb_material_neu(self, selected):
ret = dict()
@@ -1223,6 +1223,7 @@ class GuiLogic():
ret['material_neu'] = selected
return ret
def cb_oberflaeche_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")