FIX - Bei Definierung der automatischen Zusatzinformationen muss geprüft werden, ob die aktuell ausgewählte Nummer über eine Stückliste verfügt. Die Methode 'has_bom', die dafür implementiert wurde hat jedoch nur zurückgegeben, ob die oberste Nummer, nach der gesucht wurde eine Stückliste hat oder nicht. Dies wurde nun behoben, indem zunächst alle Kinder der ausgewählten Nummer geholt werden. Wenn diese 'None' sind hat die ausgewählte Teilenummer keine Stückliste. Die Methode 'has_bom' sowie die Methode 'set_bom_existance' werden daher nun nicht mehr benötigt. Alle entsprechenden Referenzen wurden entfernt.
This commit is contained in:
+3
-10
@@ -243,7 +243,6 @@ class CadItem(DataModel):
|
|||||||
self._read_only_items = {}
|
self._read_only_items = {}
|
||||||
self._controller = None
|
self._controller = None
|
||||||
self._logic = None
|
self._logic = None
|
||||||
self._has_bom = None
|
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
asm_id = self.get_asm_id() # das einzige was beim Löschen des Modells bleiben sollte, ist die übergeordnete Baugruppennummer
|
asm_id = self.get_asm_id() # das einzige was beim Löschen des Modells bleiben sollte, ist die übergeordnete Baugruppennummer
|
||||||
@@ -297,14 +296,6 @@ class CadItem(DataModel):
|
|||||||
else:
|
else:
|
||||||
return self._bom_properties[property_name]
|
return self._bom_properties[property_name]
|
||||||
|
|
||||||
def set_bom_existence(self, bom_status: bool) -> bool:
|
|
||||||
self._has_bom = bom_status
|
|
||||||
|
|
||||||
def has_bom(self) -> bool:
|
|
||||||
return self._has_bom
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Methoden um die Verwendbarkeit einzelner Schalter auszugrauen
|
# Methoden um die Verwendbarkeit einzelner Schalter auszugrauen
|
||||||
def set_read_only_dict(self, data:dict):
|
def set_read_only_dict(self, data:dict):
|
||||||
for k,v in data:
|
for k,v in data:
|
||||||
@@ -2603,11 +2594,13 @@ class GuiLogic():
|
|||||||
ruestcode = self._model.get_gui_data("ruestcode_sivas")
|
ruestcode = self._model.get_gui_data("ruestcode_sivas")
|
||||||
werkstoffdiskr_neu = self._model.get_gui_data("werkstoffdiskr_neu")
|
werkstoffdiskr_neu = self._model.get_gui_data("werkstoffdiskr_neu")
|
||||||
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
|
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
|
||||||
|
active_id = self._model.get_current_item_id()
|
||||||
|
children_of_active_id = self._model.get_all_children_of_id(active_id)
|
||||||
|
|
||||||
# Ermittlung, ob sich in der Stückliste der ausgewählten Teilenummer Beistellungsteile oder nicht-dispoaktive Teile befinden
|
# Ermittlung, ob sich in der Stückliste der ausgewählten Teilenummer Beistellungsteile oder nicht-dispoaktive Teile befinden
|
||||||
beistellungen = False
|
beistellungen = False
|
||||||
dispoinaktiv = False
|
dispoinaktiv = False
|
||||||
if self._model.has_bom():
|
if children_of_active_id is not None:
|
||||||
all_beistellungen = self._model.get_bom_properties("Lieferantenbeistellung")
|
all_beistellungen = self._model.get_bom_properties("Lieferantenbeistellung")
|
||||||
all_dispoaktiv = self._model.get_bom_properties("Dispoaktiv")
|
all_dispoaktiv = self._model.get_bom_properties("Dispoaktiv")
|
||||||
active_id = self._model.get_current_item_id()
|
active_id = self._model.get_current_item_id()
|
||||||
|
|||||||
@@ -125,8 +125,6 @@ class Controller(Observer):
|
|||||||
|
|
||||||
sivas_bom = SivasBOM(asm_id, data_dir, asm_id + '.json', load_local_bom, excluded_bom_ids)
|
sivas_bom = SivasBOM(asm_id, data_dir, asm_id + '.json', load_local_bom, excluded_bom_ids)
|
||||||
|
|
||||||
bom_existence = False if not sivas_bom.bom_data else True
|
|
||||||
|
|
||||||
sivas_bom.extend_asm_bom(asm_id, {"Parent": None, "Position": "10/0"}) # Ergänzt Stücklistendaten um eine fiktive Baugruppe "None", in der die Haupt-Teilenummer als Pos. 1 vorliegt. Dadurch können auch Teilenummern ohne Stückliste korrekt abgebildet werden
|
sivas_bom.extend_asm_bom(asm_id, {"Parent": None, "Position": "10/0"}) # Ergänzt Stücklistendaten um eine fiktive Baugruppe "None", in der die Haupt-Teilenummer als Pos. 1 vorliegt. Dadurch können auch Teilenummern ohne Stückliste korrekt abgebildet werden
|
||||||
|
|
||||||
rd_data = RuleDesignerDatabaseConfig(data_dir, rd_dbase_filename, load_local_rd_ids)
|
rd_data = RuleDesignerDatabaseConfig(data_dir, rd_dbase_filename, load_local_rd_ids)
|
||||||
@@ -140,7 +138,6 @@ class Controller(Observer):
|
|||||||
self._model.set_red_ids(pending_ids)
|
self._model.set_red_ids(pending_ids)
|
||||||
self._model.set_parent_children(sivas_bom.parent_children)
|
self._model.set_parent_children(sivas_bom.parent_children)
|
||||||
self._model.set_asm_id(asm_id)
|
self._model.set_asm_id(asm_id)
|
||||||
self._model.set_bom_existence(bom_existence)
|
|
||||||
self._model.set_bom_properties(sivas_bom.all_bom_properties)
|
self._model.set_bom_properties(sivas_bom.all_bom_properties)
|
||||||
|
|
||||||
def set_model(self, model):
|
def set_model(self, model):
|
||||||
|
|||||||
Reference in New Issue
Block a user