Построение списка ПП в ГУИ в процессе

This commit is contained in:
2025-11-17 13:16:14 +03:00
parent 0c7d84ec84
commit 200f919afe
13 changed files with 108 additions and 16 deletions

View File

@@ -5,6 +5,7 @@
#include <QMessageBox>
#include "instructor.h"
#include "tasksAmmFim.h"
#include "module.h"
#include "timingoftrainee.h"
#include "specialmessagebox.h"
@@ -282,7 +283,8 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
//}
//xml-ответы на запросы к БД
//А)xml-ответы на запросы к БД
//B)перечни Подпроцедур
switch(packetType)
{
case TYPE_XMLANSWER_QUERY_DB__LIST_INSTRUCTORS:
@@ -368,11 +370,12 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
countSend = 0;
if(packetType != TYPE_XMLANSWER_QUERY_LIST_SUB_PROC_AMM)
{//xml-ответы на запросы к БД
xmlParserQueryToDB(packetType, array);
}
else
{
int i = 0;
i++;
{//перечни Подпроцедур
xmlParserQuerySubProc(packetType, array);
}
packetType = PacketType::TYPE_NONE;
@@ -885,6 +888,39 @@ void RecognizeSystem::xmlParserQueryToDB(PacketType packetType, QByteArray array
};
}
void RecognizeSystem::xmlParserQuerySubProc(PacketType packetType, QByteArray array)
{
QDomDocument commonDOM;
commonDOM.setContent(array);
switch(packetType)
{
case TYPE_XMLANSWER_QUERY_LIST_SUB_PROC_AMM:
{
QList<SubProc> listSubProc;
QString parentTask_dmCode = "";
QDomNode listNode = commonDOM.namedItem("ListSubProc");
parentTask_dmCode = listNode.toElement().attribute("dmCode");
for(int i = 0; i < listNode.childNodes().count(); i++)
{
QDomNode taskNode = listNode.childNodes().at(i);
if(taskNode.nodeName() == "SubProc")
{//Подпроцедура
SubProc subProc;
subProc.title = taskNode.toElement().attribute("title");
subProc.dmCode = taskNode.toElement().attribute("dmCode");
listSubProc.append(subProc);
}
}
emit sigAnswerQuerySubProc(listSubProc, parentTask_dmCode);
}
break;
};
}
void RecognizeSystem::xmlParserQueryTasksXML(PacketType packetType, QByteArray array)
{
if(packetType == TYPE_XMLANSWER_QUERY_TASKS_XML_FIM)

View File

@@ -13,6 +13,7 @@
#include "group.h"
#include "Datas.h"
#include "tasksAmmFim.h"
#include "module.h"
class RecognizeSystem : public QObject
@@ -57,6 +58,7 @@ signals:
void sigNotify(QString text);
void sigAnimationActivated(bool flag);
void sigHashReady();
void sigAnswerQuerySubProc(QList<SubProc> listSubProc, QString parentTask_dmCode);
void signal_AnswerDocsChanged();
@@ -75,6 +77,7 @@ private:
void xmlParser(QByteArray array);
void xmlParserQueryToDB(PacketType packetType, QByteArray array);
void xmlParserQuerySubProc(PacketType packetType, QByteArray array);
void xmlParserQueryTasksXML(PacketType packetType, QByteArray array);
void checkAccessType(QString type);