From 46f658753592a52d6bb7466b9cb9a2d0d26de87a Mon Sep 17 00:00:00 2001 From: krivoshein Date: Thu, 23 Jan 2025 11:05:41 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81=20Ty?= =?UTF-8?q?peQueryToDB=20=D0=B2=20DataBaseLMS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DataBaseLMS/CMakeLists.txt | 1 + DataBaseLMS/databaselms.cpp | 49 +++++++++++++++++-- DataBaseLMS/databaselms.h | 11 +++-- DataBaseLMS/interfacedatabaselms.cpp | 17 ++++++- DataBaseLMS/interfacedatabaselms.h | 4 ++ DataBaseLMS/typeQueryToDB.h | 21 ++++++++ .../connectorToServer/Datas.h | 4 +- ServerLMS/Data/typesDataServerClient.h | 4 +- ServerLMS/Systems/processingsystem.cpp | 13 +++++ ServerLMS/providerdblms.cpp | 17 ++++++- ServerLMS/providerdblms.h | 4 ++ 11 files changed, 134 insertions(+), 11 deletions(-) create mode 100644 DataBaseLMS/typeQueryToDB.h diff --git a/DataBaseLMS/CMakeLists.txt b/DataBaseLMS/CMakeLists.txt index f3f154c..b9aafce 100644 --- a/DataBaseLMS/CMakeLists.txt +++ b/DataBaseLMS/CMakeLists.txt @@ -26,6 +26,7 @@ add_library(DataBaseLMS SHARED classroom.h tasksAmmFim.cpp tasksAmmFim.h + typeQueryToDB.h ) target_link_libraries(DataBaseLMS PRIVATE Qt5::Widgets) diff --git a/DataBaseLMS/databaselms.cpp b/DataBaseLMS/databaselms.cpp index ecaebaf..1d9cf40 100644 --- a/DataBaseLMS/databaselms.cpp +++ b/DataBaseLMS/databaselms.cpp @@ -426,12 +426,12 @@ int DataBaseLMS::insertGroup(Group group) return queryExecInt(queryStr); } -int DataBaseLMS::deleteGroup(int group_id) +int DataBaseLMS::deleteGroup(int id_group) { QString queryStr = QString("DELETE FROM public.groups " "WHERE group_id = %1 " "RETURNING groups.group_id").arg( - QString::number(group_id)); + QString::number(id_group)); return queryExecInt(queryStr); } @@ -469,6 +469,47 @@ int DataBaseLMS::updateTaskAMM(TaskAmmFim task) return queryExecInt(queryStr); } +int DataBaseLMS::deleteTaskAMM(int id_task) +{ + QString queryStr = QString("DELETE FROM public.tasks_amm " + "WHERE task_id = %1 " + "RETURNING tasks_amm.task_id").arg( + QString::number(id_task)); + + return queryExecInt(queryStr); +} + +int DataBaseLMS::insertTaskFIM(int id_trainee) +{ + QString queryStr = QString("INSERT INTO public.tasks_fim (title, trainee_task) " + "VALUES (DEFAULT, %1) " + "RETURNING tasks_fim.task_id").arg( + QString::number(id_trainee)); + + return queryExecInt(queryStr); +} + +int DataBaseLMS::updateTaskFIM(TaskAmmFim task) +{ + QString queryStr = QString("UPDATE public.tasks_fim SET title = '%1' " + "WHERE task_id = %2 " + "RETURNING tasks_fim.task_id").arg( + task.title, + QString::number(task.getID()) ); + + return queryExecInt(queryStr); +} + +int DataBaseLMS::deleteTaskFIM(int id_task) +{ + QString queryStr = QString("DELETE FROM public.tasks_fim " + "WHERE task_id = %1 " + "RETURNING tasks_fim.task_id").arg( + QString::number(id_task)); + + return queryExecInt(queryStr); +} + Trainee DataBaseLMS::selectTrainee(int id_trainee) { Trainee trainee; @@ -721,12 +762,12 @@ int DataBaseLMS::insertTrainee(Trainee trainee) return queryExecInt(queryStr); } -int DataBaseLMS::deleteTrainee(int trainee_id) +int DataBaseLMS::deleteTrainee(int id_trainee) { QString queryStr = QString("DELETE FROM public.trainees " "WHERE trainee_id = %1 " "RETURNING trainees.trainee_id").arg( - QString::number(trainee_id)); + QString::number(id_trainee)); return queryExecInt(queryStr); } diff --git a/DataBaseLMS/databaselms.h b/DataBaseLMS/databaselms.h index 6d73f30..6cb61e2 100644 --- a/DataBaseLMS/databaselms.h +++ b/DataBaseLMS/databaselms.h @@ -50,12 +50,17 @@ protected: Group selectGroup(int id_group); int insertGroup(); int insertGroup(Group group); - int deleteGroup(int group_id); + int deleteGroup(int id_group); int updateGroup(Group group); - //Задача + //Задача AMM int insertTaskAMM(int id_trainee); int updateTaskAMM(TaskAmmFim task); + int deleteTaskAMM(int id_task); + //Задача FIM + int insertTaskFIM(int id_trainee); + int updateTaskFIM(TaskAmmFim task); + int deleteTaskFIM(int id_task); //Обучаемый Trainee selectTrainee(int id_trainee); @@ -72,7 +77,7 @@ protected: int insertTrainee(int id_group); int insertTrainee(Trainee trainee); - int deleteTrainee(int trainee_id); + int deleteTrainee(int id_trainee); int updateTrainee(Trainee trainee); QList selectTasksOfTrainee(int trainee_id); diff --git a/DataBaseLMS/interfacedatabaselms.cpp b/DataBaseLMS/interfacedatabaselms.cpp index b02f468..efc302b 100644 --- a/DataBaseLMS/interfacedatabaselms.cpp +++ b/DataBaseLMS/interfacedatabaselms.cpp @@ -288,7 +288,7 @@ int InterfaceDataBaseLMS::newTaskAMM(int id_trainee) int InterfaceDataBaseLMS::delTaskAMM(int id) { - return 0; + return deleteTaskAMM(id); } int InterfaceDataBaseLMS::editTaskAMM(TaskAmmFim task) @@ -296,6 +296,21 @@ int InterfaceDataBaseLMS::editTaskAMM(TaskAmmFim task) return updateTaskAMM(task); } +int InterfaceDataBaseLMS::newTaskFIM(int id_trainee) +{ + return insertTaskFIM(id_trainee); +} + +int InterfaceDataBaseLMS::delTaskFIM(int id) +{ + return deleteTaskFIM(id); +} + +int InterfaceDataBaseLMS::editTaskFIM(TaskAmmFim task) +{ + return updateTaskFIM(task); +} + int InterfaceDataBaseLMS::newTrainee(int id_group) { return insertTrainee(id_group); diff --git a/DataBaseLMS/interfacedatabaselms.h b/DataBaseLMS/interfacedatabaselms.h index 0744b3e..cd06584 100644 --- a/DataBaseLMS/interfacedatabaselms.h +++ b/DataBaseLMS/interfacedatabaselms.h @@ -73,6 +73,10 @@ public: int delTaskAMM(int id); int editTaskAMM(TaskAmmFim task); + int newTaskFIM(int id_trainee); + int delTaskFIM(int id); + int editTaskFIM(TaskAmmFim task); + int newTrainee(int id_group); int delTrainee(int id); int editTrainee(Trainee trainee); diff --git a/DataBaseLMS/typeQueryToDB.h b/DataBaseLMS/typeQueryToDB.h new file mode 100644 index 0000000..72b45f0 --- /dev/null +++ b/DataBaseLMS/typeQueryToDB.h @@ -0,0 +1,21 @@ +#ifndef TYPEQUERYTODB_H +#define TYPEQUERYTODB_H + +#include "DataBaseLMS_global.h" + +enum TypeQueryToDB{ + TYPE_QUERY_GET_ALL_LISTS, + TYPE_QUERY_NEW_INSTRUCTOR, + TYPE_QUERY_DEL_INSTRUCTOR, + TYPE_QUERY_EDIT_INSTRUCTOR, + TYPE_QUERY_NEW_GROUP, + TYPE_QUERY_DEL_GROUP, + TYPE_QUERY_EDIT_GROUP, + TYPE_QUERY_NEW_TRAINEE, + TYPE_QUERY_DEL_TRAINEE, + TYPE_QUERY_EDIT_TRAINEE, + TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, + TYPE_QUERY_ASSIGN_TASK_FIM_TO_TRAINEE +}; + +#endif // TYPEQUERYTODB_H diff --git a/InstructorsAndTrainees/connectorToServer/Datas.h b/InstructorsAndTrainees/connectorToServer/Datas.h index ef8c985..5f03268 100644 --- a/InstructorsAndTrainees/connectorToServer/Datas.h +++ b/InstructorsAndTrainees/connectorToServer/Datas.h @@ -2,6 +2,7 @@ #define DATAS_H #include +#include "typeQueryToDB.h" class ServerSettings{ public: @@ -41,7 +42,7 @@ class ClientDeAutorization{ public: QString Login; }; - +/* enum TypeQueryToDB{ TYPE_QUERY_GET_ALL_LISTS, TYPE_QUERY_NEW_INSTRUCTOR, @@ -56,6 +57,7 @@ enum TypeQueryToDB{ TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, TYPE_QUERY_ASSIGN_TASK_FIM_TO_TRAINEE }; +*/ class ClientQueryToDB{ public: diff --git a/ServerLMS/Data/typesDataServerClient.h b/ServerLMS/Data/typesDataServerClient.h index d3f637c..beee14e 100644 --- a/ServerLMS/Data/typesDataServerClient.h +++ b/ServerLMS/Data/typesDataServerClient.h @@ -3,6 +3,7 @@ #include #include +#include "typeQueryToDB.h" #define NOTIFY_SERVER_END "END" #define NOTIFY_SERVER_BLOCKED "BLOCKED" @@ -60,7 +61,7 @@ class ClientDeAutorization public: QString Login; }; - +/* enum TypeQueryToDB{ TYPE_QUERY_GET_ALL_LISTS, TYPE_QUERY_NEW_INSTRUCTOR, @@ -75,6 +76,7 @@ enum TypeQueryToDB{ TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, TYPE_QUERY_ASSIGN_TASK_FIM_TO_TRAINEE }; +*/ class ClientQueryToDB{ public: diff --git a/ServerLMS/Systems/processingsystem.cpp b/ServerLMS/Systems/processingsystem.cpp index 0adbfae..9acc099 100644 --- a/ServerLMS/Systems/processingsystem.cpp +++ b/ServerLMS/Systems/processingsystem.cpp @@ -240,6 +240,19 @@ void ProcessingSystem::processingClientQueryToDB(ClientHandler *client, ClientQu //emit sigTasksChanged(); break; } + + case TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_FIM_TO_TRAINEE: + { + int id_new; + id_new = providerDBLMS->newTaskFIM(id); + if(id_new) + { + (*(TaskAmmFim*)data).setID(id_new); + providerDBLMS->editTaskFIM(*(TaskAmmFim*)data); + } + //emit sigTasksChanged(); + break; + } } //client->sendXmlAnswer(arrayAnswer, PacketType::TYPE_XMLANSWER_QUERY_DB_LIST_INSTRUCTORS); diff --git a/ServerLMS/providerdblms.cpp b/ServerLMS/providerdblms.cpp index cadfb13..8a137bc 100644 --- a/ServerLMS/providerdblms.cpp +++ b/ServerLMS/providerdblms.cpp @@ -307,10 +307,25 @@ int ProviderDBLMS::newTaskAMM(int id_trainee) int ProviderDBLMS::delTaskAMM(int id) { - return 0; + return dbLMS->delTaskAMM(id); } int ProviderDBLMS::editTaskAMM(TaskAmmFim task) { return dbLMS->editTaskAMM(task); } + +int ProviderDBLMS::newTaskFIM(int id_trainee) +{ + return dbLMS->newTaskFIM(id_trainee); +} + +int ProviderDBLMS::delTaskFIM(int id) +{ + return dbLMS->delTaskFIM(id); +} + +int ProviderDBLMS::editTaskFIM(TaskAmmFim task) +{ + return dbLMS->editTaskFIM(task); +} diff --git a/ServerLMS/providerdblms.h b/ServerLMS/providerdblms.h index bf53901..852c90a 100644 --- a/ServerLMS/providerdblms.h +++ b/ServerLMS/providerdblms.h @@ -46,6 +46,10 @@ public: int delTaskAMM(int id); int editTaskAMM(TaskAmmFim task); + int newTaskFIM(int id_trainee); + int delTaskFIM(int id); + int editTaskFIM(TaskAmmFim task); + Q_SIGNALS: //сигнал о блокировке авторизации void signal_BlockAutorization(bool block);