-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproject_loader.cpp
137 lines (118 loc) · 5.25 KB
/
project_loader.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include "project_loader.h"
Project_Loader::Project_Loader(QObject *parent)
: QObject{parent}
{
mfile = new MFile(this);
connect(mfile, SIGNAL(sig_Log(QString)), this, SIGNAL(sig_Log(QString)));
connect(mfile, SIGNAL(sig_Err(QString)), this, SIGNAL(sig_Err(QString)));
}
bool Project_Loader::add_Project(QString string_FileName, Project* project)
{
QStringList stringList_Split;
QString string_TNumber;
QStringList stringList_Parts;
Tool* tool = new Tool(this);
ToolList* toolList = project->get_ToolList();
QFileInfo fileInfo = QFileInfo(string_FileName);
stringList_Split = fileInfo.baseName().split("_");
if(stringList_Split.size() < 4)
{
emit sig_Err("----------------------------------------------------------------");
emit sig_Err("| Falscher DateiName |");
emit sig_Err("----------------------------------------------------------------");
emit sig_Err("| Zeichnungsnummer_Zeichnungsstand_Spannung_Wiederholfertigung |");
emit sig_Err("| E14207809_E02_Sp2_0 |");
emit sig_Err("| Beheben Sie das Problem und starten Sie die Applikation neu |");
emit sig_Err("----------------------------------------------------------------");
return false;
}
mfile->setFileName(string_FileName);
if(!mfile->read_Content())
return false;
foreach(QString string_Line, mfile->get_Content())
{
//qDebug() << string_Line;
stringList_Parts = string_Line.split("||");
if(stringList_Parts.size() >= 4)
{
tool->clear();
string_TNumber = stringList_Parts.at(0);
string_TNumber = string_TNumber.remove(" ");
tool->set_Number(string_TNumber);
tool->set_ToolGL(stringList_Parts.at(2));
tool->set_ToolAL(stringList_Parts.at(3));
tool->set_ToolFL(dbManager->getFreistellLaenge(string_TNumber));
//string_TDescription = stringList_Parts.at(1);
tool->set_Description(dbManager->getDescription(string_TNumber));
tool->set_HalterName(dbManager->getHolder(string_TNumber));
toolList->insert_Tool(tool, true);
//sig_Log(Q_FUNC_INFO + string_TNumber + QString(" | ") + tool->get_HalterName());
}
}
toolList->sort_ID();
project->logProjectData();
return true;
}
bool Project_Loader::load_Project(QString string_FileName, Project* project)
{
QStringList stringList_Split;
QString string_TNumber;
QStringList stringList_Parts;
Tool* tool = new Tool(this);
ToolList* toolList = project->get_ToolList();
// Zerlege den Dateinamen nach jedem "_" und schreibe die Einzeilstuecke
// in stringList_Split
QFileInfo fileInfo = QFileInfo(string_FileName);
stringList_Split = fileInfo.baseName().split("_");
// Wenn der Dateiname nicht nach dem Muster E1234567_E1_Sp1_0 aufgebaut ist
// gib eine Fehlermeldung aus und brech die Funktion ab
if(stringList_Split.size() < 4)
{
emit sig_Err("----------------------------------------------------------------");
emit sig_Err("| Falscher DateiName |");
emit sig_Err("----------------------------------------------------------------");
emit sig_Err("| Zeichnungsnummer_Zeichnungsstand_Spannung_Wiederholfertigung |");
emit sig_Err("| E14207809_E02_Sp2_0 |");
emit sig_Err("| Beheben Sie das Problem und starten Sie die Applikation neu |");
emit sig_Err("----------------------------------------------------------------");
return false;
}
// Übernehm aus dem aufgeteilten Dateinamen den
// Projektname, Projektstatus und die Spannung
// Erzeuge für das Projekt den ProjectFullName
// Aktualisiere die Wiederholfertigung aus der Datenbank
project->clear();
project->set_ProjectName(stringList_Split.at(0));
project->set_ProjectStatus(stringList_Split.at(1));
project->set_ProjectClamping(stringList_Split.at(2));
project->set_ProjectFullName();
project->set_RepetitiveManufacturing();
toolList->clear();
//Lese die Datei ein
mfile->setFileName(string_FileName);
if(!mfile->read_Content())
return false;
//Geh durch die Datei und Schreib die Werkzeuge in die toolList
foreach(QString string_Line, mfile->get_Content())
{
stringList_Parts = string_Line.split("||");
if(stringList_Parts.size() >= 4)
{
tool->clear();
string_TNumber = stringList_Parts.at(0);
string_TNumber = string_TNumber.remove(" ");
tool->set_Number(string_TNumber);
tool->set_ToolGL(stringList_Parts.at(2));
tool->set_ToolAL(stringList_Parts.at(3));
tool->set_ToolFL(dbManager->getFreistellLaenge(string_TNumber));
tool->set_Description(dbManager->getDescription(string_TNumber));
tool->set_HalterName(dbManager->getHolder(string_TNumber));
toolList->insert_Tool(tool);
}
}
// Sortiere die ToolList nach der Werkzeugnummer
toolList->sort_ID();
// Schreibe das Logfile
project->logProjectData();
return true;
}