mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 21:15:33 +08:00
Ref T104, return inconsistent aircraft/airline ICAOs codes
- use audit - and log inconsistent DB entries
This commit is contained in:
committed by
Mathew Sutcliffe
parent
922e39f61d
commit
297c2f0539
@@ -87,7 +87,7 @@ namespace BlackMisc
|
||||
|
||||
CAircraftIcaoCodeList CAircraftIcaoCodeList::findEndingWith(const QString &icaoEnding) const
|
||||
{
|
||||
QString ends = icaoEnding.trimmed().toUpper();
|
||||
const QString ends = icaoEnding.trimmed().toUpper();
|
||||
if (ends.isEmpty()) { return CAircraftIcaoCodeList(); }
|
||||
CAircraftIcaoCodeList icaosDesignator;
|
||||
CAircraftIcaoCodeList icaosFamily;
|
||||
@@ -317,16 +317,29 @@ namespace BlackMisc
|
||||
return max;
|
||||
}
|
||||
|
||||
CAircraftIcaoCodeList CAircraftIcaoCodeList::fromDatabaseJson(const QJsonArray &array, bool ignoreIncompleteAndDuplicates)
|
||||
CAircraftIcaoCodeList CAircraftIcaoCodeList::fromDatabaseJson(const QJsonArray &array, bool ignoreIncompleteAndDuplicates, CAircraftIcaoCodeList *inconsistent)
|
||||
{
|
||||
CAircraftIcaoCodeList codes;
|
||||
for (const QJsonValue &value : array)
|
||||
{
|
||||
const CAircraftIcaoCode icao(CAircraftIcaoCode::fromDatabaseJson(value.toObject()));
|
||||
if (ignoreIncompleteAndDuplicates)
|
||||
if (!icao.hasSpecialDesignator() && !icao.hasCompleteData())
|
||||
{
|
||||
if (!icao.hasSpecialDesignator() && !icao.hasCompleteData()) { continue; }
|
||||
if (icao.isDbDuplicate()) { continue; }
|
||||
if (ignoreIncompleteAndDuplicates) { continue; }
|
||||
if (inconsistent)
|
||||
{
|
||||
inconsistent->push_back(icao);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (icao.isDbDuplicate())
|
||||
{
|
||||
if (ignoreIncompleteAndDuplicates) { continue; }
|
||||
if (inconsistent)
|
||||
{
|
||||
inconsistent->push_back(icao);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
codes.push_back(icao);
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ namespace BlackMisc
|
||||
QPair<QString, int> maxCountManufacturer() const;
|
||||
|
||||
//! From our database JSON format
|
||||
static CAircraftIcaoCodeList fromDatabaseJson(const QJsonArray &array, bool ignoreIncompleteAndDuplicates = true);
|
||||
static CAircraftIcaoCodeList fromDatabaseJson(const QJsonArray &array, bool ignoreIncompleteAndDuplicates = true, CAircraftIcaoCodeList *inconsistent = nullptr);
|
||||
};
|
||||
} //namespace
|
||||
} // namespace
|
||||
|
||||
@@ -185,15 +185,21 @@ namespace BlackMisc
|
||||
return airlineCode;
|
||||
}
|
||||
|
||||
CAirlineIcaoCodeList CAirlineIcaoCodeList::fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete)
|
||||
CAirlineIcaoCodeList CAirlineIcaoCodeList::fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete, CAirlineIcaoCodeList *inconsistent)
|
||||
{
|
||||
CAirlineIcaoCodeList codes;
|
||||
for (const QJsonValue &value : array)
|
||||
{
|
||||
const CAirlineIcaoCode icao(CAirlineIcaoCode::fromDatabaseJson(value.toObject()));
|
||||
if (ignoreIncomplete && !icao.hasCompleteData())
|
||||
const bool incomplete = !icao.hasCompleteData();
|
||||
if (incomplete)
|
||||
{
|
||||
continue;
|
||||
if (ignoreIncomplete) { continue; }
|
||||
if (inconsistent)
|
||||
{
|
||||
inconsistent->push_back(icao);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
codes.push_back(icao);
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ namespace BlackMisc
|
||||
QStringList toNameCompleterStrings(bool sort = true) const;
|
||||
|
||||
//! From our DB JSON
|
||||
static CAirlineIcaoCodeList fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete = true);
|
||||
static CAirlineIcaoCodeList fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete = true, CAirlineIcaoCodeList *inconsistent = nullptr);
|
||||
};
|
||||
} //namespace
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user