From aa4972c3a5bce9cc8fb18df29478b44dba16c24f Mon Sep 17 00:00:00 2001 From: krivoshein Date: Thu, 13 Nov 2025 17:16:38 +0300 Subject: [PATCH] =?UTF-8?q?GUI.=20=D0=9E=D1=82=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20=D0=9F?= =?UTF-8?q?=D0=9F=20=D0=B2=20=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../connectorToServer/Core/dataparser.cpp | 18 ++++++++++++++++++ .../connectorToServer/Core/dataparser.h | 1 + .../connectorToServer/connectortoserver.h | 1 + .../connectortoserver_Send.cpp | 13 +++++++++++++ .../tasks/ammtaskswidget.cpp | 3 +++ InstructorsAndTrainees/tasks/listsubproc.cpp | 4 ++++ InstructorsAndTrainees/tasks/listsubproc.h | 2 ++ 7 files changed, 42 insertions(+) diff --git a/InstructorsAndTrainees/connectorToServer/Core/dataparser.cpp b/InstructorsAndTrainees/connectorToServer/Core/dataparser.cpp index f5a2428..9a6fe76 100644 --- a/InstructorsAndTrainees/connectorToServer/Core/dataparser.cpp +++ b/InstructorsAndTrainees/connectorToServer/Core/dataparser.cpp @@ -245,6 +245,24 @@ QByteArray DataParser::createQueryTasksXMLMessage(QString type) return array; } +QByteArray DataParser::createQueryListSubProcMessage(QString dmCode) +{ + QByteArray array; + QXmlStreamWriter xmlWriter(&array); + + xmlWriter.setAutoFormatting(true); + xmlWriter.writeStartDocument(); + xmlWriter.writeStartElement("QueryListSubProc"); + + xmlWriter.writeAttribute("dmCode", dmCode); + + xmlWriter.writeEndElement(); + xmlWriter.writeEndElement(); + xmlWriter.writeEndDocument(); + + return array; +} + QByteArray DataParser::createDeAuthMessage(ClientDeAutorization *deAuth) { QByteArray array; diff --git a/InstructorsAndTrainees/connectorToServer/Core/dataparser.h b/InstructorsAndTrainees/connectorToServer/Core/dataparser.h index aad94ca..5730424 100644 --- a/InstructorsAndTrainees/connectorToServer/Core/dataparser.h +++ b/InstructorsAndTrainees/connectorToServer/Core/dataparser.h @@ -26,6 +26,7 @@ public: QByteArray createMessage(ClientMessage toClientMessage); QByteArray createQueryToDBMessage(ClientQueryToDB *queryToDB, int id = 0, void* data = nullptr); QByteArray createQueryTasksXMLMessage(QString type); + QByteArray createQueryListSubProcMessage(QString dmCode); QByteArray createDeAuthMessage(ClientDeAutorization *deAuth); QByteArray createQueryBlockAuth(bool block); diff --git a/InstructorsAndTrainees/connectorToServer/connectortoserver.h b/InstructorsAndTrainees/connectorToServer/connectortoserver.h index 55aa48c..446e2bc 100644 --- a/InstructorsAndTrainees/connectorToServer/connectortoserver.h +++ b/InstructorsAndTrainees/connectorToServer/connectortoserver.h @@ -46,6 +46,7 @@ public: bool sendMessage(ClientMessage clientMessage); bool sendQueryTasksXML(QString type); + bool sendQueryListSubProc(QString dmCode); bool sendQueryBlockAuth(bool block); void sendShowVersionSelect(); diff --git a/InstructorsAndTrainees/connectorToServer/connectortoserver_Send.cpp b/InstructorsAndTrainees/connectorToServer/connectortoserver_Send.cpp index be0536c..be087ed 100644 --- a/InstructorsAndTrainees/connectorToServer/connectortoserver_Send.cpp +++ b/InstructorsAndTrainees/connectorToServer/connectortoserver_Send.cpp @@ -82,6 +82,19 @@ bool ConnectorToServer::sendQueryTasksXML(QString type) return true; } +bool ConnectorToServer::sendQueryListSubProc(QString dmCode) +{ + if (!client->getIsConnected()) + { + return false; + } + + QByteArray array = dataParser->createQueryListSubProcMessage(dmCode); + emit sigSendAnswerToServer(array); + + return true; +} + bool ConnectorToServer::sendQueryBlockAuth(bool block) { if (!client->getIsConnected()) diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp index 5103a8c..59ee76b 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp @@ -149,6 +149,9 @@ void AMMtasksWidget::closeDlgCheckTask() { if(dlgCheckerTask) dlgCheckerTask->close(); + + if(dlgListSubProc) + dlgListSubProc->close(); } void AMMtasksWidget::closeDlgListSubProc() diff --git a/InstructorsAndTrainees/tasks/listsubproc.cpp b/InstructorsAndTrainees/tasks/listsubproc.cpp index aed8a34..b93cf36 100644 --- a/InstructorsAndTrainees/tasks/listsubproc.cpp +++ b/InstructorsAndTrainees/tasks/listsubproc.cpp @@ -4,6 +4,7 @@ ListSubProc::ListSubProc(ConnectorToServer* connectorToServer, QWidget *parent) : QWidget(parent), ui(new Ui::ListSubProc), + connectorToServer(connectorToServer), waitAnimationWidget(nullptr) { ui->setupUi(this); @@ -40,4 +41,7 @@ void ListSubProc::setTask(TaskAmmFim *task) ui->lbl_DMCode->setText(task->ammProcedure.dmCode); waitAnimationWidget->showWithPlay(); + + if(! connectorToServer->sendQueryListSubProc(this->task.ammProcedure.dmCode)) + waitAnimationWidget->hideWithStop(); } diff --git a/InstructorsAndTrainees/tasks/listsubproc.h b/InstructorsAndTrainees/tasks/listsubproc.h index 82fb785..98996a6 100644 --- a/InstructorsAndTrainees/tasks/listsubproc.h +++ b/InstructorsAndTrainees/tasks/listsubproc.h @@ -25,6 +25,8 @@ public: private: Ui::ListSubProc *ui; + ConnectorToServer* connectorToServer; + TaskAmmFim task; WaitAnimationWidget *waitAnimationWidget;