Skip to content

Commit

Permalink
Fix defect in join table, add get leg count from class definition
Browse files Browse the repository at this point in the history
  • Loading branch information
xkenia authored and Lukas Konig committed Sep 28, 2023
1 parent 1a6e920 commit 4d248bd
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 8 deletions.
3 changes: 1 addition & 2 deletions quickshow/src/appclioptions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ AppCliOptions::AppCliOptions(QObject *parent)
addOption("application.fontScale").setType(QMetaType::Int).setNames("--font-scale").setDefaultValue(100).setComment("font scale in %");
addOption("event.name").setType(QMetaType::QString).setNames("-e", "--event");
addOption("event.stage").setType(QMetaType::Int).setNames("-n", "--stage").setComment("If not set, the current stage number is loaded from database.");
addOption("event.legNum").setType(QMetaType::Int).setNames("-l", "--leg-num").setComment("Set leg numbers for relays. Default: 3").setDefaultValue(3);
addOption("event.type").setType(QMetaType::QString).setNames("-t", "--type").setComment("Type of event [relay | individual]. Default: 'individual'").setDefaultValue("individual");
addOption("event.type").setType(QMetaType::QString).setNames("-t", "--type").setComment("Type of event [relay | individual].").setDefaultValue("individual");
addOption("event.classesLike").setType(QMetaType::QString).setNames("--classes-like").setComment("SQL LIKE expression to filter classes to show, for ex. --classes-like \"H%\"");
addOption("event.classesNotLike").setType(QMetaType::QString).setNames("--classes-not-like").setComment("SQL LIKE expression to filter classes not to show, for ex. --not-classes-like \"HDR\"");
addOption("event.classesIn").setType(QMetaType::QString).setNames("--classes-in").setComment("list to filter classes to show, for ex. --classes-in \"(\'HDR\', \'H21A\')\"");
Expand Down
1 change: 0 additions & 1 deletion quickshow/src/appclioptions.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ class AppCliOptions : public qf::core::utils::ConfigCLIOptions
CLIOPTION_GETTER_SETTER2(int, "application.fontScale", f, setF, ontScale)
CLIOPTION_GETTER_SETTER2(QString, "event.name", e, setE, ventName)
CLIOPTION_GETTER_SETTER2(int, "event.stage", s, setS, tage)
CLIOPTION_GETTER_SETTER2(int, "event.legNum", l, setL, egNum)
CLIOPTION_GETTER_SETTER2(QString, "event.type", t, setT, ype)
CLIOPTION_GETTER_SETTER2(QString, "event.classesLike", c, setC, lassesLike)
CLIOPTION_GETTER_SETTER2(QString, "event.classesNotLike", c, setC, lassesNotLike)
Expand Down
16 changes: 11 additions & 5 deletions quickshow/src/model.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,20 @@ bool Model::addCategoryToStorage()
Application *app = Application::instance();
int cat_id_to_load = m_categoriesToProceed.takeFirst().toInt();
if (app->cliOptions()->type() == QLatin1String("relay")) {
int leg_num_from_cli = app->cliOptions()->legNum();
for (int leg_num = 1; leg_num <= leg_num_from_cli; leg_num++) {
qf::core::sql::QueryBuilder qb;
QString qs = "select cd.relaylegcount as leg_count from classdefs as cd where cd.classid = {{class_id}} and cd.stageid = {{stage_id}}";
qfInfo() << "Get leg count for category:" << qs;
qs.replace("{{stage_id}}", QString::number(app->cliOptions()->stage()));
qs.replace("{{class_id}}", QString::number(cat_id_to_load));
qf::core::sql::Query q = app->execSql(qs);
q.next();
int leg_count_from_class = q.value("leg_count").toInt();
for (int leg_num = 1; leg_num <= leg_count_from_class; leg_num++) {
QVariantMap category_map;
{
qf::core::sql::QueryBuilder qb;
QString qs = "select c.name || '-' || '{{leg_num}}' as name, 0 as length, 0 as climb from classes as c where c.id = {{class_id}}";
qfInfo() << "vytazeni kategorie:" << qs;
qfInfo() << "Get category:" << qs;
qs.replace("{{stage_id}}", QString::number(app->cliOptions()->stage()));
qs.replace("{{class_id}}", QString::number(cat_id_to_load));
qs.replace("{{leg_num}}", QString::number(leg_num));
Expand All @@ -112,7 +119,7 @@ bool Model::addCategoryToStorage()
qf::core::sql::QueryBuilder qb;
if(app->cliOptions()->profile() == QLatin1String("results")) {
qs = "SELECT c.registration, c.lastName, c.firstName, r.* FROM competitors as c join runs as r on r.competitorId = c.id "
"join test_pbm_stafety.relays as rel on r.relayid = rel.id "
"join relays as rel on r.relayid = rel.id "
"where r.isRunning and r.finishTimeMs>0 and rel.classId = {{class_id}} and r.leg = {{leg_num}} "
"order by r.notCompeting, r.disqualified, r.finishtimeMs";
if(first_run)
Expand Down Expand Up @@ -224,4 +231,3 @@ bool Model::addCategoryToStorage()
first_run = false;
return true;
}

0 comments on commit 4d248bd

Please sign in to comment.