Сделал отправку задач на сервер

This commit is contained in:
krivoshein
2025-01-22 14:36:17 +03:00
parent 2020a05dae
commit 559d1862d1
14 changed files with 211 additions and 30 deletions

View File

@@ -24,10 +24,13 @@ add_library(DataBaseLMS SHARED
task.h
classroom.cpp
classroom.h
tasksAmmFim.cpp
tasksAmmFim.h
)
target_link_libraries(DataBaseLMS PRIVATE Qt5::Widgets)
target_link_libraries(DataBaseLMS PRIVATE Qt5::Sql)
target_link_libraries(DataBaseLMS PRIVATE Qt5::Xml)
target_compile_definitions(DataBaseLMS PRIVATE DATABASELMS_LIBRARY)

View File

@@ -0,0 +1,39 @@
#include "tasksAmmFim.h"
#include <QDomDocument>
#include <QFile>
#include <QMessageBox>
int TaskAmmFim::lastID = 1;
void TaskAmmFim::initialize(int id, QString type, QString title, QString status, QString created_date, QString changed_date)
{
this->id = id;
this->type = type;
this->title = title;
this->status = status;
this->created_date = created_date;
this->changed_date = changed_date;
}
void TaskAmmFim::addMalfunction(Malfunction malfunction)
{
malfunctionList.append(malfunction);
}
void Malfunction::initialize(QString dmCode, QString num, QString description)
{
this->dmCode = dmCode;
this->num = num;
this->description = description;
}
void Malfunction::addMalfunctionSign(MalfunctionSign sign)
{
malfunctionSigns.append(sign);
}
void MalfunctionSign::initialize(int type, QString description)
{
this->type = type;
this->description = description;
}

105
DataBaseLMS/tasksAmmFim.h Normal file
View File

@@ -0,0 +1,105 @@
#ifndef TASKSAMMFIM_H
#define TASKSAMMFIM_H
#include <QString>
#include <QList>
#include "DataBaseLMS_global.h"
class DATABASELMS_EXPORT ProcedureID
{
public:
ProcedureID(){};
~ProcedureID(){};
public:
QString doc; // "amm", "fim"
QString dmCode;
QString title;
QString result; // "" - нет результата, "viewed" - процедура изучена (просмотрена при отсутствующем сценарии), "completed" - выполнена (в т.ч. режим "контроль" сценария)
};
class DATABASELMS_EXPORT MalfunctionSign // признак неисправности
{
public:
MalfunctionSign(){};
~MalfunctionSign(){};
public:
void initialize(int type, QString description);
public:
int type; // "1" - аварийно-сигнальные сообщения, "2" - сообщения БСТО,
// "3" - сигнализация СЭИ, "4" - локальная сигнализация, "5" - наблюдаемая неисправность
QString description; // описание (напр. "ЭРРД, 25, DOOR_FAIL_TO_CLOSE" - для БСТО)
};
class DATABASELMS_EXPORT Malfunction // неисправность
{
public:
Malfunction(){};
~Malfunction(){};
public:
void initialize(QString dmCode, QString num, QString description);
void addMalfunctionSign(MalfunctionSign sign);
public:
QString dmCode; // dmCode процедуры
QString num; // номер по-порядку в пункте "2. Возможные причины" процедуры
QString description; // описание
QList<MalfunctionSign> malfunctionSigns;// список соответствующих неисправности признаков
};
class DATABASELMS_EXPORT FIMReportItem
{
public:
FIMReportItem(){};
~FIMReportItem(){};
public:
QString title; // текст, вводимый обучаемым
ProcedureID procedure; // ссылка на процедуру, при необходимости
};
class DATABASELMS_EXPORT FIMReport
{
public:
FIMReport(){};
~FIMReport(){};
public:
QList<FIMReportItem> itemList;
};
class DATABASELMS_EXPORT TaskAmmFim
{
public:
TaskAmmFim(){};
~TaskAmmFim(){};
public:
void initialize(int id, QString type, QString title, QString status, QString created_date, QString changed_date);
void addMalfunction(Malfunction malfunction);
public:
int id; // для идентификации в БД
QString type; // "amm" - процедура из Руководства по технической эксплуатации
// "fim" - поиск и устранение неисправностей
QString title; // название задания:
// для "amm" - берётся из титула процедуры
// для "fim" - вводится вручную
QString status; // "new" - задание не выполнено
// "checkup" - выполнено, на проверке у инструктора (только для "fim")
// "failed" - инструктором проверено, выполнено неверно (только для "fim")
// "completed" - выполнено корректно
QString created_date; // дата создания задания инструктором ("new")
// (при записи в базу, даты ставить по времени сервера, а не те, что присланы от клиента)
QString changed_date; // дата крайнего изменения статуса ("checkup", "failed", "completed")
// amm:
ProcedureID ammProcedure; // ссылка на процедуру в AMM
// fim:
QList<Malfunction> malfunctionList; // список неисправностей
FIMReport report; // отчет по выполнению "fim"
static int lastID;
};
#endif // TASKSAMMFIM_H