'Herstellerteilenummer' als Callbackfunktion nur für Statusübergang impl.; version_neu rausgeschmissen nach neuer Spec; restliche Statusübergänge impl.

This commit is contained in:
2024-03-11 16:09:00 +01:00
parent c470729918
commit f7dd9d49f3
2 changed files with 150 additions and 95 deletions
+82 -19
View File
@@ -91,7 +91,7 @@ class CadItem(DataModel):
"material_sivas", "material_neu",
"oberflaeche_neu",
"farbe_neu",
"version_sivas", "version_neu",
"version_sivas",
"aenderungsindex_sivas", "aenderungsindex_neu",
"aenderungstext_sivas", "aenderungstext_neu",
"freigabevermerk_sivas", "freigabevermerk_neu",
@@ -118,6 +118,7 @@ class CadItem(DataModel):
"cb_dispogruppe_neu",
"cb_dispolaufgruppe_neu",
"cb_hersteller_neu",
"cb_herstteilenr_neu",
"cb_werkstofftyp_neu",
"cb_werkstoffdiskrepanz",
"cb_material_neu",
@@ -664,6 +665,8 @@ class GuiLogic():
ret = self.cb_dispolaufgruppe_neu(value)
elif key == 'cb_hersteller_neu':
ret = self.cb_hersteller_neu(value)
elif key == 'cb_herstteilenr_neu':
ret = self.cb_herstteilenr_neu(value)
elif key == 'cb_werkstoffdiskrepanz':
ret = self.cb_werkstoffdiskrepanz(value)
elif key == 'cb_werkstofftyp_neu':
@@ -691,7 +694,7 @@ class GuiLogic():
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', 'cb_material_neu', 'cb_oberflaeche_neu', 'cb_farbe_neu']
'cb_werkstofftyp_neu', 'cb_material_neu', 'cb_oberflaeche_neu', 'cb_farbe_neu', 'cb_herstteilenr_neu']
elif key == 'cb_neuaufbau':
ret = []
elif key == 'cb_aus_halbzeug_neu':
@@ -974,11 +977,13 @@ class GuiLogic():
cblist = []
if pdm_kategorie_neu == "Baugruppe":
# Dropdownwerte = None (keine Werte)
# state = disabled
pass
self.set_state('cb_halbzeugOhneSaege_neu', 'disabled')
else:
if ruestcode == "HZS Halbzeuge Sägeteile":
cblist = self._config.Allgemein.get_options("HalbzeugOhneSaegeliste")
self.set_state('cb_halbzeugOhneSaege_neu', 'disabled')
self.set_state('cb_halbzeugOhneSaege_neu', 'normal')
ret['cb_halbzeugOhneSaege_neu'] = cblist
@@ -994,6 +999,7 @@ class GuiLogic():
def cb_ruestcode_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
ruestcode_sivas = self._model.get_gui_data("ruestcode_sivas")
truemmer = self._model.get_gui_data("truemmer")
@@ -1026,6 +1032,11 @@ class GuiLogic():
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
fertigungsart_sivas = self._model.get_gui_data("fertigungsart_sivas")
if pdm_kategorie_neu == "Kaufteil" or pdm_kategorie_neu == "Schweissbaugruppe":
self.set_state('cb_fertigungsart_neu', 'disabled')
else:
self.set_state('cb_fertigungsart_neu', 'normal')
if pdm_kategorie_neu == "Baugruppe":
cblist = self._config.Fertigung.get_list_in_section("FertigungsartenBaugruppe")
ret['cb_fertigungsart_neu'] = cblist
@@ -1133,6 +1144,11 @@ class GuiLogic():
else:
ret['allgemeintoleranz_neu'] = selected
if pdm_kategorie_neu == "Kaufteil" or pdm_kategorie_neu == "Schweissbaugruppe":
self.set_state('cb_allgemeintoleranz_neu', 'disabled')
else:
self.set_state('cb_allgemeintoleranz_neu', 'normal')
return ret
def cb_fosGruppe_neu(self, selected):
@@ -1141,8 +1157,10 @@ class GuiLogic():
fos_gruppe = self._model.get_gui_data("fosGruppe_sivas")
ret['fosGruppe_neu'] = ''
self.set_state('cb_fosGruppe_neu', 'normal')
if pdm_kategorie_neu == "Kaufteil":
cblist = self._config.Allgemein.get_options("FOS_Gruppe")
self.set_state('cb_fosGruppe_neu', 'disabled')
elif pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
cblist = ['1 - Baugruppe']
elif pdm_kategorie_neu == "Einzelteil":
@@ -1186,10 +1204,12 @@ class GuiLogic():
ret['cb_kalkulationsart_neu'] = ''
if pdm_kategorie_neu == "Kaufteil":
if pdm_kategorie_neu == "Baugruppe":
cblist = self._config.Allgemein.get_options("Kalkulationsart")
self.set_state('cb_kalkulationsart_neu', 'normal')
else:
cblist = None
self.set_state('cb_kalkulationsart_neu', 'disabled')
ret['cb_kalkulationsart_neu'] = cblist
ret['kalkulationsart_neu'] = ''
@@ -1213,9 +1233,11 @@ class GuiLogic():
bart = self._model.get_gui_data("beschaffungsart_sivas")
if pdm_kategorie_neu == "Einzelteil":
cblist = self._config.Allgemein.get_options("Beschaffungsart")
cblist = self._config.Allgemein.get_options("Beschaffungsart")
self.set_state('cb_beschaffungsart_neu', 'normal')
else:
cblist = None
self.set_state('cb_beschaffungsart_neu', 'disabled')
ret['cb_beschaffungsart_neu'] = cblist
ret['beschaffungsart_neu'] = ''
@@ -1251,14 +1273,15 @@ class GuiLogic():
cblist = None
if rcode == "SRC Standard Rüstcode" or rcode == "Trümmerbaugruppe":
pass # cblist = None
self.set_state('cb_mengeneinheit_neu', 'disabled')
elif rcode == "HZS Halbzeuge Sägeteile":
if pdm_kategorie_neu == "Einzelteil" or pdm_kategorie_neu == "Kaufteil":
cblist = self._config.Allgemein.get_options("EinheitAusw")
self.set_state('cb_mengeneinheit_neu', 'normal')
elif pdm_kategorie_neu == "Schweissbaugruppe":
pass # cblist = None
self.set_state('cb_mengeneinheit_neu', 'disabled')
else:
pass # cblist = None
self.set_state('cb_mengeneinheit_neu', 'disabled')
ret['cb_mengeneinheit_neu'] = cblist
if selected is None:
@@ -1297,6 +1320,12 @@ class GuiLogic():
cblist = self._config.Allgemein.get_options("Halbzeug")
ret['cb_halbzeug_neu'] = cblist
if rcode == "SRC Standard Rüstcode" or rcode == "Trümmerbaugruppe":
self.set_state('cb_halbzeug_neu', 'disabled')
elif rcode == "HZS Halbzeuge Sägeteile":
self.set_state('cb_halbzeug_neu', 'normal')
else:
self.set_state('cb_halbzeug_neu', 'disabled')
if selected is None:
# Default Vorbelegung
@@ -1309,6 +1338,7 @@ class GuiLogic():
ret['halbzeug_neu'] = default
else:
ret['halbzeug_neu'] = selected
return ret
def cb_dispogruppe_neu(self, selected):
@@ -1346,12 +1376,10 @@ class GuiLogic():
cblist = self._config.Hersteller.get_all()
ret['cb_hersteller_neu'] = cblist
# if pdm_kategorie_neu == "Kaufteil":
# # state readonly
# pass
# else:
# # disabled
# pass
if pdm_kategorie_neu == "Kaufteil":
self.set_state('cb_hersteller_neu', 'normal')
else:
self.set_state('cb_hersteller_neu', 'disabled')
if selected is None:
# Default Vorbelegung
@@ -1360,15 +1388,25 @@ class GuiLogic():
ret['hersteller_neu'] = selected
return ret
def cb_herstteilenr_neu(self, selected):
ret = dict()
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
if pdm_kategorie_neu == "Kaufteil":
self.set_state('herstteilenr_neu', 'normal')
else:
self.set_state('herstteilenr_neu', 'disabled')
return ret
def cb_werkstoffdiskrepanz(self, selected):
ret = dict()
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
if aus_halbzeug == True:
ret['cb_werkstoffdiskrepanz'] = True
#state = disabled
# else:
# state = keiner
self.set_state('cb_werkstoffdiskrepanz', 'disabled')
else:
self.set_state('cb_werkstoffdiskrepanz', 'normal')
return ret
def cb_werkstofftyp_neu(self, selected):
@@ -1382,10 +1420,13 @@ class GuiLogic():
if pdm_kategorie_neu == "Einzelteil":
if aus_halbzeug == True:
cblist = None
self.set_state('cb_werkstofftyp_neu', 'disabled')
else:
cblist = self._config.Werkstoffe.get_werkstoff_namen()
self.set_state('cb_werkstofftyp_neu', 'normal')
else:
cblist = None
self.set_state('cb_werkstofftyp_neu', 'disabled')
ret['cb_werkstofftyp_neu'] = cblist
# Logik, die steuert, welcher Defaultwert gilt:
@@ -1437,6 +1478,15 @@ class GuiLogic():
cblist = ''
ret['cb_material_neu'] = cblist
if pdm_kategorie_neu == "Einzelteil":
if aus_halbzeug == True:
self.set_state('cb_material_neu', 'disabled')
else:
self.set_state('cb_material_neu', 'normal')
else:
self.set_state('cb_material_neu', 'disbled')
if selected is None:
# Default Vorbelegung
default = ''
@@ -1490,6 +1540,11 @@ class GuiLogic():
cblist = ''
ret['cb_oberflaeche_neu'] = cblist
if aus_halbzeug == True:
self.set_state('cb_oberflaeche_neu', 'disabled')
else:
self.set_state('cb_oberflaeche_neu', 'normal')
ret['oberflaeche_neu'] = ''
if selected is None:
# Default Vorbelegung
@@ -1530,6 +1585,14 @@ class GuiLogic():
cblist = ''
ret['cb_farbe_neu'] = cblist
if oberflaeche_neu == "eloxieren" or \
oberflaeche_neu == "lackieren" or \
oberflaeche_neu == "Masterbatch (Grundfarbe)" or \
oberflaeche_neu == "pulverbeschichten":
self.set_state('cb_farbe_neu', 'disabled')
else:
self.set_state('cb_farbe_neu', 'normal')
if selected is None:
# Default Vorbelegung
default = ''