src/DetailCO2meter.cpp

changeset 443
3c195eb4e7a1
parent 416
3fac92cb1ee1
child 444
4f626d0bb4d4
equal deleted inserted replaced
442:d8c110d91b1f 443:3c195eb4e7a1
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
121 } 151 }
122 152
123 153
124 DetailCO2meter::~DetailCO2meter() 154 DetailCO2meter::~DetailCO2meter()
125 { 155 {
126 qDebug() << "DetailCO2meter done";
127 delete ui; 156 delete ui;
128 emit entry_changed(); 157 emit entry_changed();
129 } 158 }
130 159
131 160

mercurial