16 */ |
16 */ |
17 #include "DetailCO2meter.h" |
17 #include "DetailCO2meter.h" |
18 #include "ChartCarbonate.h" |
18 #include "ChartCarbonate.h" |
19 #include "../ui/ui_DetailCO2meter.h" |
19 #include "../ui/ui_DetailCO2meter.h" |
20 #include "global.h" |
20 #include "global.h" |
|
21 #include "Utils.h" |
21 #include "MainWindow.h" |
22 #include "MainWindow.h" |
22 |
23 |
23 |
24 |
24 /* |
25 /* |
25 * Results are available via MySQL and websockets. Because we initialize using |
26 * Results are available via MySQL and websockets. Because we initialize using |
60 } |
61 } |
61 |
62 |
62 |
63 |
63 void DetailCO2meter::refreshTable() |
64 void DetailCO2meter::refreshTable() |
64 { |
65 { |
65 QSqlQuery query; |
66 QSqlQuery query, query2; |
|
67 QString sql = ""; |
66 |
68 |
67 qDebug() << "refreshTable co2meter rec:" << this->recno; |
69 qDebug() << "refreshTable co2meter rec:" << this->recno; |
68 |
70 |
69 query.prepare("SELECT * FROM mon_co2meters WHERE record = :recno"); |
71 query.prepare("SELECT * FROM mon_co2meters WHERE record = :recno"); |
70 query.bindValue(":recno", this->recno); |
72 query.bindValue(":recno", this->recno); |
77 _node = query.value("node").toString(); |
79 _node = query.value("node").toString(); |
78 _alias = query.value("alias").toString(); |
80 _alias = query.value("alias").toString(); |
79 _uuid = query.value("uuid").toString(); |
81 _uuid = query.value("uuid").toString(); |
80 _beercode = query.value("beercode").toString(); |
82 _beercode = query.value("beercode").toString(); |
81 _beername = query.value("beername").toString(); |
83 _beername = query.value("beername").toString(); |
|
84 |
|
85 sql = "SELECT " |
|
86 "st_carb_min,st_carb_max,secondary_temp,primary_end_temp,bottle_carbonation_temp" |
|
87 " FROM products WHERE code=:code AND name=:name"; |
|
88 query2.prepare(sql); |
|
89 query2.bindValue(":code", _beercode); |
|
90 query2.bindValue(":name", _beername); |
|
91 query2.exec(); |
|
92 if (query2.next()) { |
|
93 /* Get highest fermentation temperature. */ |
|
94 double TSec = query2.value("secondary_temp").toDouble(); |
|
95 if (TSec < 1) |
|
96 TSec = query2.value("primary_end_temp").toDouble(); |
|
97 if (TSec < 1) |
|
98 TSec = 18; |
|
99 |
|
100 double carbtemp = query2.value("bottle_carbonation_temp").toDouble(); |
|
101 double barmin = Utils::GetPressureBar(Utils::CarbCO2toS(query2.value("st_carb_min").toDouble(), TSec, 1), carbtemp); |
|
102 double barmax = Utils::GetPressureBar(Utils::CarbCO2toS(query2.value("st_carb_max").toDouble(), TSec, 1), carbtemp); |
|
103 ui->minVol->setValue(query2.value("st_carb_min").toDouble()); |
|
104 ui->maxVol->setValue(query2.value("st_carb_max").toDouble()); |
|
105 ui->minBar->setValue(barmin); |
|
106 ui->maxBar->setValue(barmax); |
|
107 qDebug() << " beerdata" << TSec << carbtemp << barmin << barmax; |
|
108 |
|
109 ui->barMeter->setNominal(barmin); |
|
110 ui->barMeter->setCritical(barmax); |
|
111 } |
82 |
112 |
83 ui->uuidEdit->setText(_uuid); |
113 ui->uuidEdit->setText(_uuid); |
84 ui->systemEdit->setText(_node+"/"+_alias); |
114 ui->systemEdit->setText(_node+"/"+_alias); |
85 ui->codePick->setItemText(0, _alias.toUpper()+" - "+_alias); |
115 ui->codePick->setItemText(0, _alias.toUpper()+" - "+_alias); |
86 |
116 |