mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
PSQL 02.11.2024
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.11.1, 2024-11-01T11:44:20. -->
|
||||
<!-- Written by QtCreator 4.11.1, 2024-11-02T13:43:21. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
||||
@@ -47,7 +47,7 @@ QList<Instructor> DataBaseLMS::selectAllInstructors()
|
||||
{
|
||||
QList<Instructor> listInstructors;
|
||||
|
||||
QString queryStr = QString("SELECT instructor_id, name, login, password, is_admin, archived "
|
||||
QString queryStr = QString("SELECT instructor_id, name, login, password, is_admin, archived, logged_in "
|
||||
"FROM public.instructors "
|
||||
"ORDER BY instructor_id ASC");
|
||||
|
||||
@@ -67,7 +67,7 @@ QList<Instructor> DataBaseLMS::selectAllInstructors()
|
||||
instructor.setPassword(query.value(3).toString());
|
||||
instructor.setIsAdmin(query.value(4).toBool());
|
||||
instructor.setArchived(query.value(5).toBool());
|
||||
instructor.setLoggedIn(false);
|
||||
instructor.setLoggedIn(query.value(6).toBool());
|
||||
|
||||
listInstructors.append(instructor);
|
||||
}
|
||||
@@ -80,9 +80,13 @@ QList<Trainee> DataBaseLMS::selectAllTrainees()
|
||||
{
|
||||
QList<Trainee> listTrainees;
|
||||
|
||||
QString queryStr = QString("SELECT trainees.trainee_id, trainees.name, trainees.login, trainees.password, trainees.archived, "
|
||||
"groups_of_trainees.name "
|
||||
QString queryStr = QString("SELECT trainees.trainee_id, trainees.name, trainees.login, trainees.password, trainees.archived, trainees.logged_in, "
|
||||
"groups_of_trainees.name, "
|
||||
"educational_classes.name, "
|
||||
"computers.name, computers.ip_address "
|
||||
"FROM public.trainees JOIN public.groups_of_trainees ON groups_of_trainees.group_id = trainees.group_trainees "
|
||||
"LEFT OUTER JOIN public.computers ON computers.computer_id = trainees.computer "
|
||||
"LEFT OUTER JOIN public.educational_classes ON educational_classes.class_id = computers.class "
|
||||
"ORDER BY groups_of_trainees.name ASC");
|
||||
|
||||
QSqlQuery query(*db);
|
||||
@@ -95,16 +99,20 @@ QList<Trainee> DataBaseLMS::selectAllTrainees()
|
||||
while (query.next())
|
||||
{//Обучаемый
|
||||
Trainee trainee;
|
||||
|
||||
trainee.setID(query.value(0).toInt());
|
||||
trainee.setName(query.value(1).toString());
|
||||
trainee.setLogin(query.value(2).toString());
|
||||
trainee.setPassword(query.value(3).toString());
|
||||
trainee.setArchived(query.value(4).toBool());
|
||||
trainee.setGroup(query.value(5).toString());
|
||||
trainee.setWhatItDoes(QStringLiteral(""));
|
||||
trainee.setLoggedIn(false);
|
||||
trainee.setLearnClass(QStringLiteral(""));
|
||||
trainee.setComputer(QStringLiteral(""));
|
||||
trainee.setArchived(query.value(4).toBool());
|
||||
trainee.setLoggedIn(query.value(5).toBool());
|
||||
trainee.setGroup(query.value(6).toString());
|
||||
|
||||
trainee.setLearnClass(query.value(7).toString());
|
||||
trainee.setComputer(query.value(8).toString());
|
||||
trainee.setIpAddress(query.value(9).toString());
|
||||
|
||||
trainee.setTasks(selectTasksOfTrainee(trainee.getID()));
|
||||
|
||||
listTrainees.append(trainee);
|
||||
}
|
||||
@@ -144,13 +152,14 @@ QList<Group> DataBaseLMS::selectAllGroups()
|
||||
|
||||
bool DataBaseLMS::insertInstructor(Instructor instructor)
|
||||
{
|
||||
QString queryStr = QString("INSERT INTO public.instructors (name, login, password, is_admin, archived) "
|
||||
"VALUES ('%1', '%2', '%3', %4, %5)").arg(
|
||||
QString queryStr = QString("INSERT INTO public.instructors (name, login, password, is_admin, archived, logged_in) "
|
||||
"VALUES ('%1', '%2', '%3', %4, %5, %6)").arg(
|
||||
instructor.getName(),
|
||||
instructor.getLogin(),
|
||||
instructor.getPassword(),
|
||||
instructor.getIsAdmin() ? "true" : "false",
|
||||
instructor.getArchived() ? "true" : "false");
|
||||
instructor.getArchived() ? "true" : "false",
|
||||
instructor.getLoggedIn() ? "true" : "false");
|
||||
|
||||
return queryExec(queryStr);
|
||||
}
|
||||
@@ -165,13 +174,14 @@ bool DataBaseLMS::deleteInstructor(int instructor_id)
|
||||
bool DataBaseLMS::updateInstructor(Instructor instructor)
|
||||
{
|
||||
QString queryStr = QString("UPDATE public.instructors "
|
||||
"SET name = '%1', login = '%2', password = '%3', is_admin = %4, archived = %5 "
|
||||
"WHERE instructor_id = %6").arg(
|
||||
"SET name = '%1', login = '%2', password = '%3', is_admin = %4, archived = %5, logged_in = %6 "
|
||||
"WHERE instructor_id = %7").arg(
|
||||
instructor.getName(),
|
||||
instructor.getLogin(),
|
||||
instructor.getPassword(),
|
||||
instructor.getIsAdmin() ? "true" : "false",
|
||||
instructor.getArchived() ? "true" : "false",
|
||||
instructor.getLoggedIn() ? "true" : "false",
|
||||
QString::number(instructor.getID()) );
|
||||
|
||||
return queryExec(queryStr);
|
||||
@@ -206,15 +216,18 @@ bool DataBaseLMS::updateGroup(Group group)
|
||||
|
||||
bool DataBaseLMS::insertTrainee(Trainee trainee)
|
||||
{
|
||||
QString queryStr = QString("INSERT INTO public.trainees (name, login, password, archived, group_trainees) "
|
||||
"VALUES ('%1', '%2', '%3', %4, "
|
||||
"(SELECT group_id FROM public.groups_of_trainees WHERE name = '%5') "
|
||||
QString queryStr = QString("INSERT INTO public.trainees (name, login, password, archived, logged_in, group_trainees, computer) "
|
||||
"VALUES ('%1', '%2', '%3', %4, %5, "
|
||||
"(SELECT group_id FROM public.groups_of_trainees WHERE name = '%6'), "
|
||||
"(SELECT computer_id FROM public.computers WHERE name = '%7') "
|
||||
")").arg(
|
||||
trainee.getName(),
|
||||
trainee.getLogin(),
|
||||
trainee.getPassword(),
|
||||
trainee.getArchived() ? "true" : "false",
|
||||
trainee.getGroup());
|
||||
trainee.getLoggedIn() ? "true" : "false",
|
||||
trainee.getGroup(),
|
||||
trainee.getComputer());
|
||||
|
||||
return queryExec(queryStr);
|
||||
}
|
||||
@@ -229,19 +242,52 @@ bool DataBaseLMS::deleteTrainee(int trainee_id)
|
||||
bool DataBaseLMS::updateTrainee(Trainee trainee)
|
||||
{
|
||||
QString queryStr = QString("UPDATE public.trainees "
|
||||
"SET name = '%1', login = '%2', password = '%3', archived = %4, group_trainees = "
|
||||
"(SELECT group_id FROM public.groups_of_trainees WHERE name = '%5') "
|
||||
"WHERE trainee_id = %6").arg(
|
||||
"SET name = '%1', login = '%2', password = '%3', archived = %4, logged_in = %5, "
|
||||
"group_trainees = "
|
||||
"(SELECT group_id FROM public.groups_of_trainees WHERE name = '%6'), "
|
||||
"computer = "
|
||||
"(SELECT computer_id FROM public.computers WHERE name = '%7') "
|
||||
"WHERE trainee_id = %8").arg(
|
||||
trainee.getName(),
|
||||
trainee.getLogin(),
|
||||
trainee.getPassword(),
|
||||
trainee.getArchived() ? "true" : "false",
|
||||
trainee.getLoggedIn() ? "true" : "false",
|
||||
trainee.getGroup(),
|
||||
trainee.getComputer(),
|
||||
QString::number(trainee.getID()) );
|
||||
|
||||
return queryExec(queryStr);
|
||||
}
|
||||
|
||||
QStringList DataBaseLMS::selectTasksOfTrainee(int trainee_id)
|
||||
{
|
||||
QStringList tasks;
|
||||
|
||||
QString queryStr = QString("SELECT tasks.task_id, tasks.name "
|
||||
"FROM public.trainees "
|
||||
"JOIN public.trainee_tasks ON trainee_tasks.trainee_id = trainees.trainee_id "
|
||||
"JOIN public.tasks ON tasks.task_id = trainee_tasks.task_id "
|
||||
"WHERE trainees.trainee_id = %1 "
|
||||
"ORDER BY tasks.name ASC").arg(
|
||||
trainee_id);
|
||||
|
||||
QSqlQuery query(*db);
|
||||
if(!query.exec(queryStr))
|
||||
{
|
||||
messageWarningErrorQuery(queryStr);
|
||||
}
|
||||
else
|
||||
{
|
||||
while (query.next())
|
||||
{//Задача
|
||||
tasks.append(query.value(1).toString());
|
||||
}
|
||||
}
|
||||
|
||||
return tasks;
|
||||
}
|
||||
|
||||
bool DataBaseLMS::queryExec(QString queryStr)
|
||||
{
|
||||
QSqlQuery query(*db);
|
||||
|
||||
@@ -35,6 +35,8 @@ public:
|
||||
bool deleteTrainee(int trainee_id);
|
||||
bool updateTrainee(Trainee trainee);
|
||||
|
||||
QStringList selectTasksOfTrainee(int trainee_id);
|
||||
|
||||
private:
|
||||
bool queryExec(QString queryStr);
|
||||
void messageWarningErrorQuery(QString queryStr);
|
||||
|
||||
@@ -4,13 +4,13 @@ Trainee::Trainee():
|
||||
trainee_id(),
|
||||
name(),
|
||||
login(),
|
||||
password(),
|
||||
password(),
|
||||
archived(false),
|
||||
loggedIn(false),
|
||||
group(),
|
||||
learnClass(),
|
||||
computer(),
|
||||
group(),
|
||||
archived(false),
|
||||
whatItDoes(),
|
||||
loggedIn(false)
|
||||
tasks()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define TRAINEE_H
|
||||
|
||||
#include <QString>
|
||||
#include <QList>
|
||||
#include "DataBaseLMS_global.h"
|
||||
|
||||
class DATABASELMS_EXPORT Trainee
|
||||
@@ -27,6 +28,9 @@ public:
|
||||
void setComputer(QString computer){this->computer = computer;}
|
||||
QString getComputer(){return computer;}
|
||||
|
||||
void setIpAddress(QString ipAddress){this->ipAddress = ipAddress;}
|
||||
QString getIpAddress(){return ipAddress;}
|
||||
|
||||
void setGroup(QString group){this->group = group;}
|
||||
QString getGroup(){return group;}
|
||||
|
||||
@@ -36,22 +40,23 @@ public:
|
||||
void setLoggedIn(bool loggedIn){this->loggedIn = loggedIn;}
|
||||
bool getLoggedIn(){return loggedIn;}
|
||||
|
||||
void setWhatItDoes(QString whatItDoes){this->whatItDoes = whatItDoes;}
|
||||
QString getWhatItDoes(){return whatItDoes;}
|
||||
void setTasks(QStringList tasks){this->tasks = tasks;}
|
||||
QStringList getTasks(){return tasks;}
|
||||
|
||||
private:
|
||||
int trainee_id;
|
||||
QString name;
|
||||
QString login;
|
||||
QString password;
|
||||
QString password;
|
||||
bool archived;
|
||||
bool loggedIn;
|
||||
QString group;
|
||||
|
||||
QString learnClass;
|
||||
QString computer;
|
||||
QString group;
|
||||
bool archived;
|
||||
QString ipAddress;
|
||||
|
||||
QString whatItDoes;
|
||||
|
||||
bool loggedIn;
|
||||
QStringList tasks;
|
||||
};
|
||||
|
||||
#endif // TRAINEE_H
|
||||
|
||||
Reference in New Issue
Block a user