mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
rename0
This commit is contained in:
146
DataBaseInterface/databaselms.h
Normal file
146
DataBaseInterface/databaselms.h
Normal file
@@ -0,0 +1,146 @@
|
||||
#ifndef DATABASELMS_H
|
||||
#define DATABASELMS_H
|
||||
|
||||
#include <QSqlDatabase>
|
||||
#include <QMutex>
|
||||
#include <QWidget>
|
||||
#include <QTranslator>
|
||||
|
||||
#include "instructor.h"
|
||||
#include "trainee.h"
|
||||
#include "group.h"
|
||||
#include "tasksAmmFim.h"
|
||||
#include "timingoftrainee.h"
|
||||
|
||||
static const QString backupEmptyName = ".\\restoreDB\\DBLMS_EMPTY.backup";
|
||||
static const QString restoreDBscriptName = "restoreDBscript.bat";
|
||||
|
||||
class DATABASELMS_EXPORT DataBaseSettings
|
||||
{
|
||||
public:
|
||||
QString dbName = "";
|
||||
QString dbType = "";
|
||||
QString connectionName = "";
|
||||
QString dbUserName = "";
|
||||
QString dbPassword = "";
|
||||
QString dbHostName = "";
|
||||
int dbPort = 0;
|
||||
};
|
||||
|
||||
class DATABASELMS_EXPORT DataBaseLMS : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DataBaseLMS(QWidget *ownerWidget, QObject *parent = nullptr);
|
||||
~DataBaseLMS();
|
||||
|
||||
public Q_SLOTS:
|
||||
void slot_LanguageChanged(QString language);
|
||||
|
||||
signals:
|
||||
void signal_ErrorPostgreSQL(QString text);
|
||||
|
||||
public:
|
||||
static const QString TypeUserDBInstructor;
|
||||
static const QString TypeUserDBTrainee;
|
||||
|
||||
public:
|
||||
//PostgreSQL
|
||||
bool setUserPasswordPostgres(QString userName, QString password);
|
||||
bool checkDriverQPSQLavailable();
|
||||
bool checkUserLMSexist();
|
||||
bool checkDataBaseLMSexist();
|
||||
bool createUser();
|
||||
bool createDB();
|
||||
bool prepareRestoreDBscript();
|
||||
|
||||
protected:
|
||||
//Подключение
|
||||
bool createConnection();
|
||||
void deleteConnection();
|
||||
bool isConnected();
|
||||
|
||||
//Юзер
|
||||
int selectUserID(QString type, QString login, QString password = QStringLiteral(""));
|
||||
QString selectUserNameByLogin(QString type, QString login);
|
||||
bool selectUserLoggedIn(QString type, int id_user);
|
||||
bool selectUserArchived(QString type, int id_user);
|
||||
int updateUserLoggedIn(QString type, int id_user, bool loggedIn);
|
||||
bool updateAllUsersLoggedIn(QString type, bool loggedIn);
|
||||
int updateUserArchived(QString type, int id_user, bool archived);
|
||||
|
||||
//Инструктор
|
||||
QList<Instructor> selectAllInstructors();
|
||||
Instructor selectInstructor(int id_instructor);
|
||||
bool selectInstructorIsAdmin(int id_instructor);
|
||||
int insertInstructor();
|
||||
int insertInstructor(Instructor instructor);
|
||||
int deleteInstructor(int id_instructor);
|
||||
int updateInstructor(Instructor instructor);
|
||||
|
||||
//Группа
|
||||
QList<Group> selectAllGroups();
|
||||
Group selectGroup(int id_group);
|
||||
int insertGroup();
|
||||
int insertGroup(Group group);
|
||||
int deleteGroup(int id_group);
|
||||
int updateGroup(Group group);
|
||||
|
||||
//Обучаемый
|
||||
QList<Trainee> selectAllTrainees();
|
||||
Trainee selectTrainee(int id_trainee);
|
||||
QList<Trainee> selectAllTraineesInGroup(int id_group);
|
||||
QString selectTraineeNameOnComputer(QString computer_name);
|
||||
Trainee selectTraineeOnComputer(QString computer_name);
|
||||
int insertTrainee(int id_group);
|
||||
int insertTrainee(Trainee trainee);
|
||||
int deleteTrainee(int id_trainee);
|
||||
int updateTrainee(Trainee trainee);
|
||||
|
||||
//Тайминг
|
||||
int insertTimingTrainee(int id_trainee);
|
||||
int updateTimingTrainee(int id_trainee, TimingOfTrainee timing);
|
||||
TimingOfTrainee selectTimingTrainee(int id_trainee);
|
||||
|
||||
//Задача AMM
|
||||
int insertTaskAMM(TaskAmmFim task, int id_trainee);
|
||||
int updateTaskAMM(TaskAmmFim task);
|
||||
int updateStatusTaskAMM(int task_id, QString status);
|
||||
int deleteTaskAMM(int id_task);
|
||||
QList<TaskAmmFim> selectTasksAMMofTrainee(int id_trainee);
|
||||
TaskAmmFim selectTaskAMMbyID(int id_task);
|
||||
//Задача FIM
|
||||
int insertTaskFIM(TaskAmmFim task, int id_trainee);
|
||||
int updateTaskFIM(TaskAmmFim task);
|
||||
int updateStatusTaskFIM(int task_id, QString status);
|
||||
int deleteTaskFIM(int id_task);
|
||||
QList<TaskAmmFim> selectTasksFIMofTrainee(int id_trainee);
|
||||
TaskAmmFim selectTaskFIMbyID(int id_task);
|
||||
//int deleteReportFIMforTask(int task_id);
|
||||
//int insertReportFIMforTask(TaskAmmFim task);
|
||||
int updateReportFIMforTask(TaskAmmFim task);
|
||||
|
||||
public:
|
||||
DataBaseSettings getDataBaseSettings();
|
||||
private:
|
||||
int queryExecInt(QString queryStr);
|
||||
QString queryExecString(QString queryStr);
|
||||
bool queryExecBool(QString queryStr);
|
||||
bool queryExec(QString queryStr, QSqlQuery* query);
|
||||
void messageWarningErrorQuery(QString queryStr, QSqlQuery* query);
|
||||
|
||||
protected:
|
||||
QSqlDatabase* db;
|
||||
DataBaseSettings dbSettings;
|
||||
|
||||
QString UserNamePostgres;
|
||||
QString PasswordPostgres;
|
||||
|
||||
QTranslator qtLanguageTranslator;
|
||||
|
||||
private:
|
||||
QWidget* ownerWidget;
|
||||
};
|
||||
|
||||
#endif // DATABASELMS_H
|
||||
Reference in New Issue
Block a user