mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Merge branch 'DEV' into CFI-Update
# Conflicts: # LibServer/serverlmswidget.cpp
This commit is contained in:
@@ -15,7 +15,7 @@ void DBAnswerParser::initialize(DataParser *dataParser)
|
||||
QByteArray DBAnswerParser::listInstructors(bool result, QList<Instructor> *listInstructors)
|
||||
{
|
||||
QDomDocument commonDOM;
|
||||
if(! Tools::loadXMLtoDOM(":/resources/blankXML/ListInstructors.xml", &commonDOM))
|
||||
if(! Tools::loadFileXMLtoDOM(":/resources/blankXML/ListInstructors.xml", &commonDOM))
|
||||
return QByteArray();
|
||||
|
||||
QDomNode listNode = commonDOM.namedItem("ListInstructors");
|
||||
@@ -34,7 +34,7 @@ QByteArray DBAnswerParser::listInstructors(bool result, QList<Instructor> *listI
|
||||
instructorNode.toElement().setAttribute("logged_in", instructor.getLoggedIn());
|
||||
}
|
||||
|
||||
Tools::saveDOMtoXML("ListInstructors.xml", &commonDOM);
|
||||
Tools::saveDOMtoFileXML("ListInstructors.xml", &commonDOM);
|
||||
|
||||
return commonDOM.toByteArray();
|
||||
}
|
||||
@@ -42,7 +42,7 @@ QByteArray DBAnswerParser::listInstructors(bool result, QList<Instructor> *listI
|
||||
QByteArray DBAnswerParser::listGroups(bool result, QList<Group> *listGroups)
|
||||
{
|
||||
QDomDocument commonDOM;
|
||||
if(! Tools::loadXMLtoDOM(":/resources/blankXML/ListGroups.xml", &commonDOM))
|
||||
if(! Tools::loadFileXMLtoDOM(":/resources/blankXML/ListGroups.xml", &commonDOM))
|
||||
return QByteArray();
|
||||
|
||||
QDomNode listNode = commonDOM.namedItem("ListGroups");
|
||||
@@ -56,7 +56,7 @@ QByteArray DBAnswerParser::listGroups(bool result, QList<Group> *listGroups)
|
||||
groupNode.toElement().setAttribute("name", group.getName());
|
||||
}
|
||||
|
||||
Tools::saveDOMtoXML("ListGroups.xml", &commonDOM);
|
||||
Tools::saveDOMtoFileXML("ListGroups.xml", &commonDOM);
|
||||
|
||||
return commonDOM.toByteArray();
|
||||
}
|
||||
@@ -64,7 +64,7 @@ QByteArray DBAnswerParser::listGroups(bool result, QList<Group> *listGroups)
|
||||
QByteArray DBAnswerParser::listTrainees(bool result, QList<Trainee> *listTrainees)
|
||||
{
|
||||
QDomDocument commonDOM;
|
||||
if(! Tools::loadXMLtoDOM(":/resources/blankXML/ListTrainees.xml", &commonDOM))
|
||||
if(! Tools::loadFileXMLtoDOM(":/resources/blankXML/ListTrainees.xml", &commonDOM))
|
||||
return QByteArray();
|
||||
|
||||
QDomNode listNode = commonDOM.namedItem("ListTrainees");
|
||||
@@ -95,7 +95,7 @@ QByteArray DBAnswerParser::listTrainees(bool result, QList<Trainee> *listTrainee
|
||||
timingNode.toElement().setAttribute("operatingTime", timing.getOperatingTimeS());
|
||||
}
|
||||
|
||||
Tools::saveDOMtoXML("ListTrainees.xml", &commonDOM);
|
||||
Tools::saveDOMtoFileXML("ListTrainees.xml", &commonDOM);
|
||||
|
||||
return commonDOM.toByteArray();
|
||||
}
|
||||
@@ -142,7 +142,7 @@ QByteArray DBAnswerParser::listContacts(bool result, QList<ContactModel> *listCo
|
||||
QByteArray DBAnswerParser::listTasksAMMofTrainee(bool result, QList<TaskAmmFim> *listTasks, int trainee_id, bool full_list)
|
||||
{
|
||||
QDomDocument commonDOM;
|
||||
if(! Tools::loadXMLtoDOM(":/resources/blankXML/ListTasksAMM.xml", &commonDOM))
|
||||
if(! Tools::loadFileXMLtoDOM(":/resources/blankXML/ListTasksAMM.xml", &commonDOM))
|
||||
return QByteArray();
|
||||
|
||||
QDomNode listNode = commonDOM.namedItem("ListTasksAMM");
|
||||
@@ -173,7 +173,7 @@ QByteArray DBAnswerParser::listTasksAMMofTrainee(bool result, QList<TaskAmmFim>
|
||||
}
|
||||
}
|
||||
|
||||
Tools::saveDOMtoXML("ListTasksAMM.xml", &commonDOM);
|
||||
Tools::saveDOMtoFileXML("ListTasksAMM.xml", &commonDOM);
|
||||
|
||||
return commonDOM.toByteArray();
|
||||
}
|
||||
@@ -181,7 +181,7 @@ QByteArray DBAnswerParser::listTasksAMMofTrainee(bool result, QList<TaskAmmFim>
|
||||
QByteArray DBAnswerParser::listTasksFIMofTrainee(bool result, QList<TaskAmmFim> *listTasks, int trainee_id, bool full_list)
|
||||
{
|
||||
QDomDocument commonDOM;
|
||||
if(! Tools::loadXMLtoDOM(":/resources/blankXML/ListTasksFIM.xml", &commonDOM))
|
||||
if(! Tools::loadFileXMLtoDOM(":/resources/blankXML/ListTasksFIM.xml", &commonDOM))
|
||||
return QByteArray();
|
||||
|
||||
QDomNode listNode = commonDOM.namedItem("ListTasksFIM");
|
||||
@@ -257,7 +257,7 @@ QByteArray DBAnswerParser::listTasksFIMofTrainee(bool result, QList<TaskAmmFim>
|
||||
}
|
||||
}
|
||||
|
||||
Tools::saveDOMtoXML("ListTasksFIM.xml", &commonDOM);
|
||||
Tools::saveDOMtoFileXML("ListTasksFIM.xml", &commonDOM);
|
||||
|
||||
return commonDOM.toByteArray();
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ DocsAnswerParser::DocsAnswerParser(QObject *parent) : QObject(parent)
|
||||
QByteArray DocsAnswerParser::listSubProc(QList<SubProc> list, QString dmCode)
|
||||
{
|
||||
QDomDocument commonDOM;
|
||||
if(! Tools::loadXMLtoDOM(":/resources/blankXML/ListSubProc.xml", &commonDOM))
|
||||
if(! Tools::loadFileXMLtoDOM(":/resources/blankXML/ListSubProc.xml", &commonDOM))
|
||||
return QByteArray();
|
||||
|
||||
QDomNode listNode = commonDOM.namedItem("ListSubProc");
|
||||
@@ -24,7 +24,7 @@ QByteArray DocsAnswerParser::listSubProc(QList<SubProc> list, QString dmCode)
|
||||
subProcNode.toElement().setAttribute("canplay", subProc.getModeListStr());
|
||||
}
|
||||
|
||||
Tools::saveDOMtoXML("ListSubProc.xml", &commonDOM);
|
||||
Tools::saveDOMtoFileXML("ListSubProc.xml", &commonDOM);
|
||||
|
||||
return commonDOM.toByteArray();
|
||||
}
|
||||
|
||||
@@ -105,17 +105,26 @@ void CommonClientHandler::slot_StatusTasksFIMofTraineeChanged(int trainee_id)
|
||||
}*/
|
||||
}
|
||||
|
||||
void CommonClientHandler::slot_sendPacketToAllClients(PacketType packetType)
|
||||
void CommonClientHandler::slot_sendPacketToAllClients(PacketType packetType, bool flOnlyGUI)
|
||||
{
|
||||
foreach(int idSocket, clientsMap->keys())
|
||||
{
|
||||
ClientHandler *handler = clientsMap->value(idSocket);
|
||||
|
||||
if(flOnlyGUI)
|
||||
{
|
||||
if(handler->getClient()->getTypeClient() != TypeClientAutorization::TYPE_GUI)
|
||||
continue;
|
||||
}
|
||||
|
||||
//if(packetType != PacketType::BUSY && packetType != PacketType::FREE)
|
||||
if (!handler->getClient()->getIsLoggedIn()) continue;
|
||||
|
||||
handler->sendPacketType(packetType);
|
||||
Logger::instance().log("AllSending " + handler->getClient()->getLogin() + " " + enumToString(packetType));
|
||||
if(flOnlyGUI)
|
||||
Logger::instance().log("All GUI Sending " + handler->getClient()->getLogin() + " " + enumToString(packetType), LogLevel::DEBUG);
|
||||
else
|
||||
Logger::instance().log("All Sending " + handler->getClient()->getLogin() + " " + enumToString(packetType), LogLevel::DEBUG);
|
||||
}
|
||||
|
||||
//emit sigSetServerState(packetType);
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
void slot_DocsChanged();
|
||||
|
||||
public slots:
|
||||
void slot_sendPacketToAllClients(PacketType packetType);
|
||||
void slot_sendPacketToAllClients(PacketType packetType, bool flOnlyGUI);
|
||||
|
||||
signals:
|
||||
//void sigSetServerState(PacketType packetType);
|
||||
|
||||
@@ -41,11 +41,10 @@ bool DocsUpdater::updateDocsXML()
|
||||
{
|
||||
QMutexLocker locker(&mtxAccess);
|
||||
|
||||
QString nameDocsFile = tasksAMMfileName; //кручу верчу запутать хочу!
|
||||
QString pathDocsFile = updateController->getPathAdditionalFile(nameDocsFile);
|
||||
QString pathDocsFile = updateController->getPathAdditionalFile(tasksAMMfileName);
|
||||
|
||||
QDomDocument docTasksDOM;
|
||||
if(! Tools::loadXMLtoDOM(pathDocsFile, &docTasksDOM))
|
||||
if(! Tools::loadFileXMLtoDOM(pathDocsFile, &docTasksDOM))
|
||||
return false;
|
||||
|
||||
QDomElement manifestElement = docTasksDOM.firstChildElement("manifest");
|
||||
@@ -60,7 +59,7 @@ bool DocsUpdater::updateDocsXML()
|
||||
|
||||
domElementParserAMM(manifestElement, nullptr);
|
||||
|
||||
if(! Tools::saveDOMtoXML(pathDocsFile, &docTasksDOM))
|
||||
if(! Tools::saveDOMtoFileXML(pathDocsFile, &docTasksDOM))
|
||||
{
|
||||
deleteAllModulsAMM();
|
||||
listTasksAMM.clear();
|
||||
@@ -272,7 +271,7 @@ bool DocsUpdater::processingScenXML(const QString dmCode, QString &canplay, QLis
|
||||
|
||||
|
||||
QDomDocument docScenDOM;
|
||||
if(! Tools::loadXMLtoDOM(pathScenXMLFile, &docScenDOM))
|
||||
if(! Tools::loadFileXMLtoDOM(pathScenXMLFile, &docScenDOM))
|
||||
return false;
|
||||
|
||||
QDomElement scenarioElement = docScenDOM.firstChildElement("scenario");
|
||||
|
||||
@@ -3,15 +3,17 @@
|
||||
|
||||
#include <clienthandler.h>
|
||||
|
||||
ProcessingSystem::ProcessingSystem(ProviderDBLMS* providerDBLMS, UpdateController* updateController, DocsUpdater* docsUpdater, QObject *parent):
|
||||
ProcessingSystem::ProcessingSystem(ProviderDBLMS* providerDBLMS, UpdateController* updateController, DocsUpdater* docsUpdater, CfiController* cfiController, QObject *parent):
|
||||
QObject(parent),
|
||||
updateController(nullptr),
|
||||
docsUpdater(nullptr),
|
||||
cfiController(nullptr),
|
||||
providerDBLMS(nullptr)
|
||||
{
|
||||
this->providerDBLMS = providerDBLMS;
|
||||
this->updateController = updateController;
|
||||
this->docsUpdater = docsUpdater;
|
||||
this->cfiController = cfiController;
|
||||
}
|
||||
|
||||
void ProcessingSystem::initialize(MultiThreadServer *server, DataParser *dataParser,
|
||||
@@ -97,12 +99,12 @@ void ProcessingSystem::processingClientAutorization(ClientHandler *client, Clien
|
||||
client->sendVersion();
|
||||
|
||||
//Отправляем состояние блокировки
|
||||
/**/
|
||||
/*
|
||||
if(server->getStateBlockAutorization() == EStateBlockAutorization::blocked)
|
||||
client->sendPacketType(PacketType::BUSY);
|
||||
else
|
||||
client->sendPacketType(PacketType::FREE);
|
||||
|
||||
*/
|
||||
|
||||
//client->sendPacketType(PacketType::BUSY);
|
||||
//client->sendPacketType(PacketType::FREE);
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "chatsystem.h"
|
||||
#include "providerdblms.h"
|
||||
#include "docsupdater.h"
|
||||
#include "cficontroller.h"
|
||||
|
||||
class SendSystem;
|
||||
class ServerLMSWidget;
|
||||
@@ -20,12 +21,13 @@ class DataParser;
|
||||
class ClientHandler;
|
||||
class CommonClientHandler;
|
||||
class MultiThreadServer;
|
||||
class CfiController;
|
||||
|
||||
class ProcessingSystem : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ProcessingSystem(ProviderDBLMS* providerDBLMS, UpdateController* updateController, DocsUpdater* docsUpdater, QObject *parent = nullptr);
|
||||
explicit ProcessingSystem(ProviderDBLMS* providerDBLMS, UpdateController* updateController, DocsUpdater* docsUpdater, CfiController* cfiController, QObject *parent = nullptr);
|
||||
|
||||
void initialize(MultiThreadServer *server,
|
||||
DataParser* dataParser,
|
||||
@@ -75,6 +77,7 @@ private:
|
||||
DataParser *dataParser;
|
||||
UpdateController *updateController;
|
||||
DocsUpdater* docsUpdater;
|
||||
CfiController* cfiController;
|
||||
ProviderDBLMS* providerDBLMS;
|
||||
ChatSystem *chatSystem;
|
||||
void sendTaskListToUnity(ClientHandler *client);
|
||||
|
||||
@@ -105,9 +105,15 @@ bool Tools::checkNonStaticData(QString path)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Tools::loadByteArrayXMLtoDOM(const QByteArray &array, QDomDocument *commonDOM)
|
||||
{
|
||||
commonDOM->setContent(array);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool Tools::loadXMLtoDOM(QString pathNameFile, QDomDocument *commonDOM)
|
||||
|
||||
bool Tools::loadFileXMLtoDOM(QString pathNameFile, QDomDocument *commonDOM)
|
||||
{
|
||||
QFile xmlInFile(pathNameFile);
|
||||
|
||||
@@ -122,7 +128,23 @@ bool Tools::loadXMLtoDOM(QString pathNameFile, QDomDocument *commonDOM)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Tools::saveDOMtoXML(QString pathNameFile, QDomDocument *commonDOM)
|
||||
bool Tools::loadFileXMLtoByteArray(QString pathNameFile, QByteArray &array)
|
||||
{
|
||||
QFile xmlInFile(pathNameFile);
|
||||
|
||||
if (! xmlInFile.open(QFile::ReadOnly | QFile::Text)) {
|
||||
qDebug() << "loadXMLtoDOM: Couldn't read the file: " + pathNameFile;
|
||||
return false;
|
||||
}
|
||||
|
||||
array = xmlInFile.readAll();
|
||||
|
||||
xmlInFile.close();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Tools::saveDOMtoFileXML(QString pathNameFile, QDomDocument *commonDOM)
|
||||
{
|
||||
QFile xmlOutFile(pathNameFile);
|
||||
if (!xmlOutFile.open(QFile::WriteOnly | QFile::Text))
|
||||
|
||||
@@ -29,6 +29,7 @@ static const QString buildHashName = staticDataFolderName + "/buildHash.xml";
|
||||
static const QString buildDataPath = "/Application/" + projectFolderName + "/RRJ_Data/";
|
||||
static const QString tasksAMMfileName = "/docs.xml"; //"/tasksAmm.xml";
|
||||
static const QString tasksFIMfileName = "/tasksFIM.xml";
|
||||
static const QString cfiListFileName = "/CfiList.xml";
|
||||
//static const QString clientHash = staticDataFolderName + "/clientHash.xml";
|
||||
static const QString logFolderPath = "log";
|
||||
|
||||
@@ -75,8 +76,10 @@ public:
|
||||
static QString createFullPath(QString path);
|
||||
static bool checkNonStaticData(QString path);
|
||||
|
||||
static bool loadXMLtoDOM(QString pathNameFile, QDomDocument* commonDOM);
|
||||
static bool saveDOMtoXML(QString pathNameFile, QDomDocument* commonDOM);
|
||||
static bool loadByteArrayXMLtoDOM(const QByteArray& array, QDomDocument* commonDOM);
|
||||
static bool loadFileXMLtoDOM(QString pathNameFile, QDomDocument* commonDOM);
|
||||
static bool loadFileXMLtoByteArray(QString pathNameFile, QByteArray& array);
|
||||
static bool saveDOMtoFileXML(QString pathNameFile, QDomDocument* commonDOM);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ void UpdateController::changeAssetVersion(QString versionName)
|
||||
currentStreamingPath = assetManager->setVersion(versionName);
|
||||
setUpCurrentServerHash();
|
||||
emit sigUpdateDocs();
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::HASH_READY);
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::HASH_READY, false);
|
||||
commonClientHandler->sendCurrentVersionToAllClient();
|
||||
|
||||
//commonClientHandler->slot_sendPacketToAllClients(PacketType::FREE);
|
||||
@@ -118,10 +118,10 @@ void UpdateController::calculateFullHash()
|
||||
void UpdateController::calculateFullHashWithSetup()
|
||||
{
|
||||
bool res = emit signal_BlockAutorization(true, "SERVER", "CalculateFullHashWithSetup");
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::RECALCULATE_HASH);
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::RECALCULATE_HASH, false);
|
||||
calculateCurrentSharedHash();
|
||||
setUpCurrentServerHash();
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::HASH_READY);
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::HASH_READY, false);
|
||||
res = emit signal_BlockAutorization(false, "SERVER", "CalculateFullHashWithSetup");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user