FIX - Wenn Teilenummern aus tieferen Baugruppenebenen dispoinaktiv oder beigestellt waren wurde für die aktuelle Baugruppenebene rückgemeldet, dass sie in der Blacklist fehlt. Teilenummer aus tieferen Baugruppenebenen dürfen aber nicht berücksichtigt werden.
This commit is contained in:
+17
-4
@@ -518,6 +518,13 @@ class CadItem(DataModel):
|
||||
else:
|
||||
return None
|
||||
|
||||
def get_all_children_of_id(self, sivasId):
|
||||
parent_children = self.get_parent_children()
|
||||
if str(sivasId) in parent_children:
|
||||
return parent_children[str(sivasId)]
|
||||
else:
|
||||
return None
|
||||
|
||||
def sivas_data_from_csv(self, cid):
|
||||
path = os.path.join(self._controller.get_env("data"), cid + '.csv')
|
||||
if os.path.exists(path):
|
||||
@@ -728,11 +735,17 @@ class CadItem(DataModel):
|
||||
|
||||
config = self._controller.get_config()
|
||||
blacklist_ids = set(config.get_blacklist())
|
||||
|
||||
ids_dispoaktiv_status = self.get_bom_properties("Dispoaktiv")
|
||||
ids_beistellung_status = self.get_bom_properties("Lieferantenbeistellung")
|
||||
|
||||
if not "False" in ids_dispoaktiv_status.values() or not "True" in ids_beistellung_status.values():
|
||||
children_ids = self.get_all_children_of_id(teilenummer) # In der Prüfung dürfen nur die Kinder der aktuellen BG-Ebene, aber keine Kinder aus tieferen BG-Ebenen berücksichtigt werden
|
||||
|
||||
dispoaktiv_statuses = {}
|
||||
beistellung_statuses = {}
|
||||
|
||||
for child_id in children_ids:
|
||||
dispoaktiv_statuses[child_id] = self.get_bom_properties("Dispoaktiv")[child_id]
|
||||
beistellung_statuses[child_id] = self.get_bom_properties("Lieferantenbeistellung")[child_id]
|
||||
|
||||
if "False" not in dispoaktiv_statuses.values() and "True" not in beistellung_statuses.values():
|
||||
return (True, {})
|
||||
|
||||
if teilenummer not in blacklist_ids:
|
||||
|
||||
Reference in New Issue
Block a user