Timing finish

This commit is contained in:
2025-07-31 10:19:35 +03:00
parent 0c696e03d9
commit 577e203281
5 changed files with 37 additions and 30 deletions

View File

@@ -1720,9 +1720,7 @@ TimingOfTrainee DataBaseLMS::selectTimingTrainee(int id_trainee)
{ {
TimingOfTrainee timing(id_trainee); TimingOfTrainee timing(id_trainee);
QString queryStr; QString queryStr = QString("SELECT timings.timing_id, timings.entry_time, timings.exit_time, timings.operating_time, timings.timing_trainee "
queryStr = QString("SELECT timings.timing_id, timings.entry_time, timings.exit_time, timings.operating_time, timings.timing_trainee "
"FROM public.timings " "FROM public.timings "
"WHERE timing_trainee = '%1'").arg(id_trainee); "WHERE timing_trainee = '%1'").arg(id_trainee);
@@ -1735,7 +1733,7 @@ TimingOfTrainee DataBaseLMS::selectTimingTrainee(int id_trainee)
timing.setID(querySel.value(0).toInt()); timing.setID(querySel.value(0).toInt());
timing.setEntryTime(querySel.value(1).toDateTime()); timing.setEntryTime(querySel.value(1).toDateTime());
timing.setExitTime(querySel.value(2).toDateTime()); timing.setExitTime(querySel.value(2).toDateTime());
timing.setOperatingTimeS(querySel.value(3).toTime().toString()); timing.setOperatingTime(querySel.value(3).toTime());
timing.setTraineeID(querySel.value(4).toInt()); timing.setTraineeID(querySel.value(4).toInt());
} }
} }

View File

@@ -230,6 +230,9 @@ int InterfaceDataBaseLMS::entryTraineeOnSimulator(int id_trainee)
{//Еще нет записи {//Еще нет записи
int timing_id = insertTimingTrainee(id_trainee); int timing_id = insertTimingTrainee(id_trainee);
timing.setID(timing_id); timing.setID(timing_id);
if(!timing_id)
return 0;
} }
timing.fixEntry(); timing.fixEntry();
@@ -247,6 +250,9 @@ int InterfaceDataBaseLMS::exitTraineeFromSimulator(int id_trainee)
{//Еще нет записи {//Еще нет записи
int timing_id = insertTimingTrainee(id_trainee); int timing_id = insertTimingTrainee(id_trainee);
timing.setID(timing_id); timing.setID(timing_id);
if(!timing_id)
return 0;
} }
timing.fixExit(); timing.fixExit();

View File

@@ -4,50 +4,50 @@ TimingOfTrainee::TimingOfTrainee(int trainee_id):
timing_id(0), timing_id(0),
trainee_id(trainee_id) trainee_id(trainee_id)
{ {
QDateTime dataTimeCurr = QDateTime::currentDateTime(); //QDateTime dataTimeCurr = QDateTime::currentDateTime();
setOperatingTime(0); dataTimeNull = QDateTime::fromString("2000-01-01 00:00:00.000", "yyyy-MM-dd hh:mm:ss.zzz");
setEntryTime(dataTimeCurr); setOperatingTime(QTime::fromString("00:00:00"));
setExitTime(dataTimeCurr); setEntryTime(dataTimeNull);
setExitTime(dataTimeNull);
} }
void TimingOfTrainee::setEntryTimeS(QString entry_time) void TimingOfTrainee::setEntryTimeS(QString entry_time)
{ {
str_entryTime = entry_time; entryTime_str = entry_time;
entryTime = QDateTime::fromString(entry_time); entryTime = QDateTime::fromString(entry_time);
} }
void TimingOfTrainee::setEntryTime(QDateTime entry_time) void TimingOfTrainee::setEntryTime(QDateTime entry_time)
{ {
entryTime = entry_time; entryTime = entry_time;
str_entryTime = entry_time.toString("yyyy-MM-dd hh:mm:ss.zzz"); entryTime_str = entry_time.toString("yyyy-MM-dd hh:mm:ss.zzz");
} }
void TimingOfTrainee::setExitTimeS(QString exit_time) void TimingOfTrainee::setExitTimeS(QString exit_time)
{ {
str_exitTime = exit_time; exitTime_str = exit_time;
exitTime = QDateTime::fromString(exit_time); exitTime = QDateTime::fromString(exit_time);
} }
void TimingOfTrainee::setExitTime(QDateTime exit_time) void TimingOfTrainee::setExitTime(QDateTime exit_time)
{ {
exitTime = exit_time; exitTime = exit_time;
str_exitTime = exit_time.toString("yyyy-MM-dd hh:mm:ss.zzz"); exitTime_str = exit_time.toString("yyyy-MM-dd hh:mm:ss.zzz");
} }
void TimingOfTrainee::setOperatingTimeS(QString operating_time) void TimingOfTrainee::setOperatingTimeS(QString operating_time)
{ {
str_operatingTime = operating_time; operatingTime_str = operating_time;
QTime timeLoc = QTime::fromString(operating_time); operatingTime = QTime::fromString(operating_time);
operatingTime = timeLoc.hour() * 3600 + timeLoc.minute() * 60 + timeLoc.second();
} }
void TimingOfTrainee::setOperatingTime(int operating_time) void TimingOfTrainee::setOperatingTime(QTime operating_time)
{ {
operatingTime = operating_time; operatingTime = operating_time;
str_operatingTime = QTime::fromString("00:00:00").addSecs(operating_time).toString(); operatingTime_str = operating_time.toString();
} }
void TimingOfTrainee::fixEntry() void TimingOfTrainee::fixEntry()
@@ -60,11 +60,12 @@ void TimingOfTrainee::fixExit()
{ {
QDateTime dataTimeCurr = QDateTime::currentDateTime(); QDateTime dataTimeCurr = QDateTime::currentDateTime();
setExitTime(dataTimeCurr); setExitTime(dataTimeCurr);
if(entryTime != dataTimeNull)
calculateOperatingTime(); calculateOperatingTime();
} }
void TimingOfTrainee::calculateOperatingTime() void TimingOfTrainee::calculateOperatingTime()
{ {
int cntSec = entryTime.secsTo(exitTime); int cntSec = entryTime.secsTo(exitTime);
setOperatingTime(getOperatingTime() + cntSec); setOperatingTime(getOperatingTime().addSecs(cntSec));
} }

View File

@@ -19,22 +19,22 @@ public:
void setEntryTimeS(QString entry_time); void setEntryTimeS(QString entry_time);
void setEntryTime(QDateTime entry_time); void setEntryTime(QDateTime entry_time);
QString getEntryTimeS(){return str_entryTime;} QString getEntryTimeS(){return entryTime_str;}
QDateTime getEntryTime(){return entryTime;} QDateTime getEntryTime(){return entryTime;}
void setExitTimeS(QString exit_time); void setExitTimeS(QString exit_time);
void setExitTime(QDateTime exit_time); void setExitTime(QDateTime exit_time);
QString getExitTimeS(){return str_exitTime;} QString getExitTimeS(){return exitTime_str;}
QDateTime getExitTime(){return exitTime;} QDateTime getExitTime(){return exitTime;}
void setOperatingTimeS(QString operating_time); void setOperatingTimeS(QString operating_time);
void setOperatingTime(int operating_time); void setOperatingTime(QTime operating_time);
QString getOperatingTimeS(){return str_operatingTime;} QString getOperatingTimeS(){return operatingTime_str;}
int getOperatingTime(){return operatingTime;} QTime getOperatingTime(){return operatingTime;}
void fixEntry(); void fixEntry();
void fixExit(); void fixExit();
@@ -46,13 +46,15 @@ private:
int timing_id; int timing_id;
int trainee_id; int trainee_id;
QString str_entryTime; //"yyyy-MM-dd hh:mm:ss.zzz" QString entryTime_str; //"yyyy-MM-dd hh:mm:ss.zzz"
QString str_exitTime; //"yyyy-MM-dd hh:mm:ss.zzz" QString exitTime_str; //"yyyy-MM-dd hh:mm:ss.zzz"
QString str_operatingTime; //"hh:mm:ss" QString operatingTime_str; //"hh:mm:ss"
QDateTime entryTime; QDateTime entryTime;
QDateTime exitTime; QDateTime exitTime;
int operatingTime; //в секундах QTime operatingTime;
QDateTime dataTimeNull;
}; };
#endif // TIMINGOFTRAINEE_H #endif // TIMINGOFTRAINEE_H

View File

@@ -4,8 +4,8 @@
ProcessingSystem::ProcessingSystem(ProviderDBLMS* providerDBLMS, UpdateController* updateController, QObject *parent): ProcessingSystem::ProcessingSystem(ProviderDBLMS* providerDBLMS, UpdateController* updateController, QObject *parent):
QObject(parent), QObject(parent),
providerDBLMS(nullptr), updateController(nullptr),
updateController(nullptr) providerDBLMS(nullptr)
{ {
this->providerDBLMS = providerDBLMS; this->providerDBLMS = providerDBLMS;
this->updateController = updateController; this->updateController = updateController;