diff --git a/lib/caditem.py b/lib/caditem.py index 2fa3478..06d5222 100644 --- a/lib/caditem.py +++ b/lib/caditem.py @@ -243,7 +243,6 @@ class CadItem(DataModel): self._read_only_items = {} self._controller = None self._logic = None - self._has_bom = None def clear(self): asm_id = self.get_asm_id() # das einzige was beim Löschen des Modells bleiben sollte, ist die übergeordnete Baugruppennummer @@ -296,14 +295,6 @@ class CadItem(DataModel): raise ValueError(f"Property '{property_name}' doesn't exist in BOM! Check property spelling!") else: 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 def set_read_only_dict(self, data:dict): @@ -2603,11 +2594,13 @@ class GuiLogic(): ruestcode = self._model.get_gui_data("ruestcode_sivas") werkstoffdiskr_neu = self._model.get_gui_data("werkstoffdiskr_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 beistellungen = 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_dispoaktiv = self._model.get_bom_properties("Dispoaktiv") active_id = self._model.get_current_item_id() diff --git a/lib/controller.py b/lib/controller.py index db99dba..9cc8424 100644 --- a/lib/controller.py +++ b/lib/controller.py @@ -125,8 +125,6 @@ class Controller(Observer): 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 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_parent_children(sivas_bom.parent_children) self._model.set_asm_id(asm_id) - self._model.set_bom_existence(bom_existence) self._model.set_bom_properties(sivas_bom.all_bom_properties) def set_model(self, model):