Ref T104, return inconsistent aircraft/airline ICAOs codes

- use audit
- and log inconsistent DB entries
This commit is contained in:
Klaus Basan
2017-07-08 20:33:48 +02:00
committed by Mathew Sutcliffe
parent 922e39f61d
commit 297c2f0539
6 changed files with 56 additions and 22 deletions

View File

@@ -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);
}