From 81d7e5e6d6d2b085f9fa00ea21d82f27d57eb059 Mon Sep 17 00:00:00 2001 From: krivoshein Date: Tue, 11 Nov 2025 18:00:06 +0300 Subject: [PATCH] =?UTF-8?q?DocsUpdater=20=D1=80=D0=B0=D0=B1=D0=BE=D1=87?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ServerLMS/CMakeLists.txt | 3 +++ ServerLMS/Systems/docsupdater.cpp | 12 ++++++++++-- ServerLMS/Systems/docsupdater.h | 5 ++++- ServerLMS/serverlmswidget.cpp | 4 ++++ ServerLMS/serverlmswidget.h | 3 +++ TrayServerLMS/CMakeLists.txt | 4 ++++ 6 files changed, 28 insertions(+), 3 deletions(-) diff --git a/ServerLMS/CMakeLists.txt b/ServerLMS/CMakeLists.txt index 8dc66ea..df77c09 100644 --- a/ServerLMS/CMakeLists.txt +++ b/ServerLMS/CMakeLists.txt @@ -69,6 +69,9 @@ target_include_directories(ServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/clientha target_include_directories(ServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/multithreadserver) target_include_directories(ServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/providerdblms) target_include_directories(ServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/settings) +target_include_directories(ServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/Data) +target_include_directories(ServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/Systems) +target_include_directories(ServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/Systems/Parsers) target_include_directories(ServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../DataBaseLMS) if(PROJECT_TYPE_DEBUG) diff --git a/ServerLMS/Systems/docsupdater.cpp b/ServerLMS/Systems/docsupdater.cpp index ce8d83a..5b1e334 100644 --- a/ServerLMS/Systems/docsupdater.cpp +++ b/ServerLMS/Systems/docsupdater.cpp @@ -3,15 +3,23 @@ #include "tools.h" -DocsUpdater::DocsUpdater(UpdateController* updateController): +DocsUpdater::DocsUpdater(UpdateController* updateController, QWidget *parentWidget): updateController(updateController), + parentWidget(parentWidget), flagStop(false) { } +DocsUpdater::~DocsUpdater() +{ + +} + bool DocsUpdater::update() { + QMutexLocker locker(&mtxAccess); + QString nameDocsFile = tasksAMMfileName; QString pathDocsFile = updateController->getPathAdditionalFile(nameDocsFile); @@ -225,7 +233,7 @@ QString DocsUpdater::defineCanplayByScenXML(QString dmCode) QString signExam = "-"; QString signAuto = "-"; - QString nameScenXMLFile = dmCode + ".xml"; + QString nameScenXMLFile = "/" + dmCode + ".xml"; QString pathScenXMLFile = updateController->getPathScensFile(nameScenXMLFile); QDomDocument docScenDOM; diff --git a/ServerLMS/Systems/docsupdater.h b/ServerLMS/Systems/docsupdater.h index 9e24598..2ae0377 100644 --- a/ServerLMS/Systems/docsupdater.h +++ b/ServerLMS/Systems/docsupdater.h @@ -8,7 +8,8 @@ class DocsUpdater { public: - DocsUpdater(UpdateController* updateController); + DocsUpdater(UpdateController* updateController, QWidget *parentWidget); + ~DocsUpdater(); bool update(); @@ -20,6 +21,8 @@ private: private: UpdateController* updateController; + QWidget *parentWidget; + QMutex mtxAccess; bool flagStop; QList listAllModulesAMM; //? QList listTasksAMM; //? diff --git a/ServerLMS/serverlmswidget.cpp b/ServerLMS/serverlmswidget.cpp index e5c8f0a..4f951a8 100644 --- a/ServerLMS/serverlmswidget.cpp +++ b/ServerLMS/serverlmswidget.cpp @@ -26,6 +26,7 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) : assetsManager(nullptr), commonClientHandler(nullptr), chatSystem(nullptr), + docsUpdater(nullptr), providerDBLMS(nullptr), first (true), language(languageENG), @@ -313,6 +314,9 @@ void ServerLMSWidget::startInitialization() emit sigUpdateController(commonClientHandler,dataParser,assetsManager); + docsUpdater = new DocsUpdater(updateController, this); + docsUpdater->update(); + ui->btnStopServer->setEnabled(false); ui->btnStartServer->setEnabled(true); diff --git a/ServerLMS/serverlmswidget.h b/ServerLMS/serverlmswidget.h index 7b9cda4..ad9dc97 100644 --- a/ServerLMS/serverlmswidget.h +++ b/ServerLMS/serverlmswidget.h @@ -26,6 +26,7 @@ #include #include "multithreadserver.h" #include "providerdblms.h" +#include "docsupdater.h" namespace Ui { class ServerLMSWidget; @@ -41,6 +42,7 @@ class ClientHandler; class MultiThreadServer; class AssetsManager; class ChatSystem; +class DocsUpdater; class SERVERLMS_EXPORT ServerLMSWidget : public QWidget { @@ -144,6 +146,7 @@ private: CommonClientHandler *commonClientHandler; ChatSystem *chatSystem; + DocsUpdater* docsUpdater; ProviderDBLMS* providerDBLMS; bool first = true; // для тестов Unity diff --git a/TrayServerLMS/CMakeLists.txt b/TrayServerLMS/CMakeLists.txt index de8f42c..04881da 100644 --- a/TrayServerLMS/CMakeLists.txt +++ b/TrayServerLMS/CMakeLists.txt @@ -27,9 +27,13 @@ target_include_directories(TrayServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../S target_include_directories(TrayServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ServerLMS/clienthandler) target_include_directories(TrayServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ServerLMS/multithreadserver) target_include_directories(TrayServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ServerLMS/providerdblms) +target_include_directories(TrayServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ServerLMS/Systems) if(PROJECT_TYPE_DEBUG) target_link_directories(TrayServerLMS PUBLIC ${REPO_PATH}/BUILDS/Debug64/ServerLMS) else() target_link_directories(TrayServerLMS PUBLIC ${REPO_PATH}/BUILDS/Release64/ServerLMS) endif() target_link_libraries(TrayServerLMS PRIVATE libServerLMS.dll) + +target_include_directories(TrayServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../InstructorsAndTrainees) +target_include_directories(TrayServerLMS PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../InstructorsAndTrainees/tasks)