mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Переделано под один мега-проект LMS с общим CMakeLists.txt
This commit is contained in:
178
InstructorsAndTrainees/docTasks/module.cpp
Normal file
178
InstructorsAndTrainees/docTasks/module.cpp
Normal file
@@ -0,0 +1,178 @@
|
||||
#include "module.h"
|
||||
|
||||
int Module::lastID = 0;
|
||||
|
||||
Module::Module():
|
||||
type (ModuleType::TYPE_PM),
|
||||
parentModule(nullptr),
|
||||
ID(0)
|
||||
{
|
||||
ID = ++lastID;
|
||||
}
|
||||
|
||||
Module::~Module()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Module *Module::getModuleByID(int id)
|
||||
{
|
||||
if(getID() == id)
|
||||
return this;
|
||||
|
||||
if(this->getType() == ModuleType::TYPE_PM)
|
||||
{
|
||||
PM* PMmodul = static_cast<PM*>(this);
|
||||
|
||||
Module* ptrModule = nullptr;
|
||||
|
||||
for(Module* module: PMmodul->getListChildModules())
|
||||
{
|
||||
ptrModule = module->getModuleByID(id);
|
||||
|
||||
if(ptrModule)
|
||||
return ptrModule;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
PM::PM():
|
||||
modelIdentCode (),
|
||||
pmIssuer (),
|
||||
pmNumber (),
|
||||
pmVolume ()
|
||||
{
|
||||
type = ModuleType::TYPE_PM;
|
||||
|
||||
langRus.title = "";
|
||||
langEng.title = "";
|
||||
}
|
||||
|
||||
PM::~PM()
|
||||
{
|
||||
for(Module* module: listChildModules)
|
||||
{
|
||||
if(module->getType() == ModuleType::TYPE_PM)
|
||||
delete static_cast<PM*>(module);
|
||||
else
|
||||
delete static_cast<DM*>(module);
|
||||
}
|
||||
listChildModules.clear();
|
||||
}
|
||||
|
||||
void PM::initialize(QString modelIdentCode, QString pmIssuer, QString pmNumber, QString pmVolume)
|
||||
{
|
||||
this->modelIdentCode = modelIdentCode;
|
||||
this->pmIssuer = pmIssuer;
|
||||
this->pmNumber = pmNumber;
|
||||
this->pmVolume = pmVolume;
|
||||
}
|
||||
|
||||
void PM::setLangStructRus(QString title)
|
||||
{
|
||||
langRus.title = title;
|
||||
}
|
||||
|
||||
PM::pmLangStruct PM::getLangStructRus()
|
||||
{
|
||||
return langRus;
|
||||
}
|
||||
|
||||
void PM::setLangStructEng(QString title)
|
||||
{
|
||||
langEng.title = title;
|
||||
}
|
||||
|
||||
void PM::addChildModule(Module *childModule)
|
||||
{
|
||||
listChildModules.append(childModule);
|
||||
}
|
||||
|
||||
QList<Module *> PM::getListChildModules()
|
||||
{
|
||||
return listChildModules;
|
||||
}
|
||||
|
||||
QString PM::pmCode()
|
||||
{
|
||||
return (modelIdentCode + "-" + pmIssuer + "-" + pmNumber + "-" + pmVolume).toUpper();
|
||||
}
|
||||
|
||||
|
||||
|
||||
DM::DM():
|
||||
modelIdentCode (),
|
||||
systemDiffCode (),
|
||||
systemCode (),
|
||||
subSystemCode (),
|
||||
subSubSystemCode (),
|
||||
assyCode (),
|
||||
disassyCode (),
|
||||
disassyCodeVariant (),
|
||||
infoCode (),
|
||||
infoCodeVariant (),
|
||||
itemLocationCode ()
|
||||
{
|
||||
type = ModuleType::TYPE_DM;
|
||||
|
||||
setLangStructRus("", "", "", "", "");
|
||||
setLangStructEng("", "", "", "", "");
|
||||
}
|
||||
|
||||
DM::~DM()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void DM::initialize(QString modelIdentCode, QString systemDiffCode, QString systemCode,
|
||||
QString subSystemCode, QString subSubSystemCode, QString assyCode,
|
||||
QString disassyCode, QString disassyCodeVariant, QString infoCode,
|
||||
QString infoCodeVariant, QString itemLocationCode)
|
||||
{
|
||||
this->modelIdentCode = modelIdentCode;
|
||||
this->systemDiffCode = systemDiffCode;
|
||||
this->systemCode = systemCode;
|
||||
this->subSystemCode = subSystemCode;
|
||||
this->subSubSystemCode = subSubSystemCode;
|
||||
this->assyCode = assyCode;
|
||||
this->disassyCode = disassyCode;
|
||||
this->disassyCodeVariant = disassyCodeVariant;
|
||||
this->infoCode = infoCode;
|
||||
this->infoCodeVariant = infoCodeVariant;
|
||||
this->itemLocationCode = itemLocationCode;
|
||||
}
|
||||
|
||||
void DM::setLangStructRus(QString techName, QString infoName, QString pdf, QString bookmark, QString xml)
|
||||
{
|
||||
langRus.techName = techName;
|
||||
langRus.infoName = infoName;
|
||||
langRus.pdf = pdf;
|
||||
langRus.bookmark = bookmark;
|
||||
langRus.xml = xml;
|
||||
}
|
||||
|
||||
DM::dmLangStruct DM::getLangStructRus()
|
||||
{
|
||||
return langRus;
|
||||
}
|
||||
|
||||
void DM::setLangStructEng(QString techName, QString infoName, QString pdf, QString bookmark, QString xml)
|
||||
{
|
||||
langEng.techName = techName;
|
||||
langEng.infoName = infoName;
|
||||
langEng.pdf = pdf;
|
||||
langEng.bookmark = bookmark;
|
||||
langEng.xml = xml;
|
||||
}
|
||||
|
||||
QString DM::dmCode()
|
||||
{
|
||||
return (modelIdentCode + "-" + systemDiffCode + "-" + systemCode + "-" +
|
||||
subSystemCode + subSubSystemCode + "-" + assyCode + "-" +
|
||||
disassyCode + disassyCodeVariant + "-" + infoCode +
|
||||
infoCodeVariant + "-" + itemLocationCode).toUpper();
|
||||
}
|
||||
Reference in New Issue
Block a user