From e87c1b930cf831a9e28b3140c9a047f8c3047a4f Mon Sep 17 00:00:00 2001 From: "s.steuer" Date: Tue, 6 Feb 2024 14:57:57 +0100 Subject: [PATCH] =?UTF-8?q?Extrahierung=20der=20migrierten=20oder=20nicht?= =?UTF-8?q?=20migrierten=20Teilenummern=20der=20Baugruppenst=C3=BCckliste?= =?UTF-8?q?=20eingebaut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/manage_configs.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/manage_configs.py b/lib/manage_configs.py index 2231521..37c7ee5 100644 --- a/lib/manage_configs.py +++ b/lib/manage_configs.py @@ -2,6 +2,8 @@ import os import json from configparser import ConfigParser import pandas as pd +import update_database + """ Diese Lib verwaltet alle Config dateien (als .cfg oder als .json) von CreoMigrate @@ -133,11 +135,15 @@ class RuleDesignerDatabaseConfig(CSVBasedConfig): class MigrationStatus: def __init__(self, file_dir, assembly_json): + self.file_dir = file_dir + self.assembly_json = assembly_json.replace(".json", "") self.sivas_assembly_data = SivasAssemblyData(file_dir, assembly_json) self.ruledesigner_data = RuleDesignerDatabaseConfig(file_dir) - def get_migration_status(self): + def get_migration_status(self) -> dict: """Gibt zurück, ob die Teilenummern der Baugruppe bereits migriert wurden, oder nicht""" + update_database.get_sivas_dbase(sivas_id=self.assembly_json, out_dir=self.file_dir) + update_database.get_rd_dbase() sivas_assembly_ids = self.sivas_assembly_data.get_assembly_ids() ruledesigner_ids = self.ruledesigner_data.get_ruledesigner_ids() @@ -146,6 +152,18 @@ class MigrationStatus: migration_status[sivas_assembly_id] = True if sivas_assembly_id in ruledesigner_ids else False return migration_status + def get_migrated_ids(self) -> list: + """Gibt alle Teilenummern aus der Baugruppenstückliste zurück, die bereits in RuleDesigner migriert wurden""" + + migrated_ids = [assembly_id for assembly_id, migration_status in self.get_migration_status().items() if migration_status is True] + return migrated_ids + + def get_unmigrated_ids(self) -> list: + """Gibt alle Teilenummern aus der Baugruppenstückliste zurück, deren Migration in RuleDesigner noch aussteht""" + + unmigrated_ids = [assembly_id for assembly_id, migration_status in self.get_migration_status().items() if migration_status is False] + return unmigrated_ids + class TOSGroupsConfig(JsonBasedConfig): """Auslesen der Config Angaben zu den TOS Gruppen"""