This commit is contained in:
2025-07-30 17:06:57 +03:00
parent 726abda4c0
commit 0c696e03d9
4 changed files with 118 additions and 76 deletions

View File

@@ -222,80 +222,34 @@ bool InterfaceDataBaseLMS::deAuthorizationAllTrainees()
int InterfaceDataBaseLMS::entryTraineeOnSimulator(int id_trainee)
{
TimingOfTrainee timing;
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 = "";
TimingOfTrainee timing(id_trainee);
timing = selectTimingTrainee(id_trainee);
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
if(!timing.getID())
{//Еще нет записи
int timing_id = insertTimingTrainee(id_trainee);
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.setEntryTime(dataTimeStr_entry);
timing.setExitTime(dataTimeStr_exit);
timing.setOperatingTime(intervalStr);
timing.fixEntry();
return updateTimingTrainee(id_trainee, timing);
}
int InterfaceDataBaseLMS::exitTraineeFromSimulator(int id_trainee)
{
TimingOfTrainee timing;
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 = "";
TimingOfTrainee timing(id_trainee);
timing = selectTimingTrainee(id_trainee);
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
if(!timing.getID())
{//Еще нет записи
int timing_id = insertTimingTrainee(id_trainee);
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.setEntryTime(dataTimeStr_entry);
timing.setExitTime(dataTimeStr_exit);
timing.setOperatingTime(intervalStr);
timing.fixExit();
return updateTimingTrainee(id_trainee, timing);
}