Vor Durchführung der Migration wird nun zusätzlich geprüft, ob Teilenummern in der Blacklist fehlen. Ist immer dann der Fall, wenn eine Teilenummer eine Stückliste besitzt und sich darin Positionsnummern befinden, die beigestellt oder dispo-inaktiv sind.
This commit is contained in:
+26
-1
@@ -45,7 +45,8 @@ messages = {
|
||||
"wrong_impftool_path": 'Pfad zur DataPrepUtility.exe nicht gefunden. Bitte setenv.bat prüfen.' ,
|
||||
"too_many_logfiles":'Keine eindeutige Logdatei zum aktuellen DataPrep Prozess gefunden. Bitte löschen Sie die überflüssigen .log files',
|
||||
"some_error_in_log":'Log Datei enthält einen Fehler. Bitte prüfen.',
|
||||
"preparation_sucessful":'Preparation mit der Datei {path} erfolgreich'
|
||||
"preparation_sucessful":'Preparation mit der Datei {path} erfolgreich',
|
||||
"missing_in_blacklist":"{teilenummer} fehlt in der Blacklist, da sich in dessen Stückliste beigestellte oder dispo-inaktive Positionen befinden.\n\nBitte {teilenummer} in die Blacklist aufnehmen!"
|
||||
}
|
||||
|
||||
|
||||
@@ -135,6 +136,14 @@ class Controller(Observer):
|
||||
self._model.set_parent_children(parent_children)
|
||||
self._model.set_asm_id(asmid)
|
||||
|
||||
def get_bom_properties(self, asmid):
|
||||
""" Holt sich aus Stückliste alle Eigenschaften der Stücklistenpositionen (z.B. Bezeichnung)"""
|
||||
data_dir = self.get_env("data")
|
||||
assembly_data = SivasAssemblyData(data_dir, asmid + '.json')
|
||||
|
||||
bom_properties = assembly_data.get_all_bom_properties()
|
||||
self._model.set_bom_properties(bom_properties)
|
||||
|
||||
def set_model(self, model):
|
||||
self._model = model
|
||||
self.attach(model)
|
||||
@@ -159,6 +168,7 @@ class Controller(Observer):
|
||||
self._model.set_asm_id(asm_id)
|
||||
# hole alle Daten vom Server
|
||||
self.get_csv_files_of_asm(asm_id, loadlocal)
|
||||
self.get_bom_properties(asm_id)
|
||||
#self._load_cid_data2model(asm_id)
|
||||
|
||||
def set_current_item_id(self, cid):
|
||||
@@ -260,6 +270,8 @@ class Controller(Observer):
|
||||
text = text.format(Zeichentyp=values['Zeichentyp'], Feldname=values['Feldname'] )
|
||||
if 'path' in values:
|
||||
text = text.format(path=values['path'])
|
||||
if 'teilenummer' in values:
|
||||
text = text.format(teilenummer=values['teilenummer'])
|
||||
return messagebox.showerror(title, text)
|
||||
|
||||
def callback(self, key, value):
|
||||
@@ -303,12 +315,23 @@ class Controller(Observer):
|
||||
|
||||
def migrieren(self):
|
||||
self._view.reset_labels()
|
||||
|
||||
# Pruefung ob Pflichtfelder befuellt
|
||||
(ok, missing) = self._model.check_pflichtfelder()
|
||||
if ok == False:
|
||||
labels = ', '.join(missing)
|
||||
self.message_error('Fehlende Angaben', 'missing_data', {'Labels':labels})
|
||||
self._view.highlight_labels(missing)
|
||||
return
|
||||
|
||||
# Pruefung ob assembly-id in Blacklist fehlt
|
||||
(ok, missing_blacklist_id) = self._model.check_blacklist_completeness()
|
||||
if ok == False:
|
||||
id = ''.join(missing_blacklist_id)
|
||||
self.message_error('Fehlend in Blacklist', 'missing_in_blacklist', {'teilenummer': id})
|
||||
return
|
||||
|
||||
# Pruefung, ob unzulaessige Zeichen vorhanden
|
||||
invalid_chars = self._config.InvalidChars.get()
|
||||
(ok, wrongchars) = self._model.check_improper_chars(invalid_chars)
|
||||
if ok == False:
|
||||
@@ -317,6 +340,8 @@ class Controller(Observer):
|
||||
self.message_error('Unzulässige Zeichen', 'unzulaessige_zeichen', {'Zeichentyp': chars, 'Feldname':label})
|
||||
self._view.highlight_labels(wrongchars)
|
||||
return
|
||||
|
||||
# Pruefung Feldinhalte
|
||||
ok = self._model.check_content()
|
||||
if ok == True:
|
||||
data = self._model.create_migration_data()
|
||||
|
||||
Reference in New Issue
Block a user