mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
ref 2
This commit is contained in:
@@ -100,6 +100,7 @@ bool DocsUpdater::slot_updateDocsXML()
|
|||||||
}
|
}
|
||||||
|
|
||||||
emit signal_DocsChanged();
|
emit signal_DocsChanged();
|
||||||
|
emit signal_UpdateDocsCompleted();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ private:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void signal_DocsChanged();
|
void signal_DocsChanged();
|
||||||
|
void signal_UpdateDocsCompleted();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UpdateController* updateController;
|
UpdateController* updateController;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#include "clienthandler.h"
|
#include "clienthandler.h"
|
||||||
|
#include "recognizesystem.h"
|
||||||
|
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
#include <QXmlStreamWriter>
|
|
||||||
#include <QXmlStreamReader>
|
|
||||||
#include <QXmlStreamAttribute>
|
|
||||||
#include <QFile>
|
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
#include <QErrorMessage>
|
|
||||||
|
|
||||||
#include "serverlmswidget.h"
|
#include "serverlmswidget.h"
|
||||||
#include "dialogsettingstray.h"
|
#include "dialogsettingstray.h"
|
||||||
@@ -33,16 +28,16 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
|
|||||||
assetsManager(nullptr),
|
assetsManager(nullptr),
|
||||||
docsUpdater(nullptr),
|
docsUpdater(nullptr),
|
||||||
cfiController(nullptr),
|
cfiController(nullptr),
|
||||||
first(true),
|
|
||||||
language(languageENG),
|
language(languageENG),
|
||||||
errorCode(0),
|
errorCode(0),
|
||||||
stateVersionMaterials("..."),
|
state_VersionMaterials("..."),
|
||||||
dbIsConnected(false),
|
state_dbIsConnected(false),
|
||||||
stateServer(EStateServer::stoped),
|
state_Server(EStateServer::stoped),
|
||||||
stateBlockAutorization(EStateBlockAutorization::unblocked),
|
state_BlockAutorization(EStateBlockAutorization::unblocked),
|
||||||
flStartInitialization(false),
|
flStartInitialization(false),
|
||||||
flTryConnectionToDB(false),
|
flTryConnectionToDB(false),
|
||||||
flNeedReconnectDB(false)
|
flNeedReconnectDB(false),
|
||||||
|
flTryUpdateDocs(false)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
@@ -63,55 +58,78 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
|
|||||||
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
||||||
waitAnimationWidget->setParent(this);
|
waitAnimationWidget->setParent(this);
|
||||||
waitAnimationWidget->initialize(movie,this);
|
waitAnimationWidget->initialize(movie,this);
|
||||||
|
|
||||||
updateStateOnlyVersionMaterials();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerLMSWidget::~ServerLMSWidget()
|
ServerLMSWidget::~ServerLMSWidget()
|
||||||
{
|
{
|
||||||
if(flStartInitialization)
|
if(server)
|
||||||
{
|
|
||||||
emit signal_StopServer();
|
emit signal_StopServer();
|
||||||
//server->stopServer();
|
|
||||||
|
|
||||||
|
if(updateThread)
|
||||||
|
{
|
||||||
updateThread->quit();
|
updateThread->quit();
|
||||||
updateThread->wait();
|
updateThread->wait();
|
||||||
delete updateThread;
|
delete updateThread;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(serverThread)
|
||||||
|
{
|
||||||
serverThread->quit();
|
serverThread->quit();
|
||||||
serverThread->wait();
|
serverThread->wait();
|
||||||
delete serverThread;
|
delete serverThread;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(server)
|
||||||
delete server;
|
delete server;
|
||||||
|
if(commonClientHandler)
|
||||||
delete commonClientHandler;
|
delete commonClientHandler;
|
||||||
|
if(dataParser)
|
||||||
delete dataParser;
|
delete dataParser;
|
||||||
|
if(processingSystem)
|
||||||
delete processingSystem;
|
delete processingSystem;
|
||||||
|
if(updateController)
|
||||||
delete updateController;
|
delete updateController;
|
||||||
|
if(cfiController)
|
||||||
delete cfiController;
|
delete cfiController;
|
||||||
|
if(docsUpdater)
|
||||||
delete docsUpdater;
|
delete docsUpdater;
|
||||||
|
if(assetsManager)
|
||||||
delete assetsManager;
|
delete assetsManager;
|
||||||
|
if(chatSystem)
|
||||||
delete chatSystem;
|
delete chatSystem;
|
||||||
|
|
||||||
|
if(loggerThread)
|
||||||
|
{
|
||||||
loggerThread->quit();
|
loggerThread->quit();
|
||||||
loggerThread->wait();
|
loggerThread->wait();
|
||||||
delete loggerThread;
|
delete loggerThread;
|
||||||
|
|
||||||
delete providerDBLMS;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
waitAnimationWidget->hideWithStop();
|
if(providerDBLMS)
|
||||||
delete waitAnimationWidget;
|
delete providerDBLMS;
|
||||||
|
|
||||||
|
|
||||||
|
if(waitAnimationWidget)
|
||||||
|
{
|
||||||
|
waitAnimationWidget->hideWithStop();
|
||||||
|
delete waitAnimationWidget;
|
||||||
|
}
|
||||||
|
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//INTERFACE
|
//INTERFACE
|
||||||
void ServerLMSWidget::start()
|
void ServerLMSWidget::startInitialization()
|
||||||
{
|
{
|
||||||
startInitialization_step0();
|
startInitialization_step0();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString ServerLMSWidget::getLanguage()
|
||||||
|
{
|
||||||
|
return language;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//EVENT
|
//EVENT
|
||||||
|
|
||||||
@@ -122,6 +140,7 @@ void ServerLMSWidget::changeEvent(QEvent *event)
|
|||||||
{
|
{
|
||||||
ui->retranslateUi(this); // переведём окно заново
|
ui->retranslateUi(this); // переведём окно заново
|
||||||
|
|
||||||
|
//И все состояния
|
||||||
updateStateOnlyServer();
|
updateStateOnlyServer();
|
||||||
updateStateOnlyDB();
|
updateStateOnlyDB();
|
||||||
updateStateOnlyVersionMaterials();
|
updateStateOnlyVersionMaterials();
|
||||||
@@ -193,9 +212,9 @@ void ServerLMSWidget::initLanguageInterfase()
|
|||||||
|
|
||||||
void ServerLMSWidget::updateStateOnlyServer()
|
void ServerLMSWidget::updateStateOnlyServer()
|
||||||
{
|
{
|
||||||
if(stateServer == EStateServer::started)
|
if(state_Server == EStateServer::started)
|
||||||
{
|
{
|
||||||
if(stateBlockAutorization == EStateBlockAutorization::unblocked)
|
if(state_BlockAutorization == EStateBlockAutorization::unblocked)
|
||||||
{
|
{
|
||||||
ui->lblOnOffText->setText(tr("started"));
|
ui->lblOnOffText->setText(tr("started"));
|
||||||
ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
|
ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
|
||||||
@@ -212,18 +231,18 @@ void ServerLMSWidget::updateStateOnlyServer()
|
|||||||
ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/stoped.png")));
|
ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/stoped.png")));
|
||||||
}
|
}
|
||||||
|
|
||||||
emit signal_updateStateServer(stateServer, stateBlockAutorization);
|
emit signal_Tray_UpdateStateServer(state_Server, state_BlockAutorization);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::updateStateOnlyDB()
|
void ServerLMSWidget::updateStateOnlyDB()
|
||||||
{
|
{
|
||||||
if(dbIsConnected)
|
if(state_dbIsConnected)
|
||||||
{
|
{
|
||||||
//Настройки БД
|
//Настройки БД
|
||||||
QString strDBsettings = tr("connected") + QString(" [%1 (%2) %3 : %4]").arg(dbSettings.dbName,
|
QString strDBsettings = tr("connected") + QString(" [%1 (%2) %3 : %4]").arg(state_dbSettings.dbName,
|
||||||
dbSettings.dbType,
|
state_dbSettings.dbType,
|
||||||
dbSettings.dbHostName,
|
state_dbSettings.dbHostName,
|
||||||
QString::number(dbSettings.dbPort));
|
QString::number(state_dbSettings.dbPort));
|
||||||
ui->lblDBsettings->setText(strDBsettings);
|
ui->lblDBsettings->setText(strDBsettings);
|
||||||
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
|
ui->lblDBisConnected->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
|
||||||
}
|
}
|
||||||
@@ -239,7 +258,7 @@ void ServerLMSWidget::updateStateOnlyDB()
|
|||||||
|
|
||||||
void ServerLMSWidget::updateStateOnlyVersionMaterials()
|
void ServerLMSWidget::updateStateOnlyVersionMaterials()
|
||||||
{
|
{
|
||||||
ui->lblVersionText->setText(stateVersionMaterials);
|
ui->lblVersionText->setText(state_VersionMaterials);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -252,8 +271,6 @@ void ServerLMSWidget::slot_UpdateListClients(QStringList listFullName)
|
|||||||
|
|
||||||
for (const QString clientFullName : listFullName)
|
for (const QString clientFullName : listFullName)
|
||||||
{
|
{
|
||||||
//QString clientFullName = handler->getClient()->getFullName();
|
|
||||||
|
|
||||||
ui->listWidget_Clients->addItem(clientFullName);
|
ui->listWidget_Clients->addItem(clientFullName);
|
||||||
ui->listWidget_Clients->scrollToBottom();
|
ui->listWidget_Clients->scrollToBottom();
|
||||||
ui->listWidget_Clients->setCurrentRow(ui->listWidget_Clients->count() - 1);
|
ui->listWidget_Clients->setCurrentRow(ui->listWidget_Clients->count() - 1);
|
||||||
@@ -276,14 +293,14 @@ void ServerLMSWidget::slot_ErrorPostgreSQL(QString text)
|
|||||||
|
|
||||||
void ServerLMSWidget::slot_StateConnectionToDB(bool dbIsConnected, DataBaseSettings dbSettings)
|
void ServerLMSWidget::slot_StateConnectionToDB(bool dbIsConnected, DataBaseSettings dbSettings)
|
||||||
{
|
{
|
||||||
this->dbIsConnected = dbIsConnected;
|
this->state_dbIsConnected = dbIsConnected;
|
||||||
this->dbSettings = dbSettings;
|
this->state_dbSettings = dbSettings;
|
||||||
updateStateOnlyDB();
|
updateStateOnlyDB();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::slot_StateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization)
|
void ServerLMSWidget::slot_StateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization)
|
||||||
{
|
{
|
||||||
if(this->stateServer != stateServer)
|
if(this->state_Server != stateServer)
|
||||||
{
|
{
|
||||||
if(stateServer == EStateServer::started)
|
if(stateServer == EStateServer::started)
|
||||||
{
|
{
|
||||||
@@ -298,14 +315,14 @@ void ServerLMSWidget::slot_StateServer(EStateServer stateServer, EStateBlockAuto
|
|||||||
emit signal_Tray_ShowMessage(tr("Server is stoped!"));
|
emit signal_Tray_ShowMessage(tr("Server is stoped!"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this->stateServer = stateServer;
|
this->state_Server = stateServer;
|
||||||
this->stateBlockAutorization = stateBlockAutorization;
|
this->state_BlockAutorization = stateBlockAutorization;
|
||||||
updateStateOnlyServer();
|
updateStateOnlyServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::slot_StateVersionMaterials(QString versionStr)
|
void ServerLMSWidget::slot_StateVersionMaterials(QString versionStr)
|
||||||
{
|
{
|
||||||
this->stateVersionMaterials = versionStr;
|
this->state_VersionMaterials = versionStr;
|
||||||
updateStateOnlyVersionMaterials();
|
updateStateOnlyVersionMaterials();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,6 +346,12 @@ void ServerLMSWidget::slot_ResultTryConnectDb(bool result)
|
|||||||
emit signal_Tray_ShowMessage(tr("Database connection OK!") + "\n" + strDBsettings);
|
emit signal_Tray_ShowMessage(tr("Database connection OK!") + "\n" + strDBsettings);
|
||||||
|
|
||||||
on_btnStartServer_clicked();
|
on_btnStartServer_clicked();
|
||||||
|
|
||||||
|
if(flStartInitialization)
|
||||||
|
{
|
||||||
|
flStartInitialization = false;
|
||||||
|
startInitialization_step3();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -357,10 +380,27 @@ void ServerLMSWidget::slot_ResultTryDisConnectDb(bool result)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ServerLMSWidget::slot_SetError(int code)
|
||||||
void ServerLMSWidget::slot_UpdateDocs()
|
|
||||||
{
|
{
|
||||||
emit signal_updateDocsXML();
|
if(code == 100)
|
||||||
|
{
|
||||||
|
QString textError = tr("No Client files found!") + "\n\n" +
|
||||||
|
tr("* check Application for the presence of a folder with a build \n"
|
||||||
|
"* check SharedData for a folder with the base version and the name base");
|
||||||
|
|
||||||
|
SpecMsgBox::CriticalClose(this, textError);
|
||||||
|
}
|
||||||
|
errorCode = code;
|
||||||
|
emit signal_StartInitHasError(code);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ServerLMSWidget::slot_UpdateDocsCompleted()
|
||||||
|
{
|
||||||
|
if(flTryUpdateDocs)
|
||||||
|
{
|
||||||
|
flTryUpdateDocs = false;
|
||||||
|
startInitialization_step2();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::slot_UpdateControllerInitializeFinished()
|
void ServerLMSWidget::slot_UpdateControllerInitializeFinished()
|
||||||
@@ -368,22 +408,17 @@ void ServerLMSWidget::slot_UpdateControllerInitializeFinished()
|
|||||||
startInitialization_step1();
|
startInitialization_step1();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ServerLMSWidget::slot_BlockAutorizationIndicate(bool block, QString blocker, QString types)
|
void ServerLMSWidget::slot_BlockAutorizationIndicate(bool block, QString blocker, QString types)
|
||||||
{
|
{
|
||||||
if(block)
|
if(block)
|
||||||
{
|
{
|
||||||
//server->blockAutorization();
|
|
||||||
Logger::instance().log(QString("BLOCK from: %1").arg(blocker), LogLevel::INFO);
|
Logger::instance().log(QString("BLOCK from: %1").arg(blocker), LogLevel::INFO);
|
||||||
//if(type != "")
|
Logger::instance().log(QString("Blockers: %1").arg(types), LogLevel::DEBUG);
|
||||||
Logger::instance().log(QString("Blockers: %1").arg(types), LogLevel::DEBUG);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//server->unBlockAutorization();
|
|
||||||
Logger::instance().log(QString("UNBLOCK from: %1").arg(blocker), LogLevel::INFO);
|
Logger::instance().log(QString("UNBLOCK from: %1").arg(blocker), LogLevel::INFO);
|
||||||
//if(type != "")
|
Logger::instance().log(QString("Blockers: %1").arg(types), LogLevel::DEBUG);
|
||||||
Logger::instance().log(QString("Blockers: %1").arg(types), LogLevel::DEBUG);
|
|
||||||
}
|
}
|
||||||
updateStateOnlyServer();
|
updateStateOnlyServer();
|
||||||
}
|
}
|
||||||
@@ -402,39 +437,17 @@ void ServerLMSWidget::slot_LanguageChanged(QString language)
|
|||||||
void ServerLMSWidget::on_btnStartServer_clicked()
|
void ServerLMSWidget::on_btnStartServer_clicked()
|
||||||
{
|
{
|
||||||
emit signal_StartServer();
|
emit signal_StartServer();
|
||||||
//if(server->startServer())
|
|
||||||
{
|
|
||||||
//QApplication::setOverrideCursor(Qt::WaitCursor);
|
|
||||||
|
|
||||||
ui->btnStartServer->setEnabled(false);
|
ui->btnStartServer->setEnabled(false);
|
||||||
ui->btnStopServer->setEnabled(true);
|
ui->btnStopServer->setEnabled(true);
|
||||||
//slot_BlockAutorizationIndicate(false, "SERVER");
|
|
||||||
|
|
||||||
//updateStateOnlyServer();
|
|
||||||
|
|
||||||
//emit signal_Tray_ShowMessage(tr("Server is started!"));
|
|
||||||
|
|
||||||
//QApplication::restoreOverrideCursor();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::on_btnStopServer_clicked()
|
void ServerLMSWidget::on_btnStopServer_clicked()
|
||||||
{
|
{
|
||||||
emit signal_StopServer();
|
emit signal_StopServer();
|
||||||
//if(server->stopServer())
|
|
||||||
{
|
|
||||||
//QApplication::setOverrideCursor(Qt::WaitCursor);
|
|
||||||
|
|
||||||
ui->btnStopServer->setEnabled(false);
|
ui->btnStopServer->setEnabled(false);
|
||||||
ui->btnStartServer->setEnabled(true);
|
ui->btnStartServer->setEnabled(true);
|
||||||
//slot_BlockAutorizationIndicate(true, "SERVER");
|
|
||||||
|
|
||||||
//updateStateOnlyServer();
|
|
||||||
|
|
||||||
//emit signal_Tray_ShowMessage(tr("Server is stoped!"));
|
|
||||||
|
|
||||||
//QApplication::restoreOverrideCursor();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::on_btnSettings_clicked()
|
void ServerLMSWidget::on_btnSettings_clicked()
|
||||||
@@ -450,10 +463,7 @@ void ServerLMSWidget::on_btnSettings_clicked()
|
|||||||
dlg.setWindowFlags(dlg.windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
dlg.setWindowFlags(dlg.windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||||
|
|
||||||
connect(&dlg, &DialogSettingsTray::signal_LanguageChanged, this, &ServerLMSWidget::slot_LanguageChanged);
|
connect(&dlg, &DialogSettingsTray::signal_LanguageChanged, this, &ServerLMSWidget::slot_LanguageChanged);
|
||||||
//connect(&dlg, &DialogSettingsTray::signal_UpdateStyleSheet, this, &ServerLMSWidget::slot_UpdateStyleSheet);
|
connect(&dlg, &DialogSettingsTray::signal_UpdateDocs, docsUpdater, &DocsUpdater::slot_updateDocsXML);
|
||||||
|
|
||||||
connect(&dlg, &DialogSettingsTray::signal_UpdateDocs, this, &ServerLMSWidget::slot_UpdateDocs);
|
|
||||||
|
|
||||||
|
|
||||||
switch( dlg.exec() )
|
switch( dlg.exec() )
|
||||||
{
|
{
|
||||||
@@ -465,17 +475,11 @@ void ServerLMSWidget::on_btnSettings_clicked()
|
|||||||
{
|
{
|
||||||
on_btnStopServer_clicked();
|
on_btnStopServer_clicked();
|
||||||
|
|
||||||
//providerDBLMS->deAuthorizationAll();
|
|
||||||
|
|
||||||
//providerDBLMS->DisConnectionFromDB();
|
|
||||||
|
|
||||||
flNeedReconnectDB = true;
|
flNeedReconnectDB = true;
|
||||||
flTryConnectionToDB = false;
|
flTryConnectionToDB = false;
|
||||||
|
|
||||||
emit signal_TryDisConnectionFromDB();
|
emit signal_TryDisConnectionFromDB();
|
||||||
|
|
||||||
//updateStateOnlyDB();
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -520,10 +524,12 @@ void ServerLMSWidget::startInitialization_step0()
|
|||||||
updateController = new UpdateController;
|
updateController = new UpdateController;
|
||||||
updateController->moveToThread(updateThread);
|
updateController->moveToThread(updateThread);
|
||||||
|
|
||||||
docsUpdater = new DocsUpdater(updateController/*, this*/);
|
docsUpdater = new DocsUpdater(updateController);
|
||||||
docsUpdater->moveToThread(updateThread);
|
docsUpdater->moveToThread(updateThread);
|
||||||
|
|
||||||
cfiController = new CfiController(updateController/*, this*/);
|
connect(docsUpdater, &DocsUpdater::signal_UpdateDocsCompleted, this, &ServerLMSWidget::slot_UpdateDocsCompleted);
|
||||||
|
|
||||||
|
cfiController = new CfiController(updateController);
|
||||||
cfiController->moveToThread(updateThread);
|
cfiController->moveToThread(updateThread);
|
||||||
|
|
||||||
processingSystem = new ProcessingSystem(providerDBLMS, updateController, docsUpdater, cfiController);
|
processingSystem = new ProcessingSystem(providerDBLMS, updateController, docsUpdater, cfiController);
|
||||||
@@ -563,24 +569,31 @@ void ServerLMSWidget::startInitialization_step0()
|
|||||||
Logger::instance().setLoggingType(LoggingType::WIDGET);
|
Logger::instance().setLoggingType(LoggingType::WIDGET);
|
||||||
Logger::instance().setLogToFile(true);
|
Logger::instance().setLogToFile(true);
|
||||||
|
|
||||||
connect(this, &ServerLMSWidget::sigUpdateControllerInitialize, updateController, &UpdateController::initialize);
|
connect(this, &ServerLMSWidget::signal_UpdateControllerInitialize, updateController, &UpdateController::initialize);
|
||||||
connect(updateController, &UpdateController::sigInitializeFinished, this, &ServerLMSWidget::slot_UpdateControllerInitializeFinished);
|
connect(updateController, &UpdateController::sigInitializeFinished, this, &ServerLMSWidget::slot_UpdateControllerInitializeFinished);
|
||||||
connect(this, &ServerLMSWidget::sigCalculateFullHash, updateController, &UpdateController::calculateFullHash, Qt::AutoConnection);
|
connect(updateController, &UpdateController::sigErrorRequired, this, &ServerLMSWidget::slot_SetError);
|
||||||
connect(updateController, &UpdateController::sigErrorRequired, this, &ServerLMSWidget::setError);
|
connect(updateController, &UpdateController::sigUpdateDocs, docsUpdater, &DocsUpdater::slot_updateDocsXML, Qt::AutoConnection);
|
||||||
connect(updateController, &UpdateController::sigUpdateDocs, this, &ServerLMSWidget::slot_UpdateDocs, Qt::AutoConnection);
|
|
||||||
connect(&Logger::instance(), &Logger::sigLogToWidget, this, &ServerLMSWidget::slot_AddMessageToLog, Qt::QueuedConnection);
|
connect(&Logger::instance(), &Logger::sigLogToWidget, this, &ServerLMSWidget::slot_AddMessageToLog, Qt::QueuedConnection);
|
||||||
|
|
||||||
connect(assetsManager, &AssetsManager::signal_setVersion, this, &ServerLMSWidget::slot_StateVersionMaterials);
|
connect(assetsManager, &AssetsManager::signal_setVersion, this, &ServerLMSWidget::slot_StateVersionMaterials);
|
||||||
|
|
||||||
connect(this, &ServerLMSWidget::signal_updateDocsXML, docsUpdater, &DocsUpdater::slot_updateDocsXML);
|
connect(this, &ServerLMSWidget::signal_UpdateDocsXML, docsUpdater, &DocsUpdater::slot_updateDocsXML);
|
||||||
|
|
||||||
emit sigUpdateControllerInitialize(commonClientHandler, dataParser, assetsManager);
|
emit signal_UpdateControllerInitialize(commonClientHandler, dataParser, assetsManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::startInitialization_step1()
|
void ServerLMSWidget::startInitialization_step1()
|
||||||
{
|
{
|
||||||
|
if(errorCode == 100)
|
||||||
|
return;
|
||||||
|
|
||||||
Logger::instance().log("Update docs.xml...");
|
Logger::instance().log("Update docs.xml...");
|
||||||
slot_UpdateDocs();
|
flTryUpdateDocs = true;
|
||||||
|
emit signal_UpdateDocsXML();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ServerLMSWidget::startInitialization_step2()
|
||||||
|
{
|
||||||
Logger::instance().log("Update docs.xml completed!");
|
Logger::instance().log("Update docs.xml completed!");
|
||||||
|
|
||||||
ui->btnStopServer->setEnabled(false);
|
ui->btnStopServer->setEnabled(false);
|
||||||
@@ -592,17 +605,15 @@ void ServerLMSWidget::startInitialization_step1()
|
|||||||
updateStateOnlyDB();
|
updateStateOnlyDB();
|
||||||
updateStateOnlyVersionMaterials();
|
updateStateOnlyVersionMaterials();
|
||||||
|
|
||||||
//QApplication::restoreOverrideCursor();
|
|
||||||
|
|
||||||
if(hasError() == 100)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Logger::instance().log("Try connection to DB...");
|
Logger::instance().log("Try connection to DB...");
|
||||||
tryConnectionToDB();
|
tryConnectionToDB();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ServerLMSWidget::startInitialization_step3()
|
||||||
|
{
|
||||||
waitAnimationWidget->hideWithStop();
|
waitAnimationWidget->hideWithStop();
|
||||||
|
|
||||||
emit signal_InitializeFinished();
|
emit signal_StartInitFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,35 +1,25 @@
|
|||||||
#ifndef SERVERLMSWIDGET_H
|
#ifndef SERVERLMSWIDGET_H
|
||||||
#define SERVERLMSWIDGET_H
|
#define SERVERLMSWIDGET_H
|
||||||
|
|
||||||
#include "ServerLMS_global.h"
|
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QTcpServer>
|
|
||||||
#include <QTcpSocket>
|
|
||||||
#include <QXmlStreamWriter>
|
|
||||||
#include <QMap>
|
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
#include <QMutex>
|
|
||||||
#include <QSystemTrayIcon>
|
#include <QSystemTrayIcon>
|
||||||
|
|
||||||
#include <Systems/Parsers/dataparser.h>
|
#include "ServerLMS_global.h"
|
||||||
#include <Systems/sendsystem.h>
|
|
||||||
#include <Systems/processingsystem.h>
|
|
||||||
#include <Systems/updatecontroller.h>
|
|
||||||
#include <Systems/assetsmanager.h>
|
|
||||||
#include <Systems/recognizesystem.h>
|
|
||||||
#include <Systems/logger.h>
|
|
||||||
#include <Systems/commonclienthandler.h>
|
|
||||||
#include <Systems/assetsmanager.h>
|
|
||||||
|
|
||||||
#include <Data/typesDataServerClient.h>
|
#include "logger.h"
|
||||||
#include <Data/Client.h>
|
#include "waitanimationwidget.h"
|
||||||
|
#include "specialmessagebox.h"
|
||||||
|
|
||||||
|
#include "Parsers/dataparser.h"
|
||||||
|
#include "processingsystem.h"
|
||||||
|
#include "updatecontroller.h"
|
||||||
|
#include "assetsmanager.h"
|
||||||
|
#include "commonclienthandler.h"
|
||||||
|
#include "assetsmanager.h"
|
||||||
#include "multithreadserver.h"
|
#include "multithreadserver.h"
|
||||||
#include "providerdblms.h"
|
#include "providerdblms.h"
|
||||||
#include "docsupdater.h"
|
#include "docsupdater.h"
|
||||||
#include "waitanimationwidget.h"
|
|
||||||
#include "specialmessagebox.h"
|
|
||||||
#include "cficontroller.h"
|
#include "cficontroller.h"
|
||||||
|
|
||||||
|
|
||||||
@@ -38,11 +28,9 @@ class ServerLMSWidget;
|
|||||||
}
|
}
|
||||||
|
|
||||||
class DataParser;
|
class DataParser;
|
||||||
class SendSystem;
|
|
||||||
class ProcessingSystem;
|
class ProcessingSystem;
|
||||||
class Logger;
|
class Logger;
|
||||||
class UpdateController;
|
class UpdateController;
|
||||||
class RecognizeSystem;
|
|
||||||
class ClientHandler;
|
class ClientHandler;
|
||||||
class MultiThreadServer;
|
class MultiThreadServer;
|
||||||
class AssetsManager;
|
class AssetsManager;
|
||||||
@@ -64,34 +52,31 @@ public:
|
|||||||
~ServerLMSWidget();
|
~ServerLMSWidget();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void start();
|
void startInitialization();
|
||||||
|
QString getLanguage();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void changeEvent(QEvent * event) override;
|
void changeEvent(QEvent * event) override;
|
||||||
void resizeEvent(QResizeEvent *event) override;
|
void resizeEvent(QResizeEvent *event) override;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
//MAINWINDOW, ТРЕЙ
|
||||||
//сигнал смены языка
|
//сигнал смены языка
|
||||||
void signal_LanguageChanged(QString language);
|
void signal_LanguageChanged(QString language);
|
||||||
|
|
||||||
//сигнал вывода сообщения из трея
|
//сигнал вывода сообщения из трея
|
||||||
void signal_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg = QSystemTrayIcon::Information);
|
void signal_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg = QSystemTrayIcon::Information);
|
||||||
|
//синал обновления состояния сервера (иконка в трее)
|
||||||
|
void signal_Tray_UpdateStateServer(EStateServer state_Server, EStateBlockAutorization state_BlockAutorization);
|
||||||
|
//сигналы меню трея
|
||||||
void signal_Menu_ShowWindow();
|
void signal_Menu_ShowWindow();
|
||||||
void signal_Menu_HideWindow();
|
void signal_Menu_HideWindow();
|
||||||
|
//сигнал о наличии ошибок начальной инициализации
|
||||||
|
void signal_StartInitHasError(int code);
|
||||||
|
//сигнал об окончании начальной инициализации
|
||||||
|
void signal_StartInitFinished();
|
||||||
|
|
||||||
void sigRecognize();
|
void signal_UpdateControllerInitialize(CommonClientHandler* commonClientHandler,DataParser *dataParser,AssetsManager *assetManager);
|
||||||
void sigCalculateFullHash();
|
void signal_UpdateDocsXML();
|
||||||
void sigUpdateControllerInitialize(CommonClientHandler* commonClientHandler,DataParser *dataParser,AssetsManager *assetManager);
|
|
||||||
|
|
||||||
//void signal_DocsChanged();
|
|
||||||
void signal_hasError(int code);
|
|
||||||
|
|
||||||
void signal_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization);
|
|
||||||
|
|
||||||
void signal_updateDocsXML();
|
|
||||||
|
|
||||||
void signal_InitializeFinished();
|
|
||||||
|
|
||||||
void signal_TryConnectionToDB();
|
void signal_TryConnectionToDB();
|
||||||
void signal_TryDisConnectionFromDB();
|
void signal_TryDisConnectionFromDB();
|
||||||
@@ -100,55 +85,23 @@ signals:
|
|||||||
void signal_StopServer();
|
void signal_StopServer();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
//ИНДИКАЦИЯ
|
||||||
void slot_LanguageChanged(QString language);
|
void slot_LanguageChanged(QString language);
|
||||||
void slot_UpdateListClients(QStringList listFullName);
|
void slot_UpdateListClients(QStringList listFullName);
|
||||||
void slot_BlockAutorizationIndicate(bool block, QString blocker, QString types);
|
void slot_BlockAutorizationIndicate(bool block, QString blocker, QString types);
|
||||||
void slot_AddMessageToLog(QString message);
|
void slot_AddMessageToLog(QString message);
|
||||||
|
|
||||||
void slot_ErrorPostgreSQL(QString text);
|
void slot_ErrorPostgreSQL(QString text);
|
||||||
void slot_StateConnectionToDB(bool dbIsConnected, DataBaseSettings dbSettings);
|
void slot_StateConnectionToDB(bool state_dbIsConnected, DataBaseSettings state_dbSettings);
|
||||||
void slot_StateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization);
|
void slot_StateServer(EStateServer state_Server, EStateBlockAutorization state_BlockAutorization);
|
||||||
|
void slot_StateVersionMaterials(QString state_VersionMaterials);
|
||||||
void slot_UpdateDocs();
|
|
||||||
|
|
||||||
void slot_UpdateControllerInitializeFinished();
|
void slot_UpdateControllerInitializeFinished();
|
||||||
|
void slot_UpdateDocsCompleted();
|
||||||
void slot_StateVersionMaterials(QString stateVersionMaterials);
|
|
||||||
|
|
||||||
void slot_ResultTryConnectDb(bool result);
|
void slot_ResultTryConnectDb(bool result);
|
||||||
void slot_ResultTryDisConnectDb(bool result);
|
void slot_ResultTryDisConnectDb(bool result);
|
||||||
|
|
||||||
public:
|
void slot_SetError(int code);
|
||||||
QString getLanguage()
|
|
||||||
{
|
|
||||||
return language;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setError(int code)
|
|
||||||
{
|
|
||||||
if(code == 100)
|
|
||||||
{
|
|
||||||
QString textError = tr("No Client files found!") + "\n\n" +
|
|
||||||
tr("* check Application for the presence of a folder with a build \n"
|
|
||||||
"* check SharedData for a folder with the base version and the name base");
|
|
||||||
|
|
||||||
SpecMsgBox::CriticalClose(this, textError);
|
|
||||||
}
|
|
||||||
errorCode = code;
|
|
||||||
emit signal_hasError(code);
|
|
||||||
}
|
|
||||||
|
|
||||||
int hasError() const
|
|
||||||
{
|
|
||||||
return errorCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
ProcessingSystem* getProcessingSystem()
|
|
||||||
{
|
|
||||||
return processingSystem;
|
|
||||||
}
|
|
||||||
|
|
||||||
void removeClient(int socketId);
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_btnStartServer_clicked();
|
void on_btnStartServer_clicked();
|
||||||
@@ -168,6 +121,8 @@ private:
|
|||||||
private:
|
private:
|
||||||
void startInitialization_step0();
|
void startInitialization_step0();
|
||||||
void startInitialization_step1();
|
void startInitialization_step1();
|
||||||
|
void startInitialization_step2();
|
||||||
|
void startInitialization_step3();
|
||||||
void tryConnectionToDB();
|
void tryConnectionToDB();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -192,22 +147,21 @@ private:
|
|||||||
DocsUpdater* docsUpdater; //updateThread
|
DocsUpdater* docsUpdater; //updateThread
|
||||||
CfiController* cfiController; //updateThread
|
CfiController* cfiController; //updateThread
|
||||||
|
|
||||||
bool first; // для тестов Unity
|
|
||||||
|
|
||||||
QTranslator qtLanguageTranslator;
|
QTranslator qtLanguageTranslator;
|
||||||
QString language;
|
QString language;
|
||||||
|
|
||||||
int errorCode;
|
int errorCode;
|
||||||
|
|
||||||
QString stateVersionMaterials;
|
QString state_VersionMaterials;
|
||||||
bool dbIsConnected;
|
bool state_dbIsConnected;
|
||||||
DataBaseSettings dbSettings;
|
DataBaseSettings state_dbSettings;
|
||||||
EStateServer stateServer;
|
EStateServer state_Server;
|
||||||
EStateBlockAutorization stateBlockAutorization;
|
EStateBlockAutorization state_BlockAutorization;
|
||||||
|
|
||||||
bool flStartInitialization;
|
bool flStartInitialization;
|
||||||
bool flTryConnectionToDB;
|
bool flTryConnectionToDB;
|
||||||
bool flNeedReconnectDB;
|
bool flNeedReconnectDB;
|
||||||
|
bool flTryUpdateDocs;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SERVERLMSWIDGET_H
|
#endif // SERVERLMSWIDGET_H
|
||||||
|
|||||||
@@ -22,10 +22,10 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
|
|
||||||
serverLMSWidget = new ServerLMSWidget(this);
|
serverLMSWidget = new ServerLMSWidget(this);
|
||||||
|
|
||||||
connect(serverLMSWidget, &ServerLMSWidget::signal_InitializeFinished, this, &MainWindow::slot_InitializeFinished);
|
connect(serverLMSWidget, &ServerLMSWidget::signal_StartInitFinished, this, &MainWindow::slot_InitializeFinished);
|
||||||
connect(serverLMSWidget, &ServerLMSWidget::signal_hasError, this, &MainWindow::slot_hasError);
|
connect(serverLMSWidget, &ServerLMSWidget::signal_StartInitHasError, this, &MainWindow::slot_hasError);
|
||||||
connect(serverLMSWidget, &ServerLMSWidget::signal_LanguageChanged, this, &MainWindow::slot_LanguageChanged);
|
connect(serverLMSWidget, &ServerLMSWidget::signal_LanguageChanged, this, &MainWindow::slot_LanguageChanged);
|
||||||
connect(serverLMSWidget, &ServerLMSWidget::signal_updateStateServer, this, &MainWindow::slot_updateStateServer);
|
connect(serverLMSWidget, &ServerLMSWidget::signal_Tray_UpdateStateServer, this, &MainWindow::slot_updateStateServer);
|
||||||
connect(serverLMSWidget, &ServerLMSWidget::signal_Tray_ShowMessage, this, &MainWindow::slot_Tray_ShowMessage);
|
connect(serverLMSWidget, &ServerLMSWidget::signal_Tray_ShowMessage, this, &MainWindow::slot_Tray_ShowMessage);
|
||||||
connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_ShowWindow, this, &MainWindow::slot_TrayMenu_ShowWindow);
|
connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_ShowWindow, this, &MainWindow::slot_TrayMenu_ShowWindow);
|
||||||
connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_HideWindow, this, &MainWindow::slot_TrayMenu_HideWindow);
|
connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_HideWindow, this, &MainWindow::slot_TrayMenu_HideWindow);
|
||||||
@@ -188,7 +188,7 @@ void MainWindow::slot_updateStateServer(EStateServer stateServer, EStateBlockAut
|
|||||||
|
|
||||||
void MainWindow::slot_LazyInitialization()
|
void MainWindow::slot_LazyInitialization()
|
||||||
{
|
{
|
||||||
serverLMSWidget->start();
|
serverLMSWidget->startInitialization();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::slot_hasError(int code)
|
void MainWindow::slot_hasError(int code)
|
||||||
|
|||||||
Reference in New Issue
Block a user