mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Рефакт TaskAMMFIMTreePreparation
This commit is contained in:
@@ -13,37 +13,68 @@ TaskAMMFIMTreePreparation::TaskAMMFIMTreePreparation(TypeListTreeAMMFIM type, QO
|
||||
|
||||
TaskAMMFIMTreePreparation::~TaskAMMFIMTreePreparation()
|
||||
{
|
||||
mtxAccess.lock();
|
||||
deleteAllModulsAMM();
|
||||
deleteAllTaskFIM();
|
||||
mtxAccess.unlock();
|
||||
}
|
||||
|
||||
void TaskAMMFIMTreePreparation::stopParser()
|
||||
void TaskAMMFIMTreePreparation::slot_stopParserPreparation()
|
||||
{
|
||||
flagStop = true;
|
||||
}
|
||||
|
||||
TaskAmmFim* TaskAMMFIMTreePreparation::getTaskFIMbyID(int id)
|
||||
TaskAmmFim TaskAMMFIMTreePreparation::getTaskFIMbyID(int id)
|
||||
{
|
||||
for(int i = 0; i < listTaskFIM.count(); i++)
|
||||
mtxAccess.lock();
|
||||
for(int i = 0; i < listTasksFIM.count(); i++)
|
||||
{/*Задачи*/
|
||||
TaskAmmFim* task = listTaskFIM.at(i);
|
||||
if(task->id == id)
|
||||
TaskAmmFim task = listTasksFIM.at(i);
|
||||
if(task.id == id)
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return task;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
mtxAccess.unlock();
|
||||
return TaskAmmFim();
|
||||
}
|
||||
|
||||
Module* TaskAMMFIMTreePreparation::getModuleAMMbyID(int id)
|
||||
TaskAmmFim TaskAMMFIMTreePreparation::getTaskAMMbyID(int id)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
for(int i = 0; i < listTasksAMM.count(); i++)
|
||||
{/*Задачи*/
|
||||
TaskAmmFim task = listTasksAMM.at(i);
|
||||
if(task.id == id)
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return task;
|
||||
}
|
||||
}
|
||||
mtxAccess.unlock();
|
||||
return TaskAmmFim();
|
||||
}
|
||||
|
||||
ModuleType TaskAMMFIMTreePreparation::getTypeModuleAMMbyID(int id)
|
||||
{
|
||||
ModuleType type = ModuleType::TYPE_PM;
|
||||
Module* ptrModule = nullptr;
|
||||
|
||||
mtxAccess.lock();
|
||||
for(Module* module: listAllModulesAMM)
|
||||
{
|
||||
ptrModule = module->getModuleByID(id);
|
||||
if(ptrModule)
|
||||
return ptrModule;
|
||||
{
|
||||
type = ptrModule->getType();
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return type;
|
||||
}
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
mtxAccess.unlock();
|
||||
return type;
|
||||
}
|
||||
|
||||
QTreeWidgetItem *TaskAMMFIMTreePreparation::addModuleToTreeWidgetAMM(Module *module, bool flOnlyActive, QTreeWidgetItem *parentItem)
|
||||
@@ -97,7 +128,10 @@ QTreeWidgetItem *TaskAMMFIMTreePreparation::addModuleToTreeWidgetAMM(Module *mod
|
||||
|
||||
void TaskAMMFIMTreePreparation::loadAMMtasksFromXML(QByteArray array)
|
||||
{
|
||||
mtxAccess.lock();
|
||||
|
||||
deleteAllModulsAMM();
|
||||
listTasksAMM.clear();
|
||||
|
||||
QDomDocument docTasksDOM;
|
||||
|
||||
@@ -105,14 +139,21 @@ void TaskAMMFIMTreePreparation::loadAMMtasksFromXML(QByteArray array)
|
||||
|
||||
QDomElement manifestElement = docTasksDOM.firstChildElement("manifest");
|
||||
if(manifestElement.isNull())
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return;
|
||||
}
|
||||
|
||||
domElementParserAMM(manifestElement, nullptr);
|
||||
|
||||
mtxAccess.unlock();
|
||||
}
|
||||
|
||||
void TaskAMMFIMTreePreparation::loadFIMtasksFromXML(QByteArray array)
|
||||
{
|
||||
deleteAllTaskFIM();
|
||||
mtxAccess.lock();
|
||||
|
||||
listTasksFIM.clear();
|
||||
|
||||
QDomDocument docTasksDOM;
|
||||
|
||||
@@ -120,17 +161,26 @@ void TaskAMMFIMTreePreparation::loadFIMtasksFromXML(QByteArray array)
|
||||
|
||||
QDomElement RRJTasksElement = docTasksDOM.firstChildElement("RRJTasks");
|
||||
if(RRJTasksElement.isNull())
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return;
|
||||
}
|
||||
|
||||
QDomElement taskElement = RRJTasksElement.firstChildElement();
|
||||
if(taskElement.isNull())
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return;
|
||||
}
|
||||
|
||||
do
|
||||
{/*task*/
|
||||
|
||||
if(flagStop)
|
||||
{
|
||||
mtxAccess.unlock();
|
||||
return;
|
||||
}
|
||||
|
||||
QString name = taskElement.nodeName();
|
||||
QDomNamedNodeMap nodeMap = taskElement.attributes();
|
||||
@@ -187,21 +237,15 @@ void TaskAMMFIMTreePreparation::loadFIMtasksFromXML(QByteArray array)
|
||||
}
|
||||
}while(! (malfunctionElement = malfunctionElement.nextSiblingElement()).isNull());
|
||||
}
|
||||
listTaskFIM.append(task);
|
||||
listTasksFIM.append(*task);
|
||||
delete task;
|
||||
}
|
||||
}while (! (taskElement = taskElement.nextSiblingElement()).isNull());
|
||||
|
||||
mtxAccess.unlock();
|
||||
return;
|
||||
}
|
||||
|
||||
void TaskAMMFIMTreePreparation::deleteAllTaskFIM()
|
||||
{
|
||||
for(TaskAmmFim* task: listTaskFIM)
|
||||
delete task;
|
||||
|
||||
listTaskFIM.clear();
|
||||
}
|
||||
|
||||
void TaskAMMFIMTreePreparation::deleteAllModulsAMM()
|
||||
{
|
||||
for(Module* module: listAllModulesAMM)
|
||||
@@ -326,6 +370,19 @@ void TaskAMMFIMTreePreparation::domElementParserAMM(QDomElement element, Module*
|
||||
if(moduleParent == nullptr)
|
||||
listAllModulesAMM.append(module);
|
||||
|
||||
if(module)
|
||||
if(module->getType() == ModuleType::TYPE_DM)
|
||||
{
|
||||
TaskAmmFim* task = nullptr;
|
||||
task = new TaskAmmFim();
|
||||
task->setID(module->getID());
|
||||
task->ammProcedure.title = static_cast<DM*>(module)->getLangStructRus().techName;
|
||||
task->ammProcedure.dmCode = static_cast<DM*>(module)->dmCode();
|
||||
|
||||
listTasksAMM.append(*task);
|
||||
delete task;
|
||||
}
|
||||
|
||||
}while (! (childElement = childElement.nextSiblingElement()).isNull());
|
||||
}
|
||||
|
||||
@@ -346,13 +403,17 @@ void TaskAMMFIMTreePreparation::slot_prepareAMMListItems(QByteArray array, bool
|
||||
Q_EMIT signal_listAMMItemsReady(listItems);
|
||||
}
|
||||
|
||||
void TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee(QList<TaskAmmFim> listTask)
|
||||
void TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee(QList<TaskAmmFim> listTasks)
|
||||
{
|
||||
qDebug() << "TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee thread ID " << QThread::currentThreadId();
|
||||
|
||||
listItems.clear();
|
||||
|
||||
for(TaskAmmFim task : listTask)
|
||||
mtxAccess.lock();
|
||||
|
||||
this->listTasksAMM = listTasks;
|
||||
|
||||
for(TaskAmmFim task : listTasks)
|
||||
{
|
||||
QTreeWidgetItem* item = nullptr;
|
||||
|
||||
@@ -394,6 +455,8 @@ void TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee(QList<TaskAmm
|
||||
listItems.append(item);
|
||||
}
|
||||
|
||||
mtxAccess.unlock();
|
||||
|
||||
Q_EMIT signal_listAMMItemsReady(listItems);
|
||||
}
|
||||
|
||||
@@ -405,9 +468,11 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItems(QByteArray array)
|
||||
|
||||
listItems.clear();
|
||||
|
||||
for(TaskAmmFim* taskPtr : listTaskFIM)
|
||||
mtxAccess.lock();
|
||||
|
||||
for(TaskAmmFim taskPtr : listTasksFIM)
|
||||
{/*Задачи*/
|
||||
TaskAmmFim task = *taskPtr;
|
||||
TaskAmmFim task = taskPtr;
|
||||
|
||||
QTreeWidgetItem* itemTask = new QTreeWidgetItem();
|
||||
|
||||
@@ -478,22 +543,27 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItems(QByteArray array)
|
||||
listItems.append(itemTask);
|
||||
}
|
||||
|
||||
mtxAccess.unlock();
|
||||
|
||||
Q_EMIT signal_listFIMItemsReady(listItems);
|
||||
}
|
||||
|
||||
void TaskAMMFIMTreePreparation::slot_prepareFIMListItemsForTrainee(QList<TaskAmmFim> listTask)
|
||||
void TaskAMMFIMTreePreparation::slot_prepareFIMListItemsForTrainee(QList<TaskAmmFim> listTasks)
|
||||
{
|
||||
qDebug() << "TaskAMMFIMTreePreparation::slot_prepareFIMListItemsForTrainee thread ID " << QThread::currentThreadId();
|
||||
|
||||
listItems.clear();
|
||||
|
||||
for(TaskAmmFim task : listTask)
|
||||
mtxAccess.lock();
|
||||
this->listTasksFIM = listTasks;
|
||||
|
||||
for(TaskAmmFim task : listTasks)
|
||||
{/*Задачи*/
|
||||
//TaskAmmFim* task = listTaskAmmFim.at(i);
|
||||
TaskAmmFim* taskNew = nullptr;
|
||||
taskNew = new TaskAmmFim();
|
||||
*taskNew = task;
|
||||
listTaskFIM.append(taskNew);
|
||||
//TaskAmmFim* taskNew = nullptr;
|
||||
//taskNew = new TaskAmmFim();
|
||||
//*taskNew = task;
|
||||
//listTaskFIM.append(taskNew);
|
||||
|
||||
QTreeWidgetItem* itemTask = new QTreeWidgetItem();
|
||||
|
||||
@@ -565,5 +635,7 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItemsForTrainee(QList<TaskAmm
|
||||
listItems.append(itemTask);
|
||||
}
|
||||
|
||||
mtxAccess.unlock();
|
||||
|
||||
Q_EMIT signal_listFIMItemsReady(listItems);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user