Generierung der Export Daten. TOS Gruppenfolge aus der TOS Nummer impl.
This commit is contained in:
+217
-10
@@ -553,9 +553,9 @@ class CadItem(DataModel):
|
||||
|
||||
def message_info(self, title, key, questions='ok'):
|
||||
return self._controller.message_info(title, key, questions)
|
||||
def message_error(self, title, key, values=None):
|
||||
def message_error(self, title, key, values={}):
|
||||
return self._controller.message_error(title, key, values)
|
||||
def message_question(self, title, key, values=None):
|
||||
def message_question(self, title, key, values={}):
|
||||
return self._controller.message_question(title, key, values)
|
||||
|
||||
def check_key_existence(self, key, missing):
|
||||
@@ -666,7 +666,9 @@ class CadItem(DataModel):
|
||||
return None
|
||||
|
||||
|
||||
def check_content(self):
|
||||
def check_content(self):
|
||||
"""Überprüfe die Inhalte nach Längen, Zeichenketten und korrekten Kombinationen der Eingaben"""
|
||||
|
||||
content = self.get_content('bezeichnung1_sivas', 'bezeichnung1_neu')
|
||||
if len(content) > 50:
|
||||
self.message_error('Bezeichnung1 zu gross', 'bezeichnung_zu_gross')
|
||||
@@ -686,6 +688,10 @@ class CadItem(DataModel):
|
||||
self.message_error('Teilenummer ohne Rüstcode', 'teilenummer_ohne_ruestcode')
|
||||
return False
|
||||
|
||||
if pdm_kategorie_neu == "<undefiniert>":
|
||||
self.message_error('Kategorie nicht definiert', 'pdm_kategorie_definiert')
|
||||
return False
|
||||
|
||||
# Fertigungsart
|
||||
fertigungsart = self.get_content('fertigungsart_sivas', 'fertigungsart_neu')
|
||||
arten = ["3D - 3D-drucken", "EX - extrudieren", "GI - gießen", "PR - verpressen", "SN - strangpressen", "SP - spritzgießen", "SW - schweißen"]
|
||||
@@ -809,24 +815,225 @@ class CadItem(DataModel):
|
||||
# return
|
||||
|
||||
# Farbe
|
||||
farbe = self._model.get_gui_data("farbe_neu")
|
||||
if werkstofftyp == '':
|
||||
self.message_error('Werkstofftyp nicht eingetragen', 'werkstofftyp_not_exist')
|
||||
farbe = self.get_gui_data("farbe_neu")
|
||||
oberflaeche = self.get_gui_data("oberflaeche_neu")
|
||||
if farbe == '' and (oberflaeche == "Masterbatch (Grundfarbe)" or \
|
||||
oberflaeche == "eloxieren" or\
|
||||
oberflaeche == "pulverbeschichten" or\
|
||||
oberflaeche == "lackieren"):
|
||||
self.message_error('Farbe nicht festgelegt', 'color_not_defined')
|
||||
return False
|
||||
|
||||
|
||||
# Überprüfung ob eine Ergänzung der Angaben zu Material in der Config Datei nötig wäre
|
||||
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
|
||||
aus_halbzeug = self.get_gui_data("aus_halbzeug_neu")
|
||||
if pdm_kategorie_neu == "Einzelteil" and aus_halbzeug == False:
|
||||
mlist = self._controller.get_config().Materialien.get_all_materials()
|
||||
material_sivas = self._model.get_gui_data("material_sivas")
|
||||
material_sivas = self.get_gui_data("material_sivas")
|
||||
if material_sivas not in mlist:
|
||||
self._model.message_info('Materialinformation', 'material_infos')
|
||||
self.message_info('Materialinformation', 'material_infos')
|
||||
|
||||
return True
|
||||
|
||||
def create_migration_file(self, data):
|
||||
"""erzeugt Verzeichnis und Datei"""
|
||||
model3d_neu = self.get_gui_data("model3d_neu")
|
||||
datenbank = self.get_gui_data("datenbank")
|
||||
path = os.path.dirname(model3d_neu)
|
||||
filename = os.path.basename(model3d_neu)
|
||||
|
||||
# IF Datenbank == "Produktiv":
|
||||
# New_path = \\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\02_Bedarfspool\
|
||||
# ELSE:
|
||||
# New_path = \\ssg.local\freigaben\SIVAS_CAD_EDM\Schulung\Migration\02_Bedarfspool
|
||||
zielpfad = self._config.Pfade.get('Zielpfade', datenbank )
|
||||
username = os.environ.get("USERNAME")
|
||||
userpfad = os.path.join(zielpfad, username)
|
||||
# Wenn User, der migriert, noch keinen Ordner im Ziel besitzt,
|
||||
# soll dieser automatisch beim Klick auf "Migrieren" angelegt werden.
|
||||
if not os.path.exists(userpfad):
|
||||
os.mkdir(userpfad)
|
||||
|
||||
def tos_to_dict(self, tosgruppe, num2refId, num2child):
|
||||
tosstr = str(tosgruppe)
|
||||
ret = dict()
|
||||
keybefore = ''
|
||||
for n in range(1, len(tosstr)+1):
|
||||
if n == 1:
|
||||
spaltenName = "TOS-Gruppe"
|
||||
else:
|
||||
spaltenName = keybefore
|
||||
key = tosstr[0:n]
|
||||
if key in num2refId:
|
||||
parentKey = num2refId[key]
|
||||
content = num2child[key]
|
||||
ret[spaltenName] = content
|
||||
else:
|
||||
spaltenName = keybefore
|
||||
ret[spaltenName] = num2child[key]
|
||||
keybefore = parentKey
|
||||
return ret
|
||||
|
||||
def create_migration_data(self):
|
||||
pass
|
||||
data = {
|
||||
"Delete": "" ,
|
||||
"Document Number": "-",
|
||||
"Revision": "-",
|
||||
"Project Name": "-",
|
||||
"Teamcenter Item Type": "-",
|
||||
"Part Type": "-",
|
||||
"TC_ImportTime": "-",
|
||||
"Last Saved Version": "-",
|
||||
"Subject": "-",
|
||||
"Category": "-",
|
||||
"Keywords": "-",
|
||||
}
|
||||
all_data = self.get_all_gui_data()
|
||||
# data_keys = [ "Author", "Teilenummer", "StartRevision",
|
||||
# "Bezeichnung1", "Bezeichnung2", "Bezeichnung4", "KategorieNE",
|
||||
# "BeschaffungsartNE", "TOS-Gruppe_ERP", "Dispogruppe",
|
||||
# "Dispolaufgruppe", "WerkstofftypNE", "WerkstoffNE",
|
||||
# "Oberflaechenbehandlung", "Farbe", "KalkulationsartNE",
|
||||
# "RuestcodeAusw", "Fertigungsart", "Allgemeintoleranz",
|
||||
# "HalbzeugInternAngabe", "Halbzeug", "HalbzeugOhneSaegeliste",
|
||||
# "EinheitNE", "FOS-GruppeNE", "Hersteller", "HerstellerTeilenummer",
|
||||
# "Serien-Status", "Kantennorm", "Oberflaechennorm", "Massnorm",
|
||||
# "Tolerierungsnorm","Änderungsbeschreibung",
|
||||
# "Freigabevermerk", "ZusaetzlicheInformationen"]
|
||||
# Path
|
||||
teilenummer = self.get_gui_data("teilenummer")
|
||||
data["Teilenummer"] = teilenummer
|
||||
|
||||
# Bezeichnung um "- BG" ergänzen
|
||||
pdm_kategorie_neu = self.get_gui_data("pdm_kategorie_neu")
|
||||
bezeichnung1 = self.get_content('bezeichnung1_sivas', 'bezeichnung1_neu')
|
||||
title = bezeichnung1
|
||||
if pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||
title = bezeichnung1 + " - BG"
|
||||
data["Title"] = title
|
||||
|
||||
# Bezeichnung 4
|
||||
bezeichnung4 = ""
|
||||
if pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||
bezeichnung4 = " - BG"
|
||||
data["Bezeichnung4"] = bezeichnung4
|
||||
|
||||
# Author
|
||||
username = os.environ.get("USERNAME")
|
||||
data["Author"] = username
|
||||
|
||||
# Startrevision
|
||||
startrevision = self.get_content('aenderungsindex_sivas', 'aenderungsindex_neu')
|
||||
data["StartRevision"] = startrevision
|
||||
|
||||
# aus Halbzeug
|
||||
aus_halbzeug = self.get_gui_data("aus_halbzeug_neu")
|
||||
if aus_halbzeug:
|
||||
data["Aus Halbzeug"] = "Ja"
|
||||
else:
|
||||
data["Aus Halbzeug"] = ""
|
||||
|
||||
# Fertigungsart
|
||||
fertigungsart = self.get_content('fertigungsart_sivas', 'fertigungsart_neu')
|
||||
trans = {
|
||||
"3D - 3D-drucken":"3D-drucken",
|
||||
"3D - 3D drucken":"3D-drucken",
|
||||
"BI - biegen":"biegen",
|
||||
"DR - drehen":"drehen",
|
||||
"EX - extrudieren":"extrudieren",
|
||||
"FR - fräsen":"fräsen",
|
||||
"GI - gießen":"gießen",
|
||||
"LW - laser- und wasserstrahlschneiden":"laser-/wasserstrahlschneiden",
|
||||
"PR - verpressen":"verpressen",
|
||||
"SA - sägen":"sägen",
|
||||
"SN - strangpressen":"strangpressen",
|
||||
"SP - spritzgießen":"spritzgießen",
|
||||
"ST - stanzen":"stanzen",
|
||||
"SW - schweißen":"schweißen",
|
||||
}
|
||||
data["Fertigungsart"] = trans[fertigungsart]
|
||||
|
||||
# FOS Gruppe
|
||||
fos_gruppe = self.get_content('fosGruppe_sivas', 'fosGruppe_neu')
|
||||
trans = {
|
||||
"0 - Einzelteil":"Einzelteil",
|
||||
"1 - Baugruppe":"Baugruppe",
|
||||
}
|
||||
data["Fertigungsart"] = trans[fos_gruppe]
|
||||
|
||||
|
||||
# Mengeneinheit
|
||||
mengeneinheit = self.get_content('mengeneinheit_sivas', 'mengeneinheit_neu')
|
||||
trans = {
|
||||
"L - Liter":"L",
|
||||
"mm - Millimeter":"mm",
|
||||
"Stck - Stück":"Stck",
|
||||
"M - Meter":"m",
|
||||
"m2 - Quadratmeter":"m²",
|
||||
"dm³ - Kubikdezimeter":"dm³",
|
||||
"m³ - Kubikmeter":"m³",
|
||||
}
|
||||
data["Mengeneinheit"] = trans[mengeneinheit]
|
||||
|
||||
|
||||
# Halbzeug
|
||||
halbzeug = self.get_content('halbzeug_sivas', 'halbzeug_neu')
|
||||
trans = {
|
||||
"WAHR":"Ja",
|
||||
"FALSCH":"",
|
||||
}
|
||||
data["Halbzeug"] = trans[halbzeug]
|
||||
|
||||
# TOS-Gruppe
|
||||
# Nr. Spaltenname in Impfdatei Wert in Impfdatei
|
||||
# 3 TOS-Gruppe Schönenberger Produkt
|
||||
# 33 TOS_Schoenenberger_Produkt ILS IntraLogistikSystem
|
||||
# 330 TOS_ILS ILS 2.0
|
||||
# 3303 TOS_ILS_2 Laufprofil 2.0
|
||||
(num2refId, num2child) = self._controller.get_config().TOSGruppen.get_Id2TosGroup()
|
||||
tosgruppe = self.get_content('tosgruppe_sivas', 'tosgruppe_neu')
|
||||
newcolumns = self.tos_to_dict(tosgruppe, num2refId, num2child)
|
||||
data.update(newcolumns)
|
||||
|
||||
|
||||
# Dispogruppe
|
||||
dispogruppe = self.get_content('dispogruppe_sivas', 'dispogruppe_neu')
|
||||
trans = {
|
||||
"10 - Fahrstrecke":"Fahrstrecke",
|
||||
"20 - Förderer":"Förderer",
|
||||
"30 - Gerüst":"Gerüst",
|
||||
"40 - Betriebsmittel":"Betriebsmittel",
|
||||
"50 - Automation":"Automation",
|
||||
"60 - Kleinteile":"Kleinteil",
|
||||
"70 - Rohmaterial":"Rohmaterial",
|
||||
"80 - Sonstiges Intern":"Sonstiges Intern",
|
||||
"90 - Baustelleneinrichtung":"Baustelleneinrichtung",
|
||||
"100 - Sonderkonstruktionen":"Sonderkonstruktionen",
|
||||
}
|
||||
data["Dispogruppe"] = trans[dispogruppe]
|
||||
|
||||
|
||||
# Dispolaufgruppe
|
||||
dispolaufgruppe = self.get_content('dispolaufgruppe_sivas', 'dispolaufgruppe_neu')
|
||||
trans = {
|
||||
"10 - Omniflo":"Omniflo",
|
||||
"20 - Intra Logistic System + Alt-HFS":"Intra Logistic System + alt-HFS",
|
||||
"30 - Fremd-Transportsysteme + SSG-Anbauten":"Fremd-Transportsysteme + SSG-Anbauten",
|
||||
"40 - Spinnereikomponenten":"Spinnereikomponente",
|
||||
"45 - Automotiv":"Automotiv",
|
||||
"50 - Nicht eindeutig, Sonder":"Nicht eindeutig, Sonder",
|
||||
}
|
||||
data["Dispolaufgruppe"] = trans[dispolaufgruppe]
|
||||
|
||||
# ZusaetzlicheInformationen
|
||||
# Die Werte aus den Feldern Automatische Zusatzinformationen und
|
||||
# Benutzerdefinierte Zusatzinformationen müssen vor dem Eintragen in
|
||||
# die Impfdatei zusammengesetzt werden
|
||||
zusatzinfos_auto_text = self.get_gui_data("zusatzinfos_auto_text")
|
||||
zusatzinfos_bendef_text = self.get_gui_data("zusatzinfos_bendef_text")
|
||||
data["ZusaetzlicheInformationen"] = zusatzinfos_auto_text + zusatzinfos_bendef_text
|
||||
|
||||
|
||||
|
||||
class CadItemRepository:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user