mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Refact
This commit is contained in:
@@ -1707,9 +1707,9 @@ int DataBaseLMS::updateTimingTrainee(int id_trainee, TimingOfTrainee timing)
|
|||||||
"SET entry_time = '%1', exit_time = '%2', operating_time = '%3', timing_trainee = %4 "
|
"SET entry_time = '%1', exit_time = '%2', operating_time = '%3', timing_trainee = %4 "
|
||||||
"WHERE timing_id = %5 "
|
"WHERE timing_id = %5 "
|
||||||
"RETURNING timings.timing_id").arg(
|
"RETURNING timings.timing_id").arg(
|
||||||
timing.getEntryTime(),
|
timing.getEntryTimeS(),
|
||||||
timing.getExitTime(),
|
timing.getExitTimeS(),
|
||||||
timing.getOperatingTime(),
|
timing.getOperatingTimeS(),
|
||||||
QString::number(id_trainee),
|
QString::number(id_trainee),
|
||||||
QString::number(timing.getID()) );
|
QString::number(timing.getID()) );
|
||||||
|
|
||||||
@@ -1718,7 +1718,7 @@ int DataBaseLMS::updateTimingTrainee(int id_trainee, TimingOfTrainee timing)
|
|||||||
|
|
||||||
TimingOfTrainee DataBaseLMS::selectTimingTrainee(int id_trainee)
|
TimingOfTrainee DataBaseLMS::selectTimingTrainee(int id_trainee)
|
||||||
{
|
{
|
||||||
TimingOfTrainee timing;
|
TimingOfTrainee timing(id_trainee);
|
||||||
|
|
||||||
QString queryStr;
|
QString queryStr;
|
||||||
|
|
||||||
@@ -1733,9 +1733,9 @@ TimingOfTrainee DataBaseLMS::selectTimingTrainee(int id_trainee)
|
|||||||
if (querySel.first())
|
if (querySel.first())
|
||||||
{//Тайминг
|
{//Тайминг
|
||||||
timing.setID(querySel.value(0).toInt());
|
timing.setID(querySel.value(0).toInt());
|
||||||
timing.setEntryTime(querySel.value(1).toDateTime().toString());
|
timing.setEntryTime(querySel.value(1).toDateTime());
|
||||||
timing.setExitTime(querySel.value(2).toDateTime().toString());
|
timing.setExitTime(querySel.value(2).toDateTime());
|
||||||
timing.setOperatingTime(querySel.value(3).toTime().toString());
|
timing.setOperatingTimeS(querySel.value(3).toTime().toString());
|
||||||
timing.setTraineeID(querySel.value(4).toInt());
|
timing.setTraineeID(querySel.value(4).toInt());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -222,80 +222,34 @@ bool InterfaceDataBaseLMS::deAuthorizationAllTrainees()
|
|||||||
|
|
||||||
int InterfaceDataBaseLMS::entryTraineeOnSimulator(int id_trainee)
|
int InterfaceDataBaseLMS::entryTraineeOnSimulator(int id_trainee)
|
||||||
{
|
{
|
||||||
TimingOfTrainee timing;
|
TimingOfTrainee timing(id_trainee);
|
||||||
|
|
||||||
QDateTime dataTime_entry = QDateTime::currentDateTime();
|
|
||||||
QDateTime dataTime_exit;
|
|
||||||
int interval;
|
|
||||||
|
|
||||||
QString dataTimeStr_entry = dataTime_entry.toString("yyyy-MM-dd hh:mm:ss.zzz");
|
|
||||||
QString dataTimeStr_exit = "";
|
|
||||||
QString intervalStr = "";
|
|
||||||
|
|
||||||
timing = selectTimingTrainee(id_trainee);
|
timing = selectTimingTrainee(id_trainee);
|
||||||
|
|
||||||
if(timing.getID())
|
if(!timing.getID())
|
||||||
{//Запись уже есть в базе
|
|
||||||
dataTime_exit = QDateTime::fromString(timing.getExitTime());
|
|
||||||
dataTimeStr_exit = dataTime_exit.toString("yyyy-MM-dd hh:mm:ss.zzz");
|
|
||||||
intervalStr = timing.getOperatingTime();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{//Еще нет записи
|
{//Еще нет записи
|
||||||
int timing_id = insertTimingTrainee(id_trainee);
|
int timing_id = insertTimingTrainee(id_trainee);
|
||||||
timing.setID(timing_id);
|
timing.setID(timing_id);
|
||||||
|
|
||||||
dataTime_exit = dataTime_entry;
|
|
||||||
interval = dataTime_entry.secsTo(dataTime_exit);
|
|
||||||
dataTimeStr_exit = dataTime_exit.toString("yyyy-MM-dd hh:mm:ss.zzz");
|
|
||||||
intervalStr = QString::number(interval);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
timing.setTraineeID(id_trainee);
|
timing.fixEntry();
|
||||||
timing.setEntryTime(dataTimeStr_entry);
|
|
||||||
timing.setExitTime(dataTimeStr_exit);
|
|
||||||
timing.setOperatingTime(intervalStr);
|
|
||||||
|
|
||||||
return updateTimingTrainee(id_trainee, timing);
|
return updateTimingTrainee(id_trainee, timing);
|
||||||
}
|
}
|
||||||
|
|
||||||
int InterfaceDataBaseLMS::exitTraineeFromSimulator(int id_trainee)
|
int InterfaceDataBaseLMS::exitTraineeFromSimulator(int id_trainee)
|
||||||
{
|
{
|
||||||
TimingOfTrainee timing;
|
TimingOfTrainee timing(id_trainee);
|
||||||
|
|
||||||
QDateTime dataTime_entry;
|
|
||||||
QDateTime dataTime_exit = QDateTime::currentDateTime();
|
|
||||||
int interval;
|
|
||||||
|
|
||||||
QString dataTimeStr_entry = "";
|
|
||||||
QString dataTimeStr_exit = dataTime_exit.toString("yyyy-MM-dd hh:mm:ss.zzz");
|
|
||||||
QString intervalStr = "";
|
|
||||||
|
|
||||||
timing = selectTimingTrainee(id_trainee);
|
timing = selectTimingTrainee(id_trainee);
|
||||||
|
|
||||||
if(timing.getID())
|
if(!timing.getID())
|
||||||
{//Запись уже есть в базе
|
|
||||||
dataTime_entry = QDateTime::fromString(timing.getEntryTime());
|
|
||||||
dataTimeStr_entry = dataTime_entry.toString("yyyy-MM-dd hh:mm:ss.zzz");
|
|
||||||
interval = QTime::fromString(timing.getOperatingTime()).second() + dataTime_entry.secsTo(dataTime_exit);
|
|
||||||
//interval = dataTime_entry.secsTo(dataTime_exit);
|
|
||||||
intervalStr = QString::number(interval);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{//Еще нет записи
|
{//Еще нет записи
|
||||||
int timing_id = insertTimingTrainee(id_trainee);
|
int timing_id = insertTimingTrainee(id_trainee);
|
||||||
timing.setID(timing_id);
|
timing.setID(timing_id);
|
||||||
|
|
||||||
dataTime_entry = dataTime_exit;
|
|
||||||
interval = dataTime_entry.secsTo(dataTime_exit);
|
|
||||||
dataTimeStr_entry = dataTime_entry.toString("yyyy-MM-dd hh:mm:ss.zzz");
|
|
||||||
intervalStr = QString::number(interval);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
timing.setTraineeID(id_trainee);
|
timing.fixExit();
|
||||||
timing.setEntryTime(dataTimeStr_entry);
|
|
||||||
timing.setExitTime(dataTimeStr_exit);
|
|
||||||
timing.setOperatingTime(intervalStr);
|
|
||||||
|
|
||||||
return updateTimingTrainee(id_trainee, timing);
|
return updateTimingTrainee(id_trainee, timing);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,70 @@
|
|||||||
#include "timingoftrainee.h"
|
#include "timingoftrainee.h"
|
||||||
|
|
||||||
TimingOfTrainee::TimingOfTrainee()
|
TimingOfTrainee::TimingOfTrainee(int trainee_id):
|
||||||
|
timing_id(0),
|
||||||
|
trainee_id(trainee_id)
|
||||||
{
|
{
|
||||||
|
QDateTime dataTimeCurr = QDateTime::currentDateTime();
|
||||||
|
setOperatingTime(0);
|
||||||
|
setEntryTime(dataTimeCurr);
|
||||||
|
setExitTime(dataTimeCurr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TimingOfTrainee::setEntryTimeS(QString entry_time)
|
||||||
|
{
|
||||||
|
str_entryTime = entry_time;
|
||||||
|
entryTime = QDateTime::fromString(entry_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimingOfTrainee::setEntryTime(QDateTime entry_time)
|
||||||
|
{
|
||||||
|
entryTime = entry_time;
|
||||||
|
str_entryTime = entry_time.toString("yyyy-MM-dd hh:mm:ss.zzz");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TimingOfTrainee::setExitTimeS(QString exit_time)
|
||||||
|
{
|
||||||
|
str_exitTime = exit_time;
|
||||||
|
exitTime = QDateTime::fromString(exit_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimingOfTrainee::setExitTime(QDateTime exit_time)
|
||||||
|
{
|
||||||
|
exitTime = exit_time;
|
||||||
|
str_exitTime = exit_time.toString("yyyy-MM-dd hh:mm:ss.zzz");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TimingOfTrainee::setOperatingTimeS(QString operating_time)
|
||||||
|
{
|
||||||
|
str_operatingTime = operating_time;
|
||||||
|
QTime timeLoc = QTime::fromString(operating_time);
|
||||||
|
operatingTime = timeLoc.hour() * 3600 + timeLoc.minute() * 60 + timeLoc.second();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimingOfTrainee::setOperatingTime(int operating_time)
|
||||||
|
{
|
||||||
|
operatingTime = operating_time;
|
||||||
|
str_operatingTime = QTime::fromString("00:00:00").addSecs(operating_time).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimingOfTrainee::fixEntry()
|
||||||
|
{
|
||||||
|
QDateTime dataTimeCurr = QDateTime::currentDateTime();
|
||||||
|
setEntryTime(dataTimeCurr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimingOfTrainee::fixExit()
|
||||||
|
{
|
||||||
|
QDateTime dataTimeCurr = QDateTime::currentDateTime();
|
||||||
|
setExitTime(dataTimeCurr);
|
||||||
|
calculateOperatingTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimingOfTrainee::calculateOperatingTime()
|
||||||
|
{
|
||||||
|
int cntSec = entryTime.secsTo(exitTime);
|
||||||
|
setOperatingTime(getOperatingTime() + cntSec);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,33 +2,57 @@
|
|||||||
#define TIMINGOFTRAINEE_H
|
#define TIMINGOFTRAINEE_H
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
#include <QDateTime>
|
||||||
|
|
||||||
class TimingOfTrainee
|
class TimingOfTrainee
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TimingOfTrainee();
|
TimingOfTrainee(int trainee_id);
|
||||||
|
|
||||||
void setID(int timing_id){this->timing_id = timing_id;}
|
void setID(int timing_id){this->timing_id = timing_id;}
|
||||||
int getID(){return timing_id;}
|
int getID(){return timing_id;}
|
||||||
|
|
||||||
void setEntryTime(QString entry_time){this->entry_time = entry_time;}
|
|
||||||
QString getEntryTime(){return entry_time;}
|
|
||||||
|
|
||||||
void setExitTime(QString exit_time){this->exit_time = exit_time;}
|
|
||||||
QString getExitTime(){return exit_time;}
|
|
||||||
|
|
||||||
void setOperatingTime(QString operating_time){this->operating_time = operating_time;}
|
|
||||||
QString getOperatingTime(){return operating_time;}
|
|
||||||
|
|
||||||
void setTraineeID(int trainee_id){this->trainee_id = trainee_id;}
|
void setTraineeID(int trainee_id){this->trainee_id = trainee_id;}
|
||||||
int getTraineeID(){return trainee_id;}
|
int getTraineeID(){return trainee_id;}
|
||||||
|
|
||||||
|
|
||||||
|
void setEntryTimeS(QString entry_time);
|
||||||
|
void setEntryTime(QDateTime entry_time);
|
||||||
|
|
||||||
|
QString getEntryTimeS(){return str_entryTime;}
|
||||||
|
QDateTime getEntryTime(){return entryTime;}
|
||||||
|
|
||||||
|
|
||||||
|
void setExitTimeS(QString exit_time);
|
||||||
|
void setExitTime(QDateTime exit_time);
|
||||||
|
|
||||||
|
QString getExitTimeS(){return str_exitTime;}
|
||||||
|
QDateTime getExitTime(){return exitTime;}
|
||||||
|
|
||||||
|
|
||||||
|
void setOperatingTimeS(QString operating_time);
|
||||||
|
void setOperatingTime(int operating_time);
|
||||||
|
|
||||||
|
QString getOperatingTimeS(){return str_operatingTime;}
|
||||||
|
int getOperatingTime(){return operatingTime;}
|
||||||
|
|
||||||
|
void fixEntry();
|
||||||
|
void fixExit();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int timing_id = 0;
|
void calculateOperatingTime();
|
||||||
QString entry_time = "";
|
|
||||||
QString exit_time = "";
|
private:
|
||||||
QString operating_time = "";
|
int timing_id;
|
||||||
int trainee_id = 0;
|
int trainee_id;
|
||||||
|
|
||||||
|
QString str_entryTime; //"yyyy-MM-dd hh:mm:ss.zzz"
|
||||||
|
QString str_exitTime; //"yyyy-MM-dd hh:mm:ss.zzz"
|
||||||
|
QString str_operatingTime; //"hh:mm:ss"
|
||||||
|
|
||||||
|
QDateTime entryTime;
|
||||||
|
QDateTime exitTime;
|
||||||
|
int operatingTime; //в секундах
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TIMINGOFTRAINEE_H
|
#endif // TIMINGOFTRAINEE_H
|
||||||
|
|||||||
Reference in New Issue
Block a user