1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #include "processflights.h"
- #include <src/functions/atime.h>
- void ProcessFlights::parseRawData()
- {
- // doft, flightNumber, dept, dest, tofb, tonb, tblk, tPIC, tSIC, tDUAL, tPICUS, tFI, tNight, pic, secondPilot, thirdPilot toDN,ldDN pilotFlying, appType, remarks, acftReg
- int relevant_cols[24] = {0,3,5,7,9,11,17,19,20,21,22,23,25,38,42,46,53,54,55,56,58,60,64,79};
- QStringList row_data;
- for (const auto &row : qAsConst(rawData)) {
- for (const auto &col : relevant_cols) {
- row_data.append(row[col]);
- }
- rawFlightData.append(row_data);
- row_data.clear();
- }
- DEB << "Flight Info #1742:" << rawFlightData[1742];
- }
- void ProcessFlights::processParsedData()
- {
- QMap<QString, QVariant> new_flight_data;
- int flight_id = 1;
- for (const auto &row : qAsConst(rawFlightData)) {
- // insert values that don't require editing
- new_flight_data.insert(Opl::Db::FLIGHTS_FLIGHTNUMBER, row[1]);
- new_flight_data.insert(Opl::Db::FLIGHTS_DEPT, row[2]);
- new_flight_data.insert(Opl::Db::FLIGHTS_DEST, row[3]);
- new_flight_data.insert(Opl::Db::FLIGHTS_TBLK, row[6]);
- new_flight_data.insert(Opl::Db::FLIGHTS_TPIC, row[7]);
- new_flight_data.insert(Opl::Db::FLIGHTS_TSIC, row[8]);
- new_flight_data.insert(Opl::Db::FLIGHTS_TDUAL, row[9]);
- new_flight_data.insert(Opl::Db::FLIGHTS_TPICUS, row[10]);
- new_flight_data.insert(Opl::Db::FLIGHTS_TFI, row[11]);
- new_flight_data.insert(Opl::Db::FLIGHTS_TNIGHT, row[12]);
- new_flight_data.insert(Opl::Db::FLIGHTS_TODAY, row[16]);
- new_flight_data.insert(Opl::Db::FLIGHTS_TONIGHT, row[17]);
- new_flight_data.insert(Opl::Db::FLIGHTS_LDGDAY, row[18]);
- new_flight_data.insert(Opl::Db::FLIGHTS_LDGNIGHT, row[19]);
- new_flight_data.insert(Opl::Db::FLIGHTS_APPROACHTYPE, row[21]);
- new_flight_data.insert(Opl::Db::FLIGHTS_REMARKS, row[22]);
- // PF
- if (row[20] == QLatin1String("TRUE"))
- new_flight_data.insert(Opl::Db::FLIGHTS_PILOTFLYING, 1);
- else
- new_flight_data.insert(Opl::Db::FLIGHTS_PILOTFLYING, 0);
- // Convert Date and Time
- const QDate doft = QDate::fromString(row[0],QStringLiteral("dd/MM/yyyy"));
- new_flight_data.insert(Opl::Db::FLIGHTS_DOFT, doft.toString(Qt::ISODate));
- auto time_off = QTime::fromString(row[4], QStringLiteral("hh:mm"));
- if (!time_off.isValid())
- time_off = QTime::fromString(row[4], QStringLiteral("h:mm"));
- int tofb = ATime::toMinutes(time_off);
- new_flight_data.insert(Opl::Db::FLIGHTS_TOFB, tofb);
- auto time_on = QTime::fromString(row[5], QStringLiteral("hh:mm"));
- if (!time_on.isValid())
- time_on = QTime::fromString(row[5], QStringLiteral("h:mm"));
- int tonb = ATime::toMinutes(time_on);
- new_flight_data.insert(Opl::Db::FLIGHTS_TONB, tonb);
- // map pilots
- int pic = processedPilotsIds.value(row[13]);
- new_flight_data.insert(Opl::Db::FLIGHTS_PIC, pic);
- int second_pilot = processedPilotsIds.value(row[14]);
- new_flight_data.insert(Opl::Db::FLIGHTS_SECONDPILOT, second_pilot);
- int third_pilot = processedPilotsIds.value(row[15]);
- new_flight_data.insert(Opl::Db::FLIGHTS_THIRDPILOT, third_pilot);
- // map tail
- int acft = processedTailsIds.value(row[23]);
- new_flight_data.insert(Opl::Db::FLIGHTS_ACFT, acft);
- // set id, fix opl to include alias
- new_flight_data.insert(QStringLiteral("flight_id"), flight_id);
- processedFlights.append(new_flight_data);
- new_flight_data.clear();
- flight_id ++;
- }
- }
- QVector<QMap<QString, QVariant> > ProcessFlights::getProcessedFlights() const
- {
- return processedFlights;
- }
|